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 DB instance.
76//
77//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
78//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
79//
80//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
81//   DBClusterIdentifier doesn't refer to an existing DB 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 a DB
150// 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 DB cluster isn't in a valid state.
165//
166//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
167//   The specified DB 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 DB 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 DB parameter group.
247//
248//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
249//   This request would cause you to exceed the allowed number of DB parameter
250//   groups.
251//
252//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
253//   A DB parameter group with the same name already exists.
254//
255// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup
256func (c *DocDB) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
257	req, out := c.CopyDBClusterParameterGroupRequest(input)
258	return out, req.Send()
259}
260
261// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
262// the ability to pass a context and additional request options.
263//
264// See CopyDBClusterParameterGroup for details on how to use this API operation.
265//
266// The context must be non-nil and will be used for request cancellation. If
267// the context is nil a panic will occur. In the future the SDK may create
268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
269// for more information on using Contexts.
270func (c *DocDB) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
271	req, out := c.CopyDBClusterParameterGroupRequest(input)
272	req.SetContext(ctx)
273	req.ApplyOptions(opts...)
274	return out, req.Send()
275}
276
277const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
278
279// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
280// client's request for the CopyDBClusterSnapshot operation. The "output" return
281// value will be populated with the request's response once the request completes
282// successfully.
283//
284// Use "Send" method on the returned Request to send the API call to the service.
285// the "output" return value is not valid until after Send returns without error.
286//
287// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
288// API call, and error handling.
289//
290// This method is useful when you want to inject custom logic or configuration
291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
292//
293//
294//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
295//    req, resp := client.CopyDBClusterSnapshotRequest(params)
296//
297//    err := req.Send()
298//    if err == nil { // resp is now filled
299//        fmt.Println(resp)
300//    }
301//
302// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot
303func (c *DocDB) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
304	op := &request.Operation{
305		Name:       opCopyDBClusterSnapshot,
306		HTTPMethod: "POST",
307		HTTPPath:   "/",
308	}
309
310	if input == nil {
311		input = &CopyDBClusterSnapshotInput{}
312	}
313
314	output = &CopyDBClusterSnapshotOutput{}
315	req = c.newRequest(op, input, output)
316	return
317}
318
319// CopyDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
320//
321// Copies a snapshot of a DB cluster.
322//
323// To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
324// must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
325//
326// To cancel the copy operation after it is in progress, delete the target DB
327// cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that
328// DB cluster snapshot is in the copying status.
329//
330// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
331// with awserr.Error's Code and Message methods to get detailed information about
332// the error.
333//
334// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
335// API operation CopyDBClusterSnapshot for usage and error information.
336//
337// Returned Error Codes:
338//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
339//   You already have a DB cluster snapshot with the given identifier.
340//
341//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
342//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
343//
344//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
345//   The DB cluster isn't in a valid state.
346//
347//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
348//   The provided value isn't a valid DB cluster snapshot state.
349//
350//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
351//   The request would cause you to exceed the allowed number of DB snapshots.
352//
353//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
354//   An error occurred when accessing an AWS KMS key.
355//
356// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot
357func (c *DocDB) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
358	req, out := c.CopyDBClusterSnapshotRequest(input)
359	return out, req.Send()
360}
361
362// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
363// the ability to pass a context and additional request options.
364//
365// See CopyDBClusterSnapshot for details on how to use this API operation.
366//
367// The context must be non-nil and will be used for request cancellation. If
368// the context is nil a panic will occur. In the future the SDK may create
369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
370// for more information on using Contexts.
371func (c *DocDB) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
372	req, out := c.CopyDBClusterSnapshotRequest(input)
373	req.SetContext(ctx)
374	req.ApplyOptions(opts...)
375	return out, req.Send()
376}
377
378const opCreateDBCluster = "CreateDBCluster"
379
380// CreateDBClusterRequest generates a "aws/request.Request" representing the
381// client's request for the CreateDBCluster operation. The "output" return
382// value will be populated with the request's response once the request completes
383// successfully.
384//
385// Use "Send" method on the returned Request to send the API call to the service.
386// the "output" return value is not valid until after Send returns without error.
387//
388// See CreateDBCluster for more information on using the CreateDBCluster
389// API call, and error handling.
390//
391// This method is useful when you want to inject custom logic or configuration
392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
393//
394//
395//    // Example sending a request using the CreateDBClusterRequest method.
396//    req, resp := client.CreateDBClusterRequest(params)
397//
398//    err := req.Send()
399//    if err == nil { // resp is now filled
400//        fmt.Println(resp)
401//    }
402//
403// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster
404func (c *DocDB) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
405	op := &request.Operation{
406		Name:       opCreateDBCluster,
407		HTTPMethod: "POST",
408		HTTPPath:   "/",
409	}
410
411	if input == nil {
412		input = &CreateDBClusterInput{}
413	}
414
415	output = &CreateDBClusterOutput{}
416	req = c.newRequest(op, input, output)
417	return
418}
419
420// CreateDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
421//
422// Creates a new Amazon DocumentDB DB cluster.
423//
424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
425// with awserr.Error's Code and Message methods to get detailed information about
426// the error.
427//
428// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
429// API operation CreateDBCluster for usage and error information.
430//
431// Returned Error Codes:
432//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
433//   You already have a DB cluster with the given identifier.
434//
435//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
436//   There is not enough storage available for the current action. You might be
437//   able to resolve this error by updating your subnet group to use different
438//   Availability Zones that have more storage available.
439//
440//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
441//   The DB cluster can't be created because you have reached the maximum allowed
442//   quota of DB clusters.
443//
444//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
445//   The request would cause you to exceed the allowed amount of storage available
446//   across all DB instances.
447//
448//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
449//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
450//
451//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
452//   The DB subnet group doesn't cover all Availability Zones after it is created
453//   because of changes that were made.
454//
455//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
456//   The DB cluster isn't in a valid state.
457//
458//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
459//   The DB subnet group can't be deleted because it's in use.
460//
461//   * ErrCodeInvalidSubnet "InvalidSubnet"
462//   The requested subnet is not valid, or multiple subnets were requested that
463//   are not all in a common virtual private cloud (VPC).
464//
465//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
466//   The specified DB instance isn't in the available state.
467//
468//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
469//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
470//   group.
471//
472//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
473//   An error occurred when accessing an AWS KMS key.
474//
475//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
476//   DBClusterIdentifier doesn't refer to an existing DB cluster.
477//
478//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
479//   DBInstanceIdentifier doesn't refer to an existing DB instance.
480//
481//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
482//   Subnets in the DB subnet group should cover at least two Availability Zones
483//   unless there is only one Availability Zone.
484//
485// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster
486func (c *DocDB) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
487	req, out := c.CreateDBClusterRequest(input)
488	return out, req.Send()
489}
490
491// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
492// the ability to pass a context and additional request options.
493//
494// See CreateDBCluster for details on how to use this API operation.
495//
496// The context must be non-nil and will be used for request cancellation. If
497// the context is nil a panic will occur. In the future the SDK may create
498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
499// for more information on using Contexts.
500func (c *DocDB) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
501	req, out := c.CreateDBClusterRequest(input)
502	req.SetContext(ctx)
503	req.ApplyOptions(opts...)
504	return out, req.Send()
505}
506
507const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
508
509// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
510// client's request for the CreateDBClusterParameterGroup operation. The "output" return
511// value will be populated with the request's response once the request completes
512// successfully.
513//
514// Use "Send" method on the returned Request to send the API call to the service.
515// the "output" return value is not valid until after Send returns without error.
516//
517// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
518// API call, and error handling.
519//
520// This method is useful when you want to inject custom logic or configuration
521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
522//
523//
524//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
525//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
526//
527//    err := req.Send()
528//    if err == nil { // resp is now filled
529//        fmt.Println(resp)
530//    }
531//
532// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup
533func (c *DocDB) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
534	op := &request.Operation{
535		Name:       opCreateDBClusterParameterGroup,
536		HTTPMethod: "POST",
537		HTTPPath:   "/",
538	}
539
540	if input == nil {
541		input = &CreateDBClusterParameterGroupInput{}
542	}
543
544	output = &CreateDBClusterParameterGroupOutput{}
545	req = c.newRequest(op, input, output)
546	return
547}
548
549// CreateDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
550//
551// Creates a new DB cluster parameter group.
552//
553// Parameters in a DB cluster parameter group apply to all of the instances
554// in a DB cluster.
555//
556// A DB cluster parameter group is initially created with the default parameters
557// for the database engine used by instances in the DB cluster. To provide custom
558// values for any of the parameters, you must modify the group after you create
559// it. After you create a DB cluster parameter group, you must associate it
560// with your DB cluster. For the new DB cluster parameter group and associated
561// settings to take effect, you must then reboot the DB instances in the DB
562// cluster without failover.
563//
564// After you create a DB cluster parameter group, you should wait at least 5
565// minutes before creating your first DB cluster that uses that DB cluster parameter
566// group as the default parameter group. This allows Amazon DocumentDB to fully
567// complete the create action before the DB cluster parameter group is used
568// as the default for a new DB cluster. This step is especially important for
569// parameters that are critical when creating the default database for a DB
570// cluster, such as the character set for the default database defined by the
571// character_set_database parameter.
572//
573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
574// with awserr.Error's Code and Message methods to get detailed information about
575// the error.
576//
577// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
578// API operation CreateDBClusterParameterGroup for usage and error information.
579//
580// Returned Error Codes:
581//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
582//   This request would cause you to exceed the allowed number of DB parameter
583//   groups.
584//
585//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
586//   A DB parameter group with the same name already exists.
587//
588// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup
589func (c *DocDB) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
590	req, out := c.CreateDBClusterParameterGroupRequest(input)
591	return out, req.Send()
592}
593
594// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
595// the ability to pass a context and additional request options.
596//
597// See CreateDBClusterParameterGroup for details on how to use this API operation.
598//
599// The context must be non-nil and will be used for request cancellation. If
600// the context is nil a panic will occur. In the future the SDK may create
601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
602// for more information on using Contexts.
603func (c *DocDB) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
604	req, out := c.CreateDBClusterParameterGroupRequest(input)
605	req.SetContext(ctx)
606	req.ApplyOptions(opts...)
607	return out, req.Send()
608}
609
610const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
611
612// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
613// client's request for the CreateDBClusterSnapshot operation. The "output" return
614// value will be populated with the request's response once the request completes
615// successfully.
616//
617// Use "Send" method on the returned Request to send the API call to the service.
618// the "output" return value is not valid until after Send returns without error.
619//
620// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
621// API call, and error handling.
622//
623// This method is useful when you want to inject custom logic or configuration
624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
625//
626//
627//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
628//    req, resp := client.CreateDBClusterSnapshotRequest(params)
629//
630//    err := req.Send()
631//    if err == nil { // resp is now filled
632//        fmt.Println(resp)
633//    }
634//
635// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot
636func (c *DocDB) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
637	op := &request.Operation{
638		Name:       opCreateDBClusterSnapshot,
639		HTTPMethod: "POST",
640		HTTPPath:   "/",
641	}
642
643	if input == nil {
644		input = &CreateDBClusterSnapshotInput{}
645	}
646
647	output = &CreateDBClusterSnapshotOutput{}
648	req = c.newRequest(op, input, output)
649	return
650}
651
652// CreateDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
653//
654// Creates a snapshot of a DB cluster.
655//
656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
657// with awserr.Error's Code and Message methods to get detailed information about
658// the error.
659//
660// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
661// API operation CreateDBClusterSnapshot for usage and error information.
662//
663// Returned Error Codes:
664//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
665//   You already have a DB cluster snapshot with the given identifier.
666//
667//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
668//   The DB cluster isn't in a valid state.
669//
670//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
671//   DBClusterIdentifier doesn't refer to an existing DB cluster.
672//
673//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
674//   The request would cause you to exceed the allowed number of DB snapshots.
675//
676//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
677//   The provided value isn't a valid DB cluster snapshot state.
678//
679// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot
680func (c *DocDB) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
681	req, out := c.CreateDBClusterSnapshotRequest(input)
682	return out, req.Send()
683}
684
685// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
686// the ability to pass a context and additional request options.
687//
688// See CreateDBClusterSnapshot for details on how to use this API operation.
689//
690// The context must be non-nil and will be used for request cancellation. If
691// the context is nil a panic will occur. In the future the SDK may create
692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
693// for more information on using Contexts.
694func (c *DocDB) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
695	req, out := c.CreateDBClusterSnapshotRequest(input)
696	req.SetContext(ctx)
697	req.ApplyOptions(opts...)
698	return out, req.Send()
699}
700
701const opCreateDBInstance = "CreateDBInstance"
702
703// CreateDBInstanceRequest generates a "aws/request.Request" representing the
704// client's request for the CreateDBInstance operation. The "output" return
705// value will be populated with the request's response once the request completes
706// successfully.
707//
708// Use "Send" method on the returned Request to send the API call to the service.
709// the "output" return value is not valid until after Send returns without error.
710//
711// See CreateDBInstance for more information on using the CreateDBInstance
712// API call, and error handling.
713//
714// This method is useful when you want to inject custom logic or configuration
715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
716//
717//
718//    // Example sending a request using the CreateDBInstanceRequest method.
719//    req, resp := client.CreateDBInstanceRequest(params)
720//
721//    err := req.Send()
722//    if err == nil { // resp is now filled
723//        fmt.Println(resp)
724//    }
725//
726// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance
727func (c *DocDB) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
728	op := &request.Operation{
729		Name:       opCreateDBInstance,
730		HTTPMethod: "POST",
731		HTTPPath:   "/",
732	}
733
734	if input == nil {
735		input = &CreateDBInstanceInput{}
736	}
737
738	output = &CreateDBInstanceOutput{}
739	req = c.newRequest(op, input, output)
740	return
741}
742
743// CreateDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
744//
745// Creates a new DB instance.
746//
747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
748// with awserr.Error's Code and Message methods to get detailed information about
749// the error.
750//
751// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
752// API operation CreateDBInstance for usage and error information.
753//
754// Returned Error Codes:
755//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
756//   You already have a DB instance with the given identifier.
757//
758//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
759//   The specified DB instance class isn't available in the specified Availability
760//   Zone.
761//
762//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
763//   DBParameterGroupName doesn't refer to an existing DB parameter group.
764//
765//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
766//   DBSecurityGroupName doesn't refer to an existing DB security group.
767//
768//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
769//   The request would cause you to exceed the allowed number of DB instances.
770//
771//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
772//   The request would cause you to exceed the allowed amount of storage available
773//   across all DB instances.
774//
775//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
776//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
777//
778//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
779//   Subnets in the DB subnet group should cover at least two Availability Zones
780//   unless there is only one Availability Zone.
781//
782//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
783//   The DB cluster isn't in a valid state.
784//
785//   * ErrCodeInvalidSubnet "InvalidSubnet"
786//   The requested subnet is not valid, or multiple subnets were requested that
787//   are not all in a common virtual private cloud (VPC).
788//
789//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
790//   The DB subnet group doesn't cover all Availability Zones after it is created
791//   because of changes that were made.
792//
793//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
794//   DBClusterIdentifier doesn't refer to an existing DB cluster.
795//
796//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
797//   Storage of the specified StorageType can't be associated with the DB instance.
798//
799//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
800//   The specified CIDR IP or Amazon EC2 security group isn't authorized for the
801//   specified DB security group.
802//
803//   Amazon DocumentDB also might not be authorized to perform necessary actions
804//   on your behalf using IAM.
805//
806//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
807//   An error occurred when accessing an AWS KMS key.
808//
809// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance
810func (c *DocDB) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
811	req, out := c.CreateDBInstanceRequest(input)
812	return out, req.Send()
813}
814
815// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
816// the ability to pass a context and additional request options.
817//
818// See CreateDBInstance for details on how to use this API operation.
819//
820// The context must be non-nil and will be used for request cancellation. If
821// the context is nil a panic will occur. In the future the SDK may create
822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
823// for more information on using Contexts.
824func (c *DocDB) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
825	req, out := c.CreateDBInstanceRequest(input)
826	req.SetContext(ctx)
827	req.ApplyOptions(opts...)
828	return out, req.Send()
829}
830
831const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
832
833// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
834// client's request for the CreateDBSubnetGroup operation. The "output" return
835// value will be populated with the request's response once the request completes
836// successfully.
837//
838// Use "Send" method on the returned Request to send the API call to the service.
839// the "output" return value is not valid until after Send returns without error.
840//
841// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
842// API call, and error handling.
843//
844// This method is useful when you want to inject custom logic or configuration
845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
846//
847//
848//    // Example sending a request using the CreateDBSubnetGroupRequest method.
849//    req, resp := client.CreateDBSubnetGroupRequest(params)
850//
851//    err := req.Send()
852//    if err == nil { // resp is now filled
853//        fmt.Println(resp)
854//    }
855//
856// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup
857func (c *DocDB) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
858	op := &request.Operation{
859		Name:       opCreateDBSubnetGroup,
860		HTTPMethod: "POST",
861		HTTPPath:   "/",
862	}
863
864	if input == nil {
865		input = &CreateDBSubnetGroupInput{}
866	}
867
868	output = &CreateDBSubnetGroupOutput{}
869	req = c.newRequest(op, input, output)
870	return
871}
872
873// CreateDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
874//
875// Creates a new DB subnet group. DB subnet groups must contain at least one
876// subnet in at least two Availability Zones in the AWS Region.
877//
878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
879// with awserr.Error's Code and Message methods to get detailed information about
880// the error.
881//
882// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
883// API operation CreateDBSubnetGroup for usage and error information.
884//
885// Returned Error Codes:
886//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
887//   DBSubnetGroupName is already being used by an existing DB subnet group.
888//
889//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
890//   The request would cause you to exceed the allowed number of DB subnet groups.
891//
892//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
893//   The request would cause you to exceed the allowed number of subnets in a
894//   DB subnet group.
895//
896//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
897//   Subnets in the DB subnet group should cover at least two Availability Zones
898//   unless there is only one Availability Zone.
899//
900//   * ErrCodeInvalidSubnet "InvalidSubnet"
901//   The requested subnet is not valid, or multiple subnets were requested that
902//   are not all in a common virtual private cloud (VPC).
903//
904// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup
905func (c *DocDB) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
906	req, out := c.CreateDBSubnetGroupRequest(input)
907	return out, req.Send()
908}
909
910// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
911// the ability to pass a context and additional request options.
912//
913// See CreateDBSubnetGroup for details on how to use this API operation.
914//
915// The context must be non-nil and will be used for request cancellation. If
916// the context is nil a panic will occur. In the future the SDK may create
917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
918// for more information on using Contexts.
919func (c *DocDB) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
920	req, out := c.CreateDBSubnetGroupRequest(input)
921	req.SetContext(ctx)
922	req.ApplyOptions(opts...)
923	return out, req.Send()
924}
925
926const opDeleteDBCluster = "DeleteDBCluster"
927
928// DeleteDBClusterRequest generates a "aws/request.Request" representing the
929// client's request for the DeleteDBCluster operation. The "output" return
930// value will be populated with the request's response once the request completes
931// successfully.
932//
933// Use "Send" method on the returned Request to send the API call to the service.
934// the "output" return value is not valid until after Send returns without error.
935//
936// See DeleteDBCluster for more information on using the DeleteDBCluster
937// API call, and error handling.
938//
939// This method is useful when you want to inject custom logic or configuration
940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
941//
942//
943//    // Example sending a request using the DeleteDBClusterRequest method.
944//    req, resp := client.DeleteDBClusterRequest(params)
945//
946//    err := req.Send()
947//    if err == nil { // resp is now filled
948//        fmt.Println(resp)
949//    }
950//
951// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster
952func (c *DocDB) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
953	op := &request.Operation{
954		Name:       opDeleteDBCluster,
955		HTTPMethod: "POST",
956		HTTPPath:   "/",
957	}
958
959	if input == nil {
960		input = &DeleteDBClusterInput{}
961	}
962
963	output = &DeleteDBClusterOutput{}
964	req = c.newRequest(op, input, output)
965	return
966}
967
968// DeleteDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
969//
970// Deletes a previously provisioned DB cluster. When you delete a DB cluster,
971// all automated backups for that DB cluster are deleted and can't be recovered.
972// Manual DB cluster snapshots of the specified DB cluster are not deleted.
973//
974// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
975// with awserr.Error's Code and Message methods to get detailed information about
976// the error.
977//
978// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
979// API operation DeleteDBCluster for usage and error information.
980//
981// Returned Error Codes:
982//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
983//   DBClusterIdentifier doesn't refer to an existing DB cluster.
984//
985//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
986//   The DB cluster isn't in a valid state.
987//
988//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
989//   You already have a DB cluster snapshot with the given identifier.
990//
991//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
992//   The request would cause you to exceed the allowed number of DB snapshots.
993//
994//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
995//   The provided value isn't a valid DB cluster snapshot state.
996//
997// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster
998func (c *DocDB) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
999	req, out := c.DeleteDBClusterRequest(input)
1000	return out, req.Send()
1001}
1002
1003// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
1004// the ability to pass a context and additional request options.
1005//
1006// See DeleteDBCluster for details on how to use this API operation.
1007//
1008// The context must be non-nil and will be used for request cancellation. If
1009// the context is nil a panic will occur. In the future the SDK may create
1010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1011// for more information on using Contexts.
1012func (c *DocDB) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
1013	req, out := c.DeleteDBClusterRequest(input)
1014	req.SetContext(ctx)
1015	req.ApplyOptions(opts...)
1016	return out, req.Send()
1017}
1018
1019const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
1020
1021// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1022// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
1023// value will be populated with the request's response once the request completes
1024// successfully.
1025//
1026// Use "Send" method on the returned Request to send the API call to the service.
1027// the "output" return value is not valid until after Send returns without error.
1028//
1029// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
1030// API call, and error handling.
1031//
1032// This method is useful when you want to inject custom logic or configuration
1033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1034//
1035//
1036//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
1037//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
1038//
1039//    err := req.Send()
1040//    if err == nil { // resp is now filled
1041//        fmt.Println(resp)
1042//    }
1043//
1044// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup
1045func (c *DocDB) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
1046	op := &request.Operation{
1047		Name:       opDeleteDBClusterParameterGroup,
1048		HTTPMethod: "POST",
1049		HTTPPath:   "/",
1050	}
1051
1052	if input == nil {
1053		input = &DeleteDBClusterParameterGroupInput{}
1054	}
1055
1056	output = &DeleteDBClusterParameterGroupOutput{}
1057	req = c.newRequest(op, input, output)
1058	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1059	return
1060}
1061
1062// DeleteDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
1063//
1064// Deletes a specified DB cluster parameter group. The DB cluster parameter
1065// group to be deleted can't be associated with any DB clusters.
1066//
1067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1068// with awserr.Error's Code and Message methods to get detailed information about
1069// the error.
1070//
1071// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1072// API operation DeleteDBClusterParameterGroup for usage and error information.
1073//
1074// Returned Error Codes:
1075//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
1076//   The DB parameter group is in use, or it is in a state that is not valid.
1077//   If you are trying to delete the parameter group, you can't delete it when
1078//   the parameter group is in this state.
1079//
1080//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1081//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1082//
1083// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup
1084func (c *DocDB) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
1085	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1086	return out, req.Send()
1087}
1088
1089// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
1090// the ability to pass a context and additional request options.
1091//
1092// See DeleteDBClusterParameterGroup for details on how to use this API operation.
1093//
1094// The context must be non-nil and will be used for request cancellation. If
1095// the context is nil a panic will occur. In the future the SDK may create
1096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1097// for more information on using Contexts.
1098func (c *DocDB) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
1099	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1100	req.SetContext(ctx)
1101	req.ApplyOptions(opts...)
1102	return out, req.Send()
1103}
1104
1105const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
1106
1107// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1108// client's request for the DeleteDBClusterSnapshot operation. The "output" return
1109// value will be populated with the request's response once the request completes
1110// successfully.
1111//
1112// Use "Send" method on the returned Request to send the API call to the service.
1113// the "output" return value is not valid until after Send returns without error.
1114//
1115// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
1116// API call, and error handling.
1117//
1118// This method is useful when you want to inject custom logic or configuration
1119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1120//
1121//
1122//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
1123//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
1124//
1125//    err := req.Send()
1126//    if err == nil { // resp is now filled
1127//        fmt.Println(resp)
1128//    }
1129//
1130// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot
1131func (c *DocDB) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
1132	op := &request.Operation{
1133		Name:       opDeleteDBClusterSnapshot,
1134		HTTPMethod: "POST",
1135		HTTPPath:   "/",
1136	}
1137
1138	if input == nil {
1139		input = &DeleteDBClusterSnapshotInput{}
1140	}
1141
1142	output = &DeleteDBClusterSnapshotOutput{}
1143	req = c.newRequest(op, input, output)
1144	return
1145}
1146
1147// DeleteDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
1148//
1149// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
1150// operation is terminated.
1151//
1152// The DB cluster snapshot must be in the available state to be deleted.
1153//
1154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1155// with awserr.Error's Code and Message methods to get detailed information about
1156// the error.
1157//
1158// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1159// API operation DeleteDBClusterSnapshot for usage and error information.
1160//
1161// Returned Error Codes:
1162//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1163//   The provided value isn't a valid DB cluster snapshot state.
1164//
1165//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1166//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
1167//
1168// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot
1169func (c *DocDB) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
1170	req, out := c.DeleteDBClusterSnapshotRequest(input)
1171	return out, req.Send()
1172}
1173
1174// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
1175// the ability to pass a context and additional request options.
1176//
1177// See DeleteDBClusterSnapshot for details on how to use this API operation.
1178//
1179// The context must be non-nil and will be used for request cancellation. If
1180// the context is nil a panic will occur. In the future the SDK may create
1181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1182// for more information on using Contexts.
1183func (c *DocDB) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
1184	req, out := c.DeleteDBClusterSnapshotRequest(input)
1185	req.SetContext(ctx)
1186	req.ApplyOptions(opts...)
1187	return out, req.Send()
1188}
1189
1190const opDeleteDBInstance = "DeleteDBInstance"
1191
1192// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
1193// client's request for the DeleteDBInstance operation. The "output" return
1194// value will be populated with the request's response once the request completes
1195// successfully.
1196//
1197// Use "Send" method on the returned Request to send the API call to the service.
1198// the "output" return value is not valid until after Send returns without error.
1199//
1200// See DeleteDBInstance for more information on using the DeleteDBInstance
1201// API call, and error handling.
1202//
1203// This method is useful when you want to inject custom logic or configuration
1204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1205//
1206//
1207//    // Example sending a request using the DeleteDBInstanceRequest method.
1208//    req, resp := client.DeleteDBInstanceRequest(params)
1209//
1210//    err := req.Send()
1211//    if err == nil { // resp is now filled
1212//        fmt.Println(resp)
1213//    }
1214//
1215// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance
1216func (c *DocDB) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
1217	op := &request.Operation{
1218		Name:       opDeleteDBInstance,
1219		HTTPMethod: "POST",
1220		HTTPPath:   "/",
1221	}
1222
1223	if input == nil {
1224		input = &DeleteDBInstanceInput{}
1225	}
1226
1227	output = &DeleteDBInstanceOutput{}
1228	req = c.newRequest(op, input, output)
1229	return
1230}
1231
1232// DeleteDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
1233//
1234// Deletes a previously provisioned DB instance.
1235//
1236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1237// with awserr.Error's Code and Message methods to get detailed information about
1238// the error.
1239//
1240// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1241// API operation DeleteDBInstance for usage and error information.
1242//
1243// Returned Error Codes:
1244//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1245//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1246//
1247//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1248//   The specified DB instance isn't in the available state.
1249//
1250//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1251//   DBSnapshotIdentifier is already being used by an existing snapshot.
1252//
1253//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1254//   The request would cause you to exceed the allowed number of DB snapshots.
1255//
1256//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1257//   The DB cluster isn't in a valid state.
1258//
1259// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance
1260func (c *DocDB) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
1261	req, out := c.DeleteDBInstanceRequest(input)
1262	return out, req.Send()
1263}
1264
1265// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
1266// the ability to pass a context and additional request options.
1267//
1268// See DeleteDBInstance for details on how to use this API operation.
1269//
1270// The context must be non-nil and will be used for request cancellation. If
1271// the context is nil a panic will occur. In the future the SDK may create
1272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1273// for more information on using Contexts.
1274func (c *DocDB) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
1275	req, out := c.DeleteDBInstanceRequest(input)
1276	req.SetContext(ctx)
1277	req.ApplyOptions(opts...)
1278	return out, req.Send()
1279}
1280
1281const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
1282
1283// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
1284// client's request for the DeleteDBSubnetGroup operation. The "output" return
1285// value will be populated with the request's response once the request completes
1286// successfully.
1287//
1288// Use "Send" method on the returned Request to send the API call to the service.
1289// the "output" return value is not valid until after Send returns without error.
1290//
1291// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
1292// API call, and error handling.
1293//
1294// This method is useful when you want to inject custom logic or configuration
1295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1296//
1297//
1298//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
1299//    req, resp := client.DeleteDBSubnetGroupRequest(params)
1300//
1301//    err := req.Send()
1302//    if err == nil { // resp is now filled
1303//        fmt.Println(resp)
1304//    }
1305//
1306// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup
1307func (c *DocDB) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
1308	op := &request.Operation{
1309		Name:       opDeleteDBSubnetGroup,
1310		HTTPMethod: "POST",
1311		HTTPPath:   "/",
1312	}
1313
1314	if input == nil {
1315		input = &DeleteDBSubnetGroupInput{}
1316	}
1317
1318	output = &DeleteDBSubnetGroupOutput{}
1319	req = c.newRequest(op, input, output)
1320	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1321	return
1322}
1323
1324// DeleteDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
1325//
1326// Deletes a DB subnet group.
1327//
1328// The specified database subnet group must not be associated with any DB instances.
1329//
1330// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1331// with awserr.Error's Code and Message methods to get detailed information about
1332// the error.
1333//
1334// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1335// API operation DeleteDBSubnetGroup for usage and error information.
1336//
1337// Returned Error Codes:
1338//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1339//   The DB subnet group can't be deleted because it's in use.
1340//
1341//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
1342//   The DB subnet isn't in the available state.
1343//
1344//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1345//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1346//
1347// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup
1348func (c *DocDB) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
1349	req, out := c.DeleteDBSubnetGroupRequest(input)
1350	return out, req.Send()
1351}
1352
1353// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
1354// the ability to pass a context and additional request options.
1355//
1356// See DeleteDBSubnetGroup for details on how to use this API operation.
1357//
1358// The context must be non-nil and will be used for request cancellation. If
1359// the context is nil a panic will occur. In the future the SDK may create
1360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1361// for more information on using Contexts.
1362func (c *DocDB) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
1363	req, out := c.DeleteDBSubnetGroupRequest(input)
1364	req.SetContext(ctx)
1365	req.ApplyOptions(opts...)
1366	return out, req.Send()
1367}
1368
1369const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
1370
1371// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
1372// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
1373// value will be populated with the request's response once the request completes
1374// successfully.
1375//
1376// Use "Send" method on the returned Request to send the API call to the service.
1377// the "output" return value is not valid until after Send returns without error.
1378//
1379// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
1380// API call, and error handling.
1381//
1382// This method is useful when you want to inject custom logic or configuration
1383// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1384//
1385//
1386//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
1387//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
1388//
1389//    err := req.Send()
1390//    if err == nil { // resp is now filled
1391//        fmt.Println(resp)
1392//    }
1393//
1394// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups
1395func (c *DocDB) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
1396	op := &request.Operation{
1397		Name:       opDescribeDBClusterParameterGroups,
1398		HTTPMethod: "POST",
1399		HTTPPath:   "/",
1400	}
1401
1402	if input == nil {
1403		input = &DescribeDBClusterParameterGroupsInput{}
1404	}
1405
1406	output = &DescribeDBClusterParameterGroupsOutput{}
1407	req = c.newRequest(op, input, output)
1408	return
1409}
1410
1411// DescribeDBClusterParameterGroups API operation for Amazon DocumentDB with MongoDB compatibility.
1412//
1413// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
1414// parameter is specified, the list contains only the description of the specified
1415// DB cluster parameter group.
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 DescribeDBClusterParameterGroups for usage and error information.
1423//
1424// Returned Error Codes:
1425//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1426//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups
1429func (c *DocDB) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
1430	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
1431	return out, req.Send()
1432}
1433
1434// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
1435// the ability to pass a context and additional request options.
1436//
1437// See DescribeDBClusterParameterGroups 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) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
1444	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
1445	req.SetContext(ctx)
1446	req.ApplyOptions(opts...)
1447	return out, req.Send()
1448}
1449
1450const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
1451
1452// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
1453// client's request for the DescribeDBClusterParameters operation. The "output" return
1454// value will be populated with the request's response once the request completes
1455// successfully.
1456//
1457// Use "Send" method on the returned Request to send the API call to the service.
1458// the "output" return value is not valid until after Send returns without error.
1459//
1460// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
1461// API call, and error handling.
1462//
1463// This method is useful when you want to inject custom logic or configuration
1464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1465//
1466//
1467//    // Example sending a request using the DescribeDBClusterParametersRequest method.
1468//    req, resp := client.DescribeDBClusterParametersRequest(params)
1469//
1470//    err := req.Send()
1471//    if err == nil { // resp is now filled
1472//        fmt.Println(resp)
1473//    }
1474//
1475// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters
1476func (c *DocDB) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
1477	op := &request.Operation{
1478		Name:       opDescribeDBClusterParameters,
1479		HTTPMethod: "POST",
1480		HTTPPath:   "/",
1481	}
1482
1483	if input == nil {
1484		input = &DescribeDBClusterParametersInput{}
1485	}
1486
1487	output = &DescribeDBClusterParametersOutput{}
1488	req = c.newRequest(op, input, output)
1489	return
1490}
1491
1492// DescribeDBClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility.
1493//
1494// Returns the detailed parameter list for a particular DB cluster parameter
1495// group.
1496//
1497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1498// with awserr.Error's Code and Message methods to get detailed information about
1499// the error.
1500//
1501// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1502// API operation DescribeDBClusterParameters for usage and error information.
1503//
1504// Returned Error Codes:
1505//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1506//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1507//
1508// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters
1509func (c *DocDB) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
1510	req, out := c.DescribeDBClusterParametersRequest(input)
1511	return out, req.Send()
1512}
1513
1514// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
1515// the ability to pass a context and additional request options.
1516//
1517// See DescribeDBClusterParameters for details on how to use this API operation.
1518//
1519// The context must be non-nil and will be used for request cancellation. If
1520// the context is nil a panic will occur. In the future the SDK may create
1521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1522// for more information on using Contexts.
1523func (c *DocDB) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
1524	req, out := c.DescribeDBClusterParametersRequest(input)
1525	req.SetContext(ctx)
1526	req.ApplyOptions(opts...)
1527	return out, req.Send()
1528}
1529
1530const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
1531
1532// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
1533// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
1534// value will be populated with the request's response once the request completes
1535// successfully.
1536//
1537// Use "Send" method on the returned Request to send the API call to the service.
1538// the "output" return value is not valid until after Send returns without error.
1539//
1540// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
1541// API call, and error handling.
1542//
1543// This method is useful when you want to inject custom logic or configuration
1544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1545//
1546//
1547//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
1548//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
1549//
1550//    err := req.Send()
1551//    if err == nil { // resp is now filled
1552//        fmt.Println(resp)
1553//    }
1554//
1555// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes
1556func (c *DocDB) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
1557	op := &request.Operation{
1558		Name:       opDescribeDBClusterSnapshotAttributes,
1559		HTTPMethod: "POST",
1560		HTTPPath:   "/",
1561	}
1562
1563	if input == nil {
1564		input = &DescribeDBClusterSnapshotAttributesInput{}
1565	}
1566
1567	output = &DescribeDBClusterSnapshotAttributesOutput{}
1568	req = c.newRequest(op, input, output)
1569	return
1570}
1571
1572// DescribeDBClusterSnapshotAttributes API operation for Amazon DocumentDB with MongoDB compatibility.
1573//
1574// Returns a list of DB cluster snapshot attribute names and values for a manual
1575// DB cluster snapshot.
1576//
1577// When you share snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
1578// returns the restore attribute and a list of IDs for the AWS accounts that
1579// are authorized to copy or restore the manual DB cluster snapshot. If all
1580// is included in the list of values for the restore attribute, then the manual
1581// DB cluster snapshot is public and can be copied or restored by all AWS accounts.
1582//
1583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1584// with awserr.Error's Code and Message methods to get detailed information about
1585// the error.
1586//
1587// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1588// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
1589//
1590// Returned Error Codes:
1591//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1592//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
1593//
1594// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes
1595func (c *DocDB) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
1596	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
1597	return out, req.Send()
1598}
1599
1600// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
1601// the ability to pass a context and additional request options.
1602//
1603// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
1604//
1605// The context must be non-nil and will be used for request cancellation. If
1606// the context is nil a panic will occur. In the future the SDK may create
1607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1608// for more information on using Contexts.
1609func (c *DocDB) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
1610	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
1611	req.SetContext(ctx)
1612	req.ApplyOptions(opts...)
1613	return out, req.Send()
1614}
1615
1616const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
1617
1618// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
1619// client's request for the DescribeDBClusterSnapshots operation. The "output" return
1620// value will be populated with the request's response once the request completes
1621// successfully.
1622//
1623// Use "Send" method on the returned Request to send the API call to the service.
1624// the "output" return value is not valid until after Send returns without error.
1625//
1626// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
1627// API call, and error handling.
1628//
1629// This method is useful when you want to inject custom logic or configuration
1630// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1631//
1632//
1633//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
1634//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
1635//
1636//    err := req.Send()
1637//    if err == nil { // resp is now filled
1638//        fmt.Println(resp)
1639//    }
1640//
1641// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots
1642func (c *DocDB) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
1643	op := &request.Operation{
1644		Name:       opDescribeDBClusterSnapshots,
1645		HTTPMethod: "POST",
1646		HTTPPath:   "/",
1647	}
1648
1649	if input == nil {
1650		input = &DescribeDBClusterSnapshotsInput{}
1651	}
1652
1653	output = &DescribeDBClusterSnapshotsOutput{}
1654	req = c.newRequest(op, input, output)
1655	return
1656}
1657
1658// DescribeDBClusterSnapshots API operation for Amazon DocumentDB with MongoDB compatibility.
1659//
1660// Returns information about DB cluster snapshots. This API operation supports
1661// pagination.
1662//
1663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1664// with awserr.Error's Code and Message methods to get detailed information about
1665// the error.
1666//
1667// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1668// API operation DescribeDBClusterSnapshots for usage and error information.
1669//
1670// Returned Error Codes:
1671//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1672//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
1673//
1674// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots
1675func (c *DocDB) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
1676	req, out := c.DescribeDBClusterSnapshotsRequest(input)
1677	return out, req.Send()
1678}
1679
1680// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
1681// the ability to pass a context and additional request options.
1682//
1683// See DescribeDBClusterSnapshots for details on how to use this API operation.
1684//
1685// The context must be non-nil and will be used for request cancellation. If
1686// the context is nil a panic will occur. In the future the SDK may create
1687// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1688// for more information on using Contexts.
1689func (c *DocDB) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
1690	req, out := c.DescribeDBClusterSnapshotsRequest(input)
1691	req.SetContext(ctx)
1692	req.ApplyOptions(opts...)
1693	return out, req.Send()
1694}
1695
1696const opDescribeDBClusters = "DescribeDBClusters"
1697
1698// DescribeDBClustersRequest generates a "aws/request.Request" representing the
1699// client's request for the DescribeDBClusters operation. The "output" return
1700// value will be populated with the request's response once the request completes
1701// successfully.
1702//
1703// Use "Send" method on the returned Request to send the API call to the service.
1704// the "output" return value is not valid until after Send returns without error.
1705//
1706// See DescribeDBClusters for more information on using the DescribeDBClusters
1707// API call, and error handling.
1708//
1709// This method is useful when you want to inject custom logic or configuration
1710// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1711//
1712//
1713//    // Example sending a request using the DescribeDBClustersRequest method.
1714//    req, resp := client.DescribeDBClustersRequest(params)
1715//
1716//    err := req.Send()
1717//    if err == nil { // resp is now filled
1718//        fmt.Println(resp)
1719//    }
1720//
1721// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters
1722func (c *DocDB) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
1723	op := &request.Operation{
1724		Name:       opDescribeDBClusters,
1725		HTTPMethod: "POST",
1726		HTTPPath:   "/",
1727		Paginator: &request.Paginator{
1728			InputTokens:     []string{"Marker"},
1729			OutputTokens:    []string{"Marker"},
1730			LimitToken:      "MaxRecords",
1731			TruncationToken: "",
1732		},
1733	}
1734
1735	if input == nil {
1736		input = &DescribeDBClustersInput{}
1737	}
1738
1739	output = &DescribeDBClustersOutput{}
1740	req = c.newRequest(op, input, output)
1741	return
1742}
1743
1744// DescribeDBClusters API operation for Amazon DocumentDB with MongoDB compatibility.
1745//
1746// Returns information about provisioned Amazon DocumentDB DB clusters. This
1747// API operation supports pagination.
1748//
1749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1750// with awserr.Error's Code and Message methods to get detailed information about
1751// the error.
1752//
1753// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1754// API operation DescribeDBClusters for usage and error information.
1755//
1756// Returned Error Codes:
1757//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1758//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1759//
1760// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters
1761func (c *DocDB) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
1762	req, out := c.DescribeDBClustersRequest(input)
1763	return out, req.Send()
1764}
1765
1766// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
1767// the ability to pass a context and additional request options.
1768//
1769// See DescribeDBClusters for details on how to use this API operation.
1770//
1771// The context must be non-nil and will be used for request cancellation. If
1772// the context is nil a panic will occur. In the future the SDK may create
1773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1774// for more information on using Contexts.
1775func (c *DocDB) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
1776	req, out := c.DescribeDBClustersRequest(input)
1777	req.SetContext(ctx)
1778	req.ApplyOptions(opts...)
1779	return out, req.Send()
1780}
1781
1782// DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
1783// calling the "fn" function with the response data for each page. To stop
1784// iterating, return false from the fn function.
1785//
1786// See DescribeDBClusters method for more information on how to use this operation.
1787//
1788// Note: This operation can generate multiple requests to a service.
1789//
1790//    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
1791//    pageNum := 0
1792//    err := client.DescribeDBClustersPages(params,
1793//        func(page *docdb.DescribeDBClustersOutput, lastPage bool) bool {
1794//            pageNum++
1795//            fmt.Println(page)
1796//            return pageNum <= 3
1797//        })
1798//
1799func (c *DocDB) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
1800	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
1801}
1802
1803// DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
1804// it takes a Context and allows setting request options on the pages.
1805//
1806// The context must be non-nil and will be used for request cancellation. If
1807// the context is nil a panic will occur. In the future the SDK may create
1808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1809// for more information on using Contexts.
1810func (c *DocDB) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
1811	p := request.Pagination{
1812		NewRequest: func() (*request.Request, error) {
1813			var inCpy *DescribeDBClustersInput
1814			if input != nil {
1815				tmp := *input
1816				inCpy = &tmp
1817			}
1818			req, _ := c.DescribeDBClustersRequest(inCpy)
1819			req.SetContext(ctx)
1820			req.ApplyOptions(opts...)
1821			return req, nil
1822		},
1823	}
1824
1825	cont := true
1826	for p.Next() && cont {
1827		cont = fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage())
1828	}
1829	return p.Err()
1830}
1831
1832const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
1833
1834// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
1835// client's request for the DescribeDBEngineVersions operation. The "output" return
1836// value will be populated with the request's response once the request completes
1837// successfully.
1838//
1839// Use "Send" method on the returned Request to send the API call to the service.
1840// the "output" return value is not valid until after Send returns without error.
1841//
1842// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
1843// API call, and error handling.
1844//
1845// This method is useful when you want to inject custom logic or configuration
1846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1847//
1848//
1849//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
1850//    req, resp := client.DescribeDBEngineVersionsRequest(params)
1851//
1852//    err := req.Send()
1853//    if err == nil { // resp is now filled
1854//        fmt.Println(resp)
1855//    }
1856//
1857// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions
1858func (c *DocDB) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
1859	op := &request.Operation{
1860		Name:       opDescribeDBEngineVersions,
1861		HTTPMethod: "POST",
1862		HTTPPath:   "/",
1863		Paginator: &request.Paginator{
1864			InputTokens:     []string{"Marker"},
1865			OutputTokens:    []string{"Marker"},
1866			LimitToken:      "MaxRecords",
1867			TruncationToken: "",
1868		},
1869	}
1870
1871	if input == nil {
1872		input = &DescribeDBEngineVersionsInput{}
1873	}
1874
1875	output = &DescribeDBEngineVersionsOutput{}
1876	req = c.newRequest(op, input, output)
1877	return
1878}
1879
1880// DescribeDBEngineVersions API operation for Amazon DocumentDB with MongoDB compatibility.
1881//
1882// Returns a list of the available DB engines.
1883//
1884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1885// with awserr.Error's Code and Message methods to get detailed information about
1886// the error.
1887//
1888// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1889// API operation DescribeDBEngineVersions for usage and error information.
1890// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions
1891func (c *DocDB) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
1892	req, out := c.DescribeDBEngineVersionsRequest(input)
1893	return out, req.Send()
1894}
1895
1896// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
1897// the ability to pass a context and additional request options.
1898//
1899// See DescribeDBEngineVersions for details on how to use this API operation.
1900//
1901// The context must be non-nil and will be used for request cancellation. If
1902// the context is nil a panic will occur. In the future the SDK may create
1903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1904// for more information on using Contexts.
1905func (c *DocDB) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
1906	req, out := c.DescribeDBEngineVersionsRequest(input)
1907	req.SetContext(ctx)
1908	req.ApplyOptions(opts...)
1909	return out, req.Send()
1910}
1911
1912// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
1913// calling the "fn" function with the response data for each page. To stop
1914// iterating, return false from the fn function.
1915//
1916// See DescribeDBEngineVersions method for more information on how to use this operation.
1917//
1918// Note: This operation can generate multiple requests to a service.
1919//
1920//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
1921//    pageNum := 0
1922//    err := client.DescribeDBEngineVersionsPages(params,
1923//        func(page *docdb.DescribeDBEngineVersionsOutput, lastPage bool) bool {
1924//            pageNum++
1925//            fmt.Println(page)
1926//            return pageNum <= 3
1927//        })
1928//
1929func (c *DocDB) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
1930	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
1931}
1932
1933// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
1934// it takes a Context and allows setting request options on the pages.
1935//
1936// The context must be non-nil and will be used for request cancellation. If
1937// the context is nil a panic will occur. In the future the SDK may create
1938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1939// for more information on using Contexts.
1940func (c *DocDB) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
1941	p := request.Pagination{
1942		NewRequest: func() (*request.Request, error) {
1943			var inCpy *DescribeDBEngineVersionsInput
1944			if input != nil {
1945				tmp := *input
1946				inCpy = &tmp
1947			}
1948			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
1949			req.SetContext(ctx)
1950			req.ApplyOptions(opts...)
1951			return req, nil
1952		},
1953	}
1954
1955	cont := true
1956	for p.Next() && cont {
1957		cont = fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage())
1958	}
1959	return p.Err()
1960}
1961
1962const opDescribeDBInstances = "DescribeDBInstances"
1963
1964// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
1965// client's request for the DescribeDBInstances operation. The "output" return
1966// value will be populated with the request's response once the request completes
1967// successfully.
1968//
1969// Use "Send" method on the returned Request to send the API call to the service.
1970// the "output" return value is not valid until after Send returns without error.
1971//
1972// See DescribeDBInstances for more information on using the DescribeDBInstances
1973// API call, and error handling.
1974//
1975// This method is useful when you want to inject custom logic or configuration
1976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1977//
1978//
1979//    // Example sending a request using the DescribeDBInstancesRequest method.
1980//    req, resp := client.DescribeDBInstancesRequest(params)
1981//
1982//    err := req.Send()
1983//    if err == nil { // resp is now filled
1984//        fmt.Println(resp)
1985//    }
1986//
1987// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances
1988func (c *DocDB) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
1989	op := &request.Operation{
1990		Name:       opDescribeDBInstances,
1991		HTTPMethod: "POST",
1992		HTTPPath:   "/",
1993		Paginator: &request.Paginator{
1994			InputTokens:     []string{"Marker"},
1995			OutputTokens:    []string{"Marker"},
1996			LimitToken:      "MaxRecords",
1997			TruncationToken: "",
1998		},
1999	}
2000
2001	if input == nil {
2002		input = &DescribeDBInstancesInput{}
2003	}
2004
2005	output = &DescribeDBInstancesOutput{}
2006	req = c.newRequest(op, input, output)
2007	return
2008}
2009
2010// DescribeDBInstances API operation for Amazon DocumentDB with MongoDB compatibility.
2011//
2012// Returns information about provisioned Amazon DocumentDB instances. This API
2013// supports pagination.
2014//
2015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2016// with awserr.Error's Code and Message methods to get detailed information about
2017// the error.
2018//
2019// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2020// API operation DescribeDBInstances for usage and error information.
2021//
2022// Returned Error Codes:
2023//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2024//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2025//
2026// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances
2027func (c *DocDB) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
2028	req, out := c.DescribeDBInstancesRequest(input)
2029	return out, req.Send()
2030}
2031
2032// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
2033// the ability to pass a context and additional request options.
2034//
2035// See DescribeDBInstances for details on how to use this API operation.
2036//
2037// The context must be non-nil and will be used for request cancellation. If
2038// the context is nil a panic will occur. In the future the SDK may create
2039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2040// for more information on using Contexts.
2041func (c *DocDB) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
2042	req, out := c.DescribeDBInstancesRequest(input)
2043	req.SetContext(ctx)
2044	req.ApplyOptions(opts...)
2045	return out, req.Send()
2046}
2047
2048// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
2049// calling the "fn" function with the response data for each page. To stop
2050// iterating, return false from the fn function.
2051//
2052// See DescribeDBInstances method for more information on how to use this operation.
2053//
2054// Note: This operation can generate multiple requests to a service.
2055//
2056//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
2057//    pageNum := 0
2058//    err := client.DescribeDBInstancesPages(params,
2059//        func(page *docdb.DescribeDBInstancesOutput, lastPage bool) bool {
2060//            pageNum++
2061//            fmt.Println(page)
2062//            return pageNum <= 3
2063//        })
2064//
2065func (c *DocDB) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
2066	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2067}
2068
2069// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
2070// it takes a Context and allows setting request options on the pages.
2071//
2072// The context must be non-nil and will be used for request cancellation. If
2073// the context is nil a panic will occur. In the future the SDK may create
2074// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2075// for more information on using Contexts.
2076func (c *DocDB) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
2077	p := request.Pagination{
2078		NewRequest: func() (*request.Request, error) {
2079			var inCpy *DescribeDBInstancesInput
2080			if input != nil {
2081				tmp := *input
2082				inCpy = &tmp
2083			}
2084			req, _ := c.DescribeDBInstancesRequest(inCpy)
2085			req.SetContext(ctx)
2086			req.ApplyOptions(opts...)
2087			return req, nil
2088		},
2089	}
2090
2091	cont := true
2092	for p.Next() && cont {
2093		cont = fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage())
2094	}
2095	return p.Err()
2096}
2097
2098const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
2099
2100// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
2101// client's request for the DescribeDBSubnetGroups operation. The "output" return
2102// value will be populated with the request's response once the request completes
2103// successfully.
2104//
2105// Use "Send" method on the returned Request to send the API call to the service.
2106// the "output" return value is not valid until after Send returns without error.
2107//
2108// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
2109// API call, and error handling.
2110//
2111// This method is useful when you want to inject custom logic or configuration
2112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2113//
2114//
2115//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
2116//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
2117//
2118//    err := req.Send()
2119//    if err == nil { // resp is now filled
2120//        fmt.Println(resp)
2121//    }
2122//
2123// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups
2124func (c *DocDB) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
2125	op := &request.Operation{
2126		Name:       opDescribeDBSubnetGroups,
2127		HTTPMethod: "POST",
2128		HTTPPath:   "/",
2129		Paginator: &request.Paginator{
2130			InputTokens:     []string{"Marker"},
2131			OutputTokens:    []string{"Marker"},
2132			LimitToken:      "MaxRecords",
2133			TruncationToken: "",
2134		},
2135	}
2136
2137	if input == nil {
2138		input = &DescribeDBSubnetGroupsInput{}
2139	}
2140
2141	output = &DescribeDBSubnetGroupsOutput{}
2142	req = c.newRequest(op, input, output)
2143	return
2144}
2145
2146// DescribeDBSubnetGroups API operation for Amazon DocumentDB with MongoDB compatibility.
2147//
2148// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
2149// the list will contain only the descriptions of the specified DBSubnetGroup.
2150//
2151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2152// with awserr.Error's Code and Message methods to get detailed information about
2153// the error.
2154//
2155// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2156// API operation DescribeDBSubnetGroups for usage and error information.
2157//
2158// Returned Error Codes:
2159//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2160//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
2161//
2162// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups
2163func (c *DocDB) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
2164	req, out := c.DescribeDBSubnetGroupsRequest(input)
2165	return out, req.Send()
2166}
2167
2168// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
2169// the ability to pass a context and additional request options.
2170//
2171// See DescribeDBSubnetGroups for details on how to use this API operation.
2172//
2173// The context must be non-nil and will be used for request cancellation. If
2174// the context is nil a panic will occur. In the future the SDK may create
2175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2176// for more information on using Contexts.
2177func (c *DocDB) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
2178	req, out := c.DescribeDBSubnetGroupsRequest(input)
2179	req.SetContext(ctx)
2180	req.ApplyOptions(opts...)
2181	return out, req.Send()
2182}
2183
2184// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
2185// calling the "fn" function with the response data for each page. To stop
2186// iterating, return false from the fn function.
2187//
2188// See DescribeDBSubnetGroups method for more information on how to use this operation.
2189//
2190// Note: This operation can generate multiple requests to a service.
2191//
2192//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
2193//    pageNum := 0
2194//    err := client.DescribeDBSubnetGroupsPages(params,
2195//        func(page *docdb.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
2196//            pageNum++
2197//            fmt.Println(page)
2198//            return pageNum <= 3
2199//        })
2200//
2201func (c *DocDB) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
2202	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
2203}
2204
2205// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
2206// it takes a Context and allows setting request options on the pages.
2207//
2208// The context must be non-nil and will be used for request cancellation. If
2209// the context is nil a panic will occur. In the future the SDK may create
2210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2211// for more information on using Contexts.
2212func (c *DocDB) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
2213	p := request.Pagination{
2214		NewRequest: func() (*request.Request, error) {
2215			var inCpy *DescribeDBSubnetGroupsInput
2216			if input != nil {
2217				tmp := *input
2218				inCpy = &tmp
2219			}
2220			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
2221			req.SetContext(ctx)
2222			req.ApplyOptions(opts...)
2223			return req, nil
2224		},
2225	}
2226
2227	cont := true
2228	for p.Next() && cont {
2229		cont = fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage())
2230	}
2231	return p.Err()
2232}
2233
2234const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
2235
2236// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
2237// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
2238// value will be populated with the request's response once the request completes
2239// successfully.
2240//
2241// Use "Send" method on the returned Request to send the API call to the service.
2242// the "output" return value is not valid until after Send returns without error.
2243//
2244// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
2245// API call, and error handling.
2246//
2247// This method is useful when you want to inject custom logic or configuration
2248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2249//
2250//
2251//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
2252//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
2253//
2254//    err := req.Send()
2255//    if err == nil { // resp is now filled
2256//        fmt.Println(resp)
2257//    }
2258//
2259// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters
2260func (c *DocDB) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
2261	op := &request.Operation{
2262		Name:       opDescribeEngineDefaultClusterParameters,
2263		HTTPMethod: "POST",
2264		HTTPPath:   "/",
2265	}
2266
2267	if input == nil {
2268		input = &DescribeEngineDefaultClusterParametersInput{}
2269	}
2270
2271	output = &DescribeEngineDefaultClusterParametersOutput{}
2272	req = c.newRequest(op, input, output)
2273	return
2274}
2275
2276// DescribeEngineDefaultClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility.
2277//
2278// Returns the default engine and system parameter information for the cluster
2279// database engine.
2280//
2281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2282// with awserr.Error's Code and Message methods to get detailed information about
2283// the error.
2284//
2285// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2286// API operation DescribeEngineDefaultClusterParameters for usage and error information.
2287// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters
2288func (c *DocDB) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
2289	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
2290	return out, req.Send()
2291}
2292
2293// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
2294// the ability to pass a context and additional request options.
2295//
2296// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
2297//
2298// The context must be non-nil and will be used for request cancellation. If
2299// the context is nil a panic will occur. In the future the SDK may create
2300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2301// for more information on using Contexts.
2302func (c *DocDB) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
2303	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
2304	req.SetContext(ctx)
2305	req.ApplyOptions(opts...)
2306	return out, req.Send()
2307}
2308
2309const opDescribeEventCategories = "DescribeEventCategories"
2310
2311// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
2312// client's request for the DescribeEventCategories operation. The "output" return
2313// value will be populated with the request's response once the request completes
2314// successfully.
2315//
2316// Use "Send" method on the returned Request to send the API call to the service.
2317// the "output" return value is not valid until after Send returns without error.
2318//
2319// See DescribeEventCategories for more information on using the DescribeEventCategories
2320// API call, and error handling.
2321//
2322// This method is useful when you want to inject custom logic or configuration
2323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2324//
2325//
2326//    // Example sending a request using the DescribeEventCategoriesRequest method.
2327//    req, resp := client.DescribeEventCategoriesRequest(params)
2328//
2329//    err := req.Send()
2330//    if err == nil { // resp is now filled
2331//        fmt.Println(resp)
2332//    }
2333//
2334// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories
2335func (c *DocDB) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
2336	op := &request.Operation{
2337		Name:       opDescribeEventCategories,
2338		HTTPMethod: "POST",
2339		HTTPPath:   "/",
2340	}
2341
2342	if input == nil {
2343		input = &DescribeEventCategoriesInput{}
2344	}
2345
2346	output = &DescribeEventCategoriesOutput{}
2347	req = c.newRequest(op, input, output)
2348	return
2349}
2350
2351// DescribeEventCategories API operation for Amazon DocumentDB with MongoDB compatibility.
2352//
2353// Displays a list of categories for all event source types, or, if specified,
2354// for a specified source type.
2355//
2356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2357// with awserr.Error's Code and Message methods to get detailed information about
2358// the error.
2359//
2360// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2361// API operation DescribeEventCategories for usage and error information.
2362// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories
2363func (c *DocDB) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
2364	req, out := c.DescribeEventCategoriesRequest(input)
2365	return out, req.Send()
2366}
2367
2368// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
2369// the ability to pass a context and additional request options.
2370//
2371// See DescribeEventCategories for details on how to use this API operation.
2372//
2373// The context must be non-nil and will be used for request cancellation. If
2374// the context is nil a panic will occur. In the future the SDK may create
2375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2376// for more information on using Contexts.
2377func (c *DocDB) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
2378	req, out := c.DescribeEventCategoriesRequest(input)
2379	req.SetContext(ctx)
2380	req.ApplyOptions(opts...)
2381	return out, req.Send()
2382}
2383
2384const opDescribeEvents = "DescribeEvents"
2385
2386// DescribeEventsRequest generates a "aws/request.Request" representing the
2387// client's request for the DescribeEvents operation. The "output" return
2388// value will be populated with the request's response once the request completes
2389// successfully.
2390//
2391// Use "Send" method on the returned Request to send the API call to the service.
2392// the "output" return value is not valid until after Send returns without error.
2393//
2394// See DescribeEvents for more information on using the DescribeEvents
2395// API call, and error handling.
2396//
2397// This method is useful when you want to inject custom logic or configuration
2398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2399//
2400//
2401//    // Example sending a request using the DescribeEventsRequest method.
2402//    req, resp := client.DescribeEventsRequest(params)
2403//
2404//    err := req.Send()
2405//    if err == nil { // resp is now filled
2406//        fmt.Println(resp)
2407//    }
2408//
2409// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents
2410func (c *DocDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
2411	op := &request.Operation{
2412		Name:       opDescribeEvents,
2413		HTTPMethod: "POST",
2414		HTTPPath:   "/",
2415		Paginator: &request.Paginator{
2416			InputTokens:     []string{"Marker"},
2417			OutputTokens:    []string{"Marker"},
2418			LimitToken:      "MaxRecords",
2419			TruncationToken: "",
2420		},
2421	}
2422
2423	if input == nil {
2424		input = &DescribeEventsInput{}
2425	}
2426
2427	output = &DescribeEventsOutput{}
2428	req = c.newRequest(op, input, output)
2429	return
2430}
2431
2432// DescribeEvents API operation for Amazon DocumentDB with MongoDB compatibility.
2433//
2434// Returns events related to DB instances, DB security groups, DB snapshots,
2435// and DB parameter groups for the past 14 days. You can obtain events specific
2436// to a particular DB instance, DB security group, DB snapshot, or DB parameter
2437// group by providing the name as a parameter. By default, the events of the
2438// past hour are returned.
2439//
2440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2441// with awserr.Error's Code and Message methods to get detailed information about
2442// the error.
2443//
2444// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2445// API operation DescribeEvents for usage and error information.
2446// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents
2447func (c *DocDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
2448	req, out := c.DescribeEventsRequest(input)
2449	return out, req.Send()
2450}
2451
2452// DescribeEventsWithContext is the same as DescribeEvents with the addition of
2453// the ability to pass a context and additional request options.
2454//
2455// See DescribeEvents for details on how to use this API operation.
2456//
2457// The context must be non-nil and will be used for request cancellation. If
2458// the context is nil a panic will occur. In the future the SDK may create
2459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2460// for more information on using Contexts.
2461func (c *DocDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
2462	req, out := c.DescribeEventsRequest(input)
2463	req.SetContext(ctx)
2464	req.ApplyOptions(opts...)
2465	return out, req.Send()
2466}
2467
2468// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
2469// calling the "fn" function with the response data for each page. To stop
2470// iterating, return false from the fn function.
2471//
2472// See DescribeEvents method for more information on how to use this operation.
2473//
2474// Note: This operation can generate multiple requests to a service.
2475//
2476//    // Example iterating over at most 3 pages of a DescribeEvents operation.
2477//    pageNum := 0
2478//    err := client.DescribeEventsPages(params,
2479//        func(page *docdb.DescribeEventsOutput, lastPage bool) bool {
2480//            pageNum++
2481//            fmt.Println(page)
2482//            return pageNum <= 3
2483//        })
2484//
2485func (c *DocDB) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
2486	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2487}
2488
2489// DescribeEventsPagesWithContext same as DescribeEventsPages except
2490// it takes a Context and allows setting request options on the pages.
2491//
2492// The context must be non-nil and will be used for request cancellation. If
2493// the context is nil a panic will occur. In the future the SDK may create
2494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2495// for more information on using Contexts.
2496func (c *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
2497	p := request.Pagination{
2498		NewRequest: func() (*request.Request, error) {
2499			var inCpy *DescribeEventsInput
2500			if input != nil {
2501				tmp := *input
2502				inCpy = &tmp
2503			}
2504			req, _ := c.DescribeEventsRequest(inCpy)
2505			req.SetContext(ctx)
2506			req.ApplyOptions(opts...)
2507			return req, nil
2508		},
2509	}
2510
2511	cont := true
2512	for p.Next() && cont {
2513		cont = fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage())
2514	}
2515	return p.Err()
2516}
2517
2518const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
2519
2520// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
2521// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
2522// value will be populated with the request's response once the request completes
2523// successfully.
2524//
2525// Use "Send" method on the returned Request to send the API call to the service.
2526// the "output" return value is not valid until after Send returns without error.
2527//
2528// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
2529// API call, and error handling.
2530//
2531// This method is useful when you want to inject custom logic or configuration
2532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2533//
2534//
2535//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
2536//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
2537//
2538//    err := req.Send()
2539//    if err == nil { // resp is now filled
2540//        fmt.Println(resp)
2541//    }
2542//
2543// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions
2544func (c *DocDB) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
2545	op := &request.Operation{
2546		Name:       opDescribeOrderableDBInstanceOptions,
2547		HTTPMethod: "POST",
2548		HTTPPath:   "/",
2549		Paginator: &request.Paginator{
2550			InputTokens:     []string{"Marker"},
2551			OutputTokens:    []string{"Marker"},
2552			LimitToken:      "MaxRecords",
2553			TruncationToken: "",
2554		},
2555	}
2556
2557	if input == nil {
2558		input = &DescribeOrderableDBInstanceOptionsInput{}
2559	}
2560
2561	output = &DescribeOrderableDBInstanceOptionsOutput{}
2562	req = c.newRequest(op, input, output)
2563	return
2564}
2565
2566// DescribeOrderableDBInstanceOptions API operation for Amazon DocumentDB with MongoDB compatibility.
2567//
2568// Returns a list of orderable DB instance options for the specified engine.
2569//
2570// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2571// with awserr.Error's Code and Message methods to get detailed information about
2572// the error.
2573//
2574// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2575// API operation DescribeOrderableDBInstanceOptions for usage and error information.
2576// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions
2577func (c *DocDB) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
2578	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
2579	return out, req.Send()
2580}
2581
2582// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
2583// the ability to pass a context and additional request options.
2584//
2585// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
2586//
2587// The context must be non-nil and will be used for request cancellation. If
2588// the context is nil a panic will occur. In the future the SDK may create
2589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2590// for more information on using Contexts.
2591func (c *DocDB) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
2592	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
2593	req.SetContext(ctx)
2594	req.ApplyOptions(opts...)
2595	return out, req.Send()
2596}
2597
2598// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
2599// calling the "fn" function with the response data for each page. To stop
2600// iterating, return false from the fn function.
2601//
2602// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
2603//
2604// Note: This operation can generate multiple requests to a service.
2605//
2606//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
2607//    pageNum := 0
2608//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
2609//        func(page *docdb.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
2610//            pageNum++
2611//            fmt.Println(page)
2612//            return pageNum <= 3
2613//        })
2614//
2615func (c *DocDB) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
2616	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
2617}
2618
2619// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
2620// it takes a Context and allows setting request options on the pages.
2621//
2622// The context must be non-nil and will be used for request cancellation. If
2623// the context is nil a panic will occur. In the future the SDK may create
2624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2625// for more information on using Contexts.
2626func (c *DocDB) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
2627	p := request.Pagination{
2628		NewRequest: func() (*request.Request, error) {
2629			var inCpy *DescribeOrderableDBInstanceOptionsInput
2630			if input != nil {
2631				tmp := *input
2632				inCpy = &tmp
2633			}
2634			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
2635			req.SetContext(ctx)
2636			req.ApplyOptions(opts...)
2637			return req, nil
2638		},
2639	}
2640
2641	cont := true
2642	for p.Next() && cont {
2643		cont = fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage())
2644	}
2645	return p.Err()
2646}
2647
2648const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
2649
2650// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
2651// client's request for the DescribePendingMaintenanceActions operation. The "output" return
2652// value will be populated with the request's response once the request completes
2653// successfully.
2654//
2655// Use "Send" method on the returned Request to send the API call to the service.
2656// the "output" return value is not valid until after Send returns without error.
2657//
2658// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
2659// API call, and error handling.
2660//
2661// This method is useful when you want to inject custom logic or configuration
2662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2663//
2664//
2665//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
2666//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
2667//
2668//    err := req.Send()
2669//    if err == nil { // resp is now filled
2670//        fmt.Println(resp)
2671//    }
2672//
2673// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions
2674func (c *DocDB) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
2675	op := &request.Operation{
2676		Name:       opDescribePendingMaintenanceActions,
2677		HTTPMethod: "POST",
2678		HTTPPath:   "/",
2679	}
2680
2681	if input == nil {
2682		input = &DescribePendingMaintenanceActionsInput{}
2683	}
2684
2685	output = &DescribePendingMaintenanceActionsOutput{}
2686	req = c.newRequest(op, input, output)
2687	return
2688}
2689
2690// DescribePendingMaintenanceActions API operation for Amazon DocumentDB with MongoDB compatibility.
2691//
2692// Returns a list of resources (for example, DB instances) that have at least
2693// one pending maintenance action.
2694//
2695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2696// with awserr.Error's Code and Message methods to get detailed information about
2697// the error.
2698//
2699// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2700// API operation DescribePendingMaintenanceActions for usage and error information.
2701//
2702// Returned Error Codes:
2703//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
2704//   The specified resource ID was not found.
2705//
2706// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions
2707func (c *DocDB) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
2708	req, out := c.DescribePendingMaintenanceActionsRequest(input)
2709	return out, req.Send()
2710}
2711
2712// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
2713// the ability to pass a context and additional request options.
2714//
2715// See DescribePendingMaintenanceActions for details on how to use this API operation.
2716//
2717// The context must be non-nil and will be used for request cancellation. If
2718// the context is nil a panic will occur. In the future the SDK may create
2719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2720// for more information on using Contexts.
2721func (c *DocDB) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
2722	req, out := c.DescribePendingMaintenanceActionsRequest(input)
2723	req.SetContext(ctx)
2724	req.ApplyOptions(opts...)
2725	return out, req.Send()
2726}
2727
2728const opFailoverDBCluster = "FailoverDBCluster"
2729
2730// FailoverDBClusterRequest generates a "aws/request.Request" representing the
2731// client's request for the FailoverDBCluster operation. The "output" return
2732// value will be populated with the request's response once the request completes
2733// successfully.
2734//
2735// Use "Send" method on the returned Request to send the API call to the service.
2736// the "output" return value is not valid until after Send returns without error.
2737//
2738// See FailoverDBCluster for more information on using the FailoverDBCluster
2739// API call, and error handling.
2740//
2741// This method is useful when you want to inject custom logic or configuration
2742// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2743//
2744//
2745//    // Example sending a request using the FailoverDBClusterRequest method.
2746//    req, resp := client.FailoverDBClusterRequest(params)
2747//
2748//    err := req.Send()
2749//    if err == nil { // resp is now filled
2750//        fmt.Println(resp)
2751//    }
2752//
2753// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster
2754func (c *DocDB) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
2755	op := &request.Operation{
2756		Name:       opFailoverDBCluster,
2757		HTTPMethod: "POST",
2758		HTTPPath:   "/",
2759	}
2760
2761	if input == nil {
2762		input = &FailoverDBClusterInput{}
2763	}
2764
2765	output = &FailoverDBClusterOutput{}
2766	req = c.newRequest(op, input, output)
2767	return
2768}
2769
2770// FailoverDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
2771//
2772// Forces a failover for a DB cluster.
2773//
2774// A failover for a DB cluster promotes one of the Amazon DocumentDB replicas
2775// (read-only instances) in the DB cluster to be the primary instance (the cluster
2776// writer).
2777//
2778// If the primary instance fails, Amazon DocumentDB automatically fails over
2779// to an Amazon DocumentDB replica, if one exists. You can force a failover
2780// when you want to simulate a failure of a primary instance for testing.
2781//
2782// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2783// with awserr.Error's Code and Message methods to get detailed information about
2784// the error.
2785//
2786// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2787// API operation FailoverDBCluster for usage and error information.
2788//
2789// Returned Error Codes:
2790//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2791//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2792//
2793//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2794//   The DB cluster isn't in a valid state.
2795//
2796//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2797//   The specified DB instance isn't in the available state.
2798//
2799// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster
2800func (c *DocDB) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
2801	req, out := c.FailoverDBClusterRequest(input)
2802	return out, req.Send()
2803}
2804
2805// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
2806// the ability to pass a context and additional request options.
2807//
2808// See FailoverDBCluster for details on how to use this API operation.
2809//
2810// The context must be non-nil and will be used for request cancellation. If
2811// the context is nil a panic will occur. In the future the SDK may create
2812// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2813// for more information on using Contexts.
2814func (c *DocDB) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
2815	req, out := c.FailoverDBClusterRequest(input)
2816	req.SetContext(ctx)
2817	req.ApplyOptions(opts...)
2818	return out, req.Send()
2819}
2820
2821const opListTagsForResource = "ListTagsForResource"
2822
2823// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2824// client's request for the ListTagsForResource operation. The "output" return
2825// value will be populated with the request's response once the request completes
2826// successfully.
2827//
2828// Use "Send" method on the returned Request to send the API call to the service.
2829// the "output" return value is not valid until after Send returns without error.
2830//
2831// See ListTagsForResource for more information on using the ListTagsForResource
2832// API call, and error handling.
2833//
2834// This method is useful when you want to inject custom logic or configuration
2835// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2836//
2837//
2838//    // Example sending a request using the ListTagsForResourceRequest method.
2839//    req, resp := client.ListTagsForResourceRequest(params)
2840//
2841//    err := req.Send()
2842//    if err == nil { // resp is now filled
2843//        fmt.Println(resp)
2844//    }
2845//
2846// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource
2847func (c *DocDB) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2848	op := &request.Operation{
2849		Name:       opListTagsForResource,
2850		HTTPMethod: "POST",
2851		HTTPPath:   "/",
2852	}
2853
2854	if input == nil {
2855		input = &ListTagsForResourceInput{}
2856	}
2857
2858	output = &ListTagsForResourceOutput{}
2859	req = c.newRequest(op, input, output)
2860	return
2861}
2862
2863// ListTagsForResource API operation for Amazon DocumentDB with MongoDB compatibility.
2864//
2865// Lists all tags on an Amazon DocumentDB resource.
2866//
2867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2868// with awserr.Error's Code and Message methods to get detailed information about
2869// the error.
2870//
2871// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2872// API operation ListTagsForResource for usage and error information.
2873//
2874// Returned Error Codes:
2875//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2876//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2877//
2878//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
2879//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
2880//
2881//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2882//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2883//
2884// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource
2885func (c *DocDB) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2886	req, out := c.ListTagsForResourceRequest(input)
2887	return out, req.Send()
2888}
2889
2890// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2891// the ability to pass a context and additional request options.
2892//
2893// See ListTagsForResource for details on how to use this API operation.
2894//
2895// The context must be non-nil and will be used for request cancellation. If
2896// the context is nil a panic will occur. In the future the SDK may create
2897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2898// for more information on using Contexts.
2899func (c *DocDB) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2900	req, out := c.ListTagsForResourceRequest(input)
2901	req.SetContext(ctx)
2902	req.ApplyOptions(opts...)
2903	return out, req.Send()
2904}
2905
2906const opModifyDBCluster = "ModifyDBCluster"
2907
2908// ModifyDBClusterRequest generates a "aws/request.Request" representing the
2909// client's request for the ModifyDBCluster operation. The "output" return
2910// value will be populated with the request's response once the request completes
2911// successfully.
2912//
2913// Use "Send" method on the returned Request to send the API call to the service.
2914// the "output" return value is not valid until after Send returns without error.
2915//
2916// See ModifyDBCluster for more information on using the ModifyDBCluster
2917// API call, and error handling.
2918//
2919// This method is useful when you want to inject custom logic or configuration
2920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2921//
2922//
2923//    // Example sending a request using the ModifyDBClusterRequest method.
2924//    req, resp := client.ModifyDBClusterRequest(params)
2925//
2926//    err := req.Send()
2927//    if err == nil { // resp is now filled
2928//        fmt.Println(resp)
2929//    }
2930//
2931// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster
2932func (c *DocDB) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
2933	op := &request.Operation{
2934		Name:       opModifyDBCluster,
2935		HTTPMethod: "POST",
2936		HTTPPath:   "/",
2937	}
2938
2939	if input == nil {
2940		input = &ModifyDBClusterInput{}
2941	}
2942
2943	output = &ModifyDBClusterOutput{}
2944	req = c.newRequest(op, input, output)
2945	return
2946}
2947
2948// ModifyDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
2949//
2950// Modifies a setting for an Amazon DocumentDB DB cluster. You can change one
2951// or more database configuration parameters by specifying these parameters
2952// and the new values in the request.
2953//
2954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2955// with awserr.Error's Code and Message methods to get detailed information about
2956// the error.
2957//
2958// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2959// API operation ModifyDBCluster for usage and error information.
2960//
2961// Returned Error Codes:
2962//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2963//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2964//
2965//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2966//   The DB cluster isn't in a valid state.
2967//
2968//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
2969//   The request would cause you to exceed the allowed amount of storage available
2970//   across all DB instances.
2971//
2972//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2973//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
2974//
2975//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
2976//   The DB subnet group doesn't cover all Availability Zones after it is created
2977//   because of changes that were made.
2978//
2979//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
2980//   The DB subnet group can't be deleted because it's in use.
2981//
2982//   * ErrCodeInvalidSubnet "InvalidSubnet"
2983//   The requested subnet is not valid, or multiple subnets were requested that
2984//   are not all in a common virtual private cloud (VPC).
2985//
2986//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
2987//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
2988//   group.
2989//
2990//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
2991//   The state of the DB security group doesn't allow deletion.
2992//
2993//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2994//   The specified DB instance isn't in the available state.
2995//
2996//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
2997//   You already have a DB cluster with the given identifier.
2998//
2999// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster
3000func (c *DocDB) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
3001	req, out := c.ModifyDBClusterRequest(input)
3002	return out, req.Send()
3003}
3004
3005// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
3006// the ability to pass a context and additional request options.
3007//
3008// See ModifyDBCluster for details on how to use this API operation.
3009//
3010// The context must be non-nil and will be used for request cancellation. If
3011// the context is nil a panic will occur. In the future the SDK may create
3012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3013// for more information on using Contexts.
3014func (c *DocDB) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
3015	req, out := c.ModifyDBClusterRequest(input)
3016	req.SetContext(ctx)
3017	req.ApplyOptions(opts...)
3018	return out, req.Send()
3019}
3020
3021const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
3022
3023// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
3024// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
3025// value will be populated with the request's response once the request completes
3026// successfully.
3027//
3028// Use "Send" method on the returned Request to send the API call to the service.
3029// the "output" return value is not valid until after Send returns without error.
3030//
3031// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
3032// API call, and error handling.
3033//
3034// This method is useful when you want to inject custom logic or configuration
3035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3036//
3037//
3038//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
3039//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
3040//
3041//    err := req.Send()
3042//    if err == nil { // resp is now filled
3043//        fmt.Println(resp)
3044//    }
3045//
3046// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup
3047func (c *DocDB) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *ModifyDBClusterParameterGroupOutput) {
3048	op := &request.Operation{
3049		Name:       opModifyDBClusterParameterGroup,
3050		HTTPMethod: "POST",
3051		HTTPPath:   "/",
3052	}
3053
3054	if input == nil {
3055		input = &ModifyDBClusterParameterGroupInput{}
3056	}
3057
3058	output = &ModifyDBClusterParameterGroupOutput{}
3059	req = c.newRequest(op, input, output)
3060	return
3061}
3062
3063// ModifyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
3064//
3065// Modifies the parameters of a DB cluster parameter group. To modify more than
3066// one parameter, submit a list of the following: ParameterName, ParameterValue,
3067// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
3068//
3069// Changes to dynamic parameters are applied immediately. Changes to static
3070// parameters require a reboot or maintenance window before the change can take
3071// effect.
3072//
3073// After you create a DB cluster parameter group, you should wait at least 5
3074// minutes before creating your first DB cluster that uses that DB cluster parameter
3075// group as the default parameter group. This allows Amazon DocumentDB to fully
3076// complete the create action before the parameter group is used as the default
3077// for a new DB cluster. This step is especially important for parameters that
3078// are critical when creating the default database for a DB cluster, such as
3079// the character set for the default database defined by the character_set_database
3080// parameter.
3081//
3082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3083// with awserr.Error's Code and Message methods to get detailed information about
3084// the error.
3085//
3086// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3087// API operation ModifyDBClusterParameterGroup for usage and error information.
3088//
3089// Returned Error Codes:
3090//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3091//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3092//
3093//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3094//   The DB parameter group is in use, or it is in a state that is not valid.
3095//   If you are trying to delete the parameter group, you can't delete it when
3096//   the parameter group is in this state.
3097//
3098// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup
3099func (c *DocDB) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*ModifyDBClusterParameterGroupOutput, error) {
3100	req, out := c.ModifyDBClusterParameterGroupRequest(input)
3101	return out, req.Send()
3102}
3103
3104// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
3105// the ability to pass a context and additional request options.
3106//
3107// See ModifyDBClusterParameterGroup for details on how to use this API operation.
3108//
3109// The context must be non-nil and will be used for request cancellation. If
3110// the context is nil a panic will occur. In the future the SDK may create
3111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3112// for more information on using Contexts.
3113func (c *DocDB) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*ModifyDBClusterParameterGroupOutput, error) {
3114	req, out := c.ModifyDBClusterParameterGroupRequest(input)
3115	req.SetContext(ctx)
3116	req.ApplyOptions(opts...)
3117	return out, req.Send()
3118}
3119
3120const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
3121
3122// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
3123// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
3124// value will be populated with the request's response once the request completes
3125// successfully.
3126//
3127// Use "Send" method on the returned Request to send the API call to the service.
3128// the "output" return value is not valid until after Send returns without error.
3129//
3130// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
3131// API call, and error handling.
3132//
3133// This method is useful when you want to inject custom logic or configuration
3134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3135//
3136//
3137//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
3138//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
3139//
3140//    err := req.Send()
3141//    if err == nil { // resp is now filled
3142//        fmt.Println(resp)
3143//    }
3144//
3145// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute
3146func (c *DocDB) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
3147	op := &request.Operation{
3148		Name:       opModifyDBClusterSnapshotAttribute,
3149		HTTPMethod: "POST",
3150		HTTPPath:   "/",
3151	}
3152
3153	if input == nil {
3154		input = &ModifyDBClusterSnapshotAttributeInput{}
3155	}
3156
3157	output = &ModifyDBClusterSnapshotAttributeOutput{}
3158	req = c.newRequest(op, input, output)
3159	return
3160}
3161
3162// ModifyDBClusterSnapshotAttribute API operation for Amazon DocumentDB with MongoDB compatibility.
3163//
3164// Adds an attribute and values to, or removes an attribute and values from,
3165// a manual DB cluster snapshot.
3166//
3167// To share a manual DB cluster snapshot with other AWS accounts, specify restore
3168// as the AttributeName, and use the ValuesToAdd parameter to add a list of
3169// IDs of the AWS accounts that are authorized to restore the manual DB cluster
3170// snapshot. Use the value all to make the manual DB cluster snapshot public,
3171// which means that it can be copied or restored by all AWS accounts. Do not
3172// add the all value for any manual DB cluster snapshots that contain private
3173// information that you don't want available to all AWS accounts. If a manual
3174// DB cluster snapshot is encrypted, it can be shared, but only by specifying
3175// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't
3176// use all as a value for that parameter in this case.
3177//
3178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3179// with awserr.Error's Code and Message methods to get detailed information about
3180// the error.
3181//
3182// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3183// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
3184//
3185// Returned Error Codes:
3186//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3187//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3188//
3189//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3190//   The provided value isn't a valid DB cluster snapshot state.
3191//
3192//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
3193//   You have exceeded the maximum number of accounts that you can share a manual
3194//   DB snapshot with.
3195//
3196// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute
3197func (c *DocDB) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
3198	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
3199	return out, req.Send()
3200}
3201
3202// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
3203// the ability to pass a context and additional request options.
3204//
3205// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
3206//
3207// The context must be non-nil and will be used for request cancellation. If
3208// the context is nil a panic will occur. In the future the SDK may create
3209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3210// for more information on using Contexts.
3211func (c *DocDB) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
3212	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
3213	req.SetContext(ctx)
3214	req.ApplyOptions(opts...)
3215	return out, req.Send()
3216}
3217
3218const opModifyDBInstance = "ModifyDBInstance"
3219
3220// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
3221// client's request for the ModifyDBInstance operation. The "output" return
3222// value will be populated with the request's response once the request completes
3223// successfully.
3224//
3225// Use "Send" method on the returned Request to send the API call to the service.
3226// the "output" return value is not valid until after Send returns without error.
3227//
3228// See ModifyDBInstance for more information on using the ModifyDBInstance
3229// API call, and error handling.
3230//
3231// This method is useful when you want to inject custom logic or configuration
3232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3233//
3234//
3235//    // Example sending a request using the ModifyDBInstanceRequest method.
3236//    req, resp := client.ModifyDBInstanceRequest(params)
3237//
3238//    err := req.Send()
3239//    if err == nil { // resp is now filled
3240//        fmt.Println(resp)
3241//    }
3242//
3243// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance
3244func (c *DocDB) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
3245	op := &request.Operation{
3246		Name:       opModifyDBInstance,
3247		HTTPMethod: "POST",
3248		HTTPPath:   "/",
3249	}
3250
3251	if input == nil {
3252		input = &ModifyDBInstanceInput{}
3253	}
3254
3255	output = &ModifyDBInstanceOutput{}
3256	req = c.newRequest(op, input, output)
3257	return
3258}
3259
3260// ModifyDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
3261//
3262// Modifies settings for a DB instance. You can change one or more database
3263// configuration parameters by specifying these parameters and the new values
3264// in the request.
3265//
3266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3267// with awserr.Error's Code and Message methods to get detailed information about
3268// the error.
3269//
3270// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3271// API operation ModifyDBInstance for usage and error information.
3272//
3273// Returned Error Codes:
3274//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3275//   The specified DB instance isn't in the available state.
3276//
3277//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
3278//   The state of the DB security group doesn't allow deletion.
3279//
3280//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
3281//   You already have a DB instance with the given identifier.
3282//
3283//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3284//   DBInstanceIdentifier doesn't refer to an existing DB instance.
3285//
3286//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
3287//   DBSecurityGroupName doesn't refer to an existing DB security group.
3288//
3289//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3290//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3291//
3292//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
3293//   The specified DB instance class isn't available in the specified Availability
3294//   Zone.
3295//
3296//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
3297//   The request would cause you to exceed the allowed amount of storage available
3298//   across all DB instances.
3299//
3300//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
3301//   The DB subnet group doesn't cover all Availability Zones after it is created
3302//   because of changes that were made.
3303//
3304//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
3305//   The DB upgrade failed because a resource that the DB depends on can't be
3306//   modified.
3307//
3308//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
3309//   Storage of the specified StorageType can't be associated with the DB instance.
3310//
3311//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
3312//   The specified CIDR IP or Amazon EC2 security group isn't authorized for the
3313//   specified DB security group.
3314//
3315//   Amazon DocumentDB also might not be authorized to perform necessary actions
3316//   on your behalf using IAM.
3317//
3318//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
3319//   CertificateIdentifier doesn't refer to an existing certificate.
3320//
3321// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance
3322func (c *DocDB) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
3323	req, out := c.ModifyDBInstanceRequest(input)
3324	return out, req.Send()
3325}
3326
3327// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
3328// the ability to pass a context and additional request options.
3329//
3330// See ModifyDBInstance for details on how to use this API operation.
3331//
3332// The context must be non-nil and will be used for request cancellation. If
3333// the context is nil a panic will occur. In the future the SDK may create
3334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3335// for more information on using Contexts.
3336func (c *DocDB) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
3337	req, out := c.ModifyDBInstanceRequest(input)
3338	req.SetContext(ctx)
3339	req.ApplyOptions(opts...)
3340	return out, req.Send()
3341}
3342
3343const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
3344
3345// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
3346// client's request for the ModifyDBSubnetGroup operation. The "output" return
3347// value will be populated with the request's response once the request completes
3348// successfully.
3349//
3350// Use "Send" method on the returned Request to send the API call to the service.
3351// the "output" return value is not valid until after Send returns without error.
3352//
3353// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
3354// API call, and error handling.
3355//
3356// This method is useful when you want to inject custom logic or configuration
3357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3358//
3359//
3360//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
3361//    req, resp := client.ModifyDBSubnetGroupRequest(params)
3362//
3363//    err := req.Send()
3364//    if err == nil { // resp is now filled
3365//        fmt.Println(resp)
3366//    }
3367//
3368// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup
3369func (c *DocDB) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
3370	op := &request.Operation{
3371		Name:       opModifyDBSubnetGroup,
3372		HTTPMethod: "POST",
3373		HTTPPath:   "/",
3374	}
3375
3376	if input == nil {
3377		input = &ModifyDBSubnetGroupInput{}
3378	}
3379
3380	output = &ModifyDBSubnetGroupOutput{}
3381	req = c.newRequest(op, input, output)
3382	return
3383}
3384
3385// ModifyDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
3386//
3387// Modifies an existing DB subnet group. DB subnet groups must contain at least
3388// one subnet in at least two Availability Zones in the AWS Region.
3389//
3390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3391// with awserr.Error's Code and Message methods to get detailed information about
3392// the error.
3393//
3394// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3395// API operation ModifyDBSubnetGroup for usage and error information.
3396//
3397// Returned Error Codes:
3398//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3399//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
3400//
3401//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
3402//   The request would cause you to exceed the allowed number of subnets in a
3403//   DB subnet group.
3404//
3405//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
3406//   The DB subnet is already in use in the Availability Zone.
3407//
3408//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
3409//   Subnets in the DB subnet group should cover at least two Availability Zones
3410//   unless there is only one Availability Zone.
3411//
3412//   * ErrCodeInvalidSubnet "InvalidSubnet"
3413//   The requested subnet is not valid, or multiple subnets were requested that
3414//   are not all in a common virtual private cloud (VPC).
3415//
3416// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup
3417func (c *DocDB) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
3418	req, out := c.ModifyDBSubnetGroupRequest(input)
3419	return out, req.Send()
3420}
3421
3422// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
3423// the ability to pass a context and additional request options.
3424//
3425// See ModifyDBSubnetGroup for details on how to use this API operation.
3426//
3427// The context must be non-nil and will be used for request cancellation. If
3428// the context is nil a panic will occur. In the future the SDK may create
3429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3430// for more information on using Contexts.
3431func (c *DocDB) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
3432	req, out := c.ModifyDBSubnetGroupRequest(input)
3433	req.SetContext(ctx)
3434	req.ApplyOptions(opts...)
3435	return out, req.Send()
3436}
3437
3438const opRebootDBInstance = "RebootDBInstance"
3439
3440// RebootDBInstanceRequest generates a "aws/request.Request" representing the
3441// client's request for the RebootDBInstance operation. The "output" return
3442// value will be populated with the request's response once the request completes
3443// successfully.
3444//
3445// Use "Send" method on the returned Request to send the API call to the service.
3446// the "output" return value is not valid until after Send returns without error.
3447//
3448// See RebootDBInstance for more information on using the RebootDBInstance
3449// API call, and error handling.
3450//
3451// This method is useful when you want to inject custom logic or configuration
3452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3453//
3454//
3455//    // Example sending a request using the RebootDBInstanceRequest method.
3456//    req, resp := client.RebootDBInstanceRequest(params)
3457//
3458//    err := req.Send()
3459//    if err == nil { // resp is now filled
3460//        fmt.Println(resp)
3461//    }
3462//
3463// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance
3464func (c *DocDB) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
3465	op := &request.Operation{
3466		Name:       opRebootDBInstance,
3467		HTTPMethod: "POST",
3468		HTTPPath:   "/",
3469	}
3470
3471	if input == nil {
3472		input = &RebootDBInstanceInput{}
3473	}
3474
3475	output = &RebootDBInstanceOutput{}
3476	req = c.newRequest(op, input, output)
3477	return
3478}
3479
3480// RebootDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
3481//
3482// You might need to reboot your DB instance, usually for maintenance reasons.
3483// For example, if you make certain changes, or if you change the DB cluster
3484// parameter group that is associated with the DB instance, you must reboot
3485// the instance for the changes to take effect.
3486//
3487// Rebooting a DB instance restarts the database engine service. Rebooting a
3488// DB instance results in a momentary outage, during which the DB instance status
3489// is set to rebooting.
3490//
3491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3492// with awserr.Error's Code and Message methods to get detailed information about
3493// the error.
3494//
3495// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3496// API operation RebootDBInstance for usage and error information.
3497//
3498// Returned Error Codes:
3499//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3500//   The specified DB instance isn't in the available state.
3501//
3502//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3503//   DBInstanceIdentifier doesn't refer to an existing DB instance.
3504//
3505// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance
3506func (c *DocDB) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
3507	req, out := c.RebootDBInstanceRequest(input)
3508	return out, req.Send()
3509}
3510
3511// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
3512// the ability to pass a context and additional request options.
3513//
3514// See RebootDBInstance for details on how to use this API operation.
3515//
3516// The context must be non-nil and will be used for request cancellation. If
3517// the context is nil a panic will occur. In the future the SDK may create
3518// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3519// for more information on using Contexts.
3520func (c *DocDB) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
3521	req, out := c.RebootDBInstanceRequest(input)
3522	req.SetContext(ctx)
3523	req.ApplyOptions(opts...)
3524	return out, req.Send()
3525}
3526
3527const opRemoveTagsFromResource = "RemoveTagsFromResource"
3528
3529// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
3530// client's request for the RemoveTagsFromResource operation. The "output" return
3531// value will be populated with the request's response once the request completes
3532// successfully.
3533//
3534// Use "Send" method on the returned Request to send the API call to the service.
3535// the "output" return value is not valid until after Send returns without error.
3536//
3537// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
3538// API call, and error handling.
3539//
3540// This method is useful when you want to inject custom logic or configuration
3541// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3542//
3543//
3544//    // Example sending a request using the RemoveTagsFromResourceRequest method.
3545//    req, resp := client.RemoveTagsFromResourceRequest(params)
3546//
3547//    err := req.Send()
3548//    if err == nil { // resp is now filled
3549//        fmt.Println(resp)
3550//    }
3551//
3552// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource
3553func (c *DocDB) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
3554	op := &request.Operation{
3555		Name:       opRemoveTagsFromResource,
3556		HTTPMethod: "POST",
3557		HTTPPath:   "/",
3558	}
3559
3560	if input == nil {
3561		input = &RemoveTagsFromResourceInput{}
3562	}
3563
3564	output = &RemoveTagsFromResourceOutput{}
3565	req = c.newRequest(op, input, output)
3566	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3567	return
3568}
3569
3570// RemoveTagsFromResource API operation for Amazon DocumentDB with MongoDB compatibility.
3571//
3572// Removes metadata tags from an Amazon DocumentDB resource.
3573//
3574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3575// with awserr.Error's Code and Message methods to get detailed information about
3576// the error.
3577//
3578// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3579// API operation RemoveTagsFromResource for usage and error information.
3580//
3581// Returned Error Codes:
3582//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3583//   DBInstanceIdentifier doesn't refer to an existing DB instance.
3584//
3585//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
3586//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
3587//
3588//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3589//   DBClusterIdentifier doesn't refer to an existing DB cluster.
3590//
3591// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource
3592func (c *DocDB) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
3593	req, out := c.RemoveTagsFromResourceRequest(input)
3594	return out, req.Send()
3595}
3596
3597// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
3598// the ability to pass a context and additional request options.
3599//
3600// See RemoveTagsFromResource for details on how to use this API operation.
3601//
3602// The context must be non-nil and will be used for request cancellation. If
3603// the context is nil a panic will occur. In the future the SDK may create
3604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3605// for more information on using Contexts.
3606func (c *DocDB) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
3607	req, out := c.RemoveTagsFromResourceRequest(input)
3608	req.SetContext(ctx)
3609	req.ApplyOptions(opts...)
3610	return out, req.Send()
3611}
3612
3613const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
3614
3615// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
3616// client's request for the ResetDBClusterParameterGroup operation. The "output" return
3617// value will be populated with the request's response once the request completes
3618// successfully.
3619//
3620// Use "Send" method on the returned Request to send the API call to the service.
3621// the "output" return value is not valid until after Send returns without error.
3622//
3623// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
3624// API call, and error handling.
3625//
3626// This method is useful when you want to inject custom logic or configuration
3627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3628//
3629//
3630//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
3631//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
3632//
3633//    err := req.Send()
3634//    if err == nil { // resp is now filled
3635//        fmt.Println(resp)
3636//    }
3637//
3638// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup
3639func (c *DocDB) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
3640	op := &request.Operation{
3641		Name:       opResetDBClusterParameterGroup,
3642		HTTPMethod: "POST",
3643		HTTPPath:   "/",
3644	}
3645
3646	if input == nil {
3647		input = &ResetDBClusterParameterGroupInput{}
3648	}
3649
3650	output = &ResetDBClusterParameterGroupOutput{}
3651	req = c.newRequest(op, input, output)
3652	return
3653}
3654
3655// ResetDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
3656//
3657// Modifies the parameters of a DB cluster parameter group to the default value.
3658// To reset specific parameters, submit a list of the following: ParameterName
3659// and ApplyMethod. To reset the entire DB cluster parameter group, specify
3660// the DBClusterParameterGroupName and ResetAllParameters parameters.
3661//
3662// When you reset the entire group, dynamic parameters are updated immediately
3663// and static parameters are set to pending-reboot to take effect on the next
3664// DB instance reboot.
3665//
3666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3667// with awserr.Error's Code and Message methods to get detailed information about
3668// the error.
3669//
3670// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3671// API operation ResetDBClusterParameterGroup for usage and error information.
3672//
3673// Returned Error Codes:
3674//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3675//   The DB parameter group is in use, or it is in a state that is not valid.
3676//   If you are trying to delete the parameter group, you can't delete it when
3677//   the parameter group is in this state.
3678//
3679//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3680//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3681//
3682// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup
3683func (c *DocDB) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
3684	req, out := c.ResetDBClusterParameterGroupRequest(input)
3685	return out, req.Send()
3686}
3687
3688// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
3689// the ability to pass a context and additional request options.
3690//
3691// See ResetDBClusterParameterGroup for details on how to use this API operation.
3692//
3693// The context must be non-nil and will be used for request cancellation. If
3694// the context is nil a panic will occur. In the future the SDK may create
3695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3696// for more information on using Contexts.
3697func (c *DocDB) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
3698	req, out := c.ResetDBClusterParameterGroupRequest(input)
3699	req.SetContext(ctx)
3700	req.ApplyOptions(opts...)
3701	return out, req.Send()
3702}
3703
3704const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
3705
3706// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
3707// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
3708// value will be populated with the request's response once the request completes
3709// successfully.
3710//
3711// Use "Send" method on the returned Request to send the API call to the service.
3712// the "output" return value is not valid until after Send returns without error.
3713//
3714// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
3715// API call, and error handling.
3716//
3717// This method is useful when you want to inject custom logic or configuration
3718// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3719//
3720//
3721//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
3722//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
3723//
3724//    err := req.Send()
3725//    if err == nil { // resp is now filled
3726//        fmt.Println(resp)
3727//    }
3728//
3729// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot
3730func (c *DocDB) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
3731	op := &request.Operation{
3732		Name:       opRestoreDBClusterFromSnapshot,
3733		HTTPMethod: "POST",
3734		HTTPPath:   "/",
3735	}
3736
3737	if input == nil {
3738		input = &RestoreDBClusterFromSnapshotInput{}
3739	}
3740
3741	output = &RestoreDBClusterFromSnapshotOutput{}
3742	req = c.newRequest(op, input, output)
3743	return
3744}
3745
3746// RestoreDBClusterFromSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
3747//
3748// Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
3749//
3750// If a DB snapshot is specified, the target DB cluster is created from the
3751// source DB snapshot with a default configuration and default security group.
3752//
3753// If a DB cluster snapshot is specified, the target DB cluster is created from
3754// the source DB cluster restore point with the same configuration as the original
3755// source DB cluster, except that the new DB cluster is created with the default
3756// security group.
3757//
3758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3759// with awserr.Error's Code and Message methods to get detailed information about
3760// the error.
3761//
3762// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3763// API operation RestoreDBClusterFromSnapshot for usage and error information.
3764//
3765// Returned Error Codes:
3766//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
3767//   You already have a DB cluster with the given identifier.
3768//
3769//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
3770//   The DB cluster can't be created because you have reached the maximum allowed
3771//   quota of DB clusters.
3772//
3773//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
3774//   The request would cause you to exceed the allowed amount of storage available
3775//   across all DB instances.
3776//
3777//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3778//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
3779//
3780//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
3781//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
3782//
3783//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3784//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3785//
3786//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
3787//   The DB cluster doesn't have enough capacity for the current operation.
3788//
3789//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
3790//   There is not enough storage available for the current action. You might be
3791//   able to resolve this error by updating your subnet group to use different
3792//   Availability Zones that have more storage available.
3793//
3794//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
3795//   The state of the DB snapshot doesn't allow deletion.
3796//
3797//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3798//   The provided value isn't a valid DB cluster snapshot state.
3799//
3800//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
3801//   The request would cause you to exceed the allowed amount of storage available
3802//   across all DB instances.
3803//
3804//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
3805//   The DB subnet group doesn't cover all Availability Zones after it is created
3806//   because of changes that were made.
3807//
3808//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
3809//   You cannot restore from a virtual private cloud (VPC) backup to a non-VPC
3810//   DB instance.
3811//
3812//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3813//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
3814//
3815//   * ErrCodeInvalidSubnet "InvalidSubnet"
3816//   The requested subnet is not valid, or multiple subnets were requested that
3817//   are not all in a common virtual private cloud (VPC).
3818//
3819//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
3820//   An error occurred when accessing an AWS KMS key.
3821//
3822// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot
3823func (c *DocDB) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
3824	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
3825	return out, req.Send()
3826}
3827
3828// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
3829// the ability to pass a context and additional request options.
3830//
3831// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
3832//
3833// The context must be non-nil and will be used for request cancellation. If
3834// the context is nil a panic will occur. In the future the SDK may create
3835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3836// for more information on using Contexts.
3837func (c *DocDB) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
3838	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
3839	req.SetContext(ctx)
3840	req.ApplyOptions(opts...)
3841	return out, req.Send()
3842}
3843
3844const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
3845
3846// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
3847// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
3848// value will be populated with the request's response once the request completes
3849// successfully.
3850//
3851// Use "Send" method on the returned Request to send the API call to the service.
3852// the "output" return value is not valid until after Send returns without error.
3853//
3854// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
3855// API call, and error handling.
3856//
3857// This method is useful when you want to inject custom logic or configuration
3858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3859//
3860//
3861//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
3862//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
3863//
3864//    err := req.Send()
3865//    if err == nil { // resp is now filled
3866//        fmt.Println(resp)
3867//    }
3868//
3869// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime
3870func (c *DocDB) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
3871	op := &request.Operation{
3872		Name:       opRestoreDBClusterToPointInTime,
3873		HTTPMethod: "POST",
3874		HTTPPath:   "/",
3875	}
3876
3877	if input == nil {
3878		input = &RestoreDBClusterToPointInTimeInput{}
3879	}
3880
3881	output = &RestoreDBClusterToPointInTimeOutput{}
3882	req = c.newRequest(op, input, output)
3883	return
3884}
3885
3886// RestoreDBClusterToPointInTime API operation for Amazon DocumentDB with MongoDB compatibility.
3887//
3888// Restores a DB cluster to an arbitrary point in time. Users can restore to
3889// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
3890// days. The target DB cluster is created from the source DB cluster with the
3891// same configuration as the original DB cluster, except that the new DB cluster
3892// is created with the default DB security group.
3893//
3894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3895// with awserr.Error's Code and Message methods to get detailed information about
3896// the error.
3897//
3898// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3899// API operation RestoreDBClusterToPointInTime for usage and error information.
3900//
3901// Returned Error Codes:
3902//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
3903//   You already have a DB cluster with the given identifier.
3904//
3905//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3906//   DBClusterIdentifier doesn't refer to an existing DB cluster.
3907//
3908//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
3909//   The DB cluster can't be created because you have reached the maximum allowed
3910//   quota of DB clusters.
3911//
3912//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3913//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3914//
3915//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3916//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
3917//
3918//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
3919//   The DB cluster doesn't have enough capacity for the current operation.
3920//
3921//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
3922//   There is not enough storage available for the current action. You might be
3923//   able to resolve this error by updating your subnet group to use different
3924//   Availability Zones that have more storage available.
3925//
3926//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3927//   The provided value isn't a valid DB cluster snapshot state.
3928//
3929//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3930//   The DB cluster isn't in a valid state.
3931//
3932//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
3933//   The state of the DB snapshot doesn't allow deletion.
3934//
3935//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
3936//   You cannot restore from a virtual private cloud (VPC) backup to a non-VPC
3937//   DB instance.
3938//
3939//   * ErrCodeInvalidSubnet "InvalidSubnet"
3940//   The requested subnet is not valid, or multiple subnets were requested that
3941//   are not all in a common virtual private cloud (VPC).
3942//
3943//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
3944//   The DB subnet group doesn't cover all Availability Zones after it is created
3945//   because of changes that were made.
3946//
3947//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
3948//   An error occurred when accessing an AWS KMS key.
3949//
3950//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
3951//   The request would cause you to exceed the allowed amount of storage available
3952//   across all DB instances.
3953//
3954// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime
3955func (c *DocDB) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
3956	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
3957	return out, req.Send()
3958}
3959
3960// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
3961// the ability to pass a context and additional request options.
3962//
3963// See RestoreDBClusterToPointInTime for details on how to use this API operation.
3964//
3965// The context must be non-nil and will be used for request cancellation. If
3966// the context is nil a panic will occur. In the future the SDK may create
3967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3968// for more information on using Contexts.
3969func (c *DocDB) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
3970	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
3971	req.SetContext(ctx)
3972	req.ApplyOptions(opts...)
3973	return out, req.Send()
3974}
3975
3976const opStartDBCluster = "StartDBCluster"
3977
3978// StartDBClusterRequest generates a "aws/request.Request" representing the
3979// client's request for the StartDBCluster operation. The "output" return
3980// value will be populated with the request's response once the request completes
3981// successfully.
3982//
3983// Use "Send" method on the returned Request to send the API call to the service.
3984// the "output" return value is not valid until after Send returns without error.
3985//
3986// See StartDBCluster for more information on using the StartDBCluster
3987// API call, and error handling.
3988//
3989// This method is useful when you want to inject custom logic or configuration
3990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3991//
3992//
3993//    // Example sending a request using the StartDBClusterRequest method.
3994//    req, resp := client.StartDBClusterRequest(params)
3995//
3996//    err := req.Send()
3997//    if err == nil { // resp is now filled
3998//        fmt.Println(resp)
3999//    }
4000//
4001// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StartDBCluster
4002func (c *DocDB) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
4003	op := &request.Operation{
4004		Name:       opStartDBCluster,
4005		HTTPMethod: "POST",
4006		HTTPPath:   "/",
4007	}
4008
4009	if input == nil {
4010		input = &StartDBClusterInput{}
4011	}
4012
4013	output = &StartDBClusterOutput{}
4014	req = c.newRequest(op, input, output)
4015	return
4016}
4017
4018// StartDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
4019//
4020// Restarts the stopped cluster that is specified by DBClusterIdentifier. For
4021// more information, see Stopping and Starting an Amazon DocumentDB Cluster
4022// (https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html).
4023//
4024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4025// with awserr.Error's Code and Message methods to get detailed information about
4026// the error.
4027//
4028// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4029// API operation StartDBCluster for usage and error information.
4030//
4031// Returned Error Codes:
4032//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4033//   DBClusterIdentifier doesn't refer to an existing DB cluster.
4034//
4035//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4036//   The DB cluster isn't in a valid state.
4037//
4038//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4039//   The specified DB instance isn't in the available state.
4040//
4041// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StartDBCluster
4042func (c *DocDB) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
4043	req, out := c.StartDBClusterRequest(input)
4044	return out, req.Send()
4045}
4046
4047// StartDBClusterWithContext is the same as StartDBCluster with the addition of
4048// the ability to pass a context and additional request options.
4049//
4050// See StartDBCluster for details on how to use this API operation.
4051//
4052// The context must be non-nil and will be used for request cancellation. If
4053// the context is nil a panic will occur. In the future the SDK may create
4054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4055// for more information on using Contexts.
4056func (c *DocDB) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
4057	req, out := c.StartDBClusterRequest(input)
4058	req.SetContext(ctx)
4059	req.ApplyOptions(opts...)
4060	return out, req.Send()
4061}
4062
4063const opStopDBCluster = "StopDBCluster"
4064
4065// StopDBClusterRequest generates a "aws/request.Request" representing the
4066// client's request for the StopDBCluster operation. The "output" return
4067// value will be populated with the request's response once the request completes
4068// successfully.
4069//
4070// Use "Send" method on the returned Request to send the API call to the service.
4071// the "output" return value is not valid until after Send returns without error.
4072//
4073// See StopDBCluster for more information on using the StopDBCluster
4074// API call, and error handling.
4075//
4076// This method is useful when you want to inject custom logic or configuration
4077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4078//
4079//
4080//    // Example sending a request using the StopDBClusterRequest method.
4081//    req, resp := client.StopDBClusterRequest(params)
4082//
4083//    err := req.Send()
4084//    if err == nil { // resp is now filled
4085//        fmt.Println(resp)
4086//    }
4087//
4088// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StopDBCluster
4089func (c *DocDB) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
4090	op := &request.Operation{
4091		Name:       opStopDBCluster,
4092		HTTPMethod: "POST",
4093		HTTPPath:   "/",
4094	}
4095
4096	if input == nil {
4097		input = &StopDBClusterInput{}
4098	}
4099
4100	output = &StopDBClusterOutput{}
4101	req = c.newRequest(op, input, output)
4102	return
4103}
4104
4105// StopDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
4106//
4107// Stops the running cluster that is specified by DBClusterIdentifier. The cluster
4108// must be in the available state. For more information, see Stopping and Starting
4109// an Amazon DocumentDB Cluster (https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html).
4110//
4111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4112// with awserr.Error's Code and Message methods to get detailed information about
4113// the error.
4114//
4115// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4116// API operation StopDBCluster for usage and error information.
4117//
4118// Returned Error Codes:
4119//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4120//   DBClusterIdentifier doesn't refer to an existing DB cluster.
4121//
4122//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4123//   The DB cluster isn't in a valid state.
4124//
4125//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4126//   The specified DB instance isn't in the available state.
4127//
4128// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StopDBCluster
4129func (c *DocDB) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
4130	req, out := c.StopDBClusterRequest(input)
4131	return out, req.Send()
4132}
4133
4134// StopDBClusterWithContext is the same as StopDBCluster with the addition of
4135// the ability to pass a context and additional request options.
4136//
4137// See StopDBCluster for details on how to use this API operation.
4138//
4139// The context must be non-nil and will be used for request cancellation. If
4140// the context is nil a panic will occur. In the future the SDK may create
4141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4142// for more information on using Contexts.
4143func (c *DocDB) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
4144	req, out := c.StopDBClusterRequest(input)
4145	req.SetContext(ctx)
4146	req.ApplyOptions(opts...)
4147	return out, req.Send()
4148}
4149
4150// Represents the input to AddTagsToResource.
4151type AddTagsToResourceInput struct {
4152	_ struct{} `type:"structure"`
4153
4154	// The Amazon DocumentDB resource that the tags are added to. This value is
4155	// an Amazon Resource Name (ARN).
4156	//
4157	// ResourceName is a required field
4158	ResourceName *string `type:"string" required:"true"`
4159
4160	// The tags to be assigned to the Amazon DocumentDB resource.
4161	//
4162	// Tags is a required field
4163	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
4164}
4165
4166// String returns the string representation
4167func (s AddTagsToResourceInput) String() string {
4168	return awsutil.Prettify(s)
4169}
4170
4171// GoString returns the string representation
4172func (s AddTagsToResourceInput) GoString() string {
4173	return s.String()
4174}
4175
4176// Validate inspects the fields of the type to determine if they are valid.
4177func (s *AddTagsToResourceInput) Validate() error {
4178	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
4179	if s.ResourceName == nil {
4180		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
4181	}
4182	if s.Tags == nil {
4183		invalidParams.Add(request.NewErrParamRequired("Tags"))
4184	}
4185
4186	if invalidParams.Len() > 0 {
4187		return invalidParams
4188	}
4189	return nil
4190}
4191
4192// SetResourceName sets the ResourceName field's value.
4193func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
4194	s.ResourceName = &v
4195	return s
4196}
4197
4198// SetTags sets the Tags field's value.
4199func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
4200	s.Tags = v
4201	return s
4202}
4203
4204type AddTagsToResourceOutput struct {
4205	_ struct{} `type:"structure"`
4206}
4207
4208// String returns the string representation
4209func (s AddTagsToResourceOutput) String() string {
4210	return awsutil.Prettify(s)
4211}
4212
4213// GoString returns the string representation
4214func (s AddTagsToResourceOutput) GoString() string {
4215	return s.String()
4216}
4217
4218// Represents the input to ApplyPendingMaintenanceAction.
4219type ApplyPendingMaintenanceActionInput struct {
4220	_ struct{} `type:"structure"`
4221
4222	// The pending maintenance action to apply to this resource.
4223	//
4224	// Valid values: system-update, db-upgrade
4225	//
4226	// ApplyAction is a required field
4227	ApplyAction *string `type:"string" required:"true"`
4228
4229	// A value that specifies the type of opt-in request or undoes an opt-in request.
4230	// An opt-in request of type immediate can't be undone.
4231	//
4232	// Valid values:
4233	//
4234	//    * immediate - Apply the maintenance action immediately.
4235	//
4236	//    * next-maintenance - Apply the maintenance action during the next maintenance
4237	//    window for the resource.
4238	//
4239	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
4240	//
4241	// OptInType is a required field
4242	OptInType *string `type:"string" required:"true"`
4243
4244	// The Amazon Resource Name (ARN) of the resource that the pending maintenance
4245	// action applies to.
4246	//
4247	// ResourceIdentifier is a required field
4248	ResourceIdentifier *string `type:"string" required:"true"`
4249}
4250
4251// String returns the string representation
4252func (s ApplyPendingMaintenanceActionInput) String() string {
4253	return awsutil.Prettify(s)
4254}
4255
4256// GoString returns the string representation
4257func (s ApplyPendingMaintenanceActionInput) GoString() string {
4258	return s.String()
4259}
4260
4261// Validate inspects the fields of the type to determine if they are valid.
4262func (s *ApplyPendingMaintenanceActionInput) Validate() error {
4263	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
4264	if s.ApplyAction == nil {
4265		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
4266	}
4267	if s.OptInType == nil {
4268		invalidParams.Add(request.NewErrParamRequired("OptInType"))
4269	}
4270	if s.ResourceIdentifier == nil {
4271		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
4272	}
4273
4274	if invalidParams.Len() > 0 {
4275		return invalidParams
4276	}
4277	return nil
4278}
4279
4280// SetApplyAction sets the ApplyAction field's value.
4281func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
4282	s.ApplyAction = &v
4283	return s
4284}
4285
4286// SetOptInType sets the OptInType field's value.
4287func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
4288	s.OptInType = &v
4289	return s
4290}
4291
4292// SetResourceIdentifier sets the ResourceIdentifier field's value.
4293func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
4294	s.ResourceIdentifier = &v
4295	return s
4296}
4297
4298type ApplyPendingMaintenanceActionOutput struct {
4299	_ struct{} `type:"structure"`
4300
4301	// Represents the output of ApplyPendingMaintenanceAction.
4302	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
4303}
4304
4305// String returns the string representation
4306func (s ApplyPendingMaintenanceActionOutput) String() string {
4307	return awsutil.Prettify(s)
4308}
4309
4310// GoString returns the string representation
4311func (s ApplyPendingMaintenanceActionOutput) GoString() string {
4312	return s.String()
4313}
4314
4315// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
4316func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
4317	s.ResourcePendingMaintenanceActions = v
4318	return s
4319}
4320
4321// Information about an Availability Zone.
4322type AvailabilityZone struct {
4323	_ struct{} `type:"structure"`
4324
4325	// The name of the Availability Zone.
4326	Name *string `type:"string"`
4327}
4328
4329// String returns the string representation
4330func (s AvailabilityZone) String() string {
4331	return awsutil.Prettify(s)
4332}
4333
4334// GoString returns the string representation
4335func (s AvailabilityZone) GoString() string {
4336	return s.String()
4337}
4338
4339// SetName sets the Name field's value.
4340func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
4341	s.Name = &v
4342	return s
4343}
4344
4345// The configuration setting for the log types to be enabled for export to Amazon
4346// CloudWatch Logs for a specific DB instance or DB cluster.
4347//
4348// The EnableLogTypes and DisableLogTypes arrays determine which logs are exported
4349// (or not exported) to CloudWatch Logs. The values within these arrays depend
4350// on the DB engine that is being used.
4351type CloudwatchLogsExportConfiguration struct {
4352	_ struct{} `type:"structure"`
4353
4354	// The list of log types to disable.
4355	DisableLogTypes []*string `type:"list"`
4356
4357	// The list of log types to enable.
4358	EnableLogTypes []*string `type:"list"`
4359}
4360
4361// String returns the string representation
4362func (s CloudwatchLogsExportConfiguration) String() string {
4363	return awsutil.Prettify(s)
4364}
4365
4366// GoString returns the string representation
4367func (s CloudwatchLogsExportConfiguration) GoString() string {
4368	return s.String()
4369}
4370
4371// SetDisableLogTypes sets the DisableLogTypes field's value.
4372func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
4373	s.DisableLogTypes = v
4374	return s
4375}
4376
4377// SetEnableLogTypes sets the EnableLogTypes field's value.
4378func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
4379	s.EnableLogTypes = v
4380	return s
4381}
4382
4383// Represents the input to CopyDBClusterParameterGroup.
4384type CopyDBClusterParameterGroupInput struct {
4385	_ struct{} `type:"structure"`
4386
4387	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
4388	// group.
4389	//
4390	// Constraints:
4391	//
4392	//    * Must specify a valid DB cluster parameter group.
4393	//
4394	//    * If the source DB cluster parameter group is in the same AWS Region as
4395	//    the copy, specify a valid DB parameter group identifier; for example,
4396	//    my-db-cluster-param-group, or a valid ARN.
4397	//
4398	//    * If the source DB parameter group is in a different AWS Region than the
4399	//    copy, specify a valid DB cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
4400	//
4401	// SourceDBClusterParameterGroupIdentifier is a required field
4402	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
4403
4404	// The tags that are to be assigned to the parameter group.
4405	Tags []*Tag `locationNameList:"Tag" type:"list"`
4406
4407	// A description for the copied DB cluster parameter group.
4408	//
4409	// TargetDBClusterParameterGroupDescription is a required field
4410	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
4411
4412	// The identifier for the copied DB cluster parameter group.
4413	//
4414	// Constraints:
4415	//
4416	//    * Cannot be null, empty, or blank.
4417	//
4418	//    * Must contain from 1 to 255 letters, numbers, or hyphens.
4419	//
4420	//    * The first character must be a letter.
4421	//
4422	//    * Cannot end with a hyphen or contain two consecutive hyphens.
4423	//
4424	// Example: my-cluster-param-group1
4425	//
4426	// TargetDBClusterParameterGroupIdentifier is a required field
4427	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
4428}
4429
4430// String returns the string representation
4431func (s CopyDBClusterParameterGroupInput) String() string {
4432	return awsutil.Prettify(s)
4433}
4434
4435// GoString returns the string representation
4436func (s CopyDBClusterParameterGroupInput) GoString() string {
4437	return s.String()
4438}
4439
4440// Validate inspects the fields of the type to determine if they are valid.
4441func (s *CopyDBClusterParameterGroupInput) Validate() error {
4442	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
4443	if s.SourceDBClusterParameterGroupIdentifier == nil {
4444		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
4445	}
4446	if s.TargetDBClusterParameterGroupDescription == nil {
4447		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
4448	}
4449	if s.TargetDBClusterParameterGroupIdentifier == nil {
4450		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
4451	}
4452
4453	if invalidParams.Len() > 0 {
4454		return invalidParams
4455	}
4456	return nil
4457}
4458
4459// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
4460func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
4461	s.SourceDBClusterParameterGroupIdentifier = &v
4462	return s
4463}
4464
4465// SetTags sets the Tags field's value.
4466func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
4467	s.Tags = v
4468	return s
4469}
4470
4471// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
4472func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
4473	s.TargetDBClusterParameterGroupDescription = &v
4474	return s
4475}
4476
4477// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
4478func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
4479	s.TargetDBClusterParameterGroupIdentifier = &v
4480	return s
4481}
4482
4483type CopyDBClusterParameterGroupOutput struct {
4484	_ struct{} `type:"structure"`
4485
4486	// Detailed information about a DB cluster parameter group.
4487	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
4488}
4489
4490// String returns the string representation
4491func (s CopyDBClusterParameterGroupOutput) String() string {
4492	return awsutil.Prettify(s)
4493}
4494
4495// GoString returns the string representation
4496func (s CopyDBClusterParameterGroupOutput) GoString() string {
4497	return s.String()
4498}
4499
4500// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
4501func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
4502	s.DBClusterParameterGroup = v
4503	return s
4504}
4505
4506// Represents the input to CopyDBClusterSnapshot.
4507type CopyDBClusterSnapshotInput struct {
4508	_ struct{} `type:"structure"`
4509
4510	// Set to true to copy all tags from the source DB cluster snapshot to the target
4511	// DB cluster snapshot, and otherwise false. The default is false.
4512	CopyTags *bool `type:"boolean"`
4513
4514	// The AWS KMS key ID for an encrypted DB cluster snapshot. The AWS KMS key
4515	// ID is the Amazon Resource Name (ARN), AWS KMS key identifier, or the AWS
4516	// KMS key alias for the AWS KMS encryption key.
4517	//
4518	// If you copy an encrypted DB cluster snapshot from your AWS account, you can
4519	// specify a value for KmsKeyId to encrypt the copy with a new AWS KMS encryption
4520	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
4521	// snapshot is encrypted with the same AWS KMS key as the source DB cluster
4522	// snapshot.
4523	//
4524	// If you copy an encrypted DB cluster snapshot that is shared from another
4525	// AWS account, then you must specify a value for KmsKeyId.
4526	//
4527	// To copy an encrypted DB cluster snapshot to another AWS Region, set KmsKeyId
4528	// to the AWS KMS key ID that you want to use to encrypt the copy of the DB
4529	// cluster snapshot in the destination Region. AWS KMS encryption keys are specific
4530	// to the AWS Region that they are created in, and you can't use encryption
4531	// keys from one Region in another Region.
4532	//
4533	// If you copy an unencrypted DB cluster snapshot and specify a value for the
4534	// KmsKeyId parameter, an error is returned.
4535	KmsKeyId *string `type:"string"`
4536
4537	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
4538	// API action in the AWS Region that contains the source DB cluster snapshot
4539	// to copy. You must use the PreSignedUrl parameter when copying an encrypted
4540	// DB cluster snapshot from another AWS Region.
4541	//
4542	// The presigned URL must be a valid request for the CopyDBSClusterSnapshot
4543	// API action that can be executed in the source AWS Region that contains the
4544	// encrypted DB cluster snapshot to be copied. The presigned URL request must
4545	// contain the following parameter values:
4546	//
4547	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
4548	//    the copy of the DB cluster snapshot in the destination AWS Region. This
4549	//    is the same identifier for both the CopyDBClusterSnapshot action that
4550	//    is called in the destination AWS Region, and the action contained in the
4551	//    presigned URL.
4552	//
4553	//    * DestinationRegion - The name of the AWS Region that the DB cluster snapshot
4554	//    will be created in.
4555	//
4556	//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
4557	//    for the encrypted DB cluster snapshot to be copied. This identifier must
4558	//    be in the Amazon Resource Name (ARN) format for the source AWS Region.
4559	//    For example, if you are copying an encrypted DB cluster snapshot from
4560	//    the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
4561	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115.
4562	PreSignedUrl *string `type:"string"`
4563
4564	// The identifier of the DB cluster snapshot to copy. This parameter is not
4565	// case sensitive.
4566	//
4567	// You can't copy an encrypted, shared DB cluster snapshot from one AWS Region
4568	// to another.
4569	//
4570	// Constraints:
4571	//
4572	//    * Must specify a valid system snapshot in the "available" state.
4573	//
4574	//    * If the source snapshot is in the same AWS Region as the copy, specify
4575	//    a valid DB snapshot identifier.
4576	//
4577	//    * If the source snapshot is in a different AWS Region than the copy, specify
4578	//    a valid DB cluster snapshot ARN.
4579	//
4580	// Example: my-cluster-snapshot1
4581	//
4582	// SourceDBClusterSnapshotIdentifier is a required field
4583	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
4584
4585	// The tags to be assigned to the DB cluster snapshot.
4586	Tags []*Tag `locationNameList:"Tag" type:"list"`
4587
4588	// The identifier of the new DB cluster snapshot to create from the source DB
4589	// cluster snapshot. This parameter is not case sensitive.
4590	//
4591	// Constraints:
4592	//
4593	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
4594	//
4595	//    * The first character must be a letter.
4596	//
4597	//    * Cannot end with a hyphen or contain two consecutive hyphens.
4598	//
4599	// Example: my-cluster-snapshot2
4600	//
4601	// TargetDBClusterSnapshotIdentifier is a required field
4602	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
4603}
4604
4605// String returns the string representation
4606func (s CopyDBClusterSnapshotInput) String() string {
4607	return awsutil.Prettify(s)
4608}
4609
4610// GoString returns the string representation
4611func (s CopyDBClusterSnapshotInput) GoString() string {
4612	return s.String()
4613}
4614
4615// Validate inspects the fields of the type to determine if they are valid.
4616func (s *CopyDBClusterSnapshotInput) Validate() error {
4617	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
4618	if s.SourceDBClusterSnapshotIdentifier == nil {
4619		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
4620	}
4621	if s.TargetDBClusterSnapshotIdentifier == nil {
4622		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
4623	}
4624
4625	if invalidParams.Len() > 0 {
4626		return invalidParams
4627	}
4628	return nil
4629}
4630
4631// SetCopyTags sets the CopyTags field's value.
4632func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
4633	s.CopyTags = &v
4634	return s
4635}
4636
4637// SetKmsKeyId sets the KmsKeyId field's value.
4638func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
4639	s.KmsKeyId = &v
4640	return s
4641}
4642
4643// SetPreSignedUrl sets the PreSignedUrl field's value.
4644func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
4645	s.PreSignedUrl = &v
4646	return s
4647}
4648
4649// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
4650func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
4651	s.SourceDBClusterSnapshotIdentifier = &v
4652	return s
4653}
4654
4655// SetTags sets the Tags field's value.
4656func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
4657	s.Tags = v
4658	return s
4659}
4660
4661// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
4662func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
4663	s.TargetDBClusterSnapshotIdentifier = &v
4664	return s
4665}
4666
4667type CopyDBClusterSnapshotOutput struct {
4668	_ struct{} `type:"structure"`
4669
4670	// Detailed information about a DB cluster snapshot.
4671	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
4672}
4673
4674// String returns the string representation
4675func (s CopyDBClusterSnapshotOutput) String() string {
4676	return awsutil.Prettify(s)
4677}
4678
4679// GoString returns the string representation
4680func (s CopyDBClusterSnapshotOutput) GoString() string {
4681	return s.String()
4682}
4683
4684// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
4685func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
4686	s.DBClusterSnapshot = v
4687	return s
4688}
4689
4690// Represents the input to CreateDBCluster.
4691type CreateDBClusterInput struct {
4692	_ struct{} `type:"structure"`
4693
4694	// A list of Amazon EC2 Availability Zones that instances in the DB cluster
4695	// can be created in.
4696	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
4697
4698	// The number of days for which automated backups are retained. You must specify
4699	// a minimum value of 1.
4700	//
4701	// Default: 1
4702	//
4703	// Constraints:
4704	//
4705	//    * Must be a value from 1 to 35.
4706	BackupRetentionPeriod *int64 `type:"integer"`
4707
4708	// The DB cluster identifier. This parameter is stored as a lowercase string.
4709	//
4710	// Constraints:
4711	//
4712	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
4713	//
4714	//    * The first character must be a letter.
4715	//
4716	//    * Cannot end with a hyphen or contain two consecutive hyphens.
4717	//
4718	// Example: my-cluster
4719	//
4720	// DBClusterIdentifier is a required field
4721	DBClusterIdentifier *string `type:"string" required:"true"`
4722
4723	// The name of the DB cluster parameter group to associate with this DB cluster.
4724	DBClusterParameterGroupName *string `type:"string"`
4725
4726	// A DB subnet group to associate with this DB cluster.
4727	//
4728	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
4729	// default.
4730	//
4731	// Example: mySubnetgroup
4732	DBSubnetGroupName *string `type:"string"`
4733
4734	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
4735	// the cluster cannot be deleted unless it is modified and DeletionProtection
4736	// is disabled. DeletionProtection protects clusters from being accidentally
4737	// deleted.
4738	DeletionProtection *bool `type:"boolean"`
4739
4740	// A list of log types that need to be enabled for exporting to Amazon CloudWatch
4741	// Logs.
4742	EnableCloudwatchLogsExports []*string `type:"list"`
4743
4744	// The name of the database engine to be used for this DB cluster.
4745	//
4746	// Valid values: docdb
4747	//
4748	// Engine is a required field
4749	Engine *string `type:"string" required:"true"`
4750
4751	// The version number of the database engine to use.
4752	EngineVersion *string `type:"string"`
4753
4754	// The AWS KMS key identifier for an encrypted DB cluster.
4755	//
4756	// The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS
4757	// KMS encryption key. If you are creating a DB cluster using the same AWS account
4758	// that owns the AWS KMS encryption key that is used to encrypt the new DB cluster,
4759	// you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption
4760	// key.
4761	//
4762	// If an encryption key is not specified in KmsKeyId:
4763	//
4764	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
4765	//    Amazon DocumentDB uses the encryption key that is used to encrypt the
4766	//    source. Otherwise, Amazon DocumentDB uses your default encryption key.
4767	//
4768	//    * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier
4769	//    is not specified, Amazon DocumentDB uses your default encryption key.
4770	//
4771	// AWS KMS creates the default encryption key for your AWS account. Your AWS
4772	// account has a different default encryption key for each AWS Region.
4773	//
4774	// If you create a replica of an encrypted DB cluster in another AWS Region,
4775	// you must set KmsKeyId to a KMS key ID that is valid in the destination AWS
4776	// Region. This key is used to encrypt the replica in that AWS Region.
4777	KmsKeyId *string `type:"string"`
4778
4779	// The password for the master database user. This password can contain any
4780	// printable ASCII character except forward slash (/), double quote ("), or
4781	// the "at" symbol (@).
4782	//
4783	// Constraints: Must contain from 8 to 41 characters.
4784	//
4785	// MasterUserPassword is a required field
4786	MasterUserPassword *string `type:"string" required:"true"`
4787
4788	// The name of the master user for the DB cluster.
4789	//
4790	// Constraints:
4791	//
4792	//    * Must be from 1 to 16 letters or numbers.
4793	//
4794	//    * The first character must be a letter.
4795	//
4796	//    * Cannot be a reserved word for the chosen database engine.
4797	//
4798	// MasterUsername is a required field
4799	MasterUsername *string `type:"string" required:"true"`
4800
4801	// The port number on which the instances in the DB cluster accept connections.
4802	Port *int64 `type:"integer"`
4803
4804	// The daily time range during which automated backups are created if automated
4805	// backups are enabled using the BackupRetentionPeriod parameter.
4806	//
4807	// The default is a 30-minute window selected at random from an 8-hour block
4808	// of time for each AWS Region.
4809	//
4810	// Constraints:
4811	//
4812	//    * Must be in the format hh24:mi-hh24:mi.
4813	//
4814	//    * Must be in Universal Coordinated Time (UTC).
4815	//
4816	//    * Must not conflict with the preferred maintenance window.
4817	//
4818	//    * Must be at least 30 minutes.
4819	PreferredBackupWindow *string `type:"string"`
4820
4821	// The weekly time range during which system maintenance can occur, in Universal
4822	// Coordinated Time (UTC).
4823	//
4824	// Format: ddd:hh24:mi-ddd:hh24:mi
4825	//
4826	// The default is a 30-minute window selected at random from an 8-hour block
4827	// of time for each AWS Region, occurring on a random day of the week.
4828	//
4829	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
4830	//
4831	// Constraints: Minimum 30-minute window.
4832	PreferredMaintenanceWindow *string `type:"string"`
4833
4834	// Specifies whether the DB cluster is encrypted.
4835	StorageEncrypted *bool `type:"boolean"`
4836
4837	// The tags to be assigned to the DB cluster.
4838	Tags []*Tag `locationNameList:"Tag" type:"list"`
4839
4840	// A list of EC2 VPC security groups to associate with this DB cluster.
4841	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
4842}
4843
4844// String returns the string representation
4845func (s CreateDBClusterInput) String() string {
4846	return awsutil.Prettify(s)
4847}
4848
4849// GoString returns the string representation
4850func (s CreateDBClusterInput) GoString() string {
4851	return s.String()
4852}
4853
4854// Validate inspects the fields of the type to determine if they are valid.
4855func (s *CreateDBClusterInput) Validate() error {
4856	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
4857	if s.DBClusterIdentifier == nil {
4858		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
4859	}
4860	if s.Engine == nil {
4861		invalidParams.Add(request.NewErrParamRequired("Engine"))
4862	}
4863	if s.MasterUserPassword == nil {
4864		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
4865	}
4866	if s.MasterUsername == nil {
4867		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
4868	}
4869
4870	if invalidParams.Len() > 0 {
4871		return invalidParams
4872	}
4873	return nil
4874}
4875
4876// SetAvailabilityZones sets the AvailabilityZones field's value.
4877func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
4878	s.AvailabilityZones = v
4879	return s
4880}
4881
4882// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
4883func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
4884	s.BackupRetentionPeriod = &v
4885	return s
4886}
4887
4888// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
4889func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
4890	s.DBClusterIdentifier = &v
4891	return s
4892}
4893
4894// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
4895func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
4896	s.DBClusterParameterGroupName = &v
4897	return s
4898}
4899
4900// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
4901func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
4902	s.DBSubnetGroupName = &v
4903	return s
4904}
4905
4906// SetDeletionProtection sets the DeletionProtection field's value.
4907func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
4908	s.DeletionProtection = &v
4909	return s
4910}
4911
4912// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
4913func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
4914	s.EnableCloudwatchLogsExports = v
4915	return s
4916}
4917
4918// SetEngine sets the Engine field's value.
4919func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
4920	s.Engine = &v
4921	return s
4922}
4923
4924// SetEngineVersion sets the EngineVersion field's value.
4925func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
4926	s.EngineVersion = &v
4927	return s
4928}
4929
4930// SetKmsKeyId sets the KmsKeyId field's value.
4931func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
4932	s.KmsKeyId = &v
4933	return s
4934}
4935
4936// SetMasterUserPassword sets the MasterUserPassword field's value.
4937func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
4938	s.MasterUserPassword = &v
4939	return s
4940}
4941
4942// SetMasterUsername sets the MasterUsername field's value.
4943func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
4944	s.MasterUsername = &v
4945	return s
4946}
4947
4948// SetPort sets the Port field's value.
4949func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
4950	s.Port = &v
4951	return s
4952}
4953
4954// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
4955func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
4956	s.PreferredBackupWindow = &v
4957	return s
4958}
4959
4960// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
4961func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
4962	s.PreferredMaintenanceWindow = &v
4963	return s
4964}
4965
4966// SetStorageEncrypted sets the StorageEncrypted field's value.
4967func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
4968	s.StorageEncrypted = &v
4969	return s
4970}
4971
4972// SetTags sets the Tags field's value.
4973func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
4974	s.Tags = v
4975	return s
4976}
4977
4978// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
4979func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
4980	s.VpcSecurityGroupIds = v
4981	return s
4982}
4983
4984type CreateDBClusterOutput struct {
4985	_ struct{} `type:"structure"`
4986
4987	// Detailed information about a DB cluster.
4988	DBCluster *DBCluster `type:"structure"`
4989}
4990
4991// String returns the string representation
4992func (s CreateDBClusterOutput) String() string {
4993	return awsutil.Prettify(s)
4994}
4995
4996// GoString returns the string representation
4997func (s CreateDBClusterOutput) GoString() string {
4998	return s.String()
4999}
5000
5001// SetDBCluster sets the DBCluster field's value.
5002func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
5003	s.DBCluster = v
5004	return s
5005}
5006
5007// Represents the input of CreateDBClusterParameterGroup.
5008type CreateDBClusterParameterGroupInput struct {
5009	_ struct{} `type:"structure"`
5010
5011	// The name of the DB cluster parameter group.
5012	//
5013	// Constraints:
5014	//
5015	//    * Must match the name of an existing DBClusterParameterGroup.
5016	//
5017	// This value is stored as a lowercase string.
5018	//
5019	// DBClusterParameterGroupName is a required field
5020	DBClusterParameterGroupName *string `type:"string" required:"true"`
5021
5022	// The DB cluster parameter group family name.
5023	//
5024	// DBParameterGroupFamily is a required field
5025	DBParameterGroupFamily *string `type:"string" required:"true"`
5026
5027	// The description for the DB cluster parameter group.
5028	//
5029	// Description is a required field
5030	Description *string `type:"string" required:"true"`
5031
5032	// The tags to be assigned to the DB cluster parameter group.
5033	Tags []*Tag `locationNameList:"Tag" type:"list"`
5034}
5035
5036// String returns the string representation
5037func (s CreateDBClusterParameterGroupInput) String() string {
5038	return awsutil.Prettify(s)
5039}
5040
5041// GoString returns the string representation
5042func (s CreateDBClusterParameterGroupInput) GoString() string {
5043	return s.String()
5044}
5045
5046// Validate inspects the fields of the type to determine if they are valid.
5047func (s *CreateDBClusterParameterGroupInput) Validate() error {
5048	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
5049	if s.DBClusterParameterGroupName == nil {
5050		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
5051	}
5052	if s.DBParameterGroupFamily == nil {
5053		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
5054	}
5055	if s.Description == nil {
5056		invalidParams.Add(request.NewErrParamRequired("Description"))
5057	}
5058
5059	if invalidParams.Len() > 0 {
5060		return invalidParams
5061	}
5062	return nil
5063}
5064
5065// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
5066func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
5067	s.DBClusterParameterGroupName = &v
5068	return s
5069}
5070
5071// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
5072func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
5073	s.DBParameterGroupFamily = &v
5074	return s
5075}
5076
5077// SetDescription sets the Description field's value.
5078func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
5079	s.Description = &v
5080	return s
5081}
5082
5083// SetTags sets the Tags field's value.
5084func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
5085	s.Tags = v
5086	return s
5087}
5088
5089type CreateDBClusterParameterGroupOutput struct {
5090	_ struct{} `type:"structure"`
5091
5092	// Detailed information about a DB cluster parameter group.
5093	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
5094}
5095
5096// String returns the string representation
5097func (s CreateDBClusterParameterGroupOutput) String() string {
5098	return awsutil.Prettify(s)
5099}
5100
5101// GoString returns the string representation
5102func (s CreateDBClusterParameterGroupOutput) GoString() string {
5103	return s.String()
5104}
5105
5106// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
5107func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
5108	s.DBClusterParameterGroup = v
5109	return s
5110}
5111
5112// Represents the input of CreateDBClusterSnapshot.
5113type CreateDBClusterSnapshotInput struct {
5114	_ struct{} `type:"structure"`
5115
5116	// The identifier of the DB cluster to create a snapshot for. This parameter
5117	// is not case sensitive.
5118	//
5119	// Constraints:
5120	//
5121	//    * Must match the identifier of an existing DBCluster.
5122	//
5123	// Example: my-cluster
5124	//
5125	// DBClusterIdentifier is a required field
5126	DBClusterIdentifier *string `type:"string" required:"true"`
5127
5128	// The identifier of the DB cluster snapshot. This parameter is stored as a
5129	// lowercase string.
5130	//
5131	// Constraints:
5132	//
5133	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
5134	//
5135	//    * The first character must be a letter.
5136	//
5137	//    * Cannot end with a hyphen or contain two consecutive hyphens.
5138	//
5139	// Example: my-cluster-snapshot1
5140	//
5141	// DBClusterSnapshotIdentifier is a required field
5142	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
5143
5144	// The tags to be assigned to the DB cluster snapshot.
5145	Tags []*Tag `locationNameList:"Tag" type:"list"`
5146}
5147
5148// String returns the string representation
5149func (s CreateDBClusterSnapshotInput) String() string {
5150	return awsutil.Prettify(s)
5151}
5152
5153// GoString returns the string representation
5154func (s CreateDBClusterSnapshotInput) GoString() string {
5155	return s.String()
5156}
5157
5158// Validate inspects the fields of the type to determine if they are valid.
5159func (s *CreateDBClusterSnapshotInput) Validate() error {
5160	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
5161	if s.DBClusterIdentifier == nil {
5162		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
5163	}
5164	if s.DBClusterSnapshotIdentifier == nil {
5165		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
5166	}
5167
5168	if invalidParams.Len() > 0 {
5169		return invalidParams
5170	}
5171	return nil
5172}
5173
5174// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
5175func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
5176	s.DBClusterIdentifier = &v
5177	return s
5178}
5179
5180// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
5181func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
5182	s.DBClusterSnapshotIdentifier = &v
5183	return s
5184}
5185
5186// SetTags sets the Tags field's value.
5187func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
5188	s.Tags = v
5189	return s
5190}
5191
5192type CreateDBClusterSnapshotOutput struct {
5193	_ struct{} `type:"structure"`
5194
5195	// Detailed information about a DB cluster snapshot.
5196	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
5197}
5198
5199// String returns the string representation
5200func (s CreateDBClusterSnapshotOutput) String() string {
5201	return awsutil.Prettify(s)
5202}
5203
5204// GoString returns the string representation
5205func (s CreateDBClusterSnapshotOutput) GoString() string {
5206	return s.String()
5207}
5208
5209// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
5210func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
5211	s.DBClusterSnapshot = v
5212	return s
5213}
5214
5215// Represents the input to CreateDBInstance.
5216type CreateDBInstanceInput struct {
5217	_ struct{} `type:"structure"`
5218
5219	// Indicates that minor engine upgrades are applied automatically to the DB
5220	// instance during the maintenance window.
5221	//
5222	// Default: true
5223	AutoMinorVersionUpgrade *bool `type:"boolean"`
5224
5225	// The Amazon EC2 Availability Zone that the DB instance is created in.
5226	//
5227	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
5228	// Region.
5229	//
5230	// Example: us-east-1d
5231	//
5232	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
5233	// parameter is set to true. The specified Availability Zone must be in the
5234	// same AWS Region as the current endpoint.
5235	AvailabilityZone *string `type:"string"`
5236
5237	// The identifier of the DB cluster that the instance will belong to.
5238	//
5239	// DBClusterIdentifier is a required field
5240	DBClusterIdentifier *string `type:"string" required:"true"`
5241
5242	// The compute and memory capacity of the DB instance; for example, db.r5.large.
5243	//
5244	// DBInstanceClass is a required field
5245	DBInstanceClass *string `type:"string" required:"true"`
5246
5247	// The DB instance identifier. This parameter is stored as a lowercase string.
5248	//
5249	// Constraints:
5250	//
5251	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
5252	//
5253	//    * The first character must be a letter.
5254	//
5255	//    * Cannot end with a hyphen or contain two consecutive hyphens.
5256	//
5257	// Example: mydbinstance
5258	//
5259	// DBInstanceIdentifier is a required field
5260	DBInstanceIdentifier *string `type:"string" required:"true"`
5261
5262	// The name of the database engine to be used for this instance.
5263	//
5264	// Valid value: docdb
5265	//
5266	// Engine is a required field
5267	Engine *string `type:"string" required:"true"`
5268
5269	// The time range each week during which system maintenance can occur, in Universal
5270	// Coordinated Time (UTC).
5271	//
5272	// Format: ddd:hh24:mi-ddd:hh24:mi
5273	//
5274	// The default is a 30-minute window selected at random from an 8-hour block
5275	// of time for each AWS Region, occurring on a random day of the week.
5276	//
5277	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
5278	//
5279	// Constraints: Minimum 30-minute window.
5280	PreferredMaintenanceWindow *string `type:"string"`
5281
5282	// A value that specifies the order in which an Amazon DocumentDB replica is
5283	// promoted to the primary instance after a failure of the existing primary
5284	// instance.
5285	//
5286	// Default: 1
5287	//
5288	// Valid values: 0-15
5289	PromotionTier *int64 `type:"integer"`
5290
5291	// The tags to be assigned to the DB instance.
5292	Tags []*Tag `locationNameList:"Tag" type:"list"`
5293}
5294
5295// String returns the string representation
5296func (s CreateDBInstanceInput) String() string {
5297	return awsutil.Prettify(s)
5298}
5299
5300// GoString returns the string representation
5301func (s CreateDBInstanceInput) GoString() string {
5302	return s.String()
5303}
5304
5305// Validate inspects the fields of the type to determine if they are valid.
5306func (s *CreateDBInstanceInput) Validate() error {
5307	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
5308	if s.DBClusterIdentifier == nil {
5309		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
5310	}
5311	if s.DBInstanceClass == nil {
5312		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
5313	}
5314	if s.DBInstanceIdentifier == nil {
5315		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
5316	}
5317	if s.Engine == nil {
5318		invalidParams.Add(request.NewErrParamRequired("Engine"))
5319	}
5320
5321	if invalidParams.Len() > 0 {
5322		return invalidParams
5323	}
5324	return nil
5325}
5326
5327// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
5328func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
5329	s.AutoMinorVersionUpgrade = &v
5330	return s
5331}
5332
5333// SetAvailabilityZone sets the AvailabilityZone field's value.
5334func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
5335	s.AvailabilityZone = &v
5336	return s
5337}
5338
5339// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
5340func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
5341	s.DBClusterIdentifier = &v
5342	return s
5343}
5344
5345// SetDBInstanceClass sets the DBInstanceClass field's value.
5346func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
5347	s.DBInstanceClass = &v
5348	return s
5349}
5350
5351// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
5352func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
5353	s.DBInstanceIdentifier = &v
5354	return s
5355}
5356
5357// SetEngine sets the Engine field's value.
5358func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
5359	s.Engine = &v
5360	return s
5361}
5362
5363// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
5364func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
5365	s.PreferredMaintenanceWindow = &v
5366	return s
5367}
5368
5369// SetPromotionTier sets the PromotionTier field's value.
5370func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
5371	s.PromotionTier = &v
5372	return s
5373}
5374
5375// SetTags sets the Tags field's value.
5376func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
5377	s.Tags = v
5378	return s
5379}
5380
5381type CreateDBInstanceOutput struct {
5382	_ struct{} `type:"structure"`
5383
5384	// Detailed information about a DB instance.
5385	DBInstance *DBInstance `type:"structure"`
5386}
5387
5388// String returns the string representation
5389func (s CreateDBInstanceOutput) String() string {
5390	return awsutil.Prettify(s)
5391}
5392
5393// GoString returns the string representation
5394func (s CreateDBInstanceOutput) GoString() string {
5395	return s.String()
5396}
5397
5398// SetDBInstance sets the DBInstance field's value.
5399func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
5400	s.DBInstance = v
5401	return s
5402}
5403
5404// Represents the input to CreateDBSubnetGroup.
5405type CreateDBSubnetGroupInput struct {
5406	_ struct{} `type:"structure"`
5407
5408	// The description for the DB subnet group.
5409	//
5410	// DBSubnetGroupDescription is a required field
5411	DBSubnetGroupDescription *string `type:"string" required:"true"`
5412
5413	// The name for the DB subnet group. This value is stored as a lowercase string.
5414	//
5415	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
5416	// spaces, or hyphens. Must not be default.
5417	//
5418	// Example: mySubnetgroup
5419	//
5420	// DBSubnetGroupName is a required field
5421	DBSubnetGroupName *string `type:"string" required:"true"`
5422
5423	// The Amazon EC2 subnet IDs for the DB subnet group.
5424	//
5425	// SubnetIds is a required field
5426	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
5427
5428	// The tags to be assigned to the DB subnet group.
5429	Tags []*Tag `locationNameList:"Tag" type:"list"`
5430}
5431
5432// String returns the string representation
5433func (s CreateDBSubnetGroupInput) String() string {
5434	return awsutil.Prettify(s)
5435}
5436
5437// GoString returns the string representation
5438func (s CreateDBSubnetGroupInput) GoString() string {
5439	return s.String()
5440}
5441
5442// Validate inspects the fields of the type to determine if they are valid.
5443func (s *CreateDBSubnetGroupInput) Validate() error {
5444	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
5445	if s.DBSubnetGroupDescription == nil {
5446		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
5447	}
5448	if s.DBSubnetGroupName == nil {
5449		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
5450	}
5451	if s.SubnetIds == nil {
5452		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
5453	}
5454
5455	if invalidParams.Len() > 0 {
5456		return invalidParams
5457	}
5458	return nil
5459}
5460
5461// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
5462func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
5463	s.DBSubnetGroupDescription = &v
5464	return s
5465}
5466
5467// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
5468func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
5469	s.DBSubnetGroupName = &v
5470	return s
5471}
5472
5473// SetSubnetIds sets the SubnetIds field's value.
5474func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
5475	s.SubnetIds = v
5476	return s
5477}
5478
5479// SetTags sets the Tags field's value.
5480func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
5481	s.Tags = v
5482	return s
5483}
5484
5485type CreateDBSubnetGroupOutput struct {
5486	_ struct{} `type:"structure"`
5487
5488	// Detailed information about a DB subnet group.
5489	DBSubnetGroup *DBSubnetGroup `type:"structure"`
5490}
5491
5492// String returns the string representation
5493func (s CreateDBSubnetGroupOutput) String() string {
5494	return awsutil.Prettify(s)
5495}
5496
5497// GoString returns the string representation
5498func (s CreateDBSubnetGroupOutput) GoString() string {
5499	return s.String()
5500}
5501
5502// SetDBSubnetGroup sets the DBSubnetGroup field's value.
5503func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
5504	s.DBSubnetGroup = v
5505	return s
5506}
5507
5508// Detailed information about a DB cluster.
5509type DBCluster struct {
5510	_ struct{} `type:"structure"`
5511
5512	// Provides a list of the AWS Identity and Access Management (IAM) roles that
5513	// are associated with the DB cluster. IAM roles that are associated with a
5514	// DB cluster grant permission for the DB cluster to access other AWS services
5515	// on your behalf.
5516	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
5517
5518	// Provides the list of Amazon EC2 Availability Zones that instances in the
5519	// DB cluster can be created in.
5520	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
5521
5522	// Specifies the number of days for which automatic DB snapshots are retained.
5523	BackupRetentionPeriod *int64 `type:"integer"`
5524
5525	// Specifies the time when the DB cluster was created, in Universal Coordinated
5526	// Time (UTC).
5527	ClusterCreateTime *time.Time `type:"timestamp"`
5528
5529	// The Amazon Resource Name (ARN) for the DB cluster.
5530	DBClusterArn *string `type:"string"`
5531
5532	// Contains a user-supplied DB cluster identifier. This identifier is the unique
5533	// key that identifies a DB cluster.
5534	DBClusterIdentifier *string `type:"string"`
5535
5536	// Provides the list of instances that make up the DB cluster.
5537	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
5538
5539	// Specifies the name of the DB cluster parameter group for the DB cluster.
5540	DBClusterParameterGroup *string `type:"string"`
5541
5542	// Specifies information on the subnet group that is associated with the DB
5543	// cluster, including the name, description, and subnets in the subnet group.
5544	DBSubnetGroup *string `type:"string"`
5545
5546	// The AWS Region-unique, immutable identifier for the DB cluster. This identifier
5547	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
5548	// cluster is accessed.
5549	DbClusterResourceId *string `type:"string"`
5550
5551	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
5552	// the cluster cannot be deleted unless it is modified and DeletionProtection
5553	// is disabled. DeletionProtection protects clusters from being accidentally
5554	// deleted.
5555	DeletionProtection *bool `type:"boolean"`
5556
5557	// The earliest time to which a database can be restored with point-in-time
5558	// restore.
5559	EarliestRestorableTime *time.Time `type:"timestamp"`
5560
5561	// A list of log types that this DB cluster is configured to export to Amazon
5562	// CloudWatch Logs.
5563	EnabledCloudwatchLogsExports []*string `type:"list"`
5564
5565	// Specifies the connection endpoint for the primary instance of the DB cluster.
5566	Endpoint *string `type:"string"`
5567
5568	// Provides the name of the database engine to be used for this DB cluster.
5569	Engine *string `type:"string"`
5570
5571	// Indicates the database engine version.
5572	EngineVersion *string `type:"string"`
5573
5574	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
5575	HostedZoneId *string `type:"string"`
5576
5577	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
5578	// DB cluster.
5579	KmsKeyId *string `type:"string"`
5580
5581	// Specifies the latest time to which a database can be restored with point-in-time
5582	// restore.
5583	LatestRestorableTime *time.Time `type:"timestamp"`
5584
5585	// Contains the master user name for the DB cluster.
5586	MasterUsername *string `type:"string"`
5587
5588	// Specifies whether the DB cluster has instances in multiple Availability Zones.
5589	MultiAZ *bool `type:"boolean"`
5590
5591	// Specifies the progress of the operation as a percentage.
5592	PercentProgress *string `type:"string"`
5593
5594	// Specifies the port that the database engine is listening on.
5595	Port *int64 `type:"integer"`
5596
5597	// Specifies the daily time range during which automated backups are created
5598	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
5599	PreferredBackupWindow *string `type:"string"`
5600
5601	// Specifies the weekly time range during which system maintenance can occur,
5602	// in Universal Coordinated Time (UTC).
5603	PreferredMaintenanceWindow *string `type:"string"`
5604
5605	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
5606	// load balances connections across the Amazon DocumentDB replicas that are
5607	// available in a DB cluster. As clients request new connections to the reader
5608	// endpoint, Amazon DocumentDB distributes the connection requests among the
5609	// Amazon DocumentDB replicas in the DB cluster. This functionality can help
5610	// balance your read workload across multiple Amazon DocumentDB replicas in
5611	// your DB cluster.
5612	//
5613	// If a failover occurs, and the Amazon DocumentDB replica that you are connected
5614	// to is promoted to be the primary instance, your connection is dropped. To
5615	// continue sending your read workload to other Amazon DocumentDB replicas in
5616	// the cluster, you can then reconnect to the reader endpoint.
5617	ReaderEndpoint *string `type:"string"`
5618
5619	// Specifies the current state of this DB cluster.
5620	Status *string `type:"string"`
5621
5622	// Specifies whether the DB cluster is encrypted.
5623	StorageEncrypted *bool `type:"boolean"`
5624
5625	// Provides a list of virtual private cloud (VPC) security groups that the DB
5626	// cluster belongs to.
5627	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
5628}
5629
5630// String returns the string representation
5631func (s DBCluster) String() string {
5632	return awsutil.Prettify(s)
5633}
5634
5635// GoString returns the string representation
5636func (s DBCluster) GoString() string {
5637	return s.String()
5638}
5639
5640// SetAssociatedRoles sets the AssociatedRoles field's value.
5641func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
5642	s.AssociatedRoles = v
5643	return s
5644}
5645
5646// SetAvailabilityZones sets the AvailabilityZones field's value.
5647func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
5648	s.AvailabilityZones = v
5649	return s
5650}
5651
5652// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
5653func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
5654	s.BackupRetentionPeriod = &v
5655	return s
5656}
5657
5658// SetClusterCreateTime sets the ClusterCreateTime field's value.
5659func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
5660	s.ClusterCreateTime = &v
5661	return s
5662}
5663
5664// SetDBClusterArn sets the DBClusterArn field's value.
5665func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
5666	s.DBClusterArn = &v
5667	return s
5668}
5669
5670// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
5671func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
5672	s.DBClusterIdentifier = &v
5673	return s
5674}
5675
5676// SetDBClusterMembers sets the DBClusterMembers field's value.
5677func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
5678	s.DBClusterMembers = v
5679	return s
5680}
5681
5682// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
5683func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
5684	s.DBClusterParameterGroup = &v
5685	return s
5686}
5687
5688// SetDBSubnetGroup sets the DBSubnetGroup field's value.
5689func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
5690	s.DBSubnetGroup = &v
5691	return s
5692}
5693
5694// SetDbClusterResourceId sets the DbClusterResourceId field's value.
5695func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
5696	s.DbClusterResourceId = &v
5697	return s
5698}
5699
5700// SetDeletionProtection sets the DeletionProtection field's value.
5701func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
5702	s.DeletionProtection = &v
5703	return s
5704}
5705
5706// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
5707func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
5708	s.EarliestRestorableTime = &v
5709	return s
5710}
5711
5712// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
5713func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
5714	s.EnabledCloudwatchLogsExports = v
5715	return s
5716}
5717
5718// SetEndpoint sets the Endpoint field's value.
5719func (s *DBCluster) SetEndpoint(v string) *DBCluster {
5720	s.Endpoint = &v
5721	return s
5722}
5723
5724// SetEngine sets the Engine field's value.
5725func (s *DBCluster) SetEngine(v string) *DBCluster {
5726	s.Engine = &v
5727	return s
5728}
5729
5730// SetEngineVersion sets the EngineVersion field's value.
5731func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
5732	s.EngineVersion = &v
5733	return s
5734}
5735
5736// SetHostedZoneId sets the HostedZoneId field's value.
5737func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
5738	s.HostedZoneId = &v
5739	return s
5740}
5741
5742// SetKmsKeyId sets the KmsKeyId field's value.
5743func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
5744	s.KmsKeyId = &v
5745	return s
5746}
5747
5748// SetLatestRestorableTime sets the LatestRestorableTime field's value.
5749func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
5750	s.LatestRestorableTime = &v
5751	return s
5752}
5753
5754// SetMasterUsername sets the MasterUsername field's value.
5755func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
5756	s.MasterUsername = &v
5757	return s
5758}
5759
5760// SetMultiAZ sets the MultiAZ field's value.
5761func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
5762	s.MultiAZ = &v
5763	return s
5764}
5765
5766// SetPercentProgress sets the PercentProgress field's value.
5767func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
5768	s.PercentProgress = &v
5769	return s
5770}
5771
5772// SetPort sets the Port field's value.
5773func (s *DBCluster) SetPort(v int64) *DBCluster {
5774	s.Port = &v
5775	return s
5776}
5777
5778// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
5779func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
5780	s.PreferredBackupWindow = &v
5781	return s
5782}
5783
5784// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
5785func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
5786	s.PreferredMaintenanceWindow = &v
5787	return s
5788}
5789
5790// SetReaderEndpoint sets the ReaderEndpoint field's value.
5791func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
5792	s.ReaderEndpoint = &v
5793	return s
5794}
5795
5796// SetStatus sets the Status field's value.
5797func (s *DBCluster) SetStatus(v string) *DBCluster {
5798	s.Status = &v
5799	return s
5800}
5801
5802// SetStorageEncrypted sets the StorageEncrypted field's value.
5803func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
5804	s.StorageEncrypted = &v
5805	return s
5806}
5807
5808// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
5809func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
5810	s.VpcSecurityGroups = v
5811	return s
5812}
5813
5814// Contains information about an instance that is part of a DB cluster.
5815type DBClusterMember struct {
5816	_ struct{} `type:"structure"`
5817
5818	// Specifies the status of the DB cluster parameter group for this member of
5819	// the DB cluster.
5820	DBClusterParameterGroupStatus *string `type:"string"`
5821
5822	// Specifies the instance identifier for this member of the DB cluster.
5823	DBInstanceIdentifier *string `type:"string"`
5824
5825	// A value that is true if the cluster member is the primary instance for the
5826	// DB cluster and false otherwise.
5827	IsClusterWriter *bool `type:"boolean"`
5828
5829	// A value that specifies the order in which an Amazon DocumentDB replica is
5830	// promoted to the primary instance after a failure of the existing primary
5831	// instance.
5832	PromotionTier *int64 `type:"integer"`
5833}
5834
5835// String returns the string representation
5836func (s DBClusterMember) String() string {
5837	return awsutil.Prettify(s)
5838}
5839
5840// GoString returns the string representation
5841func (s DBClusterMember) GoString() string {
5842	return s.String()
5843}
5844
5845// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
5846func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
5847	s.DBClusterParameterGroupStatus = &v
5848	return s
5849}
5850
5851// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
5852func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
5853	s.DBInstanceIdentifier = &v
5854	return s
5855}
5856
5857// SetIsClusterWriter sets the IsClusterWriter field's value.
5858func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
5859	s.IsClusterWriter = &v
5860	return s
5861}
5862
5863// SetPromotionTier sets the PromotionTier field's value.
5864func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
5865	s.PromotionTier = &v
5866	return s
5867}
5868
5869// Detailed information about a DB cluster parameter group.
5870type DBClusterParameterGroup struct {
5871	_ struct{} `type:"structure"`
5872
5873	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
5874	DBClusterParameterGroupArn *string `type:"string"`
5875
5876	// Provides the name of the DB cluster parameter group.
5877	DBClusterParameterGroupName *string `type:"string"`
5878
5879	// Provides the name of the DB parameter group family that this DB cluster parameter
5880	// group is compatible with.
5881	DBParameterGroupFamily *string `type:"string"`
5882
5883	// Provides the customer-specified description for this DB cluster parameter
5884	// group.
5885	Description *string `type:"string"`
5886}
5887
5888// String returns the string representation
5889func (s DBClusterParameterGroup) String() string {
5890	return awsutil.Prettify(s)
5891}
5892
5893// GoString returns the string representation
5894func (s DBClusterParameterGroup) GoString() string {
5895	return s.String()
5896}
5897
5898// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
5899func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
5900	s.DBClusterParameterGroupArn = &v
5901	return s
5902}
5903
5904// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
5905func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
5906	s.DBClusterParameterGroupName = &v
5907	return s
5908}
5909
5910// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
5911func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
5912	s.DBParameterGroupFamily = &v
5913	return s
5914}
5915
5916// SetDescription sets the Description field's value.
5917func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
5918	s.Description = &v
5919	return s
5920}
5921
5922// Describes an AWS Identity and Access Management (IAM) role that is associated
5923// with a DB cluster.
5924type DBClusterRole struct {
5925	_ struct{} `type:"structure"`
5926
5927	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
5928	// DB cluster.
5929	RoleArn *string `type:"string"`
5930
5931	// Describes the state of association between the IAM role and the DB cluster.
5932	// The Status property returns one of the following values:
5933	//
5934	//    * ACTIVE - The IAM role ARN is associated with the DB cluster and can
5935	//    be used to access other AWS services on your behalf.
5936	//
5937	//    * PENDING - The IAM role ARN is being associated with the DB cluster.
5938	//
5939	//    * INVALID - The IAM role ARN is associated with the DB cluster, but the
5940	//    DB cluster cannot assume the IAM role to access other AWS services on
5941	//    your behalf.
5942	Status *string `type:"string"`
5943}
5944
5945// String returns the string representation
5946func (s DBClusterRole) String() string {
5947	return awsutil.Prettify(s)
5948}
5949
5950// GoString returns the string representation
5951func (s DBClusterRole) GoString() string {
5952	return s.String()
5953}
5954
5955// SetRoleArn sets the RoleArn field's value.
5956func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
5957	s.RoleArn = &v
5958	return s
5959}
5960
5961// SetStatus sets the Status field's value.
5962func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
5963	s.Status = &v
5964	return s
5965}
5966
5967// Detailed information about a DB cluster snapshot.
5968type DBClusterSnapshot struct {
5969	_ struct{} `type:"structure"`
5970
5971	// Provides the list of Amazon EC2 Availability Zones that instances in the
5972	// DB cluster snapshot can be restored in.
5973	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
5974
5975	// Specifies the time when the DB cluster was created, in Universal Coordinated
5976	// Time (UTC).
5977	ClusterCreateTime *time.Time `type:"timestamp"`
5978
5979	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
5980	// snapshot was created from.
5981	DBClusterIdentifier *string `type:"string"`
5982
5983	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
5984	DBClusterSnapshotArn *string `type:"string"`
5985
5986	// Specifies the identifier for the DB cluster snapshot.
5987	DBClusterSnapshotIdentifier *string `type:"string"`
5988
5989	// Specifies the name of the database engine.
5990	Engine *string `type:"string"`
5991
5992	// Provides the version of the database engine for this DB cluster snapshot.
5993	EngineVersion *string `type:"string"`
5994
5995	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
5996	// DB cluster snapshot.
5997	KmsKeyId *string `type:"string"`
5998
5999	// Provides the master user name for the DB cluster snapshot.
6000	MasterUsername *string `type:"string"`
6001
6002	// Specifies the percentage of the estimated data that has been transferred.
6003	PercentProgress *int64 `type:"integer"`
6004
6005	// Specifies the port that the DB cluster was listening on at the time of the
6006	// snapshot.
6007	Port *int64 `type:"integer"`
6008
6009	// Provides the time when the snapshot was taken, in UTC.
6010	SnapshotCreateTime *time.Time `type:"timestamp"`
6011
6012	// Provides the type of the DB cluster snapshot.
6013	SnapshotType *string `type:"string"`
6014
6015	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
6016	// the ARN for the source DB cluster snapshot; otherwise, a null value.
6017	SourceDBClusterSnapshotArn *string `type:"string"`
6018
6019	// Specifies the status of this DB cluster snapshot.
6020	Status *string `type:"string"`
6021
6022	// Specifies whether the DB cluster snapshot is encrypted.
6023	StorageEncrypted *bool `type:"boolean"`
6024
6025	// Provides the virtual private cloud (VPC) ID that is associated with the DB
6026	// cluster snapshot.
6027	VpcId *string `type:"string"`
6028}
6029
6030// String returns the string representation
6031func (s DBClusterSnapshot) String() string {
6032	return awsutil.Prettify(s)
6033}
6034
6035// GoString returns the string representation
6036func (s DBClusterSnapshot) GoString() string {
6037	return s.String()
6038}
6039
6040// SetAvailabilityZones sets the AvailabilityZones field's value.
6041func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
6042	s.AvailabilityZones = v
6043	return s
6044}
6045
6046// SetClusterCreateTime sets the ClusterCreateTime field's value.
6047func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
6048	s.ClusterCreateTime = &v
6049	return s
6050}
6051
6052// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6053func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
6054	s.DBClusterIdentifier = &v
6055	return s
6056}
6057
6058// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
6059func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
6060	s.DBClusterSnapshotArn = &v
6061	return s
6062}
6063
6064// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
6065func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
6066	s.DBClusterSnapshotIdentifier = &v
6067	return s
6068}
6069
6070// SetEngine sets the Engine field's value.
6071func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
6072	s.Engine = &v
6073	return s
6074}
6075
6076// SetEngineVersion sets the EngineVersion field's value.
6077func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
6078	s.EngineVersion = &v
6079	return s
6080}
6081
6082// SetKmsKeyId sets the KmsKeyId field's value.
6083func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
6084	s.KmsKeyId = &v
6085	return s
6086}
6087
6088// SetMasterUsername sets the MasterUsername field's value.
6089func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
6090	s.MasterUsername = &v
6091	return s
6092}
6093
6094// SetPercentProgress sets the PercentProgress field's value.
6095func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
6096	s.PercentProgress = &v
6097	return s
6098}
6099
6100// SetPort sets the Port field's value.
6101func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
6102	s.Port = &v
6103	return s
6104}
6105
6106// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
6107func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
6108	s.SnapshotCreateTime = &v
6109	return s
6110}
6111
6112// SetSnapshotType sets the SnapshotType field's value.
6113func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
6114	s.SnapshotType = &v
6115	return s
6116}
6117
6118// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
6119func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
6120	s.SourceDBClusterSnapshotArn = &v
6121	return s
6122}
6123
6124// SetStatus sets the Status field's value.
6125func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
6126	s.Status = &v
6127	return s
6128}
6129
6130// SetStorageEncrypted sets the StorageEncrypted field's value.
6131func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
6132	s.StorageEncrypted = &v
6133	return s
6134}
6135
6136// SetVpcId sets the VpcId field's value.
6137func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
6138	s.VpcId = &v
6139	return s
6140}
6141
6142// Contains the name and values of a manual DB cluster snapshot attribute.
6143//
6144// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
6145// to restore a manual DB cluster snapshot.
6146type DBClusterSnapshotAttribute struct {
6147	_ struct{} `type:"structure"`
6148
6149	// The name of the manual DB cluster snapshot attribute.
6150	//
6151	// The attribute named restore refers to the list of AWS accounts that have
6152	// permission to copy or restore the manual DB cluster snapshot.
6153	AttributeName *string `type:"string"`
6154
6155	// The values for the manual DB cluster snapshot attribute.
6156	//
6157	// If the AttributeName field is set to restore, then this element returns a
6158	// list of IDs of the AWS accounts that are authorized to copy or restore the
6159	// manual DB cluster snapshot. If a value of all is in the list, then the manual
6160	// DB cluster snapshot is public and available for any AWS account to copy or
6161	// restore.
6162	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
6163}
6164
6165// String returns the string representation
6166func (s DBClusterSnapshotAttribute) String() string {
6167	return awsutil.Prettify(s)
6168}
6169
6170// GoString returns the string representation
6171func (s DBClusterSnapshotAttribute) GoString() string {
6172	return s.String()
6173}
6174
6175// SetAttributeName sets the AttributeName field's value.
6176func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
6177	s.AttributeName = &v
6178	return s
6179}
6180
6181// SetAttributeValues sets the AttributeValues field's value.
6182func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
6183	s.AttributeValues = v
6184	return s
6185}
6186
6187// Detailed information about the attributes that are associated with a DB cluster
6188// snapshot.
6189type DBClusterSnapshotAttributesResult struct {
6190	_ struct{} `type:"structure"`
6191
6192	// The list of attributes and values for the DB cluster snapshot.
6193	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
6194
6195	// The identifier of the DB cluster snapshot that the attributes apply to.
6196	DBClusterSnapshotIdentifier *string `type:"string"`
6197}
6198
6199// String returns the string representation
6200func (s DBClusterSnapshotAttributesResult) String() string {
6201	return awsutil.Prettify(s)
6202}
6203
6204// GoString returns the string representation
6205func (s DBClusterSnapshotAttributesResult) GoString() string {
6206	return s.String()
6207}
6208
6209// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
6210func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
6211	s.DBClusterSnapshotAttributes = v
6212	return s
6213}
6214
6215// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
6216func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
6217	s.DBClusterSnapshotIdentifier = &v
6218	return s
6219}
6220
6221// Detailed information about a DB engine version.
6222type DBEngineVersion struct {
6223	_ struct{} `type:"structure"`
6224
6225	// The description of the database engine.
6226	DBEngineDescription *string `type:"string"`
6227
6228	// The description of the database engine version.
6229	DBEngineVersionDescription *string `type:"string"`
6230
6231	// The name of the DB parameter group family for the database engine.
6232	DBParameterGroupFamily *string `type:"string"`
6233
6234	// The name of the database engine.
6235	Engine *string `type:"string"`
6236
6237	// The version number of the database engine.
6238	EngineVersion *string `type:"string"`
6239
6240	// The types of logs that the database engine has available for export to Amazon
6241	// CloudWatch Logs.
6242	ExportableLogTypes []*string `type:"list"`
6243
6244	// A value that indicates whether the engine version supports exporting the
6245	// log types specified by ExportableLogTypes to CloudWatch Logs.
6246	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
6247
6248	// A list of engine versions that this database engine version can be upgraded
6249	// to.
6250	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
6251}
6252
6253// String returns the string representation
6254func (s DBEngineVersion) String() string {
6255	return awsutil.Prettify(s)
6256}
6257
6258// GoString returns the string representation
6259func (s DBEngineVersion) GoString() string {
6260	return s.String()
6261}
6262
6263// SetDBEngineDescription sets the DBEngineDescription field's value.
6264func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
6265	s.DBEngineDescription = &v
6266	return s
6267}
6268
6269// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
6270func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
6271	s.DBEngineVersionDescription = &v
6272	return s
6273}
6274
6275// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
6276func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
6277	s.DBParameterGroupFamily = &v
6278	return s
6279}
6280
6281// SetEngine sets the Engine field's value.
6282func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
6283	s.Engine = &v
6284	return s
6285}
6286
6287// SetEngineVersion sets the EngineVersion field's value.
6288func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
6289	s.EngineVersion = &v
6290	return s
6291}
6292
6293// SetExportableLogTypes sets the ExportableLogTypes field's value.
6294func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
6295	s.ExportableLogTypes = v
6296	return s
6297}
6298
6299// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
6300func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
6301	s.SupportsLogExportsToCloudwatchLogs = &v
6302	return s
6303}
6304
6305// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
6306func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
6307	s.ValidUpgradeTarget = v
6308	return s
6309}
6310
6311// Detailed information about a DB instance.
6312type DBInstance struct {
6313	_ struct{} `type:"structure"`
6314
6315	// Indicates that minor version patches are applied automatically.
6316	AutoMinorVersionUpgrade *bool `type:"boolean"`
6317
6318	// Specifies the name of the Availability Zone that the DB instance is located
6319	// in.
6320	AvailabilityZone *string `type:"string"`
6321
6322	// Specifies the number of days for which automatic DB snapshots are retained.
6323	BackupRetentionPeriod *int64 `type:"integer"`
6324
6325	// Contains the name of the DB cluster that the DB instance is a member of if
6326	// the DB instance is a member of a DB cluster.
6327	DBClusterIdentifier *string `type:"string"`
6328
6329	// The Amazon Resource Name (ARN) for the DB instance.
6330	DBInstanceArn *string `type:"string"`
6331
6332	// Contains the name of the compute and memory capacity class of the DB instance.
6333	DBInstanceClass *string `type:"string"`
6334
6335	// Contains a user-provided database identifier. This identifier is the unique
6336	// key that identifies a DB instance.
6337	DBInstanceIdentifier *string `type:"string"`
6338
6339	// Specifies the current state of this database.
6340	DBInstanceStatus *string `type:"string"`
6341
6342	// Specifies information on the subnet group that is associated with the DB
6343	// instance, including the name, description, and subnets in the subnet group.
6344	DBSubnetGroup *DBSubnetGroup `type:"structure"`
6345
6346	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
6347	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
6348	// instance is accessed.
6349	DbiResourceId *string `type:"string"`
6350
6351	// A list of log types that this DB instance is configured to export to Amazon
6352	// CloudWatch Logs.
6353	EnabledCloudwatchLogsExports []*string `type:"list"`
6354
6355	// Specifies the connection endpoint.
6356	Endpoint *Endpoint `type:"structure"`
6357
6358	// Provides the name of the database engine to be used for this DB instance.
6359	Engine *string `type:"string"`
6360
6361	// Indicates the database engine version.
6362	EngineVersion *string `type:"string"`
6363
6364	// Provides the date and time that the DB instance was created.
6365	InstanceCreateTime *time.Time `type:"timestamp"`
6366
6367	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
6368	// DB instance.
6369	KmsKeyId *string `type:"string"`
6370
6371	// Specifies the latest time to which a database can be restored with point-in-time
6372	// restore.
6373	LatestRestorableTime *time.Time `type:"timestamp"`
6374
6375	// Specifies that changes to the DB instance are pending. This element is included
6376	// only when changes are pending. Specific changes are identified by subelements.
6377	PendingModifiedValues *PendingModifiedValues `type:"structure"`
6378
6379	// Specifies the daily time range during which automated backups are created
6380	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
6381	PreferredBackupWindow *string `type:"string"`
6382
6383	// Specifies the weekly time range during which system maintenance can occur,
6384	// in Universal Coordinated Time (UTC).
6385	PreferredMaintenanceWindow *string `type:"string"`
6386
6387	// A value that specifies the order in which an Amazon DocumentDB replica is
6388	// promoted to the primary instance after a failure of the existing primary
6389	// instance.
6390	PromotionTier *int64 `type:"integer"`
6391
6392	// Specifies the availability options for the DB instance. A value of true specifies
6393	// an internet-facing instance with a publicly resolvable DNS name, which resolves
6394	// to a public IP address. A value of false specifies an internal instance with
6395	// a DNS name that resolves to a private IP address.
6396	PubliclyAccessible *bool `type:"boolean"`
6397
6398	// The status of a read replica. If the instance is not a read replica, this
6399	// is blank.
6400	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
6401
6402	// Specifies whether the DB instance is encrypted.
6403	StorageEncrypted *bool `type:"boolean"`
6404
6405	// Provides a list of VPC security group elements that the DB instance belongs
6406	// to.
6407	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
6408}
6409
6410// String returns the string representation
6411func (s DBInstance) String() string {
6412	return awsutil.Prettify(s)
6413}
6414
6415// GoString returns the string representation
6416func (s DBInstance) GoString() string {
6417	return s.String()
6418}
6419
6420// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
6421func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
6422	s.AutoMinorVersionUpgrade = &v
6423	return s
6424}
6425
6426// SetAvailabilityZone sets the AvailabilityZone field's value.
6427func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
6428	s.AvailabilityZone = &v
6429	return s
6430}
6431
6432// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
6433func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
6434	s.BackupRetentionPeriod = &v
6435	return s
6436}
6437
6438// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6439func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
6440	s.DBClusterIdentifier = &v
6441	return s
6442}
6443
6444// SetDBInstanceArn sets the DBInstanceArn field's value.
6445func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
6446	s.DBInstanceArn = &v
6447	return s
6448}
6449
6450// SetDBInstanceClass sets the DBInstanceClass field's value.
6451func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
6452	s.DBInstanceClass = &v
6453	return s
6454}
6455
6456// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
6457func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
6458	s.DBInstanceIdentifier = &v
6459	return s
6460}
6461
6462// SetDBInstanceStatus sets the DBInstanceStatus field's value.
6463func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
6464	s.DBInstanceStatus = &v
6465	return s
6466}
6467
6468// SetDBSubnetGroup sets the DBSubnetGroup field's value.
6469func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
6470	s.DBSubnetGroup = v
6471	return s
6472}
6473
6474// SetDbiResourceId sets the DbiResourceId field's value.
6475func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
6476	s.DbiResourceId = &v
6477	return s
6478}
6479
6480// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
6481func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
6482	s.EnabledCloudwatchLogsExports = v
6483	return s
6484}
6485
6486// SetEndpoint sets the Endpoint field's value.
6487func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
6488	s.Endpoint = v
6489	return s
6490}
6491
6492// SetEngine sets the Engine field's value.
6493func (s *DBInstance) SetEngine(v string) *DBInstance {
6494	s.Engine = &v
6495	return s
6496}
6497
6498// SetEngineVersion sets the EngineVersion field's value.
6499func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
6500	s.EngineVersion = &v
6501	return s
6502}
6503
6504// SetInstanceCreateTime sets the InstanceCreateTime field's value.
6505func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
6506	s.InstanceCreateTime = &v
6507	return s
6508}
6509
6510// SetKmsKeyId sets the KmsKeyId field's value.
6511func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
6512	s.KmsKeyId = &v
6513	return s
6514}
6515
6516// SetLatestRestorableTime sets the LatestRestorableTime field's value.
6517func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
6518	s.LatestRestorableTime = &v
6519	return s
6520}
6521
6522// SetPendingModifiedValues sets the PendingModifiedValues field's value.
6523func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
6524	s.PendingModifiedValues = v
6525	return s
6526}
6527
6528// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
6529func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
6530	s.PreferredBackupWindow = &v
6531	return s
6532}
6533
6534// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
6535func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
6536	s.PreferredMaintenanceWindow = &v
6537	return s
6538}
6539
6540// SetPromotionTier sets the PromotionTier field's value.
6541func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
6542	s.PromotionTier = &v
6543	return s
6544}
6545
6546// SetPubliclyAccessible sets the PubliclyAccessible field's value.
6547func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
6548	s.PubliclyAccessible = &v
6549	return s
6550}
6551
6552// SetStatusInfos sets the StatusInfos field's value.
6553func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
6554	s.StatusInfos = v
6555	return s
6556}
6557
6558// SetStorageEncrypted sets the StorageEncrypted field's value.
6559func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
6560	s.StorageEncrypted = &v
6561	return s
6562}
6563
6564// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
6565func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
6566	s.VpcSecurityGroups = v
6567	return s
6568}
6569
6570// Provides a list of status information for a DB instance.
6571type DBInstanceStatusInfo struct {
6572	_ struct{} `type:"structure"`
6573
6574	// Details of the error if there is an error for the instance. If the instance
6575	// is not in an error state, this value is blank.
6576	Message *string `type:"string"`
6577
6578	// A Boolean value that is true if the instance is operating normally, or false
6579	// if the instance is in an error state.
6580	Normal *bool `type:"boolean"`
6581
6582	// Status of the DB instance. For a StatusType of read replica, the values can
6583	// be replicating, error, stopped, or terminated.
6584	Status *string `type:"string"`
6585
6586	// This value is currently "read replication."
6587	StatusType *string `type:"string"`
6588}
6589
6590// String returns the string representation
6591func (s DBInstanceStatusInfo) String() string {
6592	return awsutil.Prettify(s)
6593}
6594
6595// GoString returns the string representation
6596func (s DBInstanceStatusInfo) GoString() string {
6597	return s.String()
6598}
6599
6600// SetMessage sets the Message field's value.
6601func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
6602	s.Message = &v
6603	return s
6604}
6605
6606// SetNormal sets the Normal field's value.
6607func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
6608	s.Normal = &v
6609	return s
6610}
6611
6612// SetStatus sets the Status field's value.
6613func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
6614	s.Status = &v
6615	return s
6616}
6617
6618// SetStatusType sets the StatusType field's value.
6619func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
6620	s.StatusType = &v
6621	return s
6622}
6623
6624// Detailed information about a DB subnet group.
6625type DBSubnetGroup struct {
6626	_ struct{} `type:"structure"`
6627
6628	// The Amazon Resource Identifier (ARN) for the DB subnet group.
6629	DBSubnetGroupArn *string `type:"string"`
6630
6631	// Provides the description of the DB subnet group.
6632	DBSubnetGroupDescription *string `type:"string"`
6633
6634	// The name of the DB subnet group.
6635	DBSubnetGroupName *string `type:"string"`
6636
6637	// Provides the status of the DB subnet group.
6638	SubnetGroupStatus *string `type:"string"`
6639
6640	// Detailed information about one or more subnets within a DB subnet group.
6641	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
6642
6643	// Provides the virtual private cloud (VPC) ID of the DB subnet group.
6644	VpcId *string `type:"string"`
6645}
6646
6647// String returns the string representation
6648func (s DBSubnetGroup) String() string {
6649	return awsutil.Prettify(s)
6650}
6651
6652// GoString returns the string representation
6653func (s DBSubnetGroup) GoString() string {
6654	return s.String()
6655}
6656
6657// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
6658func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
6659	s.DBSubnetGroupArn = &v
6660	return s
6661}
6662
6663// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
6664func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
6665	s.DBSubnetGroupDescription = &v
6666	return s
6667}
6668
6669// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
6670func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
6671	s.DBSubnetGroupName = &v
6672	return s
6673}
6674
6675// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
6676func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
6677	s.SubnetGroupStatus = &v
6678	return s
6679}
6680
6681// SetSubnets sets the Subnets field's value.
6682func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
6683	s.Subnets = v
6684	return s
6685}
6686
6687// SetVpcId sets the VpcId field's value.
6688func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
6689	s.VpcId = &v
6690	return s
6691}
6692
6693// Represents the input to DeleteDBCluster.
6694type DeleteDBClusterInput struct {
6695	_ struct{} `type:"structure"`
6696
6697	// The DB cluster identifier for the DB cluster to be deleted. This parameter
6698	// isn't case sensitive.
6699	//
6700	// Constraints:
6701	//
6702	//    * Must match an existing DBClusterIdentifier.
6703	//
6704	// DBClusterIdentifier is a required field
6705	DBClusterIdentifier *string `type:"string" required:"true"`
6706
6707	// The DB cluster snapshot identifier of the new DB cluster snapshot created
6708	// when SkipFinalSnapshot is set to false.
6709	//
6710	// Specifying this parameter and also setting the SkipFinalShapshot parameter
6711	// to true results in an error.
6712	//
6713	// Constraints:
6714	//
6715	//    * Must be from 1 to 255 letters, numbers, or hyphens.
6716	//
6717	//    * The first character must be a letter.
6718	//
6719	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6720	FinalDBSnapshotIdentifier *string `type:"string"`
6721
6722	// Determines whether a final DB cluster snapshot is created before the DB cluster
6723	// is deleted. If true is specified, no DB cluster snapshot is created. If false
6724	// is specified, a DB cluster snapshot is created before the DB cluster is deleted.
6725	//
6726	// If SkipFinalSnapshot is false, you must specify a FinalDBSnapshotIdentifier
6727	// parameter.
6728	//
6729	// Default: false
6730	SkipFinalSnapshot *bool `type:"boolean"`
6731}
6732
6733// String returns the string representation
6734func (s DeleteDBClusterInput) String() string {
6735	return awsutil.Prettify(s)
6736}
6737
6738// GoString returns the string representation
6739func (s DeleteDBClusterInput) GoString() string {
6740	return s.String()
6741}
6742
6743// Validate inspects the fields of the type to determine if they are valid.
6744func (s *DeleteDBClusterInput) Validate() error {
6745	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
6746	if s.DBClusterIdentifier == nil {
6747		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
6748	}
6749
6750	if invalidParams.Len() > 0 {
6751		return invalidParams
6752	}
6753	return nil
6754}
6755
6756// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6757func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
6758	s.DBClusterIdentifier = &v
6759	return s
6760}
6761
6762// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
6763func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
6764	s.FinalDBSnapshotIdentifier = &v
6765	return s
6766}
6767
6768// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
6769func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
6770	s.SkipFinalSnapshot = &v
6771	return s
6772}
6773
6774type DeleteDBClusterOutput struct {
6775	_ struct{} `type:"structure"`
6776
6777	// Detailed information about a DB cluster.
6778	DBCluster *DBCluster `type:"structure"`
6779}
6780
6781// String returns the string representation
6782func (s DeleteDBClusterOutput) String() string {
6783	return awsutil.Prettify(s)
6784}
6785
6786// GoString returns the string representation
6787func (s DeleteDBClusterOutput) GoString() string {
6788	return s.String()
6789}
6790
6791// SetDBCluster sets the DBCluster field's value.
6792func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
6793	s.DBCluster = v
6794	return s
6795}
6796
6797// Represents the input to DeleteDBClusterParameterGroup.
6798type DeleteDBClusterParameterGroupInput struct {
6799	_ struct{} `type:"structure"`
6800
6801	// The name of the DB cluster parameter group.
6802	//
6803	// Constraints:
6804	//
6805	//    * Must be the name of an existing DB cluster parameter group.
6806	//
6807	//    * You can't delete a default DB cluster parameter group.
6808	//
6809	//    * Cannot be associated with any DB clusters.
6810	//
6811	// DBClusterParameterGroupName is a required field
6812	DBClusterParameterGroupName *string `type:"string" required:"true"`
6813}
6814
6815// String returns the string representation
6816func (s DeleteDBClusterParameterGroupInput) String() string {
6817	return awsutil.Prettify(s)
6818}
6819
6820// GoString returns the string representation
6821func (s DeleteDBClusterParameterGroupInput) GoString() string {
6822	return s.String()
6823}
6824
6825// Validate inspects the fields of the type to determine if they are valid.
6826func (s *DeleteDBClusterParameterGroupInput) Validate() error {
6827	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
6828	if s.DBClusterParameterGroupName == nil {
6829		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
6830	}
6831
6832	if invalidParams.Len() > 0 {
6833		return invalidParams
6834	}
6835	return nil
6836}
6837
6838// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
6839func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
6840	s.DBClusterParameterGroupName = &v
6841	return s
6842}
6843
6844type DeleteDBClusterParameterGroupOutput struct {
6845	_ struct{} `type:"structure"`
6846}
6847
6848// String returns the string representation
6849func (s DeleteDBClusterParameterGroupOutput) String() string {
6850	return awsutil.Prettify(s)
6851}
6852
6853// GoString returns the string representation
6854func (s DeleteDBClusterParameterGroupOutput) GoString() string {
6855	return s.String()
6856}
6857
6858// Represents the input to DeleteDBClusterSnapshot.
6859type DeleteDBClusterSnapshotInput struct {
6860	_ struct{} `type:"structure"`
6861
6862	// The identifier of the DB cluster snapshot to delete.
6863	//
6864	// Constraints: Must be the name of an existing DB cluster snapshot in the available
6865	// state.
6866	//
6867	// DBClusterSnapshotIdentifier is a required field
6868	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
6869}
6870
6871// String returns the string representation
6872func (s DeleteDBClusterSnapshotInput) String() string {
6873	return awsutil.Prettify(s)
6874}
6875
6876// GoString returns the string representation
6877func (s DeleteDBClusterSnapshotInput) GoString() string {
6878	return s.String()
6879}
6880
6881// Validate inspects the fields of the type to determine if they are valid.
6882func (s *DeleteDBClusterSnapshotInput) Validate() error {
6883	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
6884	if s.DBClusterSnapshotIdentifier == nil {
6885		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
6886	}
6887
6888	if invalidParams.Len() > 0 {
6889		return invalidParams
6890	}
6891	return nil
6892}
6893
6894// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
6895func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
6896	s.DBClusterSnapshotIdentifier = &v
6897	return s
6898}
6899
6900type DeleteDBClusterSnapshotOutput struct {
6901	_ struct{} `type:"structure"`
6902
6903	// Detailed information about a DB cluster snapshot.
6904	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
6905}
6906
6907// String returns the string representation
6908func (s DeleteDBClusterSnapshotOutput) String() string {
6909	return awsutil.Prettify(s)
6910}
6911
6912// GoString returns the string representation
6913func (s DeleteDBClusterSnapshotOutput) GoString() string {
6914	return s.String()
6915}
6916
6917// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
6918func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
6919	s.DBClusterSnapshot = v
6920	return s
6921}
6922
6923// Represents the input to DeleteDBInstance.
6924type DeleteDBInstanceInput struct {
6925	_ struct{} `type:"structure"`
6926
6927	// The DB instance identifier for the DB instance to be deleted. This parameter
6928	// isn't case sensitive.
6929	//
6930	// Constraints:
6931	//
6932	//    * Must match the name of an existing DB instance.
6933	//
6934	// DBInstanceIdentifier is a required field
6935	DBInstanceIdentifier *string `type:"string" required:"true"`
6936}
6937
6938// String returns the string representation
6939func (s DeleteDBInstanceInput) String() string {
6940	return awsutil.Prettify(s)
6941}
6942
6943// GoString returns the string representation
6944func (s DeleteDBInstanceInput) GoString() string {
6945	return s.String()
6946}
6947
6948// Validate inspects the fields of the type to determine if they are valid.
6949func (s *DeleteDBInstanceInput) Validate() error {
6950	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
6951	if s.DBInstanceIdentifier == nil {
6952		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
6953	}
6954
6955	if invalidParams.Len() > 0 {
6956		return invalidParams
6957	}
6958	return nil
6959}
6960
6961// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
6962func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
6963	s.DBInstanceIdentifier = &v
6964	return s
6965}
6966
6967type DeleteDBInstanceOutput struct {
6968	_ struct{} `type:"structure"`
6969
6970	// Detailed information about a DB instance.
6971	DBInstance *DBInstance `type:"structure"`
6972}
6973
6974// String returns the string representation
6975func (s DeleteDBInstanceOutput) String() string {
6976	return awsutil.Prettify(s)
6977}
6978
6979// GoString returns the string representation
6980func (s DeleteDBInstanceOutput) GoString() string {
6981	return s.String()
6982}
6983
6984// SetDBInstance sets the DBInstance field's value.
6985func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
6986	s.DBInstance = v
6987	return s
6988}
6989
6990// Represents the input to DeleteDBSubnetGroup.
6991type DeleteDBSubnetGroupInput struct {
6992	_ struct{} `type:"structure"`
6993
6994	// The name of the database subnet group to delete.
6995	//
6996	// You can't delete the default subnet group.
6997	//
6998	// Constraints:
6999	//
7000	// Must match the name of an existing DBSubnetGroup. Must not be default.
7001	//
7002	// Example: mySubnetgroup
7003	//
7004	// DBSubnetGroupName is a required field
7005	DBSubnetGroupName *string `type:"string" required:"true"`
7006}
7007
7008// String returns the string representation
7009func (s DeleteDBSubnetGroupInput) String() string {
7010	return awsutil.Prettify(s)
7011}
7012
7013// GoString returns the string representation
7014func (s DeleteDBSubnetGroupInput) GoString() string {
7015	return s.String()
7016}
7017
7018// Validate inspects the fields of the type to determine if they are valid.
7019func (s *DeleteDBSubnetGroupInput) Validate() error {
7020	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
7021	if s.DBSubnetGroupName == nil {
7022		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
7023	}
7024
7025	if invalidParams.Len() > 0 {
7026		return invalidParams
7027	}
7028	return nil
7029}
7030
7031// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
7032func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
7033	s.DBSubnetGroupName = &v
7034	return s
7035}
7036
7037type DeleteDBSubnetGroupOutput struct {
7038	_ struct{} `type:"structure"`
7039}
7040
7041// String returns the string representation
7042func (s DeleteDBSubnetGroupOutput) String() string {
7043	return awsutil.Prettify(s)
7044}
7045
7046// GoString returns the string representation
7047func (s DeleteDBSubnetGroupOutput) GoString() string {
7048	return s.String()
7049}
7050
7051// Represents the input to DescribeDBClusterParameterGroups.
7052type DescribeDBClusterParameterGroupsInput struct {
7053	_ struct{} `type:"structure"`
7054
7055	// The name of a specific DB cluster parameter group to return details for.
7056	//
7057	// Constraints:
7058	//
7059	//    * If provided, must match the name of an existing DBClusterParameterGroup.
7060	DBClusterParameterGroupName *string `type:"string"`
7061
7062	// This parameter is not currently supported.
7063	Filters []*Filter `locationNameList:"Filter" type:"list"`
7064
7065	// An optional pagination token provided by a previous request. If this parameter
7066	// is specified, the response includes only records beyond the marker, up to
7067	// the value specified by MaxRecords.
7068	Marker *string `type:"string"`
7069
7070	// The maximum number of records to include in the response. If more records
7071	// exist than the specified MaxRecords value, a pagination token (marker) is
7072	// included in the response so that the remaining results can be retrieved.
7073	//
7074	// Default: 100
7075	//
7076	// Constraints: Minimum 20, maximum 100.
7077	MaxRecords *int64 `type:"integer"`
7078}
7079
7080// String returns the string representation
7081func (s DescribeDBClusterParameterGroupsInput) String() string {
7082	return awsutil.Prettify(s)
7083}
7084
7085// GoString returns the string representation
7086func (s DescribeDBClusterParameterGroupsInput) GoString() string {
7087	return s.String()
7088}
7089
7090// Validate inspects the fields of the type to determine if they are valid.
7091func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
7092	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
7093	if s.Filters != nil {
7094		for i, v := range s.Filters {
7095			if v == nil {
7096				continue
7097			}
7098			if err := v.Validate(); err != nil {
7099				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7100			}
7101		}
7102	}
7103
7104	if invalidParams.Len() > 0 {
7105		return invalidParams
7106	}
7107	return nil
7108}
7109
7110// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7111func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
7112	s.DBClusterParameterGroupName = &v
7113	return s
7114}
7115
7116// SetFilters sets the Filters field's value.
7117func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
7118	s.Filters = v
7119	return s
7120}
7121
7122// SetMarker sets the Marker field's value.
7123func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
7124	s.Marker = &v
7125	return s
7126}
7127
7128// SetMaxRecords sets the MaxRecords field's value.
7129func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
7130	s.MaxRecords = &v
7131	return s
7132}
7133
7134// Represents the output of DBClusterParameterGroups.
7135type DescribeDBClusterParameterGroupsOutput struct {
7136	_ struct{} `type:"structure"`
7137
7138	// A list of DB cluster parameter groups.
7139	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
7140
7141	// An optional pagination token provided by a previous request. If this parameter
7142	// is specified, the response includes only records beyond the marker, up to
7143	// the value specified by MaxRecords.
7144	Marker *string `type:"string"`
7145}
7146
7147// String returns the string representation
7148func (s DescribeDBClusterParameterGroupsOutput) String() string {
7149	return awsutil.Prettify(s)
7150}
7151
7152// GoString returns the string representation
7153func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
7154	return s.String()
7155}
7156
7157// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
7158func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
7159	s.DBClusterParameterGroups = v
7160	return s
7161}
7162
7163// SetMarker sets the Marker field's value.
7164func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
7165	s.Marker = &v
7166	return s
7167}
7168
7169// Represents the input to DescribeDBClusterParameters.
7170type DescribeDBClusterParametersInput struct {
7171	_ struct{} `type:"structure"`
7172
7173	// The name of a specific DB cluster parameter group to return parameter details
7174	// for.
7175	//
7176	// Constraints:
7177	//
7178	//    * If provided, must match the name of an existing DBClusterParameterGroup.
7179	//
7180	// DBClusterParameterGroupName is a required field
7181	DBClusterParameterGroupName *string `type:"string" required:"true"`
7182
7183	// This parameter is not currently supported.
7184	Filters []*Filter `locationNameList:"Filter" type:"list"`
7185
7186	// An optional pagination token provided by a previous request. If this parameter
7187	// is specified, the response includes only records beyond the marker, up to
7188	// the value specified by MaxRecords.
7189	Marker *string `type:"string"`
7190
7191	// The maximum number of records to include in the response. If more records
7192	// exist than the specified MaxRecords value, a pagination token (marker) is
7193	// included in the response so that the remaining results can be retrieved.
7194	//
7195	// Default: 100
7196	//
7197	// Constraints: Minimum 20, maximum 100.
7198	MaxRecords *int64 `type:"integer"`
7199
7200	// A value that indicates to return only parameters for a specific source. Parameter
7201	// sources can be engine, service, or customer.
7202	Source *string `type:"string"`
7203}
7204
7205// String returns the string representation
7206func (s DescribeDBClusterParametersInput) String() string {
7207	return awsutil.Prettify(s)
7208}
7209
7210// GoString returns the string representation
7211func (s DescribeDBClusterParametersInput) GoString() string {
7212	return s.String()
7213}
7214
7215// Validate inspects the fields of the type to determine if they are valid.
7216func (s *DescribeDBClusterParametersInput) Validate() error {
7217	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
7218	if s.DBClusterParameterGroupName == nil {
7219		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
7220	}
7221	if s.Filters != nil {
7222		for i, v := range s.Filters {
7223			if v == nil {
7224				continue
7225			}
7226			if err := v.Validate(); err != nil {
7227				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7228			}
7229		}
7230	}
7231
7232	if invalidParams.Len() > 0 {
7233		return invalidParams
7234	}
7235	return nil
7236}
7237
7238// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7239func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
7240	s.DBClusterParameterGroupName = &v
7241	return s
7242}
7243
7244// SetFilters sets the Filters field's value.
7245func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
7246	s.Filters = v
7247	return s
7248}
7249
7250// SetMarker sets the Marker field's value.
7251func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
7252	s.Marker = &v
7253	return s
7254}
7255
7256// SetMaxRecords sets the MaxRecords field's value.
7257func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
7258	s.MaxRecords = &v
7259	return s
7260}
7261
7262// SetSource sets the Source field's value.
7263func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
7264	s.Source = &v
7265	return s
7266}
7267
7268// Represents the output of DBClusterParameterGroup.
7269type DescribeDBClusterParametersOutput struct {
7270	_ struct{} `type:"structure"`
7271
7272	// An optional pagination token provided by a previous request. If this parameter
7273	// is specified, the response includes only records beyond the marker, up to
7274	// the value specified by MaxRecords.
7275	Marker *string `type:"string"`
7276
7277	// Provides a list of parameters for the DB cluster parameter group.
7278	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
7279}
7280
7281// String returns the string representation
7282func (s DescribeDBClusterParametersOutput) String() string {
7283	return awsutil.Prettify(s)
7284}
7285
7286// GoString returns the string representation
7287func (s DescribeDBClusterParametersOutput) GoString() string {
7288	return s.String()
7289}
7290
7291// SetMarker sets the Marker field's value.
7292func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
7293	s.Marker = &v
7294	return s
7295}
7296
7297// SetParameters sets the Parameters field's value.
7298func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
7299	s.Parameters = v
7300	return s
7301}
7302
7303// Represents the input to DescribeDBClusterSnapshotAttributes.
7304type DescribeDBClusterSnapshotAttributesInput struct {
7305	_ struct{} `type:"structure"`
7306
7307	// The identifier for the DB cluster snapshot to describe the attributes for.
7308	//
7309	// DBClusterSnapshotIdentifier is a required field
7310	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
7311}
7312
7313// String returns the string representation
7314func (s DescribeDBClusterSnapshotAttributesInput) String() string {
7315	return awsutil.Prettify(s)
7316}
7317
7318// GoString returns the string representation
7319func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
7320	return s.String()
7321}
7322
7323// Validate inspects the fields of the type to determine if they are valid.
7324func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
7325	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
7326	if s.DBClusterSnapshotIdentifier == nil {
7327		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
7328	}
7329
7330	if invalidParams.Len() > 0 {
7331		return invalidParams
7332	}
7333	return nil
7334}
7335
7336// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
7337func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
7338	s.DBClusterSnapshotIdentifier = &v
7339	return s
7340}
7341
7342type DescribeDBClusterSnapshotAttributesOutput struct {
7343	_ struct{} `type:"structure"`
7344
7345	// Detailed information about the attributes that are associated with a DB cluster
7346	// snapshot.
7347	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
7348}
7349
7350// String returns the string representation
7351func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
7352	return awsutil.Prettify(s)
7353}
7354
7355// GoString returns the string representation
7356func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
7357	return s.String()
7358}
7359
7360// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
7361func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
7362	s.DBClusterSnapshotAttributesResult = v
7363	return s
7364}
7365
7366// Represents the input to DescribeDBClusterSnapshots.
7367type DescribeDBClusterSnapshotsInput struct {
7368	_ struct{} `type:"structure"`
7369
7370	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
7371	// This parameter can't be used with the DBClusterSnapshotIdentifier parameter.
7372	// This parameter is not case sensitive.
7373	//
7374	// Constraints:
7375	//
7376	//    * If provided, must match the identifier of an existing DBCluster.
7377	DBClusterIdentifier *string `type:"string"`
7378
7379	// A specific DB cluster snapshot identifier to describe. This parameter can't
7380	// be used with the DBClusterIdentifier parameter. This value is stored as a
7381	// lowercase string.
7382	//
7383	// Constraints:
7384	//
7385	//    * If provided, must match the identifier of an existing DBClusterSnapshot.
7386	//
7387	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
7388	//    must also be specified.
7389	DBClusterSnapshotIdentifier *string `type:"string"`
7390
7391	// This parameter is not currently supported.
7392	Filters []*Filter `locationNameList:"Filter" type:"list"`
7393
7394	// Set to true to include manual DB cluster snapshots that are public and can
7395	// be copied or restored by any AWS account, and otherwise false. The default
7396	// is false.
7397	IncludePublic *bool `type:"boolean"`
7398
7399	// Set to true to include shared manual DB cluster snapshots from other AWS
7400	// accounts that this AWS account has been given permission to copy or restore,
7401	// and otherwise false. The default is false.
7402	IncludeShared *bool `type:"boolean"`
7403
7404	// An optional pagination token provided by a previous request. If this parameter
7405	// is specified, the response includes only records beyond the marker, up to
7406	// the value specified by MaxRecords.
7407	Marker *string `type:"string"`
7408
7409	// The maximum number of records to include in the response. If more records
7410	// exist than the specified MaxRecords value, a pagination token (marker) is
7411	// included in the response so that the remaining results can be retrieved.
7412	//
7413	// Default: 100
7414	//
7415	// Constraints: Minimum 20, maximum 100.
7416	MaxRecords *int64 `type:"integer"`
7417
7418	// The type of DB cluster snapshots to be returned. You can specify one of the
7419	// following values:
7420	//
7421	//    * automated - Return all DB cluster snapshots that Amazon DocumentDB has
7422	//    automatically created for your AWS account.
7423	//
7424	//    * manual - Return all DB cluster snapshots that you have manually created
7425	//    for your AWS account.
7426	//
7427	//    * shared - Return all manual DB cluster snapshots that have been shared
7428	//    to your AWS account.
7429	//
7430	//    * public - Return all DB cluster snapshots that have been marked as public.
7431	//
7432	// If you don't specify a SnapshotType value, then both automated and manual
7433	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
7434	// with these results by setting the IncludeShared parameter to true. You can
7435	// include public DB cluster snapshots with these results by setting the IncludePublic
7436	// parameter to true.
7437	//
7438	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
7439	// values of manual or automated. The IncludePublic parameter doesn't apply
7440	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
7441	// when SnapshotType is set to public.
7442	SnapshotType *string `type:"string"`
7443}
7444
7445// String returns the string representation
7446func (s DescribeDBClusterSnapshotsInput) String() string {
7447	return awsutil.Prettify(s)
7448}
7449
7450// GoString returns the string representation
7451func (s DescribeDBClusterSnapshotsInput) GoString() string {
7452	return s.String()
7453}
7454
7455// Validate inspects the fields of the type to determine if they are valid.
7456func (s *DescribeDBClusterSnapshotsInput) Validate() error {
7457	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
7458	if s.Filters != nil {
7459		for i, v := range s.Filters {
7460			if v == nil {
7461				continue
7462			}
7463			if err := v.Validate(); err != nil {
7464				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7465			}
7466		}
7467	}
7468
7469	if invalidParams.Len() > 0 {
7470		return invalidParams
7471	}
7472	return nil
7473}
7474
7475// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7476func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
7477	s.DBClusterIdentifier = &v
7478	return s
7479}
7480
7481// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
7482func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
7483	s.DBClusterSnapshotIdentifier = &v
7484	return s
7485}
7486
7487// SetFilters sets the Filters field's value.
7488func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
7489	s.Filters = v
7490	return s
7491}
7492
7493// SetIncludePublic sets the IncludePublic field's value.
7494func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
7495	s.IncludePublic = &v
7496	return s
7497}
7498
7499// SetIncludeShared sets the IncludeShared field's value.
7500func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
7501	s.IncludeShared = &v
7502	return s
7503}
7504
7505// SetMarker sets the Marker field's value.
7506func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
7507	s.Marker = &v
7508	return s
7509}
7510
7511// SetMaxRecords sets the MaxRecords field's value.
7512func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
7513	s.MaxRecords = &v
7514	return s
7515}
7516
7517// SetSnapshotType sets the SnapshotType field's value.
7518func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
7519	s.SnapshotType = &v
7520	return s
7521}
7522
7523// Represents the output of DescribeDBClusterSnapshots.
7524type DescribeDBClusterSnapshotsOutput struct {
7525	_ struct{} `type:"structure"`
7526
7527	// Provides a list of DB cluster snapshots.
7528	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
7529
7530	// An optional pagination token provided by a previous request. If this parameter
7531	// is specified, the response includes only records beyond the marker, up to
7532	// the value specified by MaxRecords.
7533	Marker *string `type:"string"`
7534}
7535
7536// String returns the string representation
7537func (s DescribeDBClusterSnapshotsOutput) String() string {
7538	return awsutil.Prettify(s)
7539}
7540
7541// GoString returns the string representation
7542func (s DescribeDBClusterSnapshotsOutput) GoString() string {
7543	return s.String()
7544}
7545
7546// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
7547func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
7548	s.DBClusterSnapshots = v
7549	return s
7550}
7551
7552// SetMarker sets the Marker field's value.
7553func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
7554	s.Marker = &v
7555	return s
7556}
7557
7558// Represents the input to DescribeDBClusters.
7559type DescribeDBClustersInput struct {
7560	_ struct{} `type:"structure"`
7561
7562	// The user-provided DB cluster identifier. If this parameter is specified,
7563	// information from only the specific DB cluster is returned. This parameter
7564	// isn't case sensitive.
7565	//
7566	// Constraints:
7567	//
7568	//    * If provided, must match an existing DBClusterIdentifier.
7569	DBClusterIdentifier *string `type:"string"`
7570
7571	// A filter that specifies one or more DB clusters to describe.
7572	//
7573	// Supported filters:
7574	//
7575	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
7576	//    Resource Names (ARNs). The results list only includes information about
7577	//    the DB clusters identified by these ARNs.
7578	Filters []*Filter `locationNameList:"Filter" type:"list"`
7579
7580	// An optional pagination token provided by a previous request. If this parameter
7581	// is specified, the response includes only records beyond the marker, up to
7582	// the value specified by MaxRecords.
7583	Marker *string `type:"string"`
7584
7585	// The maximum number of records to include in the response. If more records
7586	// exist than the specified MaxRecords value, a pagination token (marker) is
7587	// included in the response so that the remaining results can be retrieved.
7588	//
7589	// Default: 100
7590	//
7591	// Constraints: Minimum 20, maximum 100.
7592	MaxRecords *int64 `type:"integer"`
7593}
7594
7595// String returns the string representation
7596func (s DescribeDBClustersInput) String() string {
7597	return awsutil.Prettify(s)
7598}
7599
7600// GoString returns the string representation
7601func (s DescribeDBClustersInput) GoString() string {
7602	return s.String()
7603}
7604
7605// Validate inspects the fields of the type to determine if they are valid.
7606func (s *DescribeDBClustersInput) Validate() error {
7607	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
7608	if s.Filters != nil {
7609		for i, v := range s.Filters {
7610			if v == nil {
7611				continue
7612			}
7613			if err := v.Validate(); err != nil {
7614				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7615			}
7616		}
7617	}
7618
7619	if invalidParams.Len() > 0 {
7620		return invalidParams
7621	}
7622	return nil
7623}
7624
7625// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7626func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
7627	s.DBClusterIdentifier = &v
7628	return s
7629}
7630
7631// SetFilters sets the Filters field's value.
7632func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
7633	s.Filters = v
7634	return s
7635}
7636
7637// SetMarker sets the Marker field's value.
7638func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
7639	s.Marker = &v
7640	return s
7641}
7642
7643// SetMaxRecords sets the MaxRecords field's value.
7644func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
7645	s.MaxRecords = &v
7646	return s
7647}
7648
7649// Represents the output of DescribeDBClusters.
7650type DescribeDBClustersOutput struct {
7651	_ struct{} `type:"structure"`
7652
7653	// A list of DB clusters.
7654	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
7655
7656	// An optional pagination token provided by a previous request. If this parameter
7657	// is specified, the response includes only records beyond the marker, up to
7658	// the value specified by MaxRecords.
7659	Marker *string `type:"string"`
7660}
7661
7662// String returns the string representation
7663func (s DescribeDBClustersOutput) String() string {
7664	return awsutil.Prettify(s)
7665}
7666
7667// GoString returns the string representation
7668func (s DescribeDBClustersOutput) GoString() string {
7669	return s.String()
7670}
7671
7672// SetDBClusters sets the DBClusters field's value.
7673func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
7674	s.DBClusters = v
7675	return s
7676}
7677
7678// SetMarker sets the Marker field's value.
7679func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
7680	s.Marker = &v
7681	return s
7682}
7683
7684// Represents the input to DescribeDBEngineVersions.
7685type DescribeDBEngineVersionsInput struct {
7686	_ struct{} `type:"structure"`
7687
7688	// The name of a specific DB parameter group family to return details for.
7689	//
7690	// Constraints:
7691	//
7692	//    * If provided, must match an existing DBParameterGroupFamily.
7693	DBParameterGroupFamily *string `type:"string"`
7694
7695	// Indicates that only the default version of the specified engine or engine
7696	// and major version combination is returned.
7697	DefaultOnly *bool `type:"boolean"`
7698
7699	// The database engine to return.
7700	Engine *string `type:"string"`
7701
7702	// The database engine version to return.
7703	//
7704	// Example: 5.1.49
7705	EngineVersion *string `type:"string"`
7706
7707	// This parameter is not currently supported.
7708	Filters []*Filter `locationNameList:"Filter" type:"list"`
7709
7710	// If this parameter is specified and the requested engine supports the CharacterSetName
7711	// parameter for CreateDBInstance, the response includes a list of supported
7712	// character sets for each engine version.
7713	ListSupportedCharacterSets *bool `type:"boolean"`
7714
7715	// If this parameter is specified and the requested engine supports the TimeZone
7716	// parameter for CreateDBInstance, the response includes a list of supported
7717	// time zones for each engine version.
7718	ListSupportedTimezones *bool `type:"boolean"`
7719
7720	// An optional pagination token provided by a previous request. If this parameter
7721	// is specified, the response includes only records beyond the marker, up to
7722	// the value specified by MaxRecords.
7723	Marker *string `type:"string"`
7724
7725	// The maximum number of records to include in the response. If more records
7726	// exist than the specified MaxRecords value, a pagination token (marker) is
7727	// included in the response so that the remaining results can be retrieved.
7728	//
7729	// Default: 100
7730	//
7731	// Constraints: Minimum 20, maximum 100.
7732	MaxRecords *int64 `type:"integer"`
7733}
7734
7735// String returns the string representation
7736func (s DescribeDBEngineVersionsInput) String() string {
7737	return awsutil.Prettify(s)
7738}
7739
7740// GoString returns the string representation
7741func (s DescribeDBEngineVersionsInput) GoString() string {
7742	return s.String()
7743}
7744
7745// Validate inspects the fields of the type to determine if they are valid.
7746func (s *DescribeDBEngineVersionsInput) Validate() error {
7747	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
7748	if s.Filters != nil {
7749		for i, v := range s.Filters {
7750			if v == nil {
7751				continue
7752			}
7753			if err := v.Validate(); err != nil {
7754				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7755			}
7756		}
7757	}
7758
7759	if invalidParams.Len() > 0 {
7760		return invalidParams
7761	}
7762	return nil
7763}
7764
7765// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
7766func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
7767	s.DBParameterGroupFamily = &v
7768	return s
7769}
7770
7771// SetDefaultOnly sets the DefaultOnly field's value.
7772func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
7773	s.DefaultOnly = &v
7774	return s
7775}
7776
7777// SetEngine sets the Engine field's value.
7778func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
7779	s.Engine = &v
7780	return s
7781}
7782
7783// SetEngineVersion sets the EngineVersion field's value.
7784func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
7785	s.EngineVersion = &v
7786	return s
7787}
7788
7789// SetFilters sets the Filters field's value.
7790func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
7791	s.Filters = v
7792	return s
7793}
7794
7795// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
7796func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
7797	s.ListSupportedCharacterSets = &v
7798	return s
7799}
7800
7801// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
7802func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
7803	s.ListSupportedTimezones = &v
7804	return s
7805}
7806
7807// SetMarker sets the Marker field's value.
7808func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
7809	s.Marker = &v
7810	return s
7811}
7812
7813// SetMaxRecords sets the MaxRecords field's value.
7814func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
7815	s.MaxRecords = &v
7816	return s
7817}
7818
7819// Represents the output of DescribeDBEngineVersions.
7820type DescribeDBEngineVersionsOutput struct {
7821	_ struct{} `type:"structure"`
7822
7823	// Detailed information about one or more DB engine versions.
7824	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
7825
7826	// An optional pagination token provided by a previous request. If this parameter
7827	// is specified, the response includes only records beyond the marker, up to
7828	// the value specified by MaxRecords.
7829	Marker *string `type:"string"`
7830}
7831
7832// String returns the string representation
7833func (s DescribeDBEngineVersionsOutput) String() string {
7834	return awsutil.Prettify(s)
7835}
7836
7837// GoString returns the string representation
7838func (s DescribeDBEngineVersionsOutput) GoString() string {
7839	return s.String()
7840}
7841
7842// SetDBEngineVersions sets the DBEngineVersions field's value.
7843func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
7844	s.DBEngineVersions = v
7845	return s
7846}
7847
7848// SetMarker sets the Marker field's value.
7849func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
7850	s.Marker = &v
7851	return s
7852}
7853
7854// Represents the input to DescribeDBInstances.
7855type DescribeDBInstancesInput struct {
7856	_ struct{} `type:"structure"`
7857
7858	// The user-provided instance identifier. If this parameter is specified, information
7859	// from only the specific DB instance is returned. This parameter isn't case
7860	// sensitive.
7861	//
7862	// Constraints:
7863	//
7864	//    * If provided, must match the identifier of an existing DBInstance.
7865	DBInstanceIdentifier *string `type:"string"`
7866
7867	// A filter that specifies one or more DB instances to describe.
7868	//
7869	// Supported filters:
7870	//
7871	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
7872	//    Resource Names (ARNs). The results list includes only the information
7873	//    about the DB instances that are associated with the DB clusters that are
7874	//    identified by these ARNs.
7875	//
7876	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
7877	//    The results list includes only the information about the DB instances
7878	//    that are identified by these ARNs.
7879	Filters []*Filter `locationNameList:"Filter" type:"list"`
7880
7881	// An optional pagination token provided by a previous request. If this parameter
7882	// is specified, the response includes only records beyond the marker, up to
7883	// the value specified by MaxRecords.
7884	Marker *string `type:"string"`
7885
7886	// The maximum number of records to include in the response. If more records
7887	// exist than the specified MaxRecords value, a pagination token (marker) is
7888	// included in the response so that the remaining results can be retrieved.
7889	//
7890	// Default: 100
7891	//
7892	// Constraints: Minimum 20, maximum 100.
7893	MaxRecords *int64 `type:"integer"`
7894}
7895
7896// String returns the string representation
7897func (s DescribeDBInstancesInput) String() string {
7898	return awsutil.Prettify(s)
7899}
7900
7901// GoString returns the string representation
7902func (s DescribeDBInstancesInput) GoString() string {
7903	return s.String()
7904}
7905
7906// Validate inspects the fields of the type to determine if they are valid.
7907func (s *DescribeDBInstancesInput) Validate() error {
7908	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
7909	if s.Filters != nil {
7910		for i, v := range s.Filters {
7911			if v == nil {
7912				continue
7913			}
7914			if err := v.Validate(); err != nil {
7915				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7916			}
7917		}
7918	}
7919
7920	if invalidParams.Len() > 0 {
7921		return invalidParams
7922	}
7923	return nil
7924}
7925
7926// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
7927func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
7928	s.DBInstanceIdentifier = &v
7929	return s
7930}
7931
7932// SetFilters sets the Filters field's value.
7933func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
7934	s.Filters = v
7935	return s
7936}
7937
7938// SetMarker sets the Marker field's value.
7939func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
7940	s.Marker = &v
7941	return s
7942}
7943
7944// SetMaxRecords sets the MaxRecords field's value.
7945func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
7946	s.MaxRecords = &v
7947	return s
7948}
7949
7950// Represents the output of DescribeDBInstances.
7951type DescribeDBInstancesOutput struct {
7952	_ struct{} `type:"structure"`
7953
7954	// Detailed information about one or more DB instances.
7955	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
7956
7957	// An optional pagination token provided by a previous request. If this parameter
7958	// is specified, the response includes only records beyond the marker, up to
7959	// the value specified by MaxRecords.
7960	Marker *string `type:"string"`
7961}
7962
7963// String returns the string representation
7964func (s DescribeDBInstancesOutput) String() string {
7965	return awsutil.Prettify(s)
7966}
7967
7968// GoString returns the string representation
7969func (s DescribeDBInstancesOutput) GoString() string {
7970	return s.String()
7971}
7972
7973// SetDBInstances sets the DBInstances field's value.
7974func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
7975	s.DBInstances = v
7976	return s
7977}
7978
7979// SetMarker sets the Marker field's value.
7980func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
7981	s.Marker = &v
7982	return s
7983}
7984
7985// Represents the input to DescribeDBSubnetGroups.
7986type DescribeDBSubnetGroupsInput struct {
7987	_ struct{} `type:"structure"`
7988
7989	// The name of the DB subnet group to return details for.
7990	DBSubnetGroupName *string `type:"string"`
7991
7992	// This parameter is not currently supported.
7993	Filters []*Filter `locationNameList:"Filter" type:"list"`
7994
7995	// An optional pagination token provided by a previous request. If this parameter
7996	// is specified, the response includes only records beyond the marker, up to
7997	// the value specified by MaxRecords.
7998	Marker *string `type:"string"`
7999
8000	// The maximum number of records to include in the response. If more records
8001	// exist than the specified MaxRecords value, a pagination token (marker) is
8002	// included in the response so that the remaining results can be retrieved.
8003	//
8004	// Default: 100
8005	//
8006	// Constraints: Minimum 20, maximum 100.
8007	MaxRecords *int64 `type:"integer"`
8008}
8009
8010// String returns the string representation
8011func (s DescribeDBSubnetGroupsInput) String() string {
8012	return awsutil.Prettify(s)
8013}
8014
8015// GoString returns the string representation
8016func (s DescribeDBSubnetGroupsInput) GoString() string {
8017	return s.String()
8018}
8019
8020// Validate inspects the fields of the type to determine if they are valid.
8021func (s *DescribeDBSubnetGroupsInput) Validate() error {
8022	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
8023	if s.Filters != nil {
8024		for i, v := range s.Filters {
8025			if v == nil {
8026				continue
8027			}
8028			if err := v.Validate(); err != nil {
8029				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8030			}
8031		}
8032	}
8033
8034	if invalidParams.Len() > 0 {
8035		return invalidParams
8036	}
8037	return nil
8038}
8039
8040// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
8041func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
8042	s.DBSubnetGroupName = &v
8043	return s
8044}
8045
8046// SetFilters sets the Filters field's value.
8047func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
8048	s.Filters = v
8049	return s
8050}
8051
8052// SetMarker sets the Marker field's value.
8053func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
8054	s.Marker = &v
8055	return s
8056}
8057
8058// SetMaxRecords sets the MaxRecords field's value.
8059func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
8060	s.MaxRecords = &v
8061	return s
8062}
8063
8064// Represents the output of DescribeDBSubnetGroups.
8065type DescribeDBSubnetGroupsOutput struct {
8066	_ struct{} `type:"structure"`
8067
8068	// Detailed information about one or more DB subnet groups.
8069	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
8070
8071	// An optional pagination token provided by a previous request. If this parameter
8072	// is specified, the response includes only records beyond the marker, up to
8073	// the value specified by MaxRecords.
8074	Marker *string `type:"string"`
8075}
8076
8077// String returns the string representation
8078func (s DescribeDBSubnetGroupsOutput) String() string {
8079	return awsutil.Prettify(s)
8080}
8081
8082// GoString returns the string representation
8083func (s DescribeDBSubnetGroupsOutput) GoString() string {
8084	return s.String()
8085}
8086
8087// SetDBSubnetGroups sets the DBSubnetGroups field's value.
8088func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
8089	s.DBSubnetGroups = v
8090	return s
8091}
8092
8093// SetMarker sets the Marker field's value.
8094func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
8095	s.Marker = &v
8096	return s
8097}
8098
8099// Represents the input to DescribeEngineDefaultClusterParameters.
8100type DescribeEngineDefaultClusterParametersInput struct {
8101	_ struct{} `type:"structure"`
8102
8103	// The name of the DB cluster parameter group family to return the engine parameter
8104	// information for.
8105	//
8106	// DBParameterGroupFamily is a required field
8107	DBParameterGroupFamily *string `type:"string" required:"true"`
8108
8109	// This parameter is not currently supported.
8110	Filters []*Filter `locationNameList:"Filter" type:"list"`
8111
8112	// An optional pagination token provided by a previous request. If this parameter
8113	// is specified, the response includes only records beyond the marker, up to
8114	// the value specified by MaxRecords.
8115	Marker *string `type:"string"`
8116
8117	// The maximum number of records to include in the response. If more records
8118	// exist than the specified MaxRecords value, a pagination token (marker) is
8119	// included in the response so that the remaining results can be retrieved.
8120	//
8121	// Default: 100
8122	//
8123	// Constraints: Minimum 20, maximum 100.
8124	MaxRecords *int64 `type:"integer"`
8125}
8126
8127// String returns the string representation
8128func (s DescribeEngineDefaultClusterParametersInput) String() string {
8129	return awsutil.Prettify(s)
8130}
8131
8132// GoString returns the string representation
8133func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
8134	return s.String()
8135}
8136
8137// Validate inspects the fields of the type to determine if they are valid.
8138func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
8139	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
8140	if s.DBParameterGroupFamily == nil {
8141		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
8142	}
8143	if s.Filters != nil {
8144		for i, v := range s.Filters {
8145			if v == nil {
8146				continue
8147			}
8148			if err := v.Validate(); err != nil {
8149				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8150			}
8151		}
8152	}
8153
8154	if invalidParams.Len() > 0 {
8155		return invalidParams
8156	}
8157	return nil
8158}
8159
8160// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8161func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
8162	s.DBParameterGroupFamily = &v
8163	return s
8164}
8165
8166// SetFilters sets the Filters field's value.
8167func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
8168	s.Filters = v
8169	return s
8170}
8171
8172// SetMarker sets the Marker field's value.
8173func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
8174	s.Marker = &v
8175	return s
8176}
8177
8178// SetMaxRecords sets the MaxRecords field's value.
8179func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
8180	s.MaxRecords = &v
8181	return s
8182}
8183
8184type DescribeEngineDefaultClusterParametersOutput struct {
8185	_ struct{} `type:"structure"`
8186
8187	// Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters
8188	// operation.
8189	EngineDefaults *EngineDefaults `type:"structure"`
8190}
8191
8192// String returns the string representation
8193func (s DescribeEngineDefaultClusterParametersOutput) String() string {
8194	return awsutil.Prettify(s)
8195}
8196
8197// GoString returns the string representation
8198func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
8199	return s.String()
8200}
8201
8202// SetEngineDefaults sets the EngineDefaults field's value.
8203func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
8204	s.EngineDefaults = v
8205	return s
8206}
8207
8208// Represents the input to DescribeEventCategories.
8209type DescribeEventCategoriesInput struct {
8210	_ struct{} `type:"structure"`
8211
8212	// This parameter is not currently supported.
8213	Filters []*Filter `locationNameList:"Filter" type:"list"`
8214
8215	// The type of source that is generating the events.
8216	//
8217	// Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot
8218	SourceType *string `type:"string"`
8219}
8220
8221// String returns the string representation
8222func (s DescribeEventCategoriesInput) String() string {
8223	return awsutil.Prettify(s)
8224}
8225
8226// GoString returns the string representation
8227func (s DescribeEventCategoriesInput) GoString() string {
8228	return s.String()
8229}
8230
8231// Validate inspects the fields of the type to determine if they are valid.
8232func (s *DescribeEventCategoriesInput) Validate() error {
8233	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
8234	if s.Filters != nil {
8235		for i, v := range s.Filters {
8236			if v == nil {
8237				continue
8238			}
8239			if err := v.Validate(); err != nil {
8240				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8241			}
8242		}
8243	}
8244
8245	if invalidParams.Len() > 0 {
8246		return invalidParams
8247	}
8248	return nil
8249}
8250
8251// SetFilters sets the Filters field's value.
8252func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
8253	s.Filters = v
8254	return s
8255}
8256
8257// SetSourceType sets the SourceType field's value.
8258func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
8259	s.SourceType = &v
8260	return s
8261}
8262
8263// Represents the output of DescribeEventCategories.
8264type DescribeEventCategoriesOutput struct {
8265	_ struct{} `type:"structure"`
8266
8267	// A list of event category maps.
8268	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
8269}
8270
8271// String returns the string representation
8272func (s DescribeEventCategoriesOutput) String() string {
8273	return awsutil.Prettify(s)
8274}
8275
8276// GoString returns the string representation
8277func (s DescribeEventCategoriesOutput) GoString() string {
8278	return s.String()
8279}
8280
8281// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
8282func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
8283	s.EventCategoriesMapList = v
8284	return s
8285}
8286
8287// Represents the input to DescribeEvents.
8288type DescribeEventsInput struct {
8289	_ struct{} `type:"structure"`
8290
8291	// The number of minutes to retrieve events for.
8292	//
8293	// Default: 60
8294	Duration *int64 `type:"integer"`
8295
8296	// The end of the time interval for which to retrieve events, specified in ISO
8297	// 8601 format.
8298	//
8299	// Example: 2009-07-08T18:00Z
8300	EndTime *time.Time `type:"timestamp"`
8301
8302	// A list of event categories that trigger notifications for an event notification
8303	// subscription.
8304	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
8305
8306	// This parameter is not currently supported.
8307	Filters []*Filter `locationNameList:"Filter" type:"list"`
8308
8309	// An optional pagination token provided by a previous request. If this parameter
8310	// is specified, the response includes only records beyond the marker, up to
8311	// the value specified by MaxRecords.
8312	Marker *string `type:"string"`
8313
8314	// The maximum number of records to include in the response. If more records
8315	// exist than the specified MaxRecords value, a pagination token (marker) is
8316	// included in the response so that the remaining results can be retrieved.
8317	//
8318	// Default: 100
8319	//
8320	// Constraints: Minimum 20, maximum 100.
8321	MaxRecords *int64 `type:"integer"`
8322
8323	// The identifier of the event source for which events are returned. If not
8324	// specified, then all sources are included in the response.
8325	//
8326	// Constraints:
8327	//
8328	//    * If SourceIdentifier is provided, SourceType must also be provided.
8329	//
8330	//    * If the source type is DBInstance, a DBInstanceIdentifier must be provided.
8331	//
8332	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
8333	//    provided.
8334	//
8335	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
8336	//    be provided.
8337	//
8338	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be provided.
8339	//
8340	//    * Cannot end with a hyphen or contain two consecutive hyphens.
8341	SourceIdentifier *string `type:"string"`
8342
8343	// The event source to retrieve events for. If no value is specified, all events
8344	// are returned.
8345	SourceType *string `type:"string" enum:"SourceType"`
8346
8347	// The beginning of the time interval to retrieve events for, specified in ISO
8348	// 8601 format.
8349	//
8350	// Example: 2009-07-08T18:00Z
8351	StartTime *time.Time `type:"timestamp"`
8352}
8353
8354// String returns the string representation
8355func (s DescribeEventsInput) String() string {
8356	return awsutil.Prettify(s)
8357}
8358
8359// GoString returns the string representation
8360func (s DescribeEventsInput) GoString() string {
8361	return s.String()
8362}
8363
8364// Validate inspects the fields of the type to determine if they are valid.
8365func (s *DescribeEventsInput) Validate() error {
8366	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
8367	if s.Filters != nil {
8368		for i, v := range s.Filters {
8369			if v == nil {
8370				continue
8371			}
8372			if err := v.Validate(); err != nil {
8373				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8374			}
8375		}
8376	}
8377
8378	if invalidParams.Len() > 0 {
8379		return invalidParams
8380	}
8381	return nil
8382}
8383
8384// SetDuration sets the Duration field's value.
8385func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
8386	s.Duration = &v
8387	return s
8388}
8389
8390// SetEndTime sets the EndTime field's value.
8391func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
8392	s.EndTime = &v
8393	return s
8394}
8395
8396// SetEventCategories sets the EventCategories field's value.
8397func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
8398	s.EventCategories = v
8399	return s
8400}
8401
8402// SetFilters sets the Filters field's value.
8403func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
8404	s.Filters = v
8405	return s
8406}
8407
8408// SetMarker sets the Marker field's value.
8409func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
8410	s.Marker = &v
8411	return s
8412}
8413
8414// SetMaxRecords sets the MaxRecords field's value.
8415func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
8416	s.MaxRecords = &v
8417	return s
8418}
8419
8420// SetSourceIdentifier sets the SourceIdentifier field's value.
8421func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
8422	s.SourceIdentifier = &v
8423	return s
8424}
8425
8426// SetSourceType sets the SourceType field's value.
8427func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
8428	s.SourceType = &v
8429	return s
8430}
8431
8432// SetStartTime sets the StartTime field's value.
8433func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
8434	s.StartTime = &v
8435	return s
8436}
8437
8438// Represents the output of DescribeEvents.
8439type DescribeEventsOutput struct {
8440	_ struct{} `type:"structure"`
8441
8442	// Detailed information about one or more events.
8443	Events []*Event `locationNameList:"Event" type:"list"`
8444
8445	// An optional pagination token provided by a previous request. If this parameter
8446	// is specified, the response includes only records beyond the marker, up to
8447	// the value specified by MaxRecords.
8448	Marker *string `type:"string"`
8449}
8450
8451// String returns the string representation
8452func (s DescribeEventsOutput) String() string {
8453	return awsutil.Prettify(s)
8454}
8455
8456// GoString returns the string representation
8457func (s DescribeEventsOutput) GoString() string {
8458	return s.String()
8459}
8460
8461// SetEvents sets the Events field's value.
8462func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
8463	s.Events = v
8464	return s
8465}
8466
8467// SetMarker sets the Marker field's value.
8468func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
8469	s.Marker = &v
8470	return s
8471}
8472
8473// Represents the input to DescribeOrderableDBInstanceOptions.
8474type DescribeOrderableDBInstanceOptionsInput struct {
8475	_ struct{} `type:"structure"`
8476
8477	// The DB instance class filter value. Specify this parameter to show only the
8478	// available offerings that match the specified DB instance class.
8479	DBInstanceClass *string `type:"string"`
8480
8481	// The name of the engine to retrieve DB instance options for.
8482	//
8483	// Engine is a required field
8484	Engine *string `type:"string" required:"true"`
8485
8486	// The engine version filter value. Specify this parameter to show only the
8487	// available offerings that match the specified engine version.
8488	EngineVersion *string `type:"string"`
8489
8490	// This parameter is not currently supported.
8491	Filters []*Filter `locationNameList:"Filter" type:"list"`
8492
8493	// The license model filter value. Specify this parameter to show only the available
8494	// offerings that match the specified license model.
8495	LicenseModel *string `type:"string"`
8496
8497	// An optional pagination token provided by a previous request. If this parameter
8498	// is specified, the response includes only records beyond the marker, up to
8499	// the value specified by MaxRecords.
8500	Marker *string `type:"string"`
8501
8502	// The maximum number of records to include in the response. If more records
8503	// exist than the specified MaxRecords value, a pagination token (marker) is
8504	// included in the response so that the remaining results can be retrieved.
8505	//
8506	// Default: 100
8507	//
8508	// Constraints: Minimum 20, maximum 100.
8509	MaxRecords *int64 `type:"integer"`
8510
8511	// The virtual private cloud (VPC) filter value. Specify this parameter to show
8512	// only the available VPC or non-VPC offerings.
8513	Vpc *bool `type:"boolean"`
8514}
8515
8516// String returns the string representation
8517func (s DescribeOrderableDBInstanceOptionsInput) String() string {
8518	return awsutil.Prettify(s)
8519}
8520
8521// GoString returns the string representation
8522func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
8523	return s.String()
8524}
8525
8526// Validate inspects the fields of the type to determine if they are valid.
8527func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
8528	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
8529	if s.Engine == nil {
8530		invalidParams.Add(request.NewErrParamRequired("Engine"))
8531	}
8532	if s.Filters != nil {
8533		for i, v := range s.Filters {
8534			if v == nil {
8535				continue
8536			}
8537			if err := v.Validate(); err != nil {
8538				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8539			}
8540		}
8541	}
8542
8543	if invalidParams.Len() > 0 {
8544		return invalidParams
8545	}
8546	return nil
8547}
8548
8549// SetDBInstanceClass sets the DBInstanceClass field's value.
8550func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
8551	s.DBInstanceClass = &v
8552	return s
8553}
8554
8555// SetEngine sets the Engine field's value.
8556func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
8557	s.Engine = &v
8558	return s
8559}
8560
8561// SetEngineVersion sets the EngineVersion field's value.
8562func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
8563	s.EngineVersion = &v
8564	return s
8565}
8566
8567// SetFilters sets the Filters field's value.
8568func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
8569	s.Filters = v
8570	return s
8571}
8572
8573// SetLicenseModel sets the LicenseModel field's value.
8574func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
8575	s.LicenseModel = &v
8576	return s
8577}
8578
8579// SetMarker sets the Marker field's value.
8580func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
8581	s.Marker = &v
8582	return s
8583}
8584
8585// SetMaxRecords sets the MaxRecords field's value.
8586func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
8587	s.MaxRecords = &v
8588	return s
8589}
8590
8591// SetVpc sets the Vpc field's value.
8592func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
8593	s.Vpc = &v
8594	return s
8595}
8596
8597// Represents the output of DescribeOrderableDBInstanceOptions.
8598type DescribeOrderableDBInstanceOptionsOutput struct {
8599	_ struct{} `type:"structure"`
8600
8601	// An optional pagination token provided by a previous request. If this parameter
8602	// is specified, the response includes only records beyond the marker, up to
8603	// the value specified by MaxRecords.
8604	Marker *string `type:"string"`
8605
8606	// The options that are available for a particular orderable DB instance.
8607	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
8608}
8609
8610// String returns the string representation
8611func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
8612	return awsutil.Prettify(s)
8613}
8614
8615// GoString returns the string representation
8616func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
8617	return s.String()
8618}
8619
8620// SetMarker sets the Marker field's value.
8621func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
8622	s.Marker = &v
8623	return s
8624}
8625
8626// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
8627func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
8628	s.OrderableDBInstanceOptions = v
8629	return s
8630}
8631
8632// Represents the input to DescribePendingMaintenanceActions.
8633type DescribePendingMaintenanceActionsInput struct {
8634	_ struct{} `type:"structure"`
8635
8636	// A filter that specifies one or more resources to return pending maintenance
8637	// actions for.
8638	//
8639	// Supported filters:
8640	//
8641	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
8642	//    Resource Names (ARNs). The results list includes only pending maintenance
8643	//    actions for the DB clusters identified by these ARNs.
8644	//
8645	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
8646	//    The results list includes only pending maintenance actions for the DB
8647	//    instances identified by these ARNs.
8648	Filters []*Filter `locationNameList:"Filter" type:"list"`
8649
8650	// An optional pagination token provided by a previous request. If this parameter
8651	// is specified, the response includes only records beyond the marker, up to
8652	// the value specified by MaxRecords.
8653	Marker *string `type:"string"`
8654
8655	// The maximum number of records to include in the response. If more records
8656	// exist than the specified MaxRecords value, a pagination token (marker) is
8657	// included in the response so that the remaining results can be retrieved.
8658	//
8659	// Default: 100
8660	//
8661	// Constraints: Minimum 20, maximum 100.
8662	MaxRecords *int64 `type:"integer"`
8663
8664	// The ARN of a resource to return pending maintenance actions for.
8665	ResourceIdentifier *string `type:"string"`
8666}
8667
8668// String returns the string representation
8669func (s DescribePendingMaintenanceActionsInput) String() string {
8670	return awsutil.Prettify(s)
8671}
8672
8673// GoString returns the string representation
8674func (s DescribePendingMaintenanceActionsInput) GoString() string {
8675	return s.String()
8676}
8677
8678// Validate inspects the fields of the type to determine if they are valid.
8679func (s *DescribePendingMaintenanceActionsInput) Validate() error {
8680	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
8681	if s.Filters != nil {
8682		for i, v := range s.Filters {
8683			if v == nil {
8684				continue
8685			}
8686			if err := v.Validate(); err != nil {
8687				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8688			}
8689		}
8690	}
8691
8692	if invalidParams.Len() > 0 {
8693		return invalidParams
8694	}
8695	return nil
8696}
8697
8698// SetFilters sets the Filters field's value.
8699func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
8700	s.Filters = v
8701	return s
8702}
8703
8704// SetMarker sets the Marker field's value.
8705func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
8706	s.Marker = &v
8707	return s
8708}
8709
8710// SetMaxRecords sets the MaxRecords field's value.
8711func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
8712	s.MaxRecords = &v
8713	return s
8714}
8715
8716// SetResourceIdentifier sets the ResourceIdentifier field's value.
8717func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
8718	s.ResourceIdentifier = &v
8719	return s
8720}
8721
8722// Represents the output of DescribePendingMaintenanceActions.
8723type DescribePendingMaintenanceActionsOutput struct {
8724	_ struct{} `type:"structure"`
8725
8726	// An optional pagination token provided by a previous request. If this parameter
8727	// is specified, the response includes only records beyond the marker, up to
8728	// the value specified by MaxRecords.
8729	Marker *string `type:"string"`
8730
8731	// The maintenance actions to be applied.
8732	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
8733}
8734
8735// String returns the string representation
8736func (s DescribePendingMaintenanceActionsOutput) String() string {
8737	return awsutil.Prettify(s)
8738}
8739
8740// GoString returns the string representation
8741func (s DescribePendingMaintenanceActionsOutput) GoString() string {
8742	return s.String()
8743}
8744
8745// SetMarker sets the Marker field's value.
8746func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
8747	s.Marker = &v
8748	return s
8749}
8750
8751// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
8752func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
8753	s.PendingMaintenanceActions = v
8754	return s
8755}
8756
8757// Network information for accessing a DB cluster or DB instance. Client programs
8758// must specify a valid endpoint to access these Amazon DocumentDB resources.
8759type Endpoint struct {
8760	_ struct{} `type:"structure"`
8761
8762	// Specifies the DNS address of the DB instance.
8763	Address *string `type:"string"`
8764
8765	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
8766	HostedZoneId *string `type:"string"`
8767
8768	// Specifies the port that the database engine is listening on.
8769	Port *int64 `type:"integer"`
8770}
8771
8772// String returns the string representation
8773func (s Endpoint) String() string {
8774	return awsutil.Prettify(s)
8775}
8776
8777// GoString returns the string representation
8778func (s Endpoint) GoString() string {
8779	return s.String()
8780}
8781
8782// SetAddress sets the Address field's value.
8783func (s *Endpoint) SetAddress(v string) *Endpoint {
8784	s.Address = &v
8785	return s
8786}
8787
8788// SetHostedZoneId sets the HostedZoneId field's value.
8789func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
8790	s.HostedZoneId = &v
8791	return s
8792}
8793
8794// SetPort sets the Port field's value.
8795func (s *Endpoint) SetPort(v int64) *Endpoint {
8796	s.Port = &v
8797	return s
8798}
8799
8800// Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters
8801// operation.
8802type EngineDefaults struct {
8803	_ struct{} `type:"structure"`
8804
8805	// The name of the DB cluster parameter group family to return the engine parameter
8806	// information for.
8807	DBParameterGroupFamily *string `type:"string"`
8808
8809	// An optional pagination token provided by a previous request. If this parameter
8810	// is specified, the response includes only records beyond the marker, up to
8811	// the value specified by MaxRecords.
8812	Marker *string `type:"string"`
8813
8814	// The parameters of a particular DB cluster parameter group family.
8815	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
8816}
8817
8818// String returns the string representation
8819func (s EngineDefaults) String() string {
8820	return awsutil.Prettify(s)
8821}
8822
8823// GoString returns the string representation
8824func (s EngineDefaults) GoString() string {
8825	return s.String()
8826}
8827
8828// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8829func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
8830	s.DBParameterGroupFamily = &v
8831	return s
8832}
8833
8834// SetMarker sets the Marker field's value.
8835func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
8836	s.Marker = &v
8837	return s
8838}
8839
8840// SetParameters sets the Parameters field's value.
8841func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
8842	s.Parameters = v
8843	return s
8844}
8845
8846// Detailed information about an event.
8847type Event struct {
8848	_ struct{} `type:"structure"`
8849
8850	// Specifies the date and time of the event.
8851	Date *time.Time `type:"timestamp"`
8852
8853	// Specifies the category for the event.
8854	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
8855
8856	// Provides the text of this event.
8857	Message *string `type:"string"`
8858
8859	// The Amazon Resource Name (ARN) for the event.
8860	SourceArn *string `type:"string"`
8861
8862	// Provides the identifier for the source of the event.
8863	SourceIdentifier *string `type:"string"`
8864
8865	// Specifies the source type for this event.
8866	SourceType *string `type:"string" enum:"SourceType"`
8867}
8868
8869// String returns the string representation
8870func (s Event) String() string {
8871	return awsutil.Prettify(s)
8872}
8873
8874// GoString returns the string representation
8875func (s Event) GoString() string {
8876	return s.String()
8877}
8878
8879// SetDate sets the Date field's value.
8880func (s *Event) SetDate(v time.Time) *Event {
8881	s.Date = &v
8882	return s
8883}
8884
8885// SetEventCategories sets the EventCategories field's value.
8886func (s *Event) SetEventCategories(v []*string) *Event {
8887	s.EventCategories = v
8888	return s
8889}
8890
8891// SetMessage sets the Message field's value.
8892func (s *Event) SetMessage(v string) *Event {
8893	s.Message = &v
8894	return s
8895}
8896
8897// SetSourceArn sets the SourceArn field's value.
8898func (s *Event) SetSourceArn(v string) *Event {
8899	s.SourceArn = &v
8900	return s
8901}
8902
8903// SetSourceIdentifier sets the SourceIdentifier field's value.
8904func (s *Event) SetSourceIdentifier(v string) *Event {
8905	s.SourceIdentifier = &v
8906	return s
8907}
8908
8909// SetSourceType sets the SourceType field's value.
8910func (s *Event) SetSourceType(v string) *Event {
8911	s.SourceType = &v
8912	return s
8913}
8914
8915// An event source type, accompanied by one or more event category names.
8916type EventCategoriesMap struct {
8917	_ struct{} `type:"structure"`
8918
8919	// The event categories for the specified source type.
8920	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
8921
8922	// The source type that the returned categories belong to.
8923	SourceType *string `type:"string"`
8924}
8925
8926// String returns the string representation
8927func (s EventCategoriesMap) String() string {
8928	return awsutil.Prettify(s)
8929}
8930
8931// GoString returns the string representation
8932func (s EventCategoriesMap) GoString() string {
8933	return s.String()
8934}
8935
8936// SetEventCategories sets the EventCategories field's value.
8937func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
8938	s.EventCategories = v
8939	return s
8940}
8941
8942// SetSourceType sets the SourceType field's value.
8943func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
8944	s.SourceType = &v
8945	return s
8946}
8947
8948// Represents the input to FailoverDBCluster.
8949type FailoverDBClusterInput struct {
8950	_ struct{} `type:"structure"`
8951
8952	// A DB cluster identifier to force a failover for. This parameter is not case
8953	// sensitive.
8954	//
8955	// Constraints:
8956	//
8957	//    * Must match the identifier of an existing DBCluster.
8958	DBClusterIdentifier *string `type:"string"`
8959
8960	// The name of the instance to promote to the primary instance.
8961	//
8962	// You must specify the instance identifier for an Amazon DocumentDB replica
8963	// in the DB cluster. For example, mydbcluster-replica1.
8964	TargetDBInstanceIdentifier *string `type:"string"`
8965}
8966
8967// String returns the string representation
8968func (s FailoverDBClusterInput) String() string {
8969	return awsutil.Prettify(s)
8970}
8971
8972// GoString returns the string representation
8973func (s FailoverDBClusterInput) GoString() string {
8974	return s.String()
8975}
8976
8977// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8978func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
8979	s.DBClusterIdentifier = &v
8980	return s
8981}
8982
8983// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
8984func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
8985	s.TargetDBInstanceIdentifier = &v
8986	return s
8987}
8988
8989type FailoverDBClusterOutput struct {
8990	_ struct{} `type:"structure"`
8991
8992	// Detailed information about a DB cluster.
8993	DBCluster *DBCluster `type:"structure"`
8994}
8995
8996// String returns the string representation
8997func (s FailoverDBClusterOutput) String() string {
8998	return awsutil.Prettify(s)
8999}
9000
9001// GoString returns the string representation
9002func (s FailoverDBClusterOutput) GoString() string {
9003	return s.String()
9004}
9005
9006// SetDBCluster sets the DBCluster field's value.
9007func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
9008	s.DBCluster = v
9009	return s
9010}
9011
9012// A named set of filter values, used to return a more specific list of results.
9013// You can use a filter to match a set of resources by specific criteria, such
9014// as IDs.
9015//
9016// Wildcards are not supported in filters.
9017type Filter struct {
9018	_ struct{} `type:"structure"`
9019
9020	// The name of the filter. Filter names are case sensitive.
9021	//
9022	// Name is a required field
9023	Name *string `type:"string" required:"true"`
9024
9025	// One or more filter values. Filter values are case sensitive.
9026	//
9027	// Values is a required field
9028	Values []*string `locationNameList:"Value" type:"list" required:"true"`
9029}
9030
9031// String returns the string representation
9032func (s Filter) String() string {
9033	return awsutil.Prettify(s)
9034}
9035
9036// GoString returns the string representation
9037func (s Filter) GoString() string {
9038	return s.String()
9039}
9040
9041// Validate inspects the fields of the type to determine if they are valid.
9042func (s *Filter) Validate() error {
9043	invalidParams := request.ErrInvalidParams{Context: "Filter"}
9044	if s.Name == nil {
9045		invalidParams.Add(request.NewErrParamRequired("Name"))
9046	}
9047	if s.Values == nil {
9048		invalidParams.Add(request.NewErrParamRequired("Values"))
9049	}
9050
9051	if invalidParams.Len() > 0 {
9052		return invalidParams
9053	}
9054	return nil
9055}
9056
9057// SetName sets the Name field's value.
9058func (s *Filter) SetName(v string) *Filter {
9059	s.Name = &v
9060	return s
9061}
9062
9063// SetValues sets the Values field's value.
9064func (s *Filter) SetValues(v []*string) *Filter {
9065	s.Values = v
9066	return s
9067}
9068
9069// Represents the input to ListTagsForResource.
9070type ListTagsForResourceInput struct {
9071	_ struct{} `type:"structure"`
9072
9073	// This parameter is not currently supported.
9074	Filters []*Filter `locationNameList:"Filter" type:"list"`
9075
9076	// The Amazon DocumentDB resource with tags to be listed. This value is an Amazon
9077	// Resource Name (ARN).
9078	//
9079	// ResourceName is a required field
9080	ResourceName *string `type:"string" required:"true"`
9081}
9082
9083// String returns the string representation
9084func (s ListTagsForResourceInput) String() string {
9085	return awsutil.Prettify(s)
9086}
9087
9088// GoString returns the string representation
9089func (s ListTagsForResourceInput) GoString() string {
9090	return s.String()
9091}
9092
9093// Validate inspects the fields of the type to determine if they are valid.
9094func (s *ListTagsForResourceInput) Validate() error {
9095	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9096	if s.ResourceName == nil {
9097		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
9098	}
9099	if s.Filters != nil {
9100		for i, v := range s.Filters {
9101			if v == nil {
9102				continue
9103			}
9104			if err := v.Validate(); err != nil {
9105				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9106			}
9107		}
9108	}
9109
9110	if invalidParams.Len() > 0 {
9111		return invalidParams
9112	}
9113	return nil
9114}
9115
9116// SetFilters sets the Filters field's value.
9117func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
9118	s.Filters = v
9119	return s
9120}
9121
9122// SetResourceName sets the ResourceName field's value.
9123func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
9124	s.ResourceName = &v
9125	return s
9126}
9127
9128// Represents the output of ListTagsForResource.
9129type ListTagsForResourceOutput struct {
9130	_ struct{} `type:"structure"`
9131
9132	// A list of one or more tags.
9133	TagList []*Tag `locationNameList:"Tag" type:"list"`
9134}
9135
9136// String returns the string representation
9137func (s ListTagsForResourceOutput) String() string {
9138	return awsutil.Prettify(s)
9139}
9140
9141// GoString returns the string representation
9142func (s ListTagsForResourceOutput) GoString() string {
9143	return s.String()
9144}
9145
9146// SetTagList sets the TagList field's value.
9147func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
9148	s.TagList = v
9149	return s
9150}
9151
9152// Represents the input to ModifyDBCluster.
9153type ModifyDBClusterInput struct {
9154	_ struct{} `type:"structure"`
9155
9156	// A value that specifies whether the changes in this request and any pending
9157	// changes are asynchronously applied as soon as possible, regardless of the
9158	// PreferredMaintenanceWindow setting for the DB cluster. If this parameter
9159	// is set to false, changes to the DB cluster are applied during the next maintenance
9160	// window.
9161	//
9162	// The ApplyImmediately parameter affects only the NewDBClusterIdentifier and
9163	// MasterUserPassword values. If you set this parameter value to false, the
9164	// changes to the NewDBClusterIdentifier and MasterUserPassword values are applied
9165	// during the next maintenance window. All other changes are applied immediately,
9166	// regardless of the value of the ApplyImmediately parameter.
9167	//
9168	// Default: false
9169	ApplyImmediately *bool `type:"boolean"`
9170
9171	// The number of days for which automated backups are retained. You must specify
9172	// a minimum value of 1.
9173	//
9174	// Default: 1
9175	//
9176	// Constraints:
9177	//
9178	//    * Must be a value from 1 to 35.
9179	BackupRetentionPeriod *int64 `type:"integer"`
9180
9181	// The configuration setting for the log types to be enabled for export to Amazon
9182	// CloudWatch Logs for a specific DB instance or DB cluster. The EnableLogTypes
9183	// and DisableLogTypes arrays determine which logs are exported (or not exported)
9184	// to CloudWatch Logs.
9185	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
9186
9187	// The DB cluster identifier for the cluster that is being modified. This parameter
9188	// is not case sensitive.
9189	//
9190	// Constraints:
9191	//
9192	//    * Must match the identifier of an existing DBCluster.
9193	//
9194	// DBClusterIdentifier is a required field
9195	DBClusterIdentifier *string `type:"string" required:"true"`
9196
9197	// The name of the DB cluster parameter group to use for the DB cluster.
9198	DBClusterParameterGroupName *string `type:"string"`
9199
9200	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
9201	// the cluster cannot be deleted unless it is modified and DeletionProtection
9202	// is disabled. DeletionProtection protects clusters from being accidentally
9203	// deleted.
9204	DeletionProtection *bool `type:"boolean"`
9205
9206	// The version number of the database engine to which you want to upgrade. Changing
9207	// this parameter results in an outage. The change is applied during the next
9208	// maintenance window unless the ApplyImmediately parameter is set to true.
9209	EngineVersion *string `type:"string"`
9210
9211	// The password for the master database user. This password can contain any
9212	// printable ASCII character except forward slash (/), double quote ("), or
9213	// the "at" symbol (@).
9214	//
9215	// Constraints: Must contain from 8 to 41 characters.
9216	MasterUserPassword *string `type:"string"`
9217
9218	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
9219	// This value is stored as a lowercase string.
9220	//
9221	// Constraints:
9222	//
9223	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
9224	//
9225	//    * The first character must be a letter.
9226	//
9227	//    * Cannot end with a hyphen or contain two consecutive hyphens.
9228	//
9229	// Example: my-cluster2
9230	NewDBClusterIdentifier *string `type:"string"`
9231
9232	// The port number on which the DB cluster accepts connections.
9233	//
9234	// Constraints: Must be a value from 1150 to 65535.
9235	//
9236	// Default: The same port as the original DB cluster.
9237	Port *int64 `type:"integer"`
9238
9239	// The daily time range during which automated backups are created if automated
9240	// backups are enabled, using the BackupRetentionPeriod parameter.
9241	//
9242	// The default is a 30-minute window selected at random from an 8-hour block
9243	// of time for each AWS Region.
9244	//
9245	// Constraints:
9246	//
9247	//    * Must be in the format hh24:mi-hh24:mi.
9248	//
9249	//    * Must be in Universal Coordinated Time (UTC).
9250	//
9251	//    * Must not conflict with the preferred maintenance window.
9252	//
9253	//    * Must be at least 30 minutes.
9254	PreferredBackupWindow *string `type:"string"`
9255
9256	// The weekly time range during which system maintenance can occur, in Universal
9257	// Coordinated Time (UTC).
9258	//
9259	// Format: ddd:hh24:mi-ddd:hh24:mi
9260	//
9261	// The default is a 30-minute window selected at random from an 8-hour block
9262	// of time for each AWS Region, occurring on a random day of the week.
9263	//
9264	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
9265	//
9266	// Constraints: Minimum 30-minute window.
9267	PreferredMaintenanceWindow *string `type:"string"`
9268
9269	// A list of virtual private cloud (VPC) security groups that the DB cluster
9270	// will belong to.
9271	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
9272}
9273
9274// String returns the string representation
9275func (s ModifyDBClusterInput) String() string {
9276	return awsutil.Prettify(s)
9277}
9278
9279// GoString returns the string representation
9280func (s ModifyDBClusterInput) GoString() string {
9281	return s.String()
9282}
9283
9284// Validate inspects the fields of the type to determine if they are valid.
9285func (s *ModifyDBClusterInput) Validate() error {
9286	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
9287	if s.DBClusterIdentifier == nil {
9288		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
9289	}
9290
9291	if invalidParams.Len() > 0 {
9292		return invalidParams
9293	}
9294	return nil
9295}
9296
9297// SetApplyImmediately sets the ApplyImmediately field's value.
9298func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
9299	s.ApplyImmediately = &v
9300	return s
9301}
9302
9303// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
9304func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
9305	s.BackupRetentionPeriod = &v
9306	return s
9307}
9308
9309// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
9310func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
9311	s.CloudwatchLogsExportConfiguration = v
9312	return s
9313}
9314
9315// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9316func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
9317	s.DBClusterIdentifier = &v
9318	return s
9319}
9320
9321// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
9322func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
9323	s.DBClusterParameterGroupName = &v
9324	return s
9325}
9326
9327// SetDeletionProtection sets the DeletionProtection field's value.
9328func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
9329	s.DeletionProtection = &v
9330	return s
9331}
9332
9333// SetEngineVersion sets the EngineVersion field's value.
9334func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
9335	s.EngineVersion = &v
9336	return s
9337}
9338
9339// SetMasterUserPassword sets the MasterUserPassword field's value.
9340func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
9341	s.MasterUserPassword = &v
9342	return s
9343}
9344
9345// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
9346func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
9347	s.NewDBClusterIdentifier = &v
9348	return s
9349}
9350
9351// SetPort sets the Port field's value.
9352func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
9353	s.Port = &v
9354	return s
9355}
9356
9357// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
9358func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
9359	s.PreferredBackupWindow = &v
9360	return s
9361}
9362
9363// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
9364func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
9365	s.PreferredMaintenanceWindow = &v
9366	return s
9367}
9368
9369// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
9370func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
9371	s.VpcSecurityGroupIds = v
9372	return s
9373}
9374
9375type ModifyDBClusterOutput struct {
9376	_ struct{} `type:"structure"`
9377
9378	// Detailed information about a DB cluster.
9379	DBCluster *DBCluster `type:"structure"`
9380}
9381
9382// String returns the string representation
9383func (s ModifyDBClusterOutput) String() string {
9384	return awsutil.Prettify(s)
9385}
9386
9387// GoString returns the string representation
9388func (s ModifyDBClusterOutput) GoString() string {
9389	return s.String()
9390}
9391
9392// SetDBCluster sets the DBCluster field's value.
9393func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
9394	s.DBCluster = v
9395	return s
9396}
9397
9398// Represents the input to ModifyDBClusterParameterGroup.
9399type ModifyDBClusterParameterGroupInput struct {
9400	_ struct{} `type:"structure"`
9401
9402	// The name of the DB cluster parameter group to modify.
9403	//
9404	// DBClusterParameterGroupName is a required field
9405	DBClusterParameterGroupName *string `type:"string" required:"true"`
9406
9407	// A list of parameters in the DB cluster parameter group to modify.
9408	//
9409	// Parameters is a required field
9410	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
9411}
9412
9413// String returns the string representation
9414func (s ModifyDBClusterParameterGroupInput) String() string {
9415	return awsutil.Prettify(s)
9416}
9417
9418// GoString returns the string representation
9419func (s ModifyDBClusterParameterGroupInput) GoString() string {
9420	return s.String()
9421}
9422
9423// Validate inspects the fields of the type to determine if they are valid.
9424func (s *ModifyDBClusterParameterGroupInput) Validate() error {
9425	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
9426	if s.DBClusterParameterGroupName == nil {
9427		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
9428	}
9429	if s.Parameters == nil {
9430		invalidParams.Add(request.NewErrParamRequired("Parameters"))
9431	}
9432
9433	if invalidParams.Len() > 0 {
9434		return invalidParams
9435	}
9436	return nil
9437}
9438
9439// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
9440func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
9441	s.DBClusterParameterGroupName = &v
9442	return s
9443}
9444
9445// SetParameters sets the Parameters field's value.
9446func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
9447	s.Parameters = v
9448	return s
9449}
9450
9451// Contains the name of a DB cluster parameter group.
9452type ModifyDBClusterParameterGroupOutput struct {
9453	_ struct{} `type:"structure"`
9454
9455	// The name of a DB cluster parameter group.
9456	//
9457	// Constraints:
9458	//
9459	//    * Must be from 1 to 255 letters or numbers.
9460	//
9461	//    * The first character must be a letter.
9462	//
9463	//    * Cannot end with a hyphen or contain two consecutive hyphens.
9464	//
9465	// This value is stored as a lowercase string.
9466	DBClusterParameterGroupName *string `type:"string"`
9467}
9468
9469// String returns the string representation
9470func (s ModifyDBClusterParameterGroupOutput) String() string {
9471	return awsutil.Prettify(s)
9472}
9473
9474// GoString returns the string representation
9475func (s ModifyDBClusterParameterGroupOutput) GoString() string {
9476	return s.String()
9477}
9478
9479// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
9480func (s *ModifyDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupOutput {
9481	s.DBClusterParameterGroupName = &v
9482	return s
9483}
9484
9485// Represents the input to ModifyDBClusterSnapshotAttribute.
9486type ModifyDBClusterSnapshotAttributeInput struct {
9487	_ struct{} `type:"structure"`
9488
9489	// The name of the DB cluster snapshot attribute to modify.
9490	//
9491	// To manage authorization for other AWS accounts to copy or restore a manual
9492	// DB cluster snapshot, set this value to restore.
9493	//
9494	// AttributeName is a required field
9495	AttributeName *string `type:"string" required:"true"`
9496
9497	// The identifier for the DB cluster snapshot to modify the attributes for.
9498	//
9499	// DBClusterSnapshotIdentifier is a required field
9500	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
9501
9502	// A list of DB cluster snapshot attributes to add to the attribute specified
9503	// by AttributeName.
9504	//
9505	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
9506	// set this list to include one or more AWS account IDs. To make the manual
9507	// DB cluster snapshot restorable by any AWS account, set it to all. Do not
9508	// add the all value for any manual DB cluster snapshots that contain private
9509	// information that you don't want to be available to all AWS accounts.
9510	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
9511
9512	// A list of DB cluster snapshot attributes to remove from the attribute specified
9513	// by AttributeName.
9514	//
9515	// To remove authorization for other AWS accounts to copy or restore a manual
9516	// DB cluster snapshot, set this list to include one or more AWS account identifiers.
9517	// To remove authorization for any AWS account to copy or restore the DB cluster
9518	// snapshot, set it to all . If you specify all, an AWS account whose account
9519	// ID is explicitly added to the restore attribute can still copy or restore
9520	// a manual DB cluster snapshot.
9521	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
9522}
9523
9524// String returns the string representation
9525func (s ModifyDBClusterSnapshotAttributeInput) String() string {
9526	return awsutil.Prettify(s)
9527}
9528
9529// GoString returns the string representation
9530func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
9531	return s.String()
9532}
9533
9534// Validate inspects the fields of the type to determine if they are valid.
9535func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
9536	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
9537	if s.AttributeName == nil {
9538		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
9539	}
9540	if s.DBClusterSnapshotIdentifier == nil {
9541		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
9542	}
9543
9544	if invalidParams.Len() > 0 {
9545		return invalidParams
9546	}
9547	return nil
9548}
9549
9550// SetAttributeName sets the AttributeName field's value.
9551func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
9552	s.AttributeName = &v
9553	return s
9554}
9555
9556// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
9557func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
9558	s.DBClusterSnapshotIdentifier = &v
9559	return s
9560}
9561
9562// SetValuesToAdd sets the ValuesToAdd field's value.
9563func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
9564	s.ValuesToAdd = v
9565	return s
9566}
9567
9568// SetValuesToRemove sets the ValuesToRemove field's value.
9569func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
9570	s.ValuesToRemove = v
9571	return s
9572}
9573
9574type ModifyDBClusterSnapshotAttributeOutput struct {
9575	_ struct{} `type:"structure"`
9576
9577	// Detailed information about the attributes that are associated with a DB cluster
9578	// snapshot.
9579	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
9580}
9581
9582// String returns the string representation
9583func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
9584	return awsutil.Prettify(s)
9585}
9586
9587// GoString returns the string representation
9588func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
9589	return s.String()
9590}
9591
9592// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
9593func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
9594	s.DBClusterSnapshotAttributesResult = v
9595	return s
9596}
9597
9598// Represents the input to ModifyDBInstance.
9599type ModifyDBInstanceInput struct {
9600	_ struct{} `type:"structure"`
9601
9602	// Specifies whether the modifications in this request and any pending modifications
9603	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
9604	// setting for the DB instance.
9605	//
9606	// If this parameter is set to false, changes to the DB instance are applied
9607	// during the next maintenance window. Some parameter changes can cause an outage
9608	// and are applied on the next reboot.
9609	//
9610	// Default: false
9611	ApplyImmediately *bool `type:"boolean"`
9612
9613	// Indicates that minor version upgrades are applied automatically to the DB
9614	// instance during the maintenance window. Changing this parameter doesn't result
9615	// in an outage except in the following case, and the change is asynchronously
9616	// applied as soon as possible. An outage results if this parameter is set to
9617	// true during the maintenance window, and a newer minor version is available,
9618	// and Amazon DocumentDB has enabled automatic patching for that engine version.
9619	AutoMinorVersionUpgrade *bool `type:"boolean"`
9620
9621	// The new compute and memory capacity of the DB instance; for example, db.r5.large.
9622	// Not all DB instance classes are available in all AWS Regions.
9623	//
9624	// If you modify the DB instance class, an outage occurs during the change.
9625	// The change is applied during the next maintenance window, unless ApplyImmediately
9626	// is specified as true for this request.
9627	//
9628	// Default: Uses existing setting.
9629	DBInstanceClass *string `type:"string"`
9630
9631	// The DB instance identifier. This value is stored as a lowercase string.
9632	//
9633	// Constraints:
9634	//
9635	//    * Must match the identifier of an existing DBInstance.
9636	//
9637	// DBInstanceIdentifier is a required field
9638	DBInstanceIdentifier *string `type:"string" required:"true"`
9639
9640	// The new DB instance identifier for the DB instance when renaming a DB instance.
9641	// When you change the DB instance identifier, an instance reboot occurs immediately
9642	// if you set Apply Immediately to true. It occurs during the next maintenance
9643	// window if you set Apply Immediately to false. This value is stored as a lowercase
9644	// string.
9645	//
9646	// Constraints:
9647	//
9648	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
9649	//
9650	//    * The first character must be a letter.
9651	//
9652	//    * Cannot end with a hyphen or contain two consecutive hyphens.
9653	//
9654	// Example: mydbinstance
9655	NewDBInstanceIdentifier *string `type:"string"`
9656
9657	// The weekly time range (in UTC) during which system maintenance can occur,
9658	// which might result in an outage. Changing this parameter doesn't result in
9659	// an outage except in the following situation, and the change is asynchronously
9660	// applied as soon as possible. If there are pending actions that cause a reboot,
9661	// and the maintenance window is changed to include the current time, changing
9662	// this parameter causes a reboot of the DB instance. If you are moving this
9663	// window to the current time, there must be at least 30 minutes between the
9664	// current time and end of the window to ensure that pending changes are applied.
9665	//
9666	// Default: Uses existing setting.
9667	//
9668	// Format: ddd:hh24:mi-ddd:hh24:mi
9669	//
9670	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
9671	//
9672	// Constraints: Must be at least 30 minutes.
9673	PreferredMaintenanceWindow *string `type:"string"`
9674
9675	// A value that specifies the order in which an Amazon DocumentDB replica is
9676	// promoted to the primary instance after a failure of the existing primary
9677	// instance.
9678	//
9679	// Default: 1
9680	//
9681	// Valid values: 0-15
9682	PromotionTier *int64 `type:"integer"`
9683}
9684
9685// String returns the string representation
9686func (s ModifyDBInstanceInput) String() string {
9687	return awsutil.Prettify(s)
9688}
9689
9690// GoString returns the string representation
9691func (s ModifyDBInstanceInput) GoString() string {
9692	return s.String()
9693}
9694
9695// Validate inspects the fields of the type to determine if they are valid.
9696func (s *ModifyDBInstanceInput) Validate() error {
9697	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
9698	if s.DBInstanceIdentifier == nil {
9699		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
9700	}
9701
9702	if invalidParams.Len() > 0 {
9703		return invalidParams
9704	}
9705	return nil
9706}
9707
9708// SetApplyImmediately sets the ApplyImmediately field's value.
9709func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
9710	s.ApplyImmediately = &v
9711	return s
9712}
9713
9714// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
9715func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
9716	s.AutoMinorVersionUpgrade = &v
9717	return s
9718}
9719
9720// SetDBInstanceClass sets the DBInstanceClass field's value.
9721func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
9722	s.DBInstanceClass = &v
9723	return s
9724}
9725
9726// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
9727func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
9728	s.DBInstanceIdentifier = &v
9729	return s
9730}
9731
9732// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
9733func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
9734	s.NewDBInstanceIdentifier = &v
9735	return s
9736}
9737
9738// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
9739func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
9740	s.PreferredMaintenanceWindow = &v
9741	return s
9742}
9743
9744// SetPromotionTier sets the PromotionTier field's value.
9745func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
9746	s.PromotionTier = &v
9747	return s
9748}
9749
9750type ModifyDBInstanceOutput struct {
9751	_ struct{} `type:"structure"`
9752
9753	// Detailed information about a DB instance.
9754	DBInstance *DBInstance `type:"structure"`
9755}
9756
9757// String returns the string representation
9758func (s ModifyDBInstanceOutput) String() string {
9759	return awsutil.Prettify(s)
9760}
9761
9762// GoString returns the string representation
9763func (s ModifyDBInstanceOutput) GoString() string {
9764	return s.String()
9765}
9766
9767// SetDBInstance sets the DBInstance field's value.
9768func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
9769	s.DBInstance = v
9770	return s
9771}
9772
9773// Represents the input to ModifyDBSubnetGroup.
9774type ModifyDBSubnetGroupInput struct {
9775	_ struct{} `type:"structure"`
9776
9777	// The description for the DB subnet group.
9778	DBSubnetGroupDescription *string `type:"string"`
9779
9780	// The name for the DB subnet group. This value is stored as a lowercase string.
9781	// You can't modify the default subnet group.
9782	//
9783	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
9784	// default.
9785	//
9786	// Example: mySubnetgroup
9787	//
9788	// DBSubnetGroupName is a required field
9789	DBSubnetGroupName *string `type:"string" required:"true"`
9790
9791	// The Amazon EC2 subnet IDs for the DB subnet group.
9792	//
9793	// SubnetIds is a required field
9794	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
9795}
9796
9797// String returns the string representation
9798func (s ModifyDBSubnetGroupInput) String() string {
9799	return awsutil.Prettify(s)
9800}
9801
9802// GoString returns the string representation
9803func (s ModifyDBSubnetGroupInput) GoString() string {
9804	return s.String()
9805}
9806
9807// Validate inspects the fields of the type to determine if they are valid.
9808func (s *ModifyDBSubnetGroupInput) Validate() error {
9809	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
9810	if s.DBSubnetGroupName == nil {
9811		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
9812	}
9813	if s.SubnetIds == nil {
9814		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
9815	}
9816
9817	if invalidParams.Len() > 0 {
9818		return invalidParams
9819	}
9820	return nil
9821}
9822
9823// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
9824func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
9825	s.DBSubnetGroupDescription = &v
9826	return s
9827}
9828
9829// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
9830func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
9831	s.DBSubnetGroupName = &v
9832	return s
9833}
9834
9835// SetSubnetIds sets the SubnetIds field's value.
9836func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
9837	s.SubnetIds = v
9838	return s
9839}
9840
9841type ModifyDBSubnetGroupOutput struct {
9842	_ struct{} `type:"structure"`
9843
9844	// Detailed information about a DB subnet group.
9845	DBSubnetGroup *DBSubnetGroup `type:"structure"`
9846}
9847
9848// String returns the string representation
9849func (s ModifyDBSubnetGroupOutput) String() string {
9850	return awsutil.Prettify(s)
9851}
9852
9853// GoString returns the string representation
9854func (s ModifyDBSubnetGroupOutput) GoString() string {
9855	return s.String()
9856}
9857
9858// SetDBSubnetGroup sets the DBSubnetGroup field's value.
9859func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
9860	s.DBSubnetGroup = v
9861	return s
9862}
9863
9864// The options that are available for a DB instance.
9865type OrderableDBInstanceOption struct {
9866	_ struct{} `type:"structure"`
9867
9868	// A list of Availability Zones for a DB instance.
9869	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
9870
9871	// The DB instance class for a DB instance.
9872	DBInstanceClass *string `type:"string"`
9873
9874	// The engine type of a DB instance.
9875	Engine *string `type:"string"`
9876
9877	// The engine version of a DB instance.
9878	EngineVersion *string `type:"string"`
9879
9880	// The license model for a DB instance.
9881	LicenseModel *string `type:"string"`
9882
9883	// Indicates whether a DB instance is in a virtual private cloud (VPC).
9884	Vpc *bool `type:"boolean"`
9885}
9886
9887// String returns the string representation
9888func (s OrderableDBInstanceOption) String() string {
9889	return awsutil.Prettify(s)
9890}
9891
9892// GoString returns the string representation
9893func (s OrderableDBInstanceOption) GoString() string {
9894	return s.String()
9895}
9896
9897// SetAvailabilityZones sets the AvailabilityZones field's value.
9898func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
9899	s.AvailabilityZones = v
9900	return s
9901}
9902
9903// SetDBInstanceClass sets the DBInstanceClass field's value.
9904func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
9905	s.DBInstanceClass = &v
9906	return s
9907}
9908
9909// SetEngine sets the Engine field's value.
9910func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
9911	s.Engine = &v
9912	return s
9913}
9914
9915// SetEngineVersion sets the EngineVersion field's value.
9916func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
9917	s.EngineVersion = &v
9918	return s
9919}
9920
9921// SetLicenseModel sets the LicenseModel field's value.
9922func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
9923	s.LicenseModel = &v
9924	return s
9925}
9926
9927// SetVpc sets the Vpc field's value.
9928func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
9929	s.Vpc = &v
9930	return s
9931}
9932
9933// Detailed information about an individual parameter.
9934type Parameter struct {
9935	_ struct{} `type:"structure"`
9936
9937	// Specifies the valid range of values for the parameter.
9938	AllowedValues *string `type:"string"`
9939
9940	// Indicates when to apply parameter updates.
9941	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
9942
9943	// Specifies the engine-specific parameters type.
9944	ApplyType *string `type:"string"`
9945
9946	// Specifies the valid data type for the parameter.
9947	DataType *string `type:"string"`
9948
9949	// Provides a description of the parameter.
9950	Description *string `type:"string"`
9951
9952	// Indicates whether (true) or not (false) the parameter can be modified. Some
9953	// parameters have security or operational implications that prevent them from
9954	// being changed.
9955	IsModifiable *bool `type:"boolean"`
9956
9957	// The earliest engine version to which the parameter can apply.
9958	MinimumEngineVersion *string `type:"string"`
9959
9960	// Specifies the name of the parameter.
9961	ParameterName *string `type:"string"`
9962
9963	// Specifies the value of the parameter.
9964	ParameterValue *string `type:"string"`
9965
9966	// Indicates the source of the parameter value.
9967	Source *string `type:"string"`
9968}
9969
9970// String returns the string representation
9971func (s Parameter) String() string {
9972	return awsutil.Prettify(s)
9973}
9974
9975// GoString returns the string representation
9976func (s Parameter) GoString() string {
9977	return s.String()
9978}
9979
9980// SetAllowedValues sets the AllowedValues field's value.
9981func (s *Parameter) SetAllowedValues(v string) *Parameter {
9982	s.AllowedValues = &v
9983	return s
9984}
9985
9986// SetApplyMethod sets the ApplyMethod field's value.
9987func (s *Parameter) SetApplyMethod(v string) *Parameter {
9988	s.ApplyMethod = &v
9989	return s
9990}
9991
9992// SetApplyType sets the ApplyType field's value.
9993func (s *Parameter) SetApplyType(v string) *Parameter {
9994	s.ApplyType = &v
9995	return s
9996}
9997
9998// SetDataType sets the DataType field's value.
9999func (s *Parameter) SetDataType(v string) *Parameter {
10000	s.DataType = &v
10001	return s
10002}
10003
10004// SetDescription sets the Description field's value.
10005func (s *Parameter) SetDescription(v string) *Parameter {
10006	s.Description = &v
10007	return s
10008}
10009
10010// SetIsModifiable sets the IsModifiable field's value.
10011func (s *Parameter) SetIsModifiable(v bool) *Parameter {
10012	s.IsModifiable = &v
10013	return s
10014}
10015
10016// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
10017func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
10018	s.MinimumEngineVersion = &v
10019	return s
10020}
10021
10022// SetParameterName sets the ParameterName field's value.
10023func (s *Parameter) SetParameterName(v string) *Parameter {
10024	s.ParameterName = &v
10025	return s
10026}
10027
10028// SetParameterValue sets the ParameterValue field's value.
10029func (s *Parameter) SetParameterValue(v string) *Parameter {
10030	s.ParameterValue = &v
10031	return s
10032}
10033
10034// SetSource sets the Source field's value.
10035func (s *Parameter) SetSource(v string) *Parameter {
10036	s.Source = &v
10037	return s
10038}
10039
10040// A list of the log types whose configuration is still pending. These log types
10041// are in the process of being activated or deactivated.
10042type PendingCloudwatchLogsExports struct {
10043	_ struct{} `type:"structure"`
10044
10045	// Log types that are in the process of being enabled. After they are enabled,
10046	// these log types are exported to Amazon CloudWatch Logs.
10047	LogTypesToDisable []*string `type:"list"`
10048
10049	// Log types that are in the process of being deactivated. After they are deactivated,
10050	// these log types aren't exported to CloudWatch Logs.
10051	LogTypesToEnable []*string `type:"list"`
10052}
10053
10054// String returns the string representation
10055func (s PendingCloudwatchLogsExports) String() string {
10056	return awsutil.Prettify(s)
10057}
10058
10059// GoString returns the string representation
10060func (s PendingCloudwatchLogsExports) GoString() string {
10061	return s.String()
10062}
10063
10064// SetLogTypesToDisable sets the LogTypesToDisable field's value.
10065func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
10066	s.LogTypesToDisable = v
10067	return s
10068}
10069
10070// SetLogTypesToEnable sets the LogTypesToEnable field's value.
10071func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
10072	s.LogTypesToEnable = v
10073	return s
10074}
10075
10076// Provides information about a pending maintenance action for a resource.
10077type PendingMaintenanceAction struct {
10078	_ struct{} `type:"structure"`
10079
10080	// The type of pending maintenance action that is available for the resource.
10081	Action *string `type:"string"`
10082
10083	// The date of the maintenance window when the action is applied. The maintenance
10084	// action is applied to the resource during its first maintenance window after
10085	// this date. If this date is specified, any next-maintenance opt-in requests
10086	// are ignored.
10087	AutoAppliedAfterDate *time.Time `type:"timestamp"`
10088
10089	// The effective date when the pending maintenance action is applied to the
10090	// resource.
10091	CurrentApplyDate *time.Time `type:"timestamp"`
10092
10093	// A description providing more detail about the maintenance action.
10094	Description *string `type:"string"`
10095
10096	// The date when the maintenance action is automatically applied. The maintenance
10097	// action is applied to the resource on this date regardless of the maintenance
10098	// window for the resource. If this date is specified, any immediate opt-in
10099	// requests are ignored.
10100	ForcedApplyDate *time.Time `type:"timestamp"`
10101
10102	// Indicates the type of opt-in request that has been received for the resource.
10103	OptInStatus *string `type:"string"`
10104}
10105
10106// String returns the string representation
10107func (s PendingMaintenanceAction) String() string {
10108	return awsutil.Prettify(s)
10109}
10110
10111// GoString returns the string representation
10112func (s PendingMaintenanceAction) GoString() string {
10113	return s.String()
10114}
10115
10116// SetAction sets the Action field's value.
10117func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
10118	s.Action = &v
10119	return s
10120}
10121
10122// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
10123func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
10124	s.AutoAppliedAfterDate = &v
10125	return s
10126}
10127
10128// SetCurrentApplyDate sets the CurrentApplyDate field's value.
10129func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
10130	s.CurrentApplyDate = &v
10131	return s
10132}
10133
10134// SetDescription sets the Description field's value.
10135func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
10136	s.Description = &v
10137	return s
10138}
10139
10140// SetForcedApplyDate sets the ForcedApplyDate field's value.
10141func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
10142	s.ForcedApplyDate = &v
10143	return s
10144}
10145
10146// SetOptInStatus sets the OptInStatus field's value.
10147func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
10148	s.OptInStatus = &v
10149	return s
10150}
10151
10152// One or more modified settings for a DB instance. These modified settings
10153// have been requested, but haven't been applied yet.
10154type PendingModifiedValues struct {
10155	_ struct{} `type:"structure"`
10156
10157	// Contains the new AllocatedStorage size for the DB instance that will be applied
10158	// or is currently being applied.
10159	AllocatedStorage *int64 `type:"integer"`
10160
10161	// Specifies the pending number of days for which automated backups are retained.
10162	BackupRetentionPeriod *int64 `type:"integer"`
10163
10164	// Specifies the identifier of the certificate authority (CA) certificate for
10165	// the DB instance.
10166	CACertificateIdentifier *string `type:"string"`
10167
10168	// Contains the new DBInstanceClass for the DB instance that will be applied
10169	// or is currently being applied.
10170	DBInstanceClass *string `type:"string"`
10171
10172	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
10173	// or is currently being applied.
10174	DBInstanceIdentifier *string `type:"string"`
10175
10176	// The new DB subnet group for the DB instance.
10177	DBSubnetGroupName *string `type:"string"`
10178
10179	// Indicates the database engine version.
10180	EngineVersion *string `type:"string"`
10181
10182	// Specifies the new Provisioned IOPS value for the DB instance that will be
10183	// applied or is currently being applied.
10184	Iops *int64 `type:"integer"`
10185
10186	// The license model for the DB instance.
10187	//
10188	// Valid values: license-included, bring-your-own-license, general-public-license
10189	LicenseModel *string `type:"string"`
10190
10191	// Contains the pending or currently in-progress change of the master credentials
10192	// for the DB instance.
10193	MasterUserPassword *string `type:"string"`
10194
10195	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
10196	MultiAZ *bool `type:"boolean"`
10197
10198	// A list of the log types whose configuration is still pending. These log types
10199	// are in the process of being activated or deactivated.
10200	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
10201
10202	// Specifies the pending port for the DB instance.
10203	Port *int64 `type:"integer"`
10204
10205	// Specifies the storage type to be associated with the DB instance.
10206	StorageType *string `type:"string"`
10207}
10208
10209// String returns the string representation
10210func (s PendingModifiedValues) String() string {
10211	return awsutil.Prettify(s)
10212}
10213
10214// GoString returns the string representation
10215func (s PendingModifiedValues) GoString() string {
10216	return s.String()
10217}
10218
10219// SetAllocatedStorage sets the AllocatedStorage field's value.
10220func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
10221	s.AllocatedStorage = &v
10222	return s
10223}
10224
10225// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
10226func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
10227	s.BackupRetentionPeriod = &v
10228	return s
10229}
10230
10231// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
10232func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
10233	s.CACertificateIdentifier = &v
10234	return s
10235}
10236
10237// SetDBInstanceClass sets the DBInstanceClass field's value.
10238func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
10239	s.DBInstanceClass = &v
10240	return s
10241}
10242
10243// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10244func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
10245	s.DBInstanceIdentifier = &v
10246	return s
10247}
10248
10249// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10250func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
10251	s.DBSubnetGroupName = &v
10252	return s
10253}
10254
10255// SetEngineVersion sets the EngineVersion field's value.
10256func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
10257	s.EngineVersion = &v
10258	return s
10259}
10260
10261// SetIops sets the Iops field's value.
10262func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
10263	s.Iops = &v
10264	return s
10265}
10266
10267// SetLicenseModel sets the LicenseModel field's value.
10268func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
10269	s.LicenseModel = &v
10270	return s
10271}
10272
10273// SetMasterUserPassword sets the MasterUserPassword field's value.
10274func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
10275	s.MasterUserPassword = &v
10276	return s
10277}
10278
10279// SetMultiAZ sets the MultiAZ field's value.
10280func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
10281	s.MultiAZ = &v
10282	return s
10283}
10284
10285// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
10286func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
10287	s.PendingCloudwatchLogsExports = v
10288	return s
10289}
10290
10291// SetPort sets the Port field's value.
10292func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
10293	s.Port = &v
10294	return s
10295}
10296
10297// SetStorageType sets the StorageType field's value.
10298func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
10299	s.StorageType = &v
10300	return s
10301}
10302
10303// Represents the input to RebootDBInstance.
10304type RebootDBInstanceInput struct {
10305	_ struct{} `type:"structure"`
10306
10307	// The DB instance identifier. This parameter is stored as a lowercase string.
10308	//
10309	// Constraints:
10310	//
10311	//    * Must match the identifier of an existing DBInstance.
10312	//
10313	// DBInstanceIdentifier is a required field
10314	DBInstanceIdentifier *string `type:"string" required:"true"`
10315
10316	// When true, the reboot is conducted through a Multi-AZ failover.
10317	//
10318	// Constraint: You can't specify true if the instance is not configured for
10319	// Multi-AZ.
10320	ForceFailover *bool `type:"boolean"`
10321}
10322
10323// String returns the string representation
10324func (s RebootDBInstanceInput) String() string {
10325	return awsutil.Prettify(s)
10326}
10327
10328// GoString returns the string representation
10329func (s RebootDBInstanceInput) GoString() string {
10330	return s.String()
10331}
10332
10333// Validate inspects the fields of the type to determine if they are valid.
10334func (s *RebootDBInstanceInput) Validate() error {
10335	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
10336	if s.DBInstanceIdentifier == nil {
10337		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
10338	}
10339
10340	if invalidParams.Len() > 0 {
10341		return invalidParams
10342	}
10343	return nil
10344}
10345
10346// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10347func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
10348	s.DBInstanceIdentifier = &v
10349	return s
10350}
10351
10352// SetForceFailover sets the ForceFailover field's value.
10353func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
10354	s.ForceFailover = &v
10355	return s
10356}
10357
10358type RebootDBInstanceOutput struct {
10359	_ struct{} `type:"structure"`
10360
10361	// Detailed information about a DB instance.
10362	DBInstance *DBInstance `type:"structure"`
10363}
10364
10365// String returns the string representation
10366func (s RebootDBInstanceOutput) String() string {
10367	return awsutil.Prettify(s)
10368}
10369
10370// GoString returns the string representation
10371func (s RebootDBInstanceOutput) GoString() string {
10372	return s.String()
10373}
10374
10375// SetDBInstance sets the DBInstance field's value.
10376func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
10377	s.DBInstance = v
10378	return s
10379}
10380
10381// Represents the input to RemoveTagsFromResource.
10382type RemoveTagsFromResourceInput struct {
10383	_ struct{} `type:"structure"`
10384
10385	// The Amazon DocumentDB resource that the tags are removed from. This value
10386	// is an Amazon Resource Name (ARN).
10387	//
10388	// ResourceName is a required field
10389	ResourceName *string `type:"string" required:"true"`
10390
10391	// The tag key (name) of the tag to be removed.
10392	//
10393	// TagKeys is a required field
10394	TagKeys []*string `type:"list" required:"true"`
10395}
10396
10397// String returns the string representation
10398func (s RemoveTagsFromResourceInput) String() string {
10399	return awsutil.Prettify(s)
10400}
10401
10402// GoString returns the string representation
10403func (s RemoveTagsFromResourceInput) GoString() string {
10404	return s.String()
10405}
10406
10407// Validate inspects the fields of the type to determine if they are valid.
10408func (s *RemoveTagsFromResourceInput) Validate() error {
10409	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
10410	if s.ResourceName == nil {
10411		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
10412	}
10413	if s.TagKeys == nil {
10414		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10415	}
10416
10417	if invalidParams.Len() > 0 {
10418		return invalidParams
10419	}
10420	return nil
10421}
10422
10423// SetResourceName sets the ResourceName field's value.
10424func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
10425	s.ResourceName = &v
10426	return s
10427}
10428
10429// SetTagKeys sets the TagKeys field's value.
10430func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
10431	s.TagKeys = v
10432	return s
10433}
10434
10435type RemoveTagsFromResourceOutput struct {
10436	_ struct{} `type:"structure"`
10437}
10438
10439// String returns the string representation
10440func (s RemoveTagsFromResourceOutput) String() string {
10441	return awsutil.Prettify(s)
10442}
10443
10444// GoString returns the string representation
10445func (s RemoveTagsFromResourceOutput) GoString() string {
10446	return s.String()
10447}
10448
10449// Represents the input to ResetDBClusterParameterGroup.
10450type ResetDBClusterParameterGroupInput struct {
10451	_ struct{} `type:"structure"`
10452
10453	// The name of the DB cluster parameter group to reset.
10454	//
10455	// DBClusterParameterGroupName is a required field
10456	DBClusterParameterGroupName *string `type:"string" required:"true"`
10457
10458	// A list of parameter names in the DB cluster parameter group to reset to the
10459	// default values. You can't use this parameter if the ResetAllParameters parameter
10460	// is set to true.
10461	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
10462
10463	// A value that is set to true to reset all parameters in the DB cluster parameter
10464	// group to their default values, and false otherwise. You can't use this parameter
10465	// if there is a list of parameter names specified for the Parameters parameter.
10466	ResetAllParameters *bool `type:"boolean"`
10467}
10468
10469// String returns the string representation
10470func (s ResetDBClusterParameterGroupInput) String() string {
10471	return awsutil.Prettify(s)
10472}
10473
10474// GoString returns the string representation
10475func (s ResetDBClusterParameterGroupInput) GoString() string {
10476	return s.String()
10477}
10478
10479// Validate inspects the fields of the type to determine if they are valid.
10480func (s *ResetDBClusterParameterGroupInput) Validate() error {
10481	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
10482	if s.DBClusterParameterGroupName == nil {
10483		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
10484	}
10485
10486	if invalidParams.Len() > 0 {
10487		return invalidParams
10488	}
10489	return nil
10490}
10491
10492// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
10493func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
10494	s.DBClusterParameterGroupName = &v
10495	return s
10496}
10497
10498// SetParameters sets the Parameters field's value.
10499func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
10500	s.Parameters = v
10501	return s
10502}
10503
10504// SetResetAllParameters sets the ResetAllParameters field's value.
10505func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
10506	s.ResetAllParameters = &v
10507	return s
10508}
10509
10510// Contains the name of a DB cluster parameter group.
10511type ResetDBClusterParameterGroupOutput struct {
10512	_ struct{} `type:"structure"`
10513
10514	// The name of a DB cluster parameter group.
10515	//
10516	// Constraints:
10517	//
10518	//    * Must be from 1 to 255 letters or numbers.
10519	//
10520	//    * The first character must be a letter.
10521	//
10522	//    * Cannot end with a hyphen or contain two consecutive hyphens.
10523	//
10524	// This value is stored as a lowercase string.
10525	DBClusterParameterGroupName *string `type:"string"`
10526}
10527
10528// String returns the string representation
10529func (s ResetDBClusterParameterGroupOutput) String() string {
10530	return awsutil.Prettify(s)
10531}
10532
10533// GoString returns the string representation
10534func (s ResetDBClusterParameterGroupOutput) GoString() string {
10535	return s.String()
10536}
10537
10538// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
10539func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput {
10540	s.DBClusterParameterGroupName = &v
10541	return s
10542}
10543
10544// Represents the output of ApplyPendingMaintenanceAction.
10545type ResourcePendingMaintenanceActions struct {
10546	_ struct{} `type:"structure"`
10547
10548	// A list that provides details about the pending maintenance actions for the
10549	// resource.
10550	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
10551
10552	// The Amazon Resource Name (ARN) of the resource that has pending maintenance
10553	// actions.
10554	ResourceIdentifier *string `type:"string"`
10555}
10556
10557// String returns the string representation
10558func (s ResourcePendingMaintenanceActions) String() string {
10559	return awsutil.Prettify(s)
10560}
10561
10562// GoString returns the string representation
10563func (s ResourcePendingMaintenanceActions) GoString() string {
10564	return s.String()
10565}
10566
10567// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
10568func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
10569	s.PendingMaintenanceActionDetails = v
10570	return s
10571}
10572
10573// SetResourceIdentifier sets the ResourceIdentifier field's value.
10574func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
10575	s.ResourceIdentifier = &v
10576	return s
10577}
10578
10579// Represents the input to RestoreDBClusterFromSnapshot.
10580type RestoreDBClusterFromSnapshotInput struct {
10581	_ struct{} `type:"structure"`
10582
10583	// Provides the list of Amazon EC2 Availability Zones that instances in the
10584	// restored DB cluster can be created in.
10585	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
10586
10587	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
10588	// This parameter isn't case sensitive.
10589	//
10590	// Constraints:
10591	//
10592	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
10593	//
10594	//    * The first character must be a letter.
10595	//
10596	//    * Cannot end with a hyphen or contain two consecutive hyphens.
10597	//
10598	// Example: my-snapshot-id
10599	//
10600	// DBClusterIdentifier is a required field
10601	DBClusterIdentifier *string `type:"string" required:"true"`
10602
10603	// The name of the DB subnet group to use for the new DB cluster.
10604	//
10605	// Constraints: If provided, must match the name of an existing DBSubnetGroup.
10606	//
10607	// Example: mySubnetgroup
10608	DBSubnetGroupName *string `type:"string"`
10609
10610	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
10611	// the cluster cannot be deleted unless it is modified and DeletionProtection
10612	// is disabled. DeletionProtection protects clusters from being accidentally
10613	// deleted.
10614	DeletionProtection *bool `type:"boolean"`
10615
10616	// A list of log types that must be enabled for exporting to Amazon CloudWatch
10617	// Logs.
10618	EnableCloudwatchLogsExports []*string `type:"list"`
10619
10620	// The database engine to use for the new DB cluster.
10621	//
10622	// Default: The same as source.
10623	//
10624	// Constraint: Must be compatible with the engine of the source.
10625	//
10626	// Engine is a required field
10627	Engine *string `type:"string" required:"true"`
10628
10629	// The version of the database engine to use for the new DB cluster.
10630	EngineVersion *string `type:"string"`
10631
10632	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
10633	// from a DB snapshot or DB cluster snapshot.
10634	//
10635	// The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS
10636	// KMS encryption key. If you are restoring a DB cluster with the same AWS account
10637	// that owns the AWS KMS encryption key used to encrypt the new DB cluster,
10638	// then you can use the AWS KMS key alias instead of the ARN for the AWS KMS
10639	// encryption key.
10640	//
10641	// If you do not specify a value for the KmsKeyId parameter, then the following
10642	// occurs:
10643	//
10644	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
10645	//    then the restored DB cluster is encrypted using the AWS KMS key that was
10646	//    used to encrypt the DB snapshot or the DB cluster snapshot.
10647	//
10648	//    * If the DB snapshot or the DB cluster snapshot in SnapshotIdentifier
10649	//    is not encrypted, then the restored DB cluster is not encrypted.
10650	KmsKeyId *string `type:"string"`
10651
10652	// The port number on which the new DB cluster accepts connections.
10653	//
10654	// Constraints: Must be a value from 1150 to 65535.
10655	//
10656	// Default: The same port as the original DB cluster.
10657	Port *int64 `type:"integer"`
10658
10659	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
10660	//
10661	// You can use either the name or the Amazon Resource Name (ARN) to specify
10662	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
10663	// snapshot.
10664	//
10665	// Constraints:
10666	//
10667	//    * Must match the identifier of an existing snapshot.
10668	//
10669	// SnapshotIdentifier is a required field
10670	SnapshotIdentifier *string `type:"string" required:"true"`
10671
10672	// The tags to be assigned to the restored DB cluster.
10673	Tags []*Tag `locationNameList:"Tag" type:"list"`
10674
10675	// A list of virtual private cloud (VPC) security groups that the new DB cluster
10676	// will belong to.
10677	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
10678}
10679
10680// String returns the string representation
10681func (s RestoreDBClusterFromSnapshotInput) String() string {
10682	return awsutil.Prettify(s)
10683}
10684
10685// GoString returns the string representation
10686func (s RestoreDBClusterFromSnapshotInput) GoString() string {
10687	return s.String()
10688}
10689
10690// Validate inspects the fields of the type to determine if they are valid.
10691func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
10692	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
10693	if s.DBClusterIdentifier == nil {
10694		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
10695	}
10696	if s.Engine == nil {
10697		invalidParams.Add(request.NewErrParamRequired("Engine"))
10698	}
10699	if s.SnapshotIdentifier == nil {
10700		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
10701	}
10702
10703	if invalidParams.Len() > 0 {
10704		return invalidParams
10705	}
10706	return nil
10707}
10708
10709// SetAvailabilityZones sets the AvailabilityZones field's value.
10710func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
10711	s.AvailabilityZones = v
10712	return s
10713}
10714
10715// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10716func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
10717	s.DBClusterIdentifier = &v
10718	return s
10719}
10720
10721// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10722func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
10723	s.DBSubnetGroupName = &v
10724	return s
10725}
10726
10727// SetDeletionProtection sets the DeletionProtection field's value.
10728func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
10729	s.DeletionProtection = &v
10730	return s
10731}
10732
10733// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
10734func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
10735	s.EnableCloudwatchLogsExports = v
10736	return s
10737}
10738
10739// SetEngine sets the Engine field's value.
10740func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
10741	s.Engine = &v
10742	return s
10743}
10744
10745// SetEngineVersion sets the EngineVersion field's value.
10746func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
10747	s.EngineVersion = &v
10748	return s
10749}
10750
10751// SetKmsKeyId sets the KmsKeyId field's value.
10752func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
10753	s.KmsKeyId = &v
10754	return s
10755}
10756
10757// SetPort sets the Port field's value.
10758func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
10759	s.Port = &v
10760	return s
10761}
10762
10763// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
10764func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
10765	s.SnapshotIdentifier = &v
10766	return s
10767}
10768
10769// SetTags sets the Tags field's value.
10770func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
10771	s.Tags = v
10772	return s
10773}
10774
10775// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
10776func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
10777	s.VpcSecurityGroupIds = v
10778	return s
10779}
10780
10781type RestoreDBClusterFromSnapshotOutput struct {
10782	_ struct{} `type:"structure"`
10783
10784	// Detailed information about a DB cluster.
10785	DBCluster *DBCluster `type:"structure"`
10786}
10787
10788// String returns the string representation
10789func (s RestoreDBClusterFromSnapshotOutput) String() string {
10790	return awsutil.Prettify(s)
10791}
10792
10793// GoString returns the string representation
10794func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
10795	return s.String()
10796}
10797
10798// SetDBCluster sets the DBCluster field's value.
10799func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
10800	s.DBCluster = v
10801	return s
10802}
10803
10804// Represents the input to RestoreDBClusterToPointInTime.
10805type RestoreDBClusterToPointInTimeInput struct {
10806	_ struct{} `type:"structure"`
10807
10808	// The name of the new DB cluster to be created.
10809	//
10810	// Constraints:
10811	//
10812	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
10813	//
10814	//    * The first character must be a letter.
10815	//
10816	//    * Cannot end with a hyphen or contain two consecutive hyphens.
10817	//
10818	// DBClusterIdentifier is a required field
10819	DBClusterIdentifier *string `type:"string" required:"true"`
10820
10821	// The DB subnet group name to use for the new DB cluster.
10822	//
10823	// Constraints: If provided, must match the name of an existing DBSubnetGroup.
10824	//
10825	// Example: mySubnetgroup
10826	DBSubnetGroupName *string `type:"string"`
10827
10828	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
10829	// the cluster cannot be deleted unless it is modified and DeletionProtection
10830	// is disabled. DeletionProtection protects clusters from being accidentally
10831	// deleted.
10832	DeletionProtection *bool `type:"boolean"`
10833
10834	// A list of log types that must be enabled for exporting to Amazon CloudWatch
10835	// Logs.
10836	EnableCloudwatchLogsExports []*string `type:"list"`
10837
10838	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
10839	// from an encrypted DB cluster.
10840	//
10841	// The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS
10842	// KMS encryption key. If you are restoring a DB cluster with the same AWS account
10843	// that owns the AWS KMS encryption key used to encrypt the new DB cluster,
10844	// then you can use the AWS KMS key alias instead of the ARN for the AWS KMS
10845	// encryption key.
10846	//
10847	// You can restore to a new DB cluster and encrypt the new DB cluster with an
10848	// AWS KMS key that is different from the AWS KMS key used to encrypt the source
10849	// DB cluster. The new DB cluster is encrypted with the AWS KMS key identified
10850	// by the KmsKeyId parameter.
10851	//
10852	// If you do not specify a value for the KmsKeyId parameter, then the following
10853	// occurs:
10854	//
10855	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
10856	//    using the AWS KMS key that was used to encrypt the source DB cluster.
10857	//
10858	//    * If the DB cluster is not encrypted, then the restored DB cluster is
10859	//    not encrypted.
10860	//
10861	// If DBClusterIdentifier refers to a DB cluster that is not encrypted, then
10862	// the restore request is rejected.
10863	KmsKeyId *string `type:"string"`
10864
10865	// The port number on which the new DB cluster accepts connections.
10866	//
10867	// Constraints: Must be a value from 1150 to 65535.
10868	//
10869	// Default: The default port for the engine.
10870	Port *int64 `type:"integer"`
10871
10872	// The date and time to restore the DB cluster to.
10873	//
10874	// Valid values: A time in Universal Coordinated Time (UTC) format.
10875	//
10876	// Constraints:
10877	//
10878	//    * Must be before the latest restorable time for the DB instance.
10879	//
10880	//    * Must be specified if the UseLatestRestorableTime parameter is not provided.
10881	//
10882	//    * Cannot be specified if the UseLatestRestorableTime parameter is true.
10883	//
10884	//    * Cannot be specified if the RestoreType parameter is copy-on-write.
10885	//
10886	// Example: 2015-03-07T23:45:00Z
10887	RestoreToTime *time.Time `type:"timestamp"`
10888
10889	// The identifier of the source DB cluster from which to restore.
10890	//
10891	// Constraints:
10892	//
10893	//    * Must match the identifier of an existing DBCluster.
10894	//
10895	// SourceDBClusterIdentifier is a required field
10896	SourceDBClusterIdentifier *string `type:"string" required:"true"`
10897
10898	// The tags to be assigned to the restored DB cluster.
10899	Tags []*Tag `locationNameList:"Tag" type:"list"`
10900
10901	// A value that is set to true to restore the DB cluster to the latest restorable
10902	// backup time, and false otherwise.
10903	//
10904	// Default: false
10905	//
10906	// Constraints: Cannot be specified if the RestoreToTime parameter is provided.
10907	UseLatestRestorableTime *bool `type:"boolean"`
10908
10909	// A list of VPC security groups that the new DB cluster belongs to.
10910	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
10911}
10912
10913// String returns the string representation
10914func (s RestoreDBClusterToPointInTimeInput) String() string {
10915	return awsutil.Prettify(s)
10916}
10917
10918// GoString returns the string representation
10919func (s RestoreDBClusterToPointInTimeInput) GoString() string {
10920	return s.String()
10921}
10922
10923// Validate inspects the fields of the type to determine if they are valid.
10924func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
10925	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
10926	if s.DBClusterIdentifier == nil {
10927		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
10928	}
10929	if s.SourceDBClusterIdentifier == nil {
10930		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
10931	}
10932
10933	if invalidParams.Len() > 0 {
10934		return invalidParams
10935	}
10936	return nil
10937}
10938
10939// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10940func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
10941	s.DBClusterIdentifier = &v
10942	return s
10943}
10944
10945// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10946func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
10947	s.DBSubnetGroupName = &v
10948	return s
10949}
10950
10951// SetDeletionProtection sets the DeletionProtection field's value.
10952func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
10953	s.DeletionProtection = &v
10954	return s
10955}
10956
10957// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
10958func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
10959	s.EnableCloudwatchLogsExports = v
10960	return s
10961}
10962
10963// SetKmsKeyId sets the KmsKeyId field's value.
10964func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
10965	s.KmsKeyId = &v
10966	return s
10967}
10968
10969// SetPort sets the Port field's value.
10970func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
10971	s.Port = &v
10972	return s
10973}
10974
10975// SetRestoreToTime sets the RestoreToTime field's value.
10976func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
10977	s.RestoreToTime = &v
10978	return s
10979}
10980
10981// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
10982func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
10983	s.SourceDBClusterIdentifier = &v
10984	return s
10985}
10986
10987// SetTags sets the Tags field's value.
10988func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
10989	s.Tags = v
10990	return s
10991}
10992
10993// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
10994func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
10995	s.UseLatestRestorableTime = &v
10996	return s
10997}
10998
10999// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
11000func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
11001	s.VpcSecurityGroupIds = v
11002	return s
11003}
11004
11005type RestoreDBClusterToPointInTimeOutput struct {
11006	_ struct{} `type:"structure"`
11007
11008	// Detailed information about a DB cluster.
11009	DBCluster *DBCluster `type:"structure"`
11010}
11011
11012// String returns the string representation
11013func (s RestoreDBClusterToPointInTimeOutput) String() string {
11014	return awsutil.Prettify(s)
11015}
11016
11017// GoString returns the string representation
11018func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
11019	return s.String()
11020}
11021
11022// SetDBCluster sets the DBCluster field's value.
11023func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
11024	s.DBCluster = v
11025	return s
11026}
11027
11028type StartDBClusterInput struct {
11029	_ struct{} `type:"structure"`
11030
11031	// The identifier of the cluster to restart. Example: docdb-2019-05-28-15-24-52
11032	//
11033	// DBClusterIdentifier is a required field
11034	DBClusterIdentifier *string `type:"string" required:"true"`
11035}
11036
11037// String returns the string representation
11038func (s StartDBClusterInput) String() string {
11039	return awsutil.Prettify(s)
11040}
11041
11042// GoString returns the string representation
11043func (s StartDBClusterInput) GoString() string {
11044	return s.String()
11045}
11046
11047// Validate inspects the fields of the type to determine if they are valid.
11048func (s *StartDBClusterInput) Validate() error {
11049	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
11050	if s.DBClusterIdentifier == nil {
11051		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11052	}
11053
11054	if invalidParams.Len() > 0 {
11055		return invalidParams
11056	}
11057	return nil
11058}
11059
11060// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11061func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
11062	s.DBClusterIdentifier = &v
11063	return s
11064}
11065
11066type StartDBClusterOutput struct {
11067	_ struct{} `type:"structure"`
11068
11069	// Detailed information about a DB cluster.
11070	DBCluster *DBCluster `type:"structure"`
11071}
11072
11073// String returns the string representation
11074func (s StartDBClusterOutput) String() string {
11075	return awsutil.Prettify(s)
11076}
11077
11078// GoString returns the string representation
11079func (s StartDBClusterOutput) GoString() string {
11080	return s.String()
11081}
11082
11083// SetDBCluster sets the DBCluster field's value.
11084func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
11085	s.DBCluster = v
11086	return s
11087}
11088
11089type StopDBClusterInput struct {
11090	_ struct{} `type:"structure"`
11091
11092	// The identifier of the cluster to stop. Example: docdb-2019-05-28-15-24-52
11093	//
11094	// DBClusterIdentifier is a required field
11095	DBClusterIdentifier *string `type:"string" required:"true"`
11096}
11097
11098// String returns the string representation
11099func (s StopDBClusterInput) String() string {
11100	return awsutil.Prettify(s)
11101}
11102
11103// GoString returns the string representation
11104func (s StopDBClusterInput) GoString() string {
11105	return s.String()
11106}
11107
11108// Validate inspects the fields of the type to determine if they are valid.
11109func (s *StopDBClusterInput) Validate() error {
11110	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
11111	if s.DBClusterIdentifier == nil {
11112		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11113	}
11114
11115	if invalidParams.Len() > 0 {
11116		return invalidParams
11117	}
11118	return nil
11119}
11120
11121// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11122func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
11123	s.DBClusterIdentifier = &v
11124	return s
11125}
11126
11127type StopDBClusterOutput struct {
11128	_ struct{} `type:"structure"`
11129
11130	// Detailed information about a DB cluster.
11131	DBCluster *DBCluster `type:"structure"`
11132}
11133
11134// String returns the string representation
11135func (s StopDBClusterOutput) String() string {
11136	return awsutil.Prettify(s)
11137}
11138
11139// GoString returns the string representation
11140func (s StopDBClusterOutput) GoString() string {
11141	return s.String()
11142}
11143
11144// SetDBCluster sets the DBCluster field's value.
11145func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
11146	s.DBCluster = v
11147	return s
11148}
11149
11150// Detailed information about a subnet.
11151type Subnet struct {
11152	_ struct{} `type:"structure"`
11153
11154	// Specifies the Availability Zone for the subnet.
11155	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
11156
11157	// Specifies the identifier of the subnet.
11158	SubnetIdentifier *string `type:"string"`
11159
11160	// Specifies the status of the subnet.
11161	SubnetStatus *string `type:"string"`
11162}
11163
11164// String returns the string representation
11165func (s Subnet) String() string {
11166	return awsutil.Prettify(s)
11167}
11168
11169// GoString returns the string representation
11170func (s Subnet) GoString() string {
11171	return s.String()
11172}
11173
11174// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
11175func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
11176	s.SubnetAvailabilityZone = v
11177	return s
11178}
11179
11180// SetSubnetIdentifier sets the SubnetIdentifier field's value.
11181func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
11182	s.SubnetIdentifier = &v
11183	return s
11184}
11185
11186// SetSubnetStatus sets the SubnetStatus field's value.
11187func (s *Subnet) SetSubnetStatus(v string) *Subnet {
11188	s.SubnetStatus = &v
11189	return s
11190}
11191
11192// Metadata assigned to an Amazon DocumentDB resource consisting of a key-value
11193// pair.
11194type Tag struct {
11195	_ struct{} `type:"structure"`
11196
11197	// The required name of the tag. The string value can be from 1 to 128 Unicode
11198	// characters in length and can't be prefixed with "aws:" or "rds:". The string
11199	// can contain only the set of Unicode letters, digits, white space, '_', '.',
11200	// '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
11201	Key *string `type:"string"`
11202
11203	// The optional value of the tag. The string value can be from 1 to 256 Unicode
11204	// characters in length and can't be prefixed with "aws:" or "rds:". The string
11205	// can contain only the set of Unicode letters, digits, white space, '_', '.',
11206	// '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
11207	Value *string `type:"string"`
11208}
11209
11210// String returns the string representation
11211func (s Tag) String() string {
11212	return awsutil.Prettify(s)
11213}
11214
11215// GoString returns the string representation
11216func (s Tag) GoString() string {
11217	return s.String()
11218}
11219
11220// SetKey sets the Key field's value.
11221func (s *Tag) SetKey(v string) *Tag {
11222	s.Key = &v
11223	return s
11224}
11225
11226// SetValue sets the Value field's value.
11227func (s *Tag) SetValue(v string) *Tag {
11228	s.Value = &v
11229	return s
11230}
11231
11232// The version of the database engine that a DB instance can be upgraded to.
11233type UpgradeTarget struct {
11234	_ struct{} `type:"structure"`
11235
11236	// A value that indicates whether the target version is applied to any source
11237	// DB instances that have AutoMinorVersionUpgrade set to true.
11238	AutoUpgrade *bool `type:"boolean"`
11239
11240	// The version of the database engine that a DB instance can be upgraded to.
11241	Description *string `type:"string"`
11242
11243	// The name of the upgrade target database engine.
11244	Engine *string `type:"string"`
11245
11246	// The version number of the upgrade target database engine.
11247	EngineVersion *string `type:"string"`
11248
11249	// A value that indicates whether a database engine is upgraded to a major version.
11250	IsMajorVersionUpgrade *bool `type:"boolean"`
11251}
11252
11253// String returns the string representation
11254func (s UpgradeTarget) String() string {
11255	return awsutil.Prettify(s)
11256}
11257
11258// GoString returns the string representation
11259func (s UpgradeTarget) GoString() string {
11260	return s.String()
11261}
11262
11263// SetAutoUpgrade sets the AutoUpgrade field's value.
11264func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
11265	s.AutoUpgrade = &v
11266	return s
11267}
11268
11269// SetDescription sets the Description field's value.
11270func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
11271	s.Description = &v
11272	return s
11273}
11274
11275// SetEngine sets the Engine field's value.
11276func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
11277	s.Engine = &v
11278	return s
11279}
11280
11281// SetEngineVersion sets the EngineVersion field's value.
11282func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
11283	s.EngineVersion = &v
11284	return s
11285}
11286
11287// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
11288func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
11289	s.IsMajorVersionUpgrade = &v
11290	return s
11291}
11292
11293// Used as a response element for queries on virtual private cloud (VPC) security
11294// group membership.
11295type VpcSecurityGroupMembership struct {
11296	_ struct{} `type:"structure"`
11297
11298	// The status of the VPC security group.
11299	Status *string `type:"string"`
11300
11301	// The name of the VPC security group.
11302	VpcSecurityGroupId *string `type:"string"`
11303}
11304
11305// String returns the string representation
11306func (s VpcSecurityGroupMembership) String() string {
11307	return awsutil.Prettify(s)
11308}
11309
11310// GoString returns the string representation
11311func (s VpcSecurityGroupMembership) GoString() string {
11312	return s.String()
11313}
11314
11315// SetStatus sets the Status field's value.
11316func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
11317	s.Status = &v
11318	return s
11319}
11320
11321// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
11322func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
11323	s.VpcSecurityGroupId = &v
11324	return s
11325}
11326
11327const (
11328	// ApplyMethodImmediate is a ApplyMethod enum value
11329	ApplyMethodImmediate = "immediate"
11330
11331	// ApplyMethodPendingReboot is a ApplyMethod enum value
11332	ApplyMethodPendingReboot = "pending-reboot"
11333)
11334
11335const (
11336	// SourceTypeDbInstance is a SourceType enum value
11337	SourceTypeDbInstance = "db-instance"
11338
11339	// SourceTypeDbParameterGroup is a SourceType enum value
11340	SourceTypeDbParameterGroup = "db-parameter-group"
11341
11342	// SourceTypeDbSecurityGroup is a SourceType enum value
11343	SourceTypeDbSecurityGroup = "db-security-group"
11344
11345	// SourceTypeDbSnapshot is a SourceType enum value
11346	SourceTypeDbSnapshot = "db-snapshot"
11347
11348	// SourceTypeDbCluster is a SourceType enum value
11349	SourceTypeDbCluster = "db-cluster"
11350
11351	// SourceTypeDbClusterSnapshot is a SourceType enum value
11352	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
11353)
11354