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