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 opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription"
17
18// AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the
19// client's request for the AddSourceIdentifierToSubscription 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 AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription
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 AddSourceIdentifierToSubscriptionRequest method.
34//    req, resp := client.AddSourceIdentifierToSubscriptionRequest(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/AddSourceIdentifierToSubscription
42func (c *DocDB) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) {
43	op := &request.Operation{
44		Name:       opAddSourceIdentifierToSubscription,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AddSourceIdentifierToSubscriptionInput{}
51	}
52
53	output = &AddSourceIdentifierToSubscriptionOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AddSourceIdentifierToSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
59//
60// Adds a source identifier to an existing event notification subscription.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
67// API operation AddSourceIdentifierToSubscription for usage and error information.
68//
69// Returned Error Codes:
70//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
71//   The subscription name does not exist.
72//
73//   * ErrCodeSourceNotFoundFault "SourceNotFound"
74//   The requested source could not be found.
75//
76// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddSourceIdentifierToSubscription
77func (c *DocDB) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) {
78	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
79	return out, req.Send()
80}
81
82// AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of
83// the ability to pass a context and additional request options.
84//
85// See AddSourceIdentifierToSubscription for details on how to use this API operation.
86//
87// The context must be non-nil and will be used for request cancellation. If
88// the context is nil a panic will occur. In the future the SDK may create
89// sub-contexts for http.Requests. See https://golang.org/pkg/context/
90// for more information on using Contexts.
91func (c *DocDB) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) {
92	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
93	req.SetContext(ctx)
94	req.ApplyOptions(opts...)
95	return out, req.Send()
96}
97
98const opAddTagsToResource = "AddTagsToResource"
99
100// AddTagsToResourceRequest generates a "aws/request.Request" representing the
101// client's request for the AddTagsToResource operation. The "output" return
102// value will be populated with the request's response once the request completes
103// successfully.
104//
105// Use "Send" method on the returned Request to send the API call to the service.
106// the "output" return value is not valid until after Send returns without error.
107//
108// See AddTagsToResource for more information on using the AddTagsToResource
109// API call, and error handling.
110//
111// This method is useful when you want to inject custom logic or configuration
112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
113//
114//
115//    // Example sending a request using the AddTagsToResourceRequest method.
116//    req, resp := client.AddTagsToResourceRequest(params)
117//
118//    err := req.Send()
119//    if err == nil { // resp is now filled
120//        fmt.Println(resp)
121//    }
122//
123// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddTagsToResource
124func (c *DocDB) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
125	op := &request.Operation{
126		Name:       opAddTagsToResource,
127		HTTPMethod: "POST",
128		HTTPPath:   "/",
129	}
130
131	if input == nil {
132		input = &AddTagsToResourceInput{}
133	}
134
135	output = &AddTagsToResourceOutput{}
136	req = c.newRequest(op, input, output)
137	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
138	return
139}
140
141// AddTagsToResource API operation for Amazon DocumentDB with MongoDB compatibility.
142//
143// Adds metadata tags to an Amazon DocumentDB resource. You can use these tags
144// with cost allocation reporting to track costs that are associated with Amazon
145// DocumentDB resources or in a Condition statement in an Identity and Access
146// Management (IAM) policy for Amazon DocumentDB.
147//
148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
149// with awserr.Error's Code and Message methods to get detailed information about
150// the error.
151//
152// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
153// API operation AddTagsToResource for usage and error information.
154//
155// Returned Error Codes:
156//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
157//   DBInstanceIdentifier doesn't refer to an existing instance.
158//
159//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
160//   DBSnapshotIdentifier doesn't refer to an existing snapshot.
161//
162//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
163//   DBClusterIdentifier doesn't refer to an existing cluster.
164//
165// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddTagsToResource
166func (c *DocDB) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
167	req, out := c.AddTagsToResourceRequest(input)
168	return out, req.Send()
169}
170
171// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
172// the ability to pass a context and additional request options.
173//
174// See AddTagsToResource for details on how to use this API operation.
175//
176// The context must be non-nil and will be used for request cancellation. If
177// the context is nil a panic will occur. In the future the SDK may create
178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
179// for more information on using Contexts.
180func (c *DocDB) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
181	req, out := c.AddTagsToResourceRequest(input)
182	req.SetContext(ctx)
183	req.ApplyOptions(opts...)
184	return out, req.Send()
185}
186
187const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
188
189// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
190// client's request for the ApplyPendingMaintenanceAction operation. The "output" return
191// value will be populated with the request's response once the request completes
192// successfully.
193//
194// Use "Send" method on the returned Request to send the API call to the service.
195// the "output" return value is not valid until after Send returns without error.
196//
197// See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
198// API call, and error handling.
199//
200// This method is useful when you want to inject custom logic or configuration
201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
202//
203//
204//    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
205//    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
206//
207//    err := req.Send()
208//    if err == nil { // resp is now filled
209//        fmt.Println(resp)
210//    }
211//
212// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction
213func (c *DocDB) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
214	op := &request.Operation{
215		Name:       opApplyPendingMaintenanceAction,
216		HTTPMethod: "POST",
217		HTTPPath:   "/",
218	}
219
220	if input == nil {
221		input = &ApplyPendingMaintenanceActionInput{}
222	}
223
224	output = &ApplyPendingMaintenanceActionOutput{}
225	req = c.newRequest(op, input, output)
226	return
227}
228
229// ApplyPendingMaintenanceAction API operation for Amazon DocumentDB with MongoDB compatibility.
230//
231// Applies a pending maintenance action to a resource (for example, to an Amazon
232// DocumentDB instance).
233//
234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
235// with awserr.Error's Code and Message methods to get detailed information about
236// the error.
237//
238// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
239// API operation ApplyPendingMaintenanceAction for usage and error information.
240//
241// Returned Error Codes:
242//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
243//   The specified resource ID was not found.
244//
245//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
246//   The cluster isn't in a valid state.
247//
248//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
249//   The specified instance isn't in the available state.
250//
251// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ApplyPendingMaintenanceAction
252func (c *DocDB) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
253	req, out := c.ApplyPendingMaintenanceActionRequest(input)
254	return out, req.Send()
255}
256
257// ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
258// the ability to pass a context and additional request options.
259//
260// See ApplyPendingMaintenanceAction for details on how to use this API operation.
261//
262// The context must be non-nil and will be used for request cancellation. If
263// the context is nil a panic will occur. In the future the SDK may create
264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
265// for more information on using Contexts.
266func (c *DocDB) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
267	req, out := c.ApplyPendingMaintenanceActionRequest(input)
268	req.SetContext(ctx)
269	req.ApplyOptions(opts...)
270	return out, req.Send()
271}
272
273const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
274
275// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
276// client's request for the CopyDBClusterParameterGroup operation. The "output" return
277// value will be populated with the request's response once the request completes
278// successfully.
279//
280// Use "Send" method on the returned Request to send the API call to the service.
281// the "output" return value is not valid until after Send returns without error.
282//
283// See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
284// API call, and error handling.
285//
286// This method is useful when you want to inject custom logic or configuration
287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
288//
289//
290//    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
291//    req, resp := client.CopyDBClusterParameterGroupRequest(params)
292//
293//    err := req.Send()
294//    if err == nil { // resp is now filled
295//        fmt.Println(resp)
296//    }
297//
298// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup
299func (c *DocDB) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
300	op := &request.Operation{
301		Name:       opCopyDBClusterParameterGroup,
302		HTTPMethod: "POST",
303		HTTPPath:   "/",
304	}
305
306	if input == nil {
307		input = &CopyDBClusterParameterGroupInput{}
308	}
309
310	output = &CopyDBClusterParameterGroupOutput{}
311	req = c.newRequest(op, input, output)
312	return
313}
314
315// CopyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
316//
317// Copies the specified cluster parameter group.
318//
319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
320// with awserr.Error's Code and Message methods to get detailed information about
321// the error.
322//
323// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
324// API operation CopyDBClusterParameterGroup for usage and error information.
325//
326// Returned Error Codes:
327//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
328//   DBParameterGroupName doesn't refer to an existing parameter group.
329//
330//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
331//   This request would cause you to exceed the allowed number of parameter groups.
332//
333//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
334//   A parameter group with the same name already exists.
335//
336// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterParameterGroup
337func (c *DocDB) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
338	req, out := c.CopyDBClusterParameterGroupRequest(input)
339	return out, req.Send()
340}
341
342// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
343// the ability to pass a context and additional request options.
344//
345// See CopyDBClusterParameterGroup for details on how to use this API operation.
346//
347// The context must be non-nil and will be used for request cancellation. If
348// the context is nil a panic will occur. In the future the SDK may create
349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
350// for more information on using Contexts.
351func (c *DocDB) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
352	req, out := c.CopyDBClusterParameterGroupRequest(input)
353	req.SetContext(ctx)
354	req.ApplyOptions(opts...)
355	return out, req.Send()
356}
357
358const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
359
360// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
361// client's request for the CopyDBClusterSnapshot operation. The "output" return
362// value will be populated with the request's response once the request completes
363// successfully.
364//
365// Use "Send" method on the returned Request to send the API call to the service.
366// the "output" return value is not valid until after Send returns without error.
367//
368// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
369// API call, and error handling.
370//
371// This method is useful when you want to inject custom logic or configuration
372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
373//
374//
375//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
376//    req, resp := client.CopyDBClusterSnapshotRequest(params)
377//
378//    err := req.Send()
379//    if err == nil { // resp is now filled
380//        fmt.Println(resp)
381//    }
382//
383// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot
384func (c *DocDB) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
385	op := &request.Operation{
386		Name:       opCopyDBClusterSnapshot,
387		HTTPMethod: "POST",
388		HTTPPath:   "/",
389	}
390
391	if input == nil {
392		input = &CopyDBClusterSnapshotInput{}
393	}
394
395	output = &CopyDBClusterSnapshotOutput{}
396	req = c.newRequest(op, input, output)
397	return
398}
399
400// CopyDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
401//
402// Copies a snapshot of a cluster.
403//
404// To copy a cluster snapshot from a shared manual cluster snapshot, SourceDBClusterSnapshotIdentifier
405// must be the Amazon Resource Name (ARN) of the shared cluster snapshot. You
406// can only copy a shared DB cluster snapshot, whether encrypted or not, in
407// the same Region.
408//
409// To cancel the copy operation after it is in progress, delete the target cluster
410// snapshot identified by TargetDBClusterSnapshotIdentifier while that cluster
411// snapshot is in the copying status.
412//
413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
414// with awserr.Error's Code and Message methods to get detailed information about
415// the error.
416//
417// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
418// API operation CopyDBClusterSnapshot for usage and error information.
419//
420// Returned Error Codes:
421//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
422//   You already have a cluster snapshot with the given identifier.
423//
424//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
425//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
426//
427//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
428//   The cluster isn't in a valid state.
429//
430//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
431//   The provided value isn't a valid cluster snapshot state.
432//
433//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
434//   The request would cause you to exceed the allowed number of snapshots.
435//
436//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
437//   An error occurred when accessing an KMS key.
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshot
440func (c *DocDB) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
441	req, out := c.CopyDBClusterSnapshotRequest(input)
442	return out, req.Send()
443}
444
445// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
446// the ability to pass a context and additional request options.
447//
448// See CopyDBClusterSnapshot for details on how to use this API operation.
449//
450// The context must be non-nil and will be used for request cancellation. If
451// the context is nil a panic will occur. In the future the SDK may create
452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
453// for more information on using Contexts.
454func (c *DocDB) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
455	req, out := c.CopyDBClusterSnapshotRequest(input)
456	req.SetContext(ctx)
457	req.ApplyOptions(opts...)
458	return out, req.Send()
459}
460
461const opCreateDBCluster = "CreateDBCluster"
462
463// CreateDBClusterRequest generates a "aws/request.Request" representing the
464// client's request for the CreateDBCluster operation. The "output" return
465// value will be populated with the request's response once the request completes
466// successfully.
467//
468// Use "Send" method on the returned Request to send the API call to the service.
469// the "output" return value is not valid until after Send returns without error.
470//
471// See CreateDBCluster for more information on using the CreateDBCluster
472// API call, and error handling.
473//
474// This method is useful when you want to inject custom logic or configuration
475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
476//
477//
478//    // Example sending a request using the CreateDBClusterRequest method.
479//    req, resp := client.CreateDBClusterRequest(params)
480//
481//    err := req.Send()
482//    if err == nil { // resp is now filled
483//        fmt.Println(resp)
484//    }
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster
487func (c *DocDB) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
488	op := &request.Operation{
489		Name:       opCreateDBCluster,
490		HTTPMethod: "POST",
491		HTTPPath:   "/",
492	}
493
494	if input == nil {
495		input = &CreateDBClusterInput{}
496	}
497
498	output = &CreateDBClusterOutput{}
499	req = c.newRequest(op, input, output)
500	return
501}
502
503// CreateDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
504//
505// Creates a new Amazon DocumentDB cluster.
506//
507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
508// with awserr.Error's Code and Message methods to get detailed information about
509// the error.
510//
511// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
512// API operation CreateDBCluster for usage and error information.
513//
514// Returned Error Codes:
515//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
516//   You already have a cluster with the given identifier.
517//
518//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
519//   There is not enough storage available for the current action. You might be
520//   able to resolve this error by updating your subnet group to use different
521//   Availability Zones that have more storage available.
522//
523//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
524//   The cluster can't be created because you have reached the maximum allowed
525//   quota of clusters.
526//
527//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
528//   The request would cause you to exceed the allowed amount of storage available
529//   across all instances.
530//
531//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
532//   DBSubnetGroupName doesn't refer to an existing subnet group.
533//
534//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
535//   The subnet group doesn't cover all Availability Zones after it is created
536//   because of changes that were made.
537//
538//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
539//   The cluster isn't in a valid state.
540//
541//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
542//   The subnet group can't be deleted because it's in use.
543//
544//   * ErrCodeInvalidSubnet "InvalidSubnet"
545//   The requested subnet is not valid, or multiple subnets were requested that
546//   are not all in a common virtual private cloud (VPC).
547//
548//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
549//   The specified instance isn't in the available state.
550//
551//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
552//   DBClusterParameterGroupName doesn't refer to an existing cluster parameter
553//   group.
554//
555//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
556//   An error occurred when accessing an KMS key.
557//
558//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
559//   DBClusterIdentifier doesn't refer to an existing cluster.
560//
561//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
562//   DBInstanceIdentifier doesn't refer to an existing instance.
563//
564//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
565//   Subnets in the subnet group should cover at least two Availability Zones
566//   unless there is only one Availability Zone.
567//
568//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
569//   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
570//
571//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
572//   The requested operation can't be performed while the cluster is in this state.
573//
574// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBCluster
575func (c *DocDB) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
576	req, out := c.CreateDBClusterRequest(input)
577	return out, req.Send()
578}
579
580// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
581// the ability to pass a context and additional request options.
582//
583// See CreateDBCluster for details on how to use this API operation.
584//
585// The context must be non-nil and will be used for request cancellation. If
586// the context is nil a panic will occur. In the future the SDK may create
587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
588// for more information on using Contexts.
589func (c *DocDB) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
590	req, out := c.CreateDBClusterRequest(input)
591	req.SetContext(ctx)
592	req.ApplyOptions(opts...)
593	return out, req.Send()
594}
595
596const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
597
598// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
599// client's request for the CreateDBClusterParameterGroup operation. The "output" return
600// value will be populated with the request's response once the request completes
601// successfully.
602//
603// Use "Send" method on the returned Request to send the API call to the service.
604// the "output" return value is not valid until after Send returns without error.
605//
606// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
607// API call, and error handling.
608//
609// This method is useful when you want to inject custom logic or configuration
610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
611//
612//
613//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
614//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
615//
616//    err := req.Send()
617//    if err == nil { // resp is now filled
618//        fmt.Println(resp)
619//    }
620//
621// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup
622func (c *DocDB) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
623	op := &request.Operation{
624		Name:       opCreateDBClusterParameterGroup,
625		HTTPMethod: "POST",
626		HTTPPath:   "/",
627	}
628
629	if input == nil {
630		input = &CreateDBClusterParameterGroupInput{}
631	}
632
633	output = &CreateDBClusterParameterGroupOutput{}
634	req = c.newRequest(op, input, output)
635	return
636}
637
638// CreateDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
639//
640// Creates a new cluster parameter group.
641//
642// Parameters in a cluster parameter group apply to all of the instances in
643// a cluster.
644//
645// A cluster parameter group is initially created with the default parameters
646// for the database engine used by instances in the cluster. In Amazon DocumentDB,
647// you cannot make modifications directly to the default.docdb3.6 cluster parameter
648// group. If your Amazon DocumentDB cluster is using the default cluster parameter
649// group and you want to modify a value in it, you must first create a new parameter
650// group (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-create.html)
651// or copy an existing parameter group (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-copy.html),
652// modify it, and then apply the modified parameter group to your cluster. For
653// the new cluster parameter group and associated settings to take effect, you
654// must then reboot the instances in the cluster without failover. For more
655// information, see Modifying Amazon DocumentDB Cluster Parameter Groups (https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-modify.html).
656//
657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
658// with awserr.Error's Code and Message methods to get detailed information about
659// the error.
660//
661// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
662// API operation CreateDBClusterParameterGroup for usage and error information.
663//
664// Returned Error Codes:
665//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
666//   This request would cause you to exceed the allowed number of parameter groups.
667//
668//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
669//   A parameter group with the same name already exists.
670//
671// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterParameterGroup
672func (c *DocDB) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
673	req, out := c.CreateDBClusterParameterGroupRequest(input)
674	return out, req.Send()
675}
676
677// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
678// the ability to pass a context and additional request options.
679//
680// See CreateDBClusterParameterGroup for details on how to use this API operation.
681//
682// The context must be non-nil and will be used for request cancellation. If
683// the context is nil a panic will occur. In the future the SDK may create
684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
685// for more information on using Contexts.
686func (c *DocDB) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
687	req, out := c.CreateDBClusterParameterGroupRequest(input)
688	req.SetContext(ctx)
689	req.ApplyOptions(opts...)
690	return out, req.Send()
691}
692
693const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
694
695// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
696// client's request for the CreateDBClusterSnapshot operation. The "output" return
697// value will be populated with the request's response once the request completes
698// successfully.
699//
700// Use "Send" method on the returned Request to send the API call to the service.
701// the "output" return value is not valid until after Send returns without error.
702//
703// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
704// API call, and error handling.
705//
706// This method is useful when you want to inject custom logic or configuration
707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
708//
709//
710//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
711//    req, resp := client.CreateDBClusterSnapshotRequest(params)
712//
713//    err := req.Send()
714//    if err == nil { // resp is now filled
715//        fmt.Println(resp)
716//    }
717//
718// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot
719func (c *DocDB) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
720	op := &request.Operation{
721		Name:       opCreateDBClusterSnapshot,
722		HTTPMethod: "POST",
723		HTTPPath:   "/",
724	}
725
726	if input == nil {
727		input = &CreateDBClusterSnapshotInput{}
728	}
729
730	output = &CreateDBClusterSnapshotOutput{}
731	req = c.newRequest(op, input, output)
732	return
733}
734
735// CreateDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
736//
737// Creates a snapshot of a cluster.
738//
739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
740// with awserr.Error's Code and Message methods to get detailed information about
741// the error.
742//
743// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
744// API operation CreateDBClusterSnapshot for usage and error information.
745//
746// Returned Error Codes:
747//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
748//   You already have a cluster snapshot with the given identifier.
749//
750//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
751//   The cluster isn't in a valid state.
752//
753//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
754//   DBClusterIdentifier doesn't refer to an existing cluster.
755//
756//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
757//   The request would cause you to exceed the allowed number of snapshots.
758//
759//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
760//   The provided value isn't a valid cluster snapshot state.
761//
762// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterSnapshot
763func (c *DocDB) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
764	req, out := c.CreateDBClusterSnapshotRequest(input)
765	return out, req.Send()
766}
767
768// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
769// the ability to pass a context and additional request options.
770//
771// See CreateDBClusterSnapshot for details on how to use this API operation.
772//
773// The context must be non-nil and will be used for request cancellation. If
774// the context is nil a panic will occur. In the future the SDK may create
775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
776// for more information on using Contexts.
777func (c *DocDB) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
778	req, out := c.CreateDBClusterSnapshotRequest(input)
779	req.SetContext(ctx)
780	req.ApplyOptions(opts...)
781	return out, req.Send()
782}
783
784const opCreateDBInstance = "CreateDBInstance"
785
786// CreateDBInstanceRequest generates a "aws/request.Request" representing the
787// client's request for the CreateDBInstance operation. The "output" return
788// value will be populated with the request's response once the request completes
789// successfully.
790//
791// Use "Send" method on the returned Request to send the API call to the service.
792// the "output" return value is not valid until after Send returns without error.
793//
794// See CreateDBInstance for more information on using the CreateDBInstance
795// API call, and error handling.
796//
797// This method is useful when you want to inject custom logic or configuration
798// into the SDK's request lifecycle. Such as custom headers, or retry logic.
799//
800//
801//    // Example sending a request using the CreateDBInstanceRequest method.
802//    req, resp := client.CreateDBInstanceRequest(params)
803//
804//    err := req.Send()
805//    if err == nil { // resp is now filled
806//        fmt.Println(resp)
807//    }
808//
809// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance
810func (c *DocDB) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
811	op := &request.Operation{
812		Name:       opCreateDBInstance,
813		HTTPMethod: "POST",
814		HTTPPath:   "/",
815	}
816
817	if input == nil {
818		input = &CreateDBInstanceInput{}
819	}
820
821	output = &CreateDBInstanceOutput{}
822	req = c.newRequest(op, input, output)
823	return
824}
825
826// CreateDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
827//
828// Creates a new instance.
829//
830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
831// with awserr.Error's Code and Message methods to get detailed information about
832// the error.
833//
834// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
835// API operation CreateDBInstance for usage and error information.
836//
837// Returned Error Codes:
838//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
839//   You already have a instance with the given identifier.
840//
841//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
842//   The specified instance class isn't available in the specified Availability
843//   Zone.
844//
845//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
846//   DBParameterGroupName doesn't refer to an existing parameter group.
847//
848//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
849//   DBSecurityGroupName doesn't refer to an existing security group.
850//
851//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
852//   The request would cause you to exceed the allowed number of instances.
853//
854//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
855//   The request would cause you to exceed the allowed amount of storage available
856//   across all instances.
857//
858//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
859//   DBSubnetGroupName doesn't refer to an existing subnet group.
860//
861//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
862//   Subnets in the subnet group should cover at least two Availability Zones
863//   unless there is only one Availability Zone.
864//
865//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
866//   The cluster isn't in a valid state.
867//
868//   * ErrCodeInvalidSubnet "InvalidSubnet"
869//   The requested subnet is not valid, or multiple subnets were requested that
870//   are not all in a common virtual private cloud (VPC).
871//
872//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
873//   The subnet group doesn't cover all Availability Zones after it is created
874//   because of changes that were made.
875//
876//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
877//   DBClusterIdentifier doesn't refer to an existing cluster.
878//
879//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
880//   Storage of the specified StorageType can't be associated with the DB instance.
881//
882//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
883//   The specified CIDR IP or Amazon EC2 security group isn't authorized for the
884//   specified security group.
885//
886//   Amazon DocumentDB also might not be authorized to perform necessary actions
887//   on your behalf using IAM.
888//
889//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
890//   An error occurred when accessing an KMS key.
891//
892// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBInstance
893func (c *DocDB) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
894	req, out := c.CreateDBInstanceRequest(input)
895	return out, req.Send()
896}
897
898// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
899// the ability to pass a context and additional request options.
900//
901// See CreateDBInstance for details on how to use this API operation.
902//
903// The context must be non-nil and will be used for request cancellation. If
904// the context is nil a panic will occur. In the future the SDK may create
905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
906// for more information on using Contexts.
907func (c *DocDB) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
908	req, out := c.CreateDBInstanceRequest(input)
909	req.SetContext(ctx)
910	req.ApplyOptions(opts...)
911	return out, req.Send()
912}
913
914const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
915
916// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
917// client's request for the CreateDBSubnetGroup operation. The "output" return
918// value will be populated with the request's response once the request completes
919// successfully.
920//
921// Use "Send" method on the returned Request to send the API call to the service.
922// the "output" return value is not valid until after Send returns without error.
923//
924// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
925// API call, and error handling.
926//
927// This method is useful when you want to inject custom logic or configuration
928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
929//
930//
931//    // Example sending a request using the CreateDBSubnetGroupRequest method.
932//    req, resp := client.CreateDBSubnetGroupRequest(params)
933//
934//    err := req.Send()
935//    if err == nil { // resp is now filled
936//        fmt.Println(resp)
937//    }
938//
939// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup
940func (c *DocDB) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
941	op := &request.Operation{
942		Name:       opCreateDBSubnetGroup,
943		HTTPMethod: "POST",
944		HTTPPath:   "/",
945	}
946
947	if input == nil {
948		input = &CreateDBSubnetGroupInput{}
949	}
950
951	output = &CreateDBSubnetGroupOutput{}
952	req = c.newRequest(op, input, output)
953	return
954}
955
956// CreateDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
957//
958// Creates a new subnet group. subnet groups must contain at least one subnet
959// in at least two Availability Zones in the Region.
960//
961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
962// with awserr.Error's Code and Message methods to get detailed information about
963// the error.
964//
965// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
966// API operation CreateDBSubnetGroup for usage and error information.
967//
968// Returned Error Codes:
969//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
970//   DBSubnetGroupName is already being used by an existing subnet group.
971//
972//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
973//   The request would cause you to exceed the allowed number of subnet groups.
974//
975//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
976//   The request would cause you to exceed the allowed number of subnets in a
977//   subnet group.
978//
979//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
980//   Subnets in the subnet group should cover at least two Availability Zones
981//   unless there is only one Availability Zone.
982//
983//   * ErrCodeInvalidSubnet "InvalidSubnet"
984//   The requested subnet is not valid, or multiple subnets were requested that
985//   are not all in a common virtual private cloud (VPC).
986//
987// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBSubnetGroup
988func (c *DocDB) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
989	req, out := c.CreateDBSubnetGroupRequest(input)
990	return out, req.Send()
991}
992
993// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
994// the ability to pass a context and additional request options.
995//
996// See CreateDBSubnetGroup for details on how to use this API operation.
997//
998// The context must be non-nil and will be used for request cancellation. If
999// the context is nil a panic will occur. In the future the SDK may create
1000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1001// for more information on using Contexts.
1002func (c *DocDB) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
1003	req, out := c.CreateDBSubnetGroupRequest(input)
1004	req.SetContext(ctx)
1005	req.ApplyOptions(opts...)
1006	return out, req.Send()
1007}
1008
1009const opCreateEventSubscription = "CreateEventSubscription"
1010
1011// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
1012// client's request for the CreateEventSubscription operation. The "output" return
1013// value will be populated with the request's response once the request completes
1014// successfully.
1015//
1016// Use "Send" method on the returned Request to send the API call to the service.
1017// the "output" return value is not valid until after Send returns without error.
1018//
1019// See CreateEventSubscription for more information on using the CreateEventSubscription
1020// API call, and error handling.
1021//
1022// This method is useful when you want to inject custom logic or configuration
1023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1024//
1025//
1026//    // Example sending a request using the CreateEventSubscriptionRequest method.
1027//    req, resp := client.CreateEventSubscriptionRequest(params)
1028//
1029//    err := req.Send()
1030//    if err == nil { // resp is now filled
1031//        fmt.Println(resp)
1032//    }
1033//
1034// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateEventSubscription
1035func (c *DocDB) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
1036	op := &request.Operation{
1037		Name:       opCreateEventSubscription,
1038		HTTPMethod: "POST",
1039		HTTPPath:   "/",
1040	}
1041
1042	if input == nil {
1043		input = &CreateEventSubscriptionInput{}
1044	}
1045
1046	output = &CreateEventSubscriptionOutput{}
1047	req = c.newRequest(op, input, output)
1048	return
1049}
1050
1051// CreateEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
1052//
1053// Creates an Amazon DocumentDB event notification subscription. This action
1054// requires a topic Amazon Resource Name (ARN) created by using the Amazon DocumentDB
1055// console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN
1056// with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the
1057// topic. The ARN is displayed in the Amazon SNS console.
1058//
1059// You can specify the type of source (SourceType) that you want to be notified
1060// of. You can also provide a list of Amazon DocumentDB sources (SourceIds)
1061// that trigger the events, and you can provide a list of event categories (EventCategories)
1062// for events that you want to be notified of. For example, you can specify
1063// SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories
1064// = Availability, Backup.
1065//
1066// If you specify both the SourceType and SourceIds (such as SourceType = db-instance
1067// and SourceIdentifier = myDBInstance1), you are notified of all the db-instance
1068// events for the specified source. If you specify a SourceType but do not specify
1069// a SourceIdentifier, you receive notice of the events for that source type
1070// for all your Amazon DocumentDB sources. If you do not specify either the
1071// SourceType or the SourceIdentifier, you are notified of events generated
1072// from all Amazon DocumentDB sources belonging to your customer account.
1073//
1074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1075// with awserr.Error's Code and Message methods to get detailed information about
1076// the error.
1077//
1078// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1079// API operation CreateEventSubscription for usage and error information.
1080//
1081// Returned Error Codes:
1082//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
1083//   You have reached the maximum number of event subscriptions.
1084//
1085//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
1086//   The provided subscription name already exists.
1087//
1088//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
1089//   Amazon SNS has responded that there is a problem with the specified topic.
1090//
1091//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
1092//   You do not have permission to publish to the SNS topic Amazon Resource Name
1093//   (ARN).
1094//
1095//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
1096//   The SNS topic Amazon Resource Name (ARN) does not exist.
1097//
1098//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
1099//   The provided category does not exist.
1100//
1101//   * ErrCodeSourceNotFoundFault "SourceNotFound"
1102//   The requested source could not be found.
1103//
1104// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateEventSubscription
1105func (c *DocDB) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
1106	req, out := c.CreateEventSubscriptionRequest(input)
1107	return out, req.Send()
1108}
1109
1110// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
1111// the ability to pass a context and additional request options.
1112//
1113// See CreateEventSubscription for details on how to use this API operation.
1114//
1115// The context must be non-nil and will be used for request cancellation. If
1116// the context is nil a panic will occur. In the future the SDK may create
1117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1118// for more information on using Contexts.
1119func (c *DocDB) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
1120	req, out := c.CreateEventSubscriptionRequest(input)
1121	req.SetContext(ctx)
1122	req.ApplyOptions(opts...)
1123	return out, req.Send()
1124}
1125
1126const opCreateGlobalCluster = "CreateGlobalCluster"
1127
1128// CreateGlobalClusterRequest generates a "aws/request.Request" representing the
1129// client's request for the CreateGlobalCluster operation. The "output" return
1130// value will be populated with the request's response once the request completes
1131// successfully.
1132//
1133// Use "Send" method on the returned Request to send the API call to the service.
1134// the "output" return value is not valid until after Send returns without error.
1135//
1136// See CreateGlobalCluster for more information on using the CreateGlobalCluster
1137// API call, and error handling.
1138//
1139// This method is useful when you want to inject custom logic or configuration
1140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1141//
1142//
1143//    // Example sending a request using the CreateGlobalClusterRequest method.
1144//    req, resp := client.CreateGlobalClusterRequest(params)
1145//
1146//    err := req.Send()
1147//    if err == nil { // resp is now filled
1148//        fmt.Println(resp)
1149//    }
1150//
1151// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateGlobalCluster
1152func (c *DocDB) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) (req *request.Request, output *CreateGlobalClusterOutput) {
1153	op := &request.Operation{
1154		Name:       opCreateGlobalCluster,
1155		HTTPMethod: "POST",
1156		HTTPPath:   "/",
1157	}
1158
1159	if input == nil {
1160		input = &CreateGlobalClusterInput{}
1161	}
1162
1163	output = &CreateGlobalClusterOutput{}
1164	req = c.newRequest(op, input, output)
1165	return
1166}
1167
1168// CreateGlobalCluster API operation for Amazon DocumentDB with MongoDB compatibility.
1169//
1170// Creates an Amazon DocumentDB global cluster that can span multiple multiple
1171// Regions. The global cluster contains one primary cluster with read-write
1172// capability, and up-to give read-only secondary clusters. Global clusters
1173// uses storage-based fast replication across regions with latencies less than
1174// one second, using dedicated infrastructure with no impact to your workload’s
1175// performance.
1176//
1177// You can create a global cluster that is initially empty, and then add a primary
1178// and a secondary to it. Or you can specify an existing cluster during the
1179// create operation, and this cluster becomes the primary of the global cluster.
1180//
1181// This action only applies to Amazon DocumentDB clusters.
1182//
1183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1184// with awserr.Error's Code and Message methods to get detailed information about
1185// the error.
1186//
1187// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1188// API operation CreateGlobalCluster for usage and error information.
1189//
1190// Returned Error Codes:
1191//   * ErrCodeGlobalClusterAlreadyExistsFault "GlobalClusterAlreadyExistsFault"
1192//   The GlobalClusterIdentifier already exists. Choose a new global cluster identifier
1193//   (unique name) to create a new global cluster.
1194//
1195//   * ErrCodeGlobalClusterQuotaExceededFault "GlobalClusterQuotaExceededFault"
1196//   The number of global clusters for this account is already at the maximum
1197//   allowed.
1198//
1199//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1200//   The cluster isn't in a valid state.
1201//
1202//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1203//   DBClusterIdentifier doesn't refer to an existing cluster.
1204//
1205// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateGlobalCluster
1206func (c *DocDB) CreateGlobalCluster(input *CreateGlobalClusterInput) (*CreateGlobalClusterOutput, error) {
1207	req, out := c.CreateGlobalClusterRequest(input)
1208	return out, req.Send()
1209}
1210
1211// CreateGlobalClusterWithContext is the same as CreateGlobalCluster with the addition of
1212// the ability to pass a context and additional request options.
1213//
1214// See CreateGlobalCluster for details on how to use this API operation.
1215//
1216// The context must be non-nil and will be used for request cancellation. If
1217// the context is nil a panic will occur. In the future the SDK may create
1218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1219// for more information on using Contexts.
1220func (c *DocDB) CreateGlobalClusterWithContext(ctx aws.Context, input *CreateGlobalClusterInput, opts ...request.Option) (*CreateGlobalClusterOutput, error) {
1221	req, out := c.CreateGlobalClusterRequest(input)
1222	req.SetContext(ctx)
1223	req.ApplyOptions(opts...)
1224	return out, req.Send()
1225}
1226
1227const opDeleteDBCluster = "DeleteDBCluster"
1228
1229// DeleteDBClusterRequest generates a "aws/request.Request" representing the
1230// client's request for the DeleteDBCluster operation. The "output" return
1231// value will be populated with the request's response once the request completes
1232// successfully.
1233//
1234// Use "Send" method on the returned Request to send the API call to the service.
1235// the "output" return value is not valid until after Send returns without error.
1236//
1237// See DeleteDBCluster for more information on using the DeleteDBCluster
1238// API call, and error handling.
1239//
1240// This method is useful when you want to inject custom logic or configuration
1241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1242//
1243//
1244//    // Example sending a request using the DeleteDBClusterRequest method.
1245//    req, resp := client.DeleteDBClusterRequest(params)
1246//
1247//    err := req.Send()
1248//    if err == nil { // resp is now filled
1249//        fmt.Println(resp)
1250//    }
1251//
1252// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster
1253func (c *DocDB) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
1254	op := &request.Operation{
1255		Name:       opDeleteDBCluster,
1256		HTTPMethod: "POST",
1257		HTTPPath:   "/",
1258	}
1259
1260	if input == nil {
1261		input = &DeleteDBClusterInput{}
1262	}
1263
1264	output = &DeleteDBClusterOutput{}
1265	req = c.newRequest(op, input, output)
1266	return
1267}
1268
1269// DeleteDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
1270//
1271// Deletes a previously provisioned cluster. When you delete a cluster, all
1272// automated backups for that cluster are deleted and can't be recovered. Manual
1273// DB cluster snapshots of the specified cluster are not deleted.
1274//
1275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1276// with awserr.Error's Code and Message methods to get detailed information about
1277// the error.
1278//
1279// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1280// API operation DeleteDBCluster for usage and error information.
1281//
1282// Returned Error Codes:
1283//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1284//   DBClusterIdentifier doesn't refer to an existing cluster.
1285//
1286//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1287//   The cluster isn't in a valid state.
1288//
1289//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1290//   You already have a cluster snapshot with the given identifier.
1291//
1292//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1293//   The request would cause you to exceed the allowed number of snapshots.
1294//
1295//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1296//   The provided value isn't a valid cluster snapshot state.
1297//
1298// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBCluster
1299func (c *DocDB) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
1300	req, out := c.DeleteDBClusterRequest(input)
1301	return out, req.Send()
1302}
1303
1304// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
1305// the ability to pass a context and additional request options.
1306//
1307// See DeleteDBCluster for details on how to use this API operation.
1308//
1309// The context must be non-nil and will be used for request cancellation. If
1310// the context is nil a panic will occur. In the future the SDK may create
1311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1312// for more information on using Contexts.
1313func (c *DocDB) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
1314	req, out := c.DeleteDBClusterRequest(input)
1315	req.SetContext(ctx)
1316	req.ApplyOptions(opts...)
1317	return out, req.Send()
1318}
1319
1320const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
1321
1322// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1323// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
1324// value will be populated with the request's response once the request completes
1325// successfully.
1326//
1327// Use "Send" method on the returned Request to send the API call to the service.
1328// the "output" return value is not valid until after Send returns without error.
1329//
1330// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
1331// API call, and error handling.
1332//
1333// This method is useful when you want to inject custom logic or configuration
1334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1335//
1336//
1337//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
1338//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
1339//
1340//    err := req.Send()
1341//    if err == nil { // resp is now filled
1342//        fmt.Println(resp)
1343//    }
1344//
1345// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup
1346func (c *DocDB) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
1347	op := &request.Operation{
1348		Name:       opDeleteDBClusterParameterGroup,
1349		HTTPMethod: "POST",
1350		HTTPPath:   "/",
1351	}
1352
1353	if input == nil {
1354		input = &DeleteDBClusterParameterGroupInput{}
1355	}
1356
1357	output = &DeleteDBClusterParameterGroupOutput{}
1358	req = c.newRequest(op, input, output)
1359	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1360	return
1361}
1362
1363// DeleteDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
1364//
1365// Deletes a specified cluster parameter group. The cluster parameter group
1366// to be deleted can't be associated with any clusters.
1367//
1368// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1369// with awserr.Error's Code and Message methods to get detailed information about
1370// the error.
1371//
1372// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1373// API operation DeleteDBClusterParameterGroup for usage and error information.
1374//
1375// Returned Error Codes:
1376//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
1377//   The parameter group is in use, or it is in a state that is not valid. If
1378//   you are trying to delete the parameter group, you can't delete it when the
1379//   parameter group is in this state.
1380//
1381//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1382//   DBParameterGroupName doesn't refer to an existing parameter group.
1383//
1384// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterParameterGroup
1385func (c *DocDB) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
1386	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1387	return out, req.Send()
1388}
1389
1390// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
1391// the ability to pass a context and additional request options.
1392//
1393// See DeleteDBClusterParameterGroup for details on how to use this API operation.
1394//
1395// The context must be non-nil and will be used for request cancellation. If
1396// the context is nil a panic will occur. In the future the SDK may create
1397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1398// for more information on using Contexts.
1399func (c *DocDB) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
1400	req, out := c.DeleteDBClusterParameterGroupRequest(input)
1401	req.SetContext(ctx)
1402	req.ApplyOptions(opts...)
1403	return out, req.Send()
1404}
1405
1406const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
1407
1408// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1409// client's request for the DeleteDBClusterSnapshot operation. The "output" return
1410// value will be populated with the request's response once the request completes
1411// successfully.
1412//
1413// Use "Send" method on the returned Request to send the API call to the service.
1414// the "output" return value is not valid until after Send returns without error.
1415//
1416// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
1417// API call, and error handling.
1418//
1419// This method is useful when you want to inject custom logic or configuration
1420// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1421//
1422//
1423//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
1424//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
1425//
1426//    err := req.Send()
1427//    if err == nil { // resp is now filled
1428//        fmt.Println(resp)
1429//    }
1430//
1431// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot
1432func (c *DocDB) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
1433	op := &request.Operation{
1434		Name:       opDeleteDBClusterSnapshot,
1435		HTTPMethod: "POST",
1436		HTTPPath:   "/",
1437	}
1438
1439	if input == nil {
1440		input = &DeleteDBClusterSnapshotInput{}
1441	}
1442
1443	output = &DeleteDBClusterSnapshotOutput{}
1444	req = c.newRequest(op, input, output)
1445	return
1446}
1447
1448// DeleteDBClusterSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
1449//
1450// Deletes a cluster snapshot. If the snapshot is being copied, the copy operation
1451// is terminated.
1452//
1453// The cluster snapshot must be in the available state to be deleted.
1454//
1455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1456// with awserr.Error's Code and Message methods to get detailed information about
1457// the error.
1458//
1459// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1460// API operation DeleteDBClusterSnapshot for usage and error information.
1461//
1462// Returned Error Codes:
1463//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1464//   The provided value isn't a valid cluster snapshot state.
1465//
1466//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
1467//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
1468//
1469// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBClusterSnapshot
1470func (c *DocDB) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
1471	req, out := c.DeleteDBClusterSnapshotRequest(input)
1472	return out, req.Send()
1473}
1474
1475// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
1476// the ability to pass a context and additional request options.
1477//
1478// See DeleteDBClusterSnapshot for details on how to use this API operation.
1479//
1480// The context must be non-nil and will be used for request cancellation. If
1481// the context is nil a panic will occur. In the future the SDK may create
1482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1483// for more information on using Contexts.
1484func (c *DocDB) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
1485	req, out := c.DeleteDBClusterSnapshotRequest(input)
1486	req.SetContext(ctx)
1487	req.ApplyOptions(opts...)
1488	return out, req.Send()
1489}
1490
1491const opDeleteDBInstance = "DeleteDBInstance"
1492
1493// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
1494// client's request for the DeleteDBInstance operation. The "output" return
1495// value will be populated with the request's response once the request completes
1496// successfully.
1497//
1498// Use "Send" method on the returned Request to send the API call to the service.
1499// the "output" return value is not valid until after Send returns without error.
1500//
1501// See DeleteDBInstance for more information on using the DeleteDBInstance
1502// API call, and error handling.
1503//
1504// This method is useful when you want to inject custom logic or configuration
1505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1506//
1507//
1508//    // Example sending a request using the DeleteDBInstanceRequest method.
1509//    req, resp := client.DeleteDBInstanceRequest(params)
1510//
1511//    err := req.Send()
1512//    if err == nil { // resp is now filled
1513//        fmt.Println(resp)
1514//    }
1515//
1516// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance
1517func (c *DocDB) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
1518	op := &request.Operation{
1519		Name:       opDeleteDBInstance,
1520		HTTPMethod: "POST",
1521		HTTPPath:   "/",
1522	}
1523
1524	if input == nil {
1525		input = &DeleteDBInstanceInput{}
1526	}
1527
1528	output = &DeleteDBInstanceOutput{}
1529	req = c.newRequest(op, input, output)
1530	return
1531}
1532
1533// DeleteDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
1534//
1535// Deletes a previously provisioned instance.
1536//
1537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1538// with awserr.Error's Code and Message methods to get detailed information about
1539// the error.
1540//
1541// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1542// API operation DeleteDBInstance for usage and error information.
1543//
1544// Returned Error Codes:
1545//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1546//   DBInstanceIdentifier doesn't refer to an existing instance.
1547//
1548//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1549//   The specified instance isn't in the available state.
1550//
1551//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1552//   DBSnapshotIdentifier is already being used by an existing snapshot.
1553//
1554//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1555//   The request would cause you to exceed the allowed number of snapshots.
1556//
1557//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1558//   The cluster isn't in a valid state.
1559//
1560// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBInstance
1561func (c *DocDB) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
1562	req, out := c.DeleteDBInstanceRequest(input)
1563	return out, req.Send()
1564}
1565
1566// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
1567// the ability to pass a context and additional request options.
1568//
1569// See DeleteDBInstance for details on how to use this API operation.
1570//
1571// The context must be non-nil and will be used for request cancellation. If
1572// the context is nil a panic will occur. In the future the SDK may create
1573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1574// for more information on using Contexts.
1575func (c *DocDB) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
1576	req, out := c.DeleteDBInstanceRequest(input)
1577	req.SetContext(ctx)
1578	req.ApplyOptions(opts...)
1579	return out, req.Send()
1580}
1581
1582const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
1583
1584// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
1585// client's request for the DeleteDBSubnetGroup operation. The "output" return
1586// value will be populated with the request's response once the request completes
1587// successfully.
1588//
1589// Use "Send" method on the returned Request to send the API call to the service.
1590// the "output" return value is not valid until after Send returns without error.
1591//
1592// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
1593// API call, and error handling.
1594//
1595// This method is useful when you want to inject custom logic or configuration
1596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1597//
1598//
1599//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
1600//    req, resp := client.DeleteDBSubnetGroupRequest(params)
1601//
1602//    err := req.Send()
1603//    if err == nil { // resp is now filled
1604//        fmt.Println(resp)
1605//    }
1606//
1607// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup
1608func (c *DocDB) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
1609	op := &request.Operation{
1610		Name:       opDeleteDBSubnetGroup,
1611		HTTPMethod: "POST",
1612		HTTPPath:   "/",
1613	}
1614
1615	if input == nil {
1616		input = &DeleteDBSubnetGroupInput{}
1617	}
1618
1619	output = &DeleteDBSubnetGroupOutput{}
1620	req = c.newRequest(op, input, output)
1621	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1622	return
1623}
1624
1625// DeleteDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
1626//
1627// Deletes a subnet group.
1628//
1629// The specified database subnet group must not be associated with any DB instances.
1630//
1631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1632// with awserr.Error's Code and Message methods to get detailed information about
1633// the error.
1634//
1635// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1636// API operation DeleteDBSubnetGroup for usage and error information.
1637//
1638// Returned Error Codes:
1639//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1640//   The subnet group can't be deleted because it's in use.
1641//
1642//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
1643//   The subnet isn't in the available state.
1644//
1645//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1646//   DBSubnetGroupName doesn't refer to an existing subnet group.
1647//
1648// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteDBSubnetGroup
1649func (c *DocDB) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
1650	req, out := c.DeleteDBSubnetGroupRequest(input)
1651	return out, req.Send()
1652}
1653
1654// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
1655// the ability to pass a context and additional request options.
1656//
1657// See DeleteDBSubnetGroup for details on how to use this API operation.
1658//
1659// The context must be non-nil and will be used for request cancellation. If
1660// the context is nil a panic will occur. In the future the SDK may create
1661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1662// for more information on using Contexts.
1663func (c *DocDB) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
1664	req, out := c.DeleteDBSubnetGroupRequest(input)
1665	req.SetContext(ctx)
1666	req.ApplyOptions(opts...)
1667	return out, req.Send()
1668}
1669
1670const opDeleteEventSubscription = "DeleteEventSubscription"
1671
1672// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
1673// client's request for the DeleteEventSubscription operation. The "output" return
1674// value will be populated with the request's response once the request completes
1675// successfully.
1676//
1677// Use "Send" method on the returned Request to send the API call to the service.
1678// the "output" return value is not valid until after Send returns without error.
1679//
1680// See DeleteEventSubscription for more information on using the DeleteEventSubscription
1681// API call, and error handling.
1682//
1683// This method is useful when you want to inject custom logic or configuration
1684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1685//
1686//
1687//    // Example sending a request using the DeleteEventSubscriptionRequest method.
1688//    req, resp := client.DeleteEventSubscriptionRequest(params)
1689//
1690//    err := req.Send()
1691//    if err == nil { // resp is now filled
1692//        fmt.Println(resp)
1693//    }
1694//
1695// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteEventSubscription
1696func (c *DocDB) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
1697	op := &request.Operation{
1698		Name:       opDeleteEventSubscription,
1699		HTTPMethod: "POST",
1700		HTTPPath:   "/",
1701	}
1702
1703	if input == nil {
1704		input = &DeleteEventSubscriptionInput{}
1705	}
1706
1707	output = &DeleteEventSubscriptionOutput{}
1708	req = c.newRequest(op, input, output)
1709	return
1710}
1711
1712// DeleteEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
1713//
1714// Deletes an Amazon DocumentDB event notification subscription.
1715//
1716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1717// with awserr.Error's Code and Message methods to get detailed information about
1718// the error.
1719//
1720// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1721// API operation DeleteEventSubscription for usage and error information.
1722//
1723// Returned Error Codes:
1724//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
1725//   The subscription name does not exist.
1726//
1727//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
1728//   Someone else might be modifying a subscription. Wait a few seconds, and try
1729//   again.
1730//
1731// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteEventSubscription
1732func (c *DocDB) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
1733	req, out := c.DeleteEventSubscriptionRequest(input)
1734	return out, req.Send()
1735}
1736
1737// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
1738// the ability to pass a context and additional request options.
1739//
1740// See DeleteEventSubscription for details on how to use this API operation.
1741//
1742// The context must be non-nil and will be used for request cancellation. If
1743// the context is nil a panic will occur. In the future the SDK may create
1744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1745// for more information on using Contexts.
1746func (c *DocDB) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
1747	req, out := c.DeleteEventSubscriptionRequest(input)
1748	req.SetContext(ctx)
1749	req.ApplyOptions(opts...)
1750	return out, req.Send()
1751}
1752
1753const opDeleteGlobalCluster = "DeleteGlobalCluster"
1754
1755// DeleteGlobalClusterRequest generates a "aws/request.Request" representing the
1756// client's request for the DeleteGlobalCluster operation. The "output" return
1757// value will be populated with the request's response once the request completes
1758// successfully.
1759//
1760// Use "Send" method on the returned Request to send the API call to the service.
1761// the "output" return value is not valid until after Send returns without error.
1762//
1763// See DeleteGlobalCluster for more information on using the DeleteGlobalCluster
1764// API call, and error handling.
1765//
1766// This method is useful when you want to inject custom logic or configuration
1767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1768//
1769//
1770//    // Example sending a request using the DeleteGlobalClusterRequest method.
1771//    req, resp := client.DeleteGlobalClusterRequest(params)
1772//
1773//    err := req.Send()
1774//    if err == nil { // resp is now filled
1775//        fmt.Println(resp)
1776//    }
1777//
1778// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteGlobalCluster
1779func (c *DocDB) DeleteGlobalClusterRequest(input *DeleteGlobalClusterInput) (req *request.Request, output *DeleteGlobalClusterOutput) {
1780	op := &request.Operation{
1781		Name:       opDeleteGlobalCluster,
1782		HTTPMethod: "POST",
1783		HTTPPath:   "/",
1784	}
1785
1786	if input == nil {
1787		input = &DeleteGlobalClusterInput{}
1788	}
1789
1790	output = &DeleteGlobalClusterOutput{}
1791	req = c.newRequest(op, input, output)
1792	return
1793}
1794
1795// DeleteGlobalCluster API operation for Amazon DocumentDB with MongoDB compatibility.
1796//
1797// Deletes a global cluster. The primary and secondary clusters must already
1798// be detached or deleted before attempting to delete a global cluster.
1799//
1800// This action only applies to Amazon DocumentDB clusters.
1801//
1802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1803// with awserr.Error's Code and Message methods to get detailed information about
1804// the error.
1805//
1806// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1807// API operation DeleteGlobalCluster for usage and error information.
1808//
1809// Returned Error Codes:
1810//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
1811//   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
1812//
1813//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
1814//   The requested operation can't be performed while the cluster is in this state.
1815//
1816// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteGlobalCluster
1817func (c *DocDB) DeleteGlobalCluster(input *DeleteGlobalClusterInput) (*DeleteGlobalClusterOutput, error) {
1818	req, out := c.DeleteGlobalClusterRequest(input)
1819	return out, req.Send()
1820}
1821
1822// DeleteGlobalClusterWithContext is the same as DeleteGlobalCluster with the addition of
1823// the ability to pass a context and additional request options.
1824//
1825// See DeleteGlobalCluster for details on how to use this API operation.
1826//
1827// The context must be non-nil and will be used for request cancellation. If
1828// the context is nil a panic will occur. In the future the SDK may create
1829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1830// for more information on using Contexts.
1831func (c *DocDB) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGlobalClusterInput, opts ...request.Option) (*DeleteGlobalClusterOutput, error) {
1832	req, out := c.DeleteGlobalClusterRequest(input)
1833	req.SetContext(ctx)
1834	req.ApplyOptions(opts...)
1835	return out, req.Send()
1836}
1837
1838const opDescribeCertificates = "DescribeCertificates"
1839
1840// DescribeCertificatesRequest generates a "aws/request.Request" representing the
1841// client's request for the DescribeCertificates operation. The "output" return
1842// value will be populated with the request's response once the request completes
1843// successfully.
1844//
1845// Use "Send" method on the returned Request to send the API call to the service.
1846// the "output" return value is not valid until after Send returns without error.
1847//
1848// See DescribeCertificates for more information on using the DescribeCertificates
1849// API call, and error handling.
1850//
1851// This method is useful when you want to inject custom logic or configuration
1852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1853//
1854//
1855//    // Example sending a request using the DescribeCertificatesRequest method.
1856//    req, resp := client.DescribeCertificatesRequest(params)
1857//
1858//    err := req.Send()
1859//    if err == nil { // resp is now filled
1860//        fmt.Println(resp)
1861//    }
1862//
1863// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeCertificates
1864func (c *DocDB) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
1865	op := &request.Operation{
1866		Name:       opDescribeCertificates,
1867		HTTPMethod: "POST",
1868		HTTPPath:   "/",
1869		Paginator: &request.Paginator{
1870			InputTokens:     []string{"Marker"},
1871			OutputTokens:    []string{"Marker"},
1872			LimitToken:      "MaxRecords",
1873			TruncationToken: "",
1874		},
1875	}
1876
1877	if input == nil {
1878		input = &DescribeCertificatesInput{}
1879	}
1880
1881	output = &DescribeCertificatesOutput{}
1882	req = c.newRequest(op, input, output)
1883	return
1884}
1885
1886// DescribeCertificates API operation for Amazon DocumentDB with MongoDB compatibility.
1887//
1888// Returns a list of certificate authority (CA) certificates provided by Amazon
1889// DocumentDB for this account.
1890//
1891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1892// with awserr.Error's Code and Message methods to get detailed information about
1893// the error.
1894//
1895// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
1896// API operation DescribeCertificates for usage and error information.
1897//
1898// Returned Error Codes:
1899//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
1900//   CertificateIdentifier doesn't refer to an existing certificate.
1901//
1902// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeCertificates
1903func (c *DocDB) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
1904	req, out := c.DescribeCertificatesRequest(input)
1905	return out, req.Send()
1906}
1907
1908// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
1909// the ability to pass a context and additional request options.
1910//
1911// See DescribeCertificates for details on how to use this API operation.
1912//
1913// The context must be non-nil and will be used for request cancellation. If
1914// the context is nil a panic will occur. In the future the SDK may create
1915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1916// for more information on using Contexts.
1917func (c *DocDB) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
1918	req, out := c.DescribeCertificatesRequest(input)
1919	req.SetContext(ctx)
1920	req.ApplyOptions(opts...)
1921	return out, req.Send()
1922}
1923
1924// DescribeCertificatesPages iterates over the pages of a DescribeCertificates operation,
1925// calling the "fn" function with the response data for each page. To stop
1926// iterating, return false from the fn function.
1927//
1928// See DescribeCertificates method for more information on how to use this operation.
1929//
1930// Note: This operation can generate multiple requests to a service.
1931//
1932//    // Example iterating over at most 3 pages of a DescribeCertificates operation.
1933//    pageNum := 0
1934//    err := client.DescribeCertificatesPages(params,
1935//        func(page *docdb.DescribeCertificatesOutput, lastPage bool) bool {
1936//            pageNum++
1937//            fmt.Println(page)
1938//            return pageNum <= 3
1939//        })
1940//
1941func (c *DocDB) DescribeCertificatesPages(input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool) error {
1942	return c.DescribeCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
1943}
1944
1945// DescribeCertificatesPagesWithContext same as DescribeCertificatesPages except
1946// it takes a Context and allows setting request options on the pages.
1947//
1948// The context must be non-nil and will be used for request cancellation. If
1949// the context is nil a panic will occur. In the future the SDK may create
1950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1951// for more information on using Contexts.
1952func (c *DocDB) DescribeCertificatesPagesWithContext(ctx aws.Context, input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool, opts ...request.Option) error {
1953	p := request.Pagination{
1954		NewRequest: func() (*request.Request, error) {
1955			var inCpy *DescribeCertificatesInput
1956			if input != nil {
1957				tmp := *input
1958				inCpy = &tmp
1959			}
1960			req, _ := c.DescribeCertificatesRequest(inCpy)
1961			req.SetContext(ctx)
1962			req.ApplyOptions(opts...)
1963			return req, nil
1964		},
1965	}
1966
1967	for p.Next() {
1968		if !fn(p.Page().(*DescribeCertificatesOutput), !p.HasNextPage()) {
1969			break
1970		}
1971	}
1972
1973	return p.Err()
1974}
1975
1976const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
1977
1978// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
1979// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
1980// value will be populated with the request's response once the request completes
1981// successfully.
1982//
1983// Use "Send" method on the returned Request to send the API call to the service.
1984// the "output" return value is not valid until after Send returns without error.
1985//
1986// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
1987// API call, and error handling.
1988//
1989// This method is useful when you want to inject custom logic or configuration
1990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1991//
1992//
1993//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
1994//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
1995//
1996//    err := req.Send()
1997//    if err == nil { // resp is now filled
1998//        fmt.Println(resp)
1999//    }
2000//
2001// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups
2002func (c *DocDB) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
2003	op := &request.Operation{
2004		Name:       opDescribeDBClusterParameterGroups,
2005		HTTPMethod: "POST",
2006		HTTPPath:   "/",
2007		Paginator: &request.Paginator{
2008			InputTokens:     []string{"Marker"},
2009			OutputTokens:    []string{"Marker"},
2010			LimitToken:      "MaxRecords",
2011			TruncationToken: "",
2012		},
2013	}
2014
2015	if input == nil {
2016		input = &DescribeDBClusterParameterGroupsInput{}
2017	}
2018
2019	output = &DescribeDBClusterParameterGroupsOutput{}
2020	req = c.newRequest(op, input, output)
2021	return
2022}
2023
2024// DescribeDBClusterParameterGroups API operation for Amazon DocumentDB with MongoDB compatibility.
2025//
2026// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
2027// parameter is specified, the list contains only the description of the specified
2028// cluster parameter group.
2029//
2030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2031// with awserr.Error's Code and Message methods to get detailed information about
2032// the error.
2033//
2034// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2035// API operation DescribeDBClusterParameterGroups for usage and error information.
2036//
2037// Returned Error Codes:
2038//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2039//   DBParameterGroupName doesn't refer to an existing parameter group.
2040//
2041// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameterGroups
2042func (c *DocDB) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
2043	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
2044	return out, req.Send()
2045}
2046
2047// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
2048// the ability to pass a context and additional request options.
2049//
2050// See DescribeDBClusterParameterGroups for details on how to use this API operation.
2051//
2052// The context must be non-nil and will be used for request cancellation. If
2053// the context is nil a panic will occur. In the future the SDK may create
2054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2055// for more information on using Contexts.
2056func (c *DocDB) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
2057	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
2058	req.SetContext(ctx)
2059	req.ApplyOptions(opts...)
2060	return out, req.Send()
2061}
2062
2063// DescribeDBClusterParameterGroupsPages iterates over the pages of a DescribeDBClusterParameterGroups operation,
2064// calling the "fn" function with the response data for each page. To stop
2065// iterating, return false from the fn function.
2066//
2067// See DescribeDBClusterParameterGroups method for more information on how to use this operation.
2068//
2069// Note: This operation can generate multiple requests to a service.
2070//
2071//    // Example iterating over at most 3 pages of a DescribeDBClusterParameterGroups operation.
2072//    pageNum := 0
2073//    err := client.DescribeDBClusterParameterGroupsPages(params,
2074//        func(page *docdb.DescribeDBClusterParameterGroupsOutput, lastPage bool) bool {
2075//            pageNum++
2076//            fmt.Println(page)
2077//            return pageNum <= 3
2078//        })
2079//
2080func (c *DocDB) DescribeDBClusterParameterGroupsPages(input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool) error {
2081	return c.DescribeDBClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
2082}
2083
2084// DescribeDBClusterParameterGroupsPagesWithContext same as DescribeDBClusterParameterGroupsPages except
2085// it takes a Context and allows setting request options on the pages.
2086//
2087// The context must be non-nil and will be used for request cancellation. If
2088// the context is nil a panic will occur. In the future the SDK may create
2089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2090// for more information on using Contexts.
2091func (c *DocDB) DescribeDBClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error {
2092	p := request.Pagination{
2093		NewRequest: func() (*request.Request, error) {
2094			var inCpy *DescribeDBClusterParameterGroupsInput
2095			if input != nil {
2096				tmp := *input
2097				inCpy = &tmp
2098			}
2099			req, _ := c.DescribeDBClusterParameterGroupsRequest(inCpy)
2100			req.SetContext(ctx)
2101			req.ApplyOptions(opts...)
2102			return req, nil
2103		},
2104	}
2105
2106	for p.Next() {
2107		if !fn(p.Page().(*DescribeDBClusterParameterGroupsOutput), !p.HasNextPage()) {
2108			break
2109		}
2110	}
2111
2112	return p.Err()
2113}
2114
2115const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
2116
2117// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
2118// client's request for the DescribeDBClusterParameters operation. The "output" return
2119// value will be populated with the request's response once the request completes
2120// successfully.
2121//
2122// Use "Send" method on the returned Request to send the API call to the service.
2123// the "output" return value is not valid until after Send returns without error.
2124//
2125// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
2126// API call, and error handling.
2127//
2128// This method is useful when you want to inject custom logic or configuration
2129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2130//
2131//
2132//    // Example sending a request using the DescribeDBClusterParametersRequest method.
2133//    req, resp := client.DescribeDBClusterParametersRequest(params)
2134//
2135//    err := req.Send()
2136//    if err == nil { // resp is now filled
2137//        fmt.Println(resp)
2138//    }
2139//
2140// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters
2141func (c *DocDB) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
2142	op := &request.Operation{
2143		Name:       opDescribeDBClusterParameters,
2144		HTTPMethod: "POST",
2145		HTTPPath:   "/",
2146		Paginator: &request.Paginator{
2147			InputTokens:     []string{"Marker"},
2148			OutputTokens:    []string{"Marker"},
2149			LimitToken:      "MaxRecords",
2150			TruncationToken: "",
2151		},
2152	}
2153
2154	if input == nil {
2155		input = &DescribeDBClusterParametersInput{}
2156	}
2157
2158	output = &DescribeDBClusterParametersOutput{}
2159	req = c.newRequest(op, input, output)
2160	return
2161}
2162
2163// DescribeDBClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility.
2164//
2165// Returns the detailed parameter list for a particular cluster parameter group.
2166//
2167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2168// with awserr.Error's Code and Message methods to get detailed information about
2169// the error.
2170//
2171// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2172// API operation DescribeDBClusterParameters for usage and error information.
2173//
2174// Returned Error Codes:
2175//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2176//   DBParameterGroupName doesn't refer to an existing parameter group.
2177//
2178// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterParameters
2179func (c *DocDB) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
2180	req, out := c.DescribeDBClusterParametersRequest(input)
2181	return out, req.Send()
2182}
2183
2184// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
2185// the ability to pass a context and additional request options.
2186//
2187// See DescribeDBClusterParameters for details on how to use this API operation.
2188//
2189// The context must be non-nil and will be used for request cancellation. If
2190// the context is nil a panic will occur. In the future the SDK may create
2191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2192// for more information on using Contexts.
2193func (c *DocDB) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
2194	req, out := c.DescribeDBClusterParametersRequest(input)
2195	req.SetContext(ctx)
2196	req.ApplyOptions(opts...)
2197	return out, req.Send()
2198}
2199
2200// DescribeDBClusterParametersPages iterates over the pages of a DescribeDBClusterParameters operation,
2201// calling the "fn" function with the response data for each page. To stop
2202// iterating, return false from the fn function.
2203//
2204// See DescribeDBClusterParameters method for more information on how to use this operation.
2205//
2206// Note: This operation can generate multiple requests to a service.
2207//
2208//    // Example iterating over at most 3 pages of a DescribeDBClusterParameters operation.
2209//    pageNum := 0
2210//    err := client.DescribeDBClusterParametersPages(params,
2211//        func(page *docdb.DescribeDBClusterParametersOutput, lastPage bool) bool {
2212//            pageNum++
2213//            fmt.Println(page)
2214//            return pageNum <= 3
2215//        })
2216//
2217func (c *DocDB) DescribeDBClusterParametersPages(input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool) error {
2218	return c.DescribeDBClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
2219}
2220
2221// DescribeDBClusterParametersPagesWithContext same as DescribeDBClusterParametersPages except
2222// it takes a Context and allows setting request options on the pages.
2223//
2224// The context must be non-nil and will be used for request cancellation. If
2225// the context is nil a panic will occur. In the future the SDK may create
2226// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2227// for more information on using Contexts.
2228func (c *DocDB) DescribeDBClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool, opts ...request.Option) error {
2229	p := request.Pagination{
2230		NewRequest: func() (*request.Request, error) {
2231			var inCpy *DescribeDBClusterParametersInput
2232			if input != nil {
2233				tmp := *input
2234				inCpy = &tmp
2235			}
2236			req, _ := c.DescribeDBClusterParametersRequest(inCpy)
2237			req.SetContext(ctx)
2238			req.ApplyOptions(opts...)
2239			return req, nil
2240		},
2241	}
2242
2243	for p.Next() {
2244		if !fn(p.Page().(*DescribeDBClusterParametersOutput), !p.HasNextPage()) {
2245			break
2246		}
2247	}
2248
2249	return p.Err()
2250}
2251
2252const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
2253
2254// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
2255// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
2256// value will be populated with the request's response once the request completes
2257// successfully.
2258//
2259// Use "Send" method on the returned Request to send the API call to the service.
2260// the "output" return value is not valid until after Send returns without error.
2261//
2262// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
2263// API call, and error handling.
2264//
2265// This method is useful when you want to inject custom logic or configuration
2266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2267//
2268//
2269//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
2270//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
2271//
2272//    err := req.Send()
2273//    if err == nil { // resp is now filled
2274//        fmt.Println(resp)
2275//    }
2276//
2277// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes
2278func (c *DocDB) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
2279	op := &request.Operation{
2280		Name:       opDescribeDBClusterSnapshotAttributes,
2281		HTTPMethod: "POST",
2282		HTTPPath:   "/",
2283	}
2284
2285	if input == nil {
2286		input = &DescribeDBClusterSnapshotAttributesInput{}
2287	}
2288
2289	output = &DescribeDBClusterSnapshotAttributesOutput{}
2290	req = c.newRequest(op, input, output)
2291	return
2292}
2293
2294// DescribeDBClusterSnapshotAttributes API operation for Amazon DocumentDB with MongoDB compatibility.
2295//
2296// Returns a list of cluster snapshot attribute names and values for a manual
2297// DB cluster snapshot.
2298//
2299// When you share snapshots with other accounts, DescribeDBClusterSnapshotAttributes
2300// returns the restore attribute and a list of IDs for the accounts that are
2301// authorized to copy or restore the manual cluster snapshot. If all is included
2302// in the list of values for the restore attribute, then the manual cluster
2303// snapshot is public and can be copied or restored by all accounts.
2304//
2305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2306// with awserr.Error's Code and Message methods to get detailed information about
2307// the error.
2308//
2309// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2310// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
2311//
2312// Returned Error Codes:
2313//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
2314//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
2315//
2316// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotAttributes
2317func (c *DocDB) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
2318	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
2319	return out, req.Send()
2320}
2321
2322// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
2323// the ability to pass a context and additional request options.
2324//
2325// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
2326//
2327// The context must be non-nil and will be used for request cancellation. If
2328// the context is nil a panic will occur. In the future the SDK may create
2329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2330// for more information on using Contexts.
2331func (c *DocDB) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
2332	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
2333	req.SetContext(ctx)
2334	req.ApplyOptions(opts...)
2335	return out, req.Send()
2336}
2337
2338const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
2339
2340// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
2341// client's request for the DescribeDBClusterSnapshots operation. The "output" return
2342// value will be populated with the request's response once the request completes
2343// successfully.
2344//
2345// Use "Send" method on the returned Request to send the API call to the service.
2346// the "output" return value is not valid until after Send returns without error.
2347//
2348// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
2349// API call, and error handling.
2350//
2351// This method is useful when you want to inject custom logic or configuration
2352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2353//
2354//
2355//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
2356//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
2357//
2358//    err := req.Send()
2359//    if err == nil { // resp is now filled
2360//        fmt.Println(resp)
2361//    }
2362//
2363// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots
2364func (c *DocDB) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
2365	op := &request.Operation{
2366		Name:       opDescribeDBClusterSnapshots,
2367		HTTPMethod: "POST",
2368		HTTPPath:   "/",
2369		Paginator: &request.Paginator{
2370			InputTokens:     []string{"Marker"},
2371			OutputTokens:    []string{"Marker"},
2372			LimitToken:      "MaxRecords",
2373			TruncationToken: "",
2374		},
2375	}
2376
2377	if input == nil {
2378		input = &DescribeDBClusterSnapshotsInput{}
2379	}
2380
2381	output = &DescribeDBClusterSnapshotsOutput{}
2382	req = c.newRequest(op, input, output)
2383	return
2384}
2385
2386// DescribeDBClusterSnapshots API operation for Amazon DocumentDB with MongoDB compatibility.
2387//
2388// Returns information about cluster snapshots. This API operation supports
2389// pagination.
2390//
2391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2392// with awserr.Error's Code and Message methods to get detailed information about
2393// the error.
2394//
2395// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2396// API operation DescribeDBClusterSnapshots for usage and error information.
2397//
2398// Returned Error Codes:
2399//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
2400//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
2401//
2402// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshots
2403func (c *DocDB) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
2404	req, out := c.DescribeDBClusterSnapshotsRequest(input)
2405	return out, req.Send()
2406}
2407
2408// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
2409// the ability to pass a context and additional request options.
2410//
2411// See DescribeDBClusterSnapshots for details on how to use this API operation.
2412//
2413// The context must be non-nil and will be used for request cancellation. If
2414// the context is nil a panic will occur. In the future the SDK may create
2415// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2416// for more information on using Contexts.
2417func (c *DocDB) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
2418	req, out := c.DescribeDBClusterSnapshotsRequest(input)
2419	req.SetContext(ctx)
2420	req.ApplyOptions(opts...)
2421	return out, req.Send()
2422}
2423
2424// DescribeDBClusterSnapshotsPages iterates over the pages of a DescribeDBClusterSnapshots operation,
2425// calling the "fn" function with the response data for each page. To stop
2426// iterating, return false from the fn function.
2427//
2428// See DescribeDBClusterSnapshots method for more information on how to use this operation.
2429//
2430// Note: This operation can generate multiple requests to a service.
2431//
2432//    // Example iterating over at most 3 pages of a DescribeDBClusterSnapshots operation.
2433//    pageNum := 0
2434//    err := client.DescribeDBClusterSnapshotsPages(params,
2435//        func(page *docdb.DescribeDBClusterSnapshotsOutput, lastPage bool) bool {
2436//            pageNum++
2437//            fmt.Println(page)
2438//            return pageNum <= 3
2439//        })
2440//
2441func (c *DocDB) DescribeDBClusterSnapshotsPages(input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool) error {
2442	return c.DescribeDBClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
2443}
2444
2445// DescribeDBClusterSnapshotsPagesWithContext same as DescribeDBClusterSnapshotsPages except
2446// it takes a Context and allows setting request options on the pages.
2447//
2448// The context must be non-nil and will be used for request cancellation. If
2449// the context is nil a panic will occur. In the future the SDK may create
2450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2451// for more information on using Contexts.
2452func (c *DocDB) DescribeDBClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool, opts ...request.Option) error {
2453	p := request.Pagination{
2454		NewRequest: func() (*request.Request, error) {
2455			var inCpy *DescribeDBClusterSnapshotsInput
2456			if input != nil {
2457				tmp := *input
2458				inCpy = &tmp
2459			}
2460			req, _ := c.DescribeDBClusterSnapshotsRequest(inCpy)
2461			req.SetContext(ctx)
2462			req.ApplyOptions(opts...)
2463			return req, nil
2464		},
2465	}
2466
2467	for p.Next() {
2468		if !fn(p.Page().(*DescribeDBClusterSnapshotsOutput), !p.HasNextPage()) {
2469			break
2470		}
2471	}
2472
2473	return p.Err()
2474}
2475
2476const opDescribeDBClusters = "DescribeDBClusters"
2477
2478// DescribeDBClustersRequest generates a "aws/request.Request" representing the
2479// client's request for the DescribeDBClusters operation. The "output" return
2480// value will be populated with the request's response once the request completes
2481// successfully.
2482//
2483// Use "Send" method on the returned Request to send the API call to the service.
2484// the "output" return value is not valid until after Send returns without error.
2485//
2486// See DescribeDBClusters for more information on using the DescribeDBClusters
2487// API call, and error handling.
2488//
2489// This method is useful when you want to inject custom logic or configuration
2490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2491//
2492//
2493//    // Example sending a request using the DescribeDBClustersRequest method.
2494//    req, resp := client.DescribeDBClustersRequest(params)
2495//
2496//    err := req.Send()
2497//    if err == nil { // resp is now filled
2498//        fmt.Println(resp)
2499//    }
2500//
2501// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters
2502func (c *DocDB) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
2503	op := &request.Operation{
2504		Name:       opDescribeDBClusters,
2505		HTTPMethod: "POST",
2506		HTTPPath:   "/",
2507		Paginator: &request.Paginator{
2508			InputTokens:     []string{"Marker"},
2509			OutputTokens:    []string{"Marker"},
2510			LimitToken:      "MaxRecords",
2511			TruncationToken: "",
2512		},
2513	}
2514
2515	if input == nil {
2516		input = &DescribeDBClustersInput{}
2517	}
2518
2519	output = &DescribeDBClustersOutput{}
2520	req = c.newRequest(op, input, output)
2521	return
2522}
2523
2524// DescribeDBClusters API operation for Amazon DocumentDB with MongoDB compatibility.
2525//
2526// Returns information about provisioned Amazon DocumentDB clusters. This API
2527// operation supports pagination. For certain management features such as cluster
2528// and instance lifecycle management, Amazon DocumentDB leverages operational
2529// technology that is shared with Amazon RDS and Amazon Neptune. Use the filterName=engine,Values=docdb
2530// filter parameter to return only Amazon DocumentDB clusters.
2531//
2532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2533// with awserr.Error's Code and Message methods to get detailed information about
2534// the error.
2535//
2536// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2537// API operation DescribeDBClusters for usage and error information.
2538//
2539// Returned Error Codes:
2540//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2541//   DBClusterIdentifier doesn't refer to an existing cluster.
2542//
2543// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusters
2544func (c *DocDB) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
2545	req, out := c.DescribeDBClustersRequest(input)
2546	return out, req.Send()
2547}
2548
2549// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
2550// the ability to pass a context and additional request options.
2551//
2552// See DescribeDBClusters for details on how to use this API operation.
2553//
2554// The context must be non-nil and will be used for request cancellation. If
2555// the context is nil a panic will occur. In the future the SDK may create
2556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2557// for more information on using Contexts.
2558func (c *DocDB) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
2559	req, out := c.DescribeDBClustersRequest(input)
2560	req.SetContext(ctx)
2561	req.ApplyOptions(opts...)
2562	return out, req.Send()
2563}
2564
2565// DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
2566// calling the "fn" function with the response data for each page. To stop
2567// iterating, return false from the fn function.
2568//
2569// See DescribeDBClusters method for more information on how to use this operation.
2570//
2571// Note: This operation can generate multiple requests to a service.
2572//
2573//    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
2574//    pageNum := 0
2575//    err := client.DescribeDBClustersPages(params,
2576//        func(page *docdb.DescribeDBClustersOutput, lastPage bool) bool {
2577//            pageNum++
2578//            fmt.Println(page)
2579//            return pageNum <= 3
2580//        })
2581//
2582func (c *DocDB) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
2583	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
2584}
2585
2586// DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
2587// it takes a Context and allows setting request options on the pages.
2588//
2589// The context must be non-nil and will be used for request cancellation. If
2590// the context is nil a panic will occur. In the future the SDK may create
2591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2592// for more information on using Contexts.
2593func (c *DocDB) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
2594	p := request.Pagination{
2595		NewRequest: func() (*request.Request, error) {
2596			var inCpy *DescribeDBClustersInput
2597			if input != nil {
2598				tmp := *input
2599				inCpy = &tmp
2600			}
2601			req, _ := c.DescribeDBClustersRequest(inCpy)
2602			req.SetContext(ctx)
2603			req.ApplyOptions(opts...)
2604			return req, nil
2605		},
2606	}
2607
2608	for p.Next() {
2609		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
2610			break
2611		}
2612	}
2613
2614	return p.Err()
2615}
2616
2617const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
2618
2619// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
2620// client's request for the DescribeDBEngineVersions operation. The "output" return
2621// value will be populated with the request's response once the request completes
2622// successfully.
2623//
2624// Use "Send" method on the returned Request to send the API call to the service.
2625// the "output" return value is not valid until after Send returns without error.
2626//
2627// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
2628// API call, and error handling.
2629//
2630// This method is useful when you want to inject custom logic or configuration
2631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2632//
2633//
2634//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
2635//    req, resp := client.DescribeDBEngineVersionsRequest(params)
2636//
2637//    err := req.Send()
2638//    if err == nil { // resp is now filled
2639//        fmt.Println(resp)
2640//    }
2641//
2642// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions
2643func (c *DocDB) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
2644	op := &request.Operation{
2645		Name:       opDescribeDBEngineVersions,
2646		HTTPMethod: "POST",
2647		HTTPPath:   "/",
2648		Paginator: &request.Paginator{
2649			InputTokens:     []string{"Marker"},
2650			OutputTokens:    []string{"Marker"},
2651			LimitToken:      "MaxRecords",
2652			TruncationToken: "",
2653		},
2654	}
2655
2656	if input == nil {
2657		input = &DescribeDBEngineVersionsInput{}
2658	}
2659
2660	output = &DescribeDBEngineVersionsOutput{}
2661	req = c.newRequest(op, input, output)
2662	return
2663}
2664
2665// DescribeDBEngineVersions API operation for Amazon DocumentDB with MongoDB compatibility.
2666//
2667// Returns a list of the available engines.
2668//
2669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2670// with awserr.Error's Code and Message methods to get detailed information about
2671// the error.
2672//
2673// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2674// API operation DescribeDBEngineVersions for usage and error information.
2675// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBEngineVersions
2676func (c *DocDB) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
2677	req, out := c.DescribeDBEngineVersionsRequest(input)
2678	return out, req.Send()
2679}
2680
2681// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
2682// the ability to pass a context and additional request options.
2683//
2684// See DescribeDBEngineVersions for details on how to use this API operation.
2685//
2686// The context must be non-nil and will be used for request cancellation. If
2687// the context is nil a panic will occur. In the future the SDK may create
2688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2689// for more information on using Contexts.
2690func (c *DocDB) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
2691	req, out := c.DescribeDBEngineVersionsRequest(input)
2692	req.SetContext(ctx)
2693	req.ApplyOptions(opts...)
2694	return out, req.Send()
2695}
2696
2697// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
2698// calling the "fn" function with the response data for each page. To stop
2699// iterating, return false from the fn function.
2700//
2701// See DescribeDBEngineVersions method for more information on how to use this operation.
2702//
2703// Note: This operation can generate multiple requests to a service.
2704//
2705//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
2706//    pageNum := 0
2707//    err := client.DescribeDBEngineVersionsPages(params,
2708//        func(page *docdb.DescribeDBEngineVersionsOutput, lastPage bool) bool {
2709//            pageNum++
2710//            fmt.Println(page)
2711//            return pageNum <= 3
2712//        })
2713//
2714func (c *DocDB) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
2715	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2716}
2717
2718// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
2719// it takes a Context and allows setting request options on the pages.
2720//
2721// The context must be non-nil and will be used for request cancellation. If
2722// the context is nil a panic will occur. In the future the SDK may create
2723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2724// for more information on using Contexts.
2725func (c *DocDB) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
2726	p := request.Pagination{
2727		NewRequest: func() (*request.Request, error) {
2728			var inCpy *DescribeDBEngineVersionsInput
2729			if input != nil {
2730				tmp := *input
2731				inCpy = &tmp
2732			}
2733			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
2734			req.SetContext(ctx)
2735			req.ApplyOptions(opts...)
2736			return req, nil
2737		},
2738	}
2739
2740	for p.Next() {
2741		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
2742			break
2743		}
2744	}
2745
2746	return p.Err()
2747}
2748
2749const opDescribeDBInstances = "DescribeDBInstances"
2750
2751// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
2752// client's request for the DescribeDBInstances operation. The "output" return
2753// value will be populated with the request's response once the request completes
2754// successfully.
2755//
2756// Use "Send" method on the returned Request to send the API call to the service.
2757// the "output" return value is not valid until after Send returns without error.
2758//
2759// See DescribeDBInstances for more information on using the DescribeDBInstances
2760// API call, and error handling.
2761//
2762// This method is useful when you want to inject custom logic or configuration
2763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2764//
2765//
2766//    // Example sending a request using the DescribeDBInstancesRequest method.
2767//    req, resp := client.DescribeDBInstancesRequest(params)
2768//
2769//    err := req.Send()
2770//    if err == nil { // resp is now filled
2771//        fmt.Println(resp)
2772//    }
2773//
2774// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances
2775func (c *DocDB) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
2776	op := &request.Operation{
2777		Name:       opDescribeDBInstances,
2778		HTTPMethod: "POST",
2779		HTTPPath:   "/",
2780		Paginator: &request.Paginator{
2781			InputTokens:     []string{"Marker"},
2782			OutputTokens:    []string{"Marker"},
2783			LimitToken:      "MaxRecords",
2784			TruncationToken: "",
2785		},
2786	}
2787
2788	if input == nil {
2789		input = &DescribeDBInstancesInput{}
2790	}
2791
2792	output = &DescribeDBInstancesOutput{}
2793	req = c.newRequest(op, input, output)
2794	return
2795}
2796
2797// DescribeDBInstances API operation for Amazon DocumentDB with MongoDB compatibility.
2798//
2799// Returns information about provisioned Amazon DocumentDB instances. This API
2800// supports pagination.
2801//
2802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2803// with awserr.Error's Code and Message methods to get detailed information about
2804// the error.
2805//
2806// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2807// API operation DescribeDBInstances for usage and error information.
2808//
2809// Returned Error Codes:
2810//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2811//   DBInstanceIdentifier doesn't refer to an existing instance.
2812//
2813// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBInstances
2814func (c *DocDB) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
2815	req, out := c.DescribeDBInstancesRequest(input)
2816	return out, req.Send()
2817}
2818
2819// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
2820// the ability to pass a context and additional request options.
2821//
2822// See DescribeDBInstances for details on how to use this API operation.
2823//
2824// The context must be non-nil and will be used for request cancellation. If
2825// the context is nil a panic will occur. In the future the SDK may create
2826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2827// for more information on using Contexts.
2828func (c *DocDB) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
2829	req, out := c.DescribeDBInstancesRequest(input)
2830	req.SetContext(ctx)
2831	req.ApplyOptions(opts...)
2832	return out, req.Send()
2833}
2834
2835// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
2836// calling the "fn" function with the response data for each page. To stop
2837// iterating, return false from the fn function.
2838//
2839// See DescribeDBInstances method for more information on how to use this operation.
2840//
2841// Note: This operation can generate multiple requests to a service.
2842//
2843//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
2844//    pageNum := 0
2845//    err := client.DescribeDBInstancesPages(params,
2846//        func(page *docdb.DescribeDBInstancesOutput, lastPage bool) bool {
2847//            pageNum++
2848//            fmt.Println(page)
2849//            return pageNum <= 3
2850//        })
2851//
2852func (c *DocDB) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
2853	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2854}
2855
2856// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
2857// it takes a Context and allows setting request options on the pages.
2858//
2859// The context must be non-nil and will be used for request cancellation. If
2860// the context is nil a panic will occur. In the future the SDK may create
2861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2862// for more information on using Contexts.
2863func (c *DocDB) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
2864	p := request.Pagination{
2865		NewRequest: func() (*request.Request, error) {
2866			var inCpy *DescribeDBInstancesInput
2867			if input != nil {
2868				tmp := *input
2869				inCpy = &tmp
2870			}
2871			req, _ := c.DescribeDBInstancesRequest(inCpy)
2872			req.SetContext(ctx)
2873			req.ApplyOptions(opts...)
2874			return req, nil
2875		},
2876	}
2877
2878	for p.Next() {
2879		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
2880			break
2881		}
2882	}
2883
2884	return p.Err()
2885}
2886
2887const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
2888
2889// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
2890// client's request for the DescribeDBSubnetGroups operation. The "output" return
2891// value will be populated with the request's response once the request completes
2892// successfully.
2893//
2894// Use "Send" method on the returned Request to send the API call to the service.
2895// the "output" return value is not valid until after Send returns without error.
2896//
2897// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
2898// API call, and error handling.
2899//
2900// This method is useful when you want to inject custom logic or configuration
2901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2902//
2903//
2904//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
2905//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
2906//
2907//    err := req.Send()
2908//    if err == nil { // resp is now filled
2909//        fmt.Println(resp)
2910//    }
2911//
2912// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups
2913func (c *DocDB) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
2914	op := &request.Operation{
2915		Name:       opDescribeDBSubnetGroups,
2916		HTTPMethod: "POST",
2917		HTTPPath:   "/",
2918		Paginator: &request.Paginator{
2919			InputTokens:     []string{"Marker"},
2920			OutputTokens:    []string{"Marker"},
2921			LimitToken:      "MaxRecords",
2922			TruncationToken: "",
2923		},
2924	}
2925
2926	if input == nil {
2927		input = &DescribeDBSubnetGroupsInput{}
2928	}
2929
2930	output = &DescribeDBSubnetGroupsOutput{}
2931	req = c.newRequest(op, input, output)
2932	return
2933}
2934
2935// DescribeDBSubnetGroups API operation for Amazon DocumentDB with MongoDB compatibility.
2936//
2937// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
2938// the list will contain only the descriptions of the specified DBSubnetGroup.
2939//
2940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2941// with awserr.Error's Code and Message methods to get detailed information about
2942// the error.
2943//
2944// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
2945// API operation DescribeDBSubnetGroups for usage and error information.
2946//
2947// Returned Error Codes:
2948//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2949//   DBSubnetGroupName doesn't refer to an existing subnet group.
2950//
2951// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBSubnetGroups
2952func (c *DocDB) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
2953	req, out := c.DescribeDBSubnetGroupsRequest(input)
2954	return out, req.Send()
2955}
2956
2957// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
2958// the ability to pass a context and additional request options.
2959//
2960// See DescribeDBSubnetGroups for details on how to use this API operation.
2961//
2962// The context must be non-nil and will be used for request cancellation. If
2963// the context is nil a panic will occur. In the future the SDK may create
2964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2965// for more information on using Contexts.
2966func (c *DocDB) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
2967	req, out := c.DescribeDBSubnetGroupsRequest(input)
2968	req.SetContext(ctx)
2969	req.ApplyOptions(opts...)
2970	return out, req.Send()
2971}
2972
2973// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
2974// calling the "fn" function with the response data for each page. To stop
2975// iterating, return false from the fn function.
2976//
2977// See DescribeDBSubnetGroups method for more information on how to use this operation.
2978//
2979// Note: This operation can generate multiple requests to a service.
2980//
2981//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
2982//    pageNum := 0
2983//    err := client.DescribeDBSubnetGroupsPages(params,
2984//        func(page *docdb.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
2985//            pageNum++
2986//            fmt.Println(page)
2987//            return pageNum <= 3
2988//        })
2989//
2990func (c *DocDB) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
2991	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
2992}
2993
2994// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
2995// it takes a Context and allows setting request options on the pages.
2996//
2997// The context must be non-nil and will be used for request cancellation. If
2998// the context is nil a panic will occur. In the future the SDK may create
2999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3000// for more information on using Contexts.
3001func (c *DocDB) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
3002	p := request.Pagination{
3003		NewRequest: func() (*request.Request, error) {
3004			var inCpy *DescribeDBSubnetGroupsInput
3005			if input != nil {
3006				tmp := *input
3007				inCpy = &tmp
3008			}
3009			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
3010			req.SetContext(ctx)
3011			req.ApplyOptions(opts...)
3012			return req, nil
3013		},
3014	}
3015
3016	for p.Next() {
3017		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
3018			break
3019		}
3020	}
3021
3022	return p.Err()
3023}
3024
3025const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
3026
3027// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
3028// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
3029// value will be populated with the request's response once the request completes
3030// successfully.
3031//
3032// Use "Send" method on the returned Request to send the API call to the service.
3033// the "output" return value is not valid until after Send returns without error.
3034//
3035// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
3036// API call, and error handling.
3037//
3038// This method is useful when you want to inject custom logic or configuration
3039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3040//
3041//
3042//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
3043//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
3044//
3045//    err := req.Send()
3046//    if err == nil { // resp is now filled
3047//        fmt.Println(resp)
3048//    }
3049//
3050// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters
3051func (c *DocDB) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
3052	op := &request.Operation{
3053		Name:       opDescribeEngineDefaultClusterParameters,
3054		HTTPMethod: "POST",
3055		HTTPPath:   "/",
3056	}
3057
3058	if input == nil {
3059		input = &DescribeEngineDefaultClusterParametersInput{}
3060	}
3061
3062	output = &DescribeEngineDefaultClusterParametersOutput{}
3063	req = c.newRequest(op, input, output)
3064	return
3065}
3066
3067// DescribeEngineDefaultClusterParameters API operation for Amazon DocumentDB with MongoDB compatibility.
3068//
3069// Returns the default engine and system parameter information for the cluster
3070// database engine.
3071//
3072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3073// with awserr.Error's Code and Message methods to get detailed information about
3074// the error.
3075//
3076// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3077// API operation DescribeEngineDefaultClusterParameters for usage and error information.
3078// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEngineDefaultClusterParameters
3079func (c *DocDB) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
3080	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
3081	return out, req.Send()
3082}
3083
3084// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
3085// the ability to pass a context and additional request options.
3086//
3087// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
3088//
3089// The context must be non-nil and will be used for request cancellation. If
3090// the context is nil a panic will occur. In the future the SDK may create
3091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3092// for more information on using Contexts.
3093func (c *DocDB) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
3094	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
3095	req.SetContext(ctx)
3096	req.ApplyOptions(opts...)
3097	return out, req.Send()
3098}
3099
3100const opDescribeEventCategories = "DescribeEventCategories"
3101
3102// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
3103// client's request for the DescribeEventCategories operation. The "output" return
3104// value will be populated with the request's response once the request completes
3105// successfully.
3106//
3107// Use "Send" method on the returned Request to send the API call to the service.
3108// the "output" return value is not valid until after Send returns without error.
3109//
3110// See DescribeEventCategories for more information on using the DescribeEventCategories
3111// API call, and error handling.
3112//
3113// This method is useful when you want to inject custom logic or configuration
3114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3115//
3116//
3117//    // Example sending a request using the DescribeEventCategoriesRequest method.
3118//    req, resp := client.DescribeEventCategoriesRequest(params)
3119//
3120//    err := req.Send()
3121//    if err == nil { // resp is now filled
3122//        fmt.Println(resp)
3123//    }
3124//
3125// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories
3126func (c *DocDB) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
3127	op := &request.Operation{
3128		Name:       opDescribeEventCategories,
3129		HTTPMethod: "POST",
3130		HTTPPath:   "/",
3131	}
3132
3133	if input == nil {
3134		input = &DescribeEventCategoriesInput{}
3135	}
3136
3137	output = &DescribeEventCategoriesOutput{}
3138	req = c.newRequest(op, input, output)
3139	return
3140}
3141
3142// DescribeEventCategories API operation for Amazon DocumentDB with MongoDB compatibility.
3143//
3144// Displays a list of categories for all event source types, or, if specified,
3145// for a specified source type.
3146//
3147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3148// with awserr.Error's Code and Message methods to get detailed information about
3149// the error.
3150//
3151// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3152// API operation DescribeEventCategories for usage and error information.
3153// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventCategories
3154func (c *DocDB) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
3155	req, out := c.DescribeEventCategoriesRequest(input)
3156	return out, req.Send()
3157}
3158
3159// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
3160// the ability to pass a context and additional request options.
3161//
3162// See DescribeEventCategories for details on how to use this API operation.
3163//
3164// The context must be non-nil and will be used for request cancellation. If
3165// the context is nil a panic will occur. In the future the SDK may create
3166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3167// for more information on using Contexts.
3168func (c *DocDB) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
3169	req, out := c.DescribeEventCategoriesRequest(input)
3170	req.SetContext(ctx)
3171	req.ApplyOptions(opts...)
3172	return out, req.Send()
3173}
3174
3175const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
3176
3177// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
3178// client's request for the DescribeEventSubscriptions operation. The "output" return
3179// value will be populated with the request's response once the request completes
3180// successfully.
3181//
3182// Use "Send" method on the returned Request to send the API call to the service.
3183// the "output" return value is not valid until after Send returns without error.
3184//
3185// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
3186// API call, and error handling.
3187//
3188// This method is useful when you want to inject custom logic or configuration
3189// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3190//
3191//
3192//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
3193//    req, resp := client.DescribeEventSubscriptionsRequest(params)
3194//
3195//    err := req.Send()
3196//    if err == nil { // resp is now filled
3197//        fmt.Println(resp)
3198//    }
3199//
3200// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventSubscriptions
3201func (c *DocDB) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
3202	op := &request.Operation{
3203		Name:       opDescribeEventSubscriptions,
3204		HTTPMethod: "POST",
3205		HTTPPath:   "/",
3206		Paginator: &request.Paginator{
3207			InputTokens:     []string{"Marker"},
3208			OutputTokens:    []string{"Marker"},
3209			LimitToken:      "MaxRecords",
3210			TruncationToken: "",
3211		},
3212	}
3213
3214	if input == nil {
3215		input = &DescribeEventSubscriptionsInput{}
3216	}
3217
3218	output = &DescribeEventSubscriptionsOutput{}
3219	req = c.newRequest(op, input, output)
3220	return
3221}
3222
3223// DescribeEventSubscriptions API operation for Amazon DocumentDB with MongoDB compatibility.
3224//
3225// Lists all the subscription descriptions for a customer account. The description
3226// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
3227// SourceID, CreationTime, and Status.
3228//
3229// If you specify a SubscriptionName, lists the description for that subscription.
3230//
3231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3232// with awserr.Error's Code and Message methods to get detailed information about
3233// the error.
3234//
3235// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3236// API operation DescribeEventSubscriptions for usage and error information.
3237//
3238// Returned Error Codes:
3239//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
3240//   The subscription name does not exist.
3241//
3242// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventSubscriptions
3243func (c *DocDB) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
3244	req, out := c.DescribeEventSubscriptionsRequest(input)
3245	return out, req.Send()
3246}
3247
3248// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
3249// the ability to pass a context and additional request options.
3250//
3251// See DescribeEventSubscriptions for details on how to use this API operation.
3252//
3253// The context must be non-nil and will be used for request cancellation. If
3254// the context is nil a panic will occur. In the future the SDK may create
3255// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3256// for more information on using Contexts.
3257func (c *DocDB) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
3258	req, out := c.DescribeEventSubscriptionsRequest(input)
3259	req.SetContext(ctx)
3260	req.ApplyOptions(opts...)
3261	return out, req.Send()
3262}
3263
3264// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
3265// calling the "fn" function with the response data for each page. To stop
3266// iterating, return false from the fn function.
3267//
3268// See DescribeEventSubscriptions method for more information on how to use this operation.
3269//
3270// Note: This operation can generate multiple requests to a service.
3271//
3272//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
3273//    pageNum := 0
3274//    err := client.DescribeEventSubscriptionsPages(params,
3275//        func(page *docdb.DescribeEventSubscriptionsOutput, lastPage bool) bool {
3276//            pageNum++
3277//            fmt.Println(page)
3278//            return pageNum <= 3
3279//        })
3280//
3281func (c *DocDB) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
3282	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
3283}
3284
3285// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
3286// it takes a Context and allows setting request options on the pages.
3287//
3288// The context must be non-nil and will be used for request cancellation. If
3289// the context is nil a panic will occur. In the future the SDK may create
3290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3291// for more information on using Contexts.
3292func (c *DocDB) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
3293	p := request.Pagination{
3294		NewRequest: func() (*request.Request, error) {
3295			var inCpy *DescribeEventSubscriptionsInput
3296			if input != nil {
3297				tmp := *input
3298				inCpy = &tmp
3299			}
3300			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
3301			req.SetContext(ctx)
3302			req.ApplyOptions(opts...)
3303			return req, nil
3304		},
3305	}
3306
3307	for p.Next() {
3308		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
3309			break
3310		}
3311	}
3312
3313	return p.Err()
3314}
3315
3316const opDescribeEvents = "DescribeEvents"
3317
3318// DescribeEventsRequest generates a "aws/request.Request" representing the
3319// client's request for the DescribeEvents operation. The "output" return
3320// value will be populated with the request's response once the request completes
3321// successfully.
3322//
3323// Use "Send" method on the returned Request to send the API call to the service.
3324// the "output" return value is not valid until after Send returns without error.
3325//
3326// See DescribeEvents for more information on using the DescribeEvents
3327// API call, and error handling.
3328//
3329// This method is useful when you want to inject custom logic or configuration
3330// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3331//
3332//
3333//    // Example sending a request using the DescribeEventsRequest method.
3334//    req, resp := client.DescribeEventsRequest(params)
3335//
3336//    err := req.Send()
3337//    if err == nil { // resp is now filled
3338//        fmt.Println(resp)
3339//    }
3340//
3341// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents
3342func (c *DocDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
3343	op := &request.Operation{
3344		Name:       opDescribeEvents,
3345		HTTPMethod: "POST",
3346		HTTPPath:   "/",
3347		Paginator: &request.Paginator{
3348			InputTokens:     []string{"Marker"},
3349			OutputTokens:    []string{"Marker"},
3350			LimitToken:      "MaxRecords",
3351			TruncationToken: "",
3352		},
3353	}
3354
3355	if input == nil {
3356		input = &DescribeEventsInput{}
3357	}
3358
3359	output = &DescribeEventsOutput{}
3360	req = c.newRequest(op, input, output)
3361	return
3362}
3363
3364// DescribeEvents API operation for Amazon DocumentDB with MongoDB compatibility.
3365//
3366// Returns events related to instances, security groups, snapshots, and DB parameter
3367// groups for the past 14 days. You can obtain events specific to a particular
3368// DB instance, security group, snapshot, or parameter group by providing the
3369// name as a parameter. By default, the events of the past hour are returned.
3370//
3371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3372// with awserr.Error's Code and Message methods to get detailed information about
3373// the error.
3374//
3375// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3376// API operation DescribeEvents for usage and error information.
3377// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents
3378func (c *DocDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
3379	req, out := c.DescribeEventsRequest(input)
3380	return out, req.Send()
3381}
3382
3383// DescribeEventsWithContext is the same as DescribeEvents with the addition of
3384// the ability to pass a context and additional request options.
3385//
3386// See DescribeEvents for details on how to use this API operation.
3387//
3388// The context must be non-nil and will be used for request cancellation. If
3389// the context is nil a panic will occur. In the future the SDK may create
3390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3391// for more information on using Contexts.
3392func (c *DocDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
3393	req, out := c.DescribeEventsRequest(input)
3394	req.SetContext(ctx)
3395	req.ApplyOptions(opts...)
3396	return out, req.Send()
3397}
3398
3399// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
3400// calling the "fn" function with the response data for each page. To stop
3401// iterating, return false from the fn function.
3402//
3403// See DescribeEvents method for more information on how to use this operation.
3404//
3405// Note: This operation can generate multiple requests to a service.
3406//
3407//    // Example iterating over at most 3 pages of a DescribeEvents operation.
3408//    pageNum := 0
3409//    err := client.DescribeEventsPages(params,
3410//        func(page *docdb.DescribeEventsOutput, lastPage bool) bool {
3411//            pageNum++
3412//            fmt.Println(page)
3413//            return pageNum <= 3
3414//        })
3415//
3416func (c *DocDB) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
3417	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
3418}
3419
3420// DescribeEventsPagesWithContext same as DescribeEventsPages except
3421// it takes a Context and allows setting request options on the pages.
3422//
3423// The context must be non-nil and will be used for request cancellation. If
3424// the context is nil a panic will occur. In the future the SDK may create
3425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3426// for more information on using Contexts.
3427func (c *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
3428	p := request.Pagination{
3429		NewRequest: func() (*request.Request, error) {
3430			var inCpy *DescribeEventsInput
3431			if input != nil {
3432				tmp := *input
3433				inCpy = &tmp
3434			}
3435			req, _ := c.DescribeEventsRequest(inCpy)
3436			req.SetContext(ctx)
3437			req.ApplyOptions(opts...)
3438			return req, nil
3439		},
3440	}
3441
3442	for p.Next() {
3443		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
3444			break
3445		}
3446	}
3447
3448	return p.Err()
3449}
3450
3451const opDescribeGlobalClusters = "DescribeGlobalClusters"
3452
3453// DescribeGlobalClustersRequest generates a "aws/request.Request" representing the
3454// client's request for the DescribeGlobalClusters operation. The "output" return
3455// value will be populated with the request's response once the request completes
3456// successfully.
3457//
3458// Use "Send" method on the returned Request to send the API call to the service.
3459// the "output" return value is not valid until after Send returns without error.
3460//
3461// See DescribeGlobalClusters for more information on using the DescribeGlobalClusters
3462// API call, and error handling.
3463//
3464// This method is useful when you want to inject custom logic or configuration
3465// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3466//
3467//
3468//    // Example sending a request using the DescribeGlobalClustersRequest method.
3469//    req, resp := client.DescribeGlobalClustersRequest(params)
3470//
3471//    err := req.Send()
3472//    if err == nil { // resp is now filled
3473//        fmt.Println(resp)
3474//    }
3475//
3476// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeGlobalClusters
3477func (c *DocDB) DescribeGlobalClustersRequest(input *DescribeGlobalClustersInput) (req *request.Request, output *DescribeGlobalClustersOutput) {
3478	op := &request.Operation{
3479		Name:       opDescribeGlobalClusters,
3480		HTTPMethod: "POST",
3481		HTTPPath:   "/",
3482		Paginator: &request.Paginator{
3483			InputTokens:     []string{"Marker"},
3484			OutputTokens:    []string{"Marker"},
3485			LimitToken:      "MaxRecords",
3486			TruncationToken: "",
3487		},
3488	}
3489
3490	if input == nil {
3491		input = &DescribeGlobalClustersInput{}
3492	}
3493
3494	output = &DescribeGlobalClustersOutput{}
3495	req = c.newRequest(op, input, output)
3496	return
3497}
3498
3499// DescribeGlobalClusters API operation for Amazon DocumentDB with MongoDB compatibility.
3500//
3501// Returns information about Amazon DocumentDB global clusters. This API supports
3502// pagination.
3503//
3504// This action only applies to Amazon DocumentDB clusters.
3505//
3506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3507// with awserr.Error's Code and Message methods to get detailed information about
3508// the error.
3509//
3510// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3511// API operation DescribeGlobalClusters for usage and error information.
3512//
3513// Returned Error Codes:
3514//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
3515//   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
3516//
3517// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeGlobalClusters
3518func (c *DocDB) DescribeGlobalClusters(input *DescribeGlobalClustersInput) (*DescribeGlobalClustersOutput, error) {
3519	req, out := c.DescribeGlobalClustersRequest(input)
3520	return out, req.Send()
3521}
3522
3523// DescribeGlobalClustersWithContext is the same as DescribeGlobalClusters with the addition of
3524// the ability to pass a context and additional request options.
3525//
3526// See DescribeGlobalClusters for details on how to use this API operation.
3527//
3528// The context must be non-nil and will be used for request cancellation. If
3529// the context is nil a panic will occur. In the future the SDK may create
3530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3531// for more information on using Contexts.
3532func (c *DocDB) DescribeGlobalClustersWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, opts ...request.Option) (*DescribeGlobalClustersOutput, error) {
3533	req, out := c.DescribeGlobalClustersRequest(input)
3534	req.SetContext(ctx)
3535	req.ApplyOptions(opts...)
3536	return out, req.Send()
3537}
3538
3539// DescribeGlobalClustersPages iterates over the pages of a DescribeGlobalClusters operation,
3540// calling the "fn" function with the response data for each page. To stop
3541// iterating, return false from the fn function.
3542//
3543// See DescribeGlobalClusters method for more information on how to use this operation.
3544//
3545// Note: This operation can generate multiple requests to a service.
3546//
3547//    // Example iterating over at most 3 pages of a DescribeGlobalClusters operation.
3548//    pageNum := 0
3549//    err := client.DescribeGlobalClustersPages(params,
3550//        func(page *docdb.DescribeGlobalClustersOutput, lastPage bool) bool {
3551//            pageNum++
3552//            fmt.Println(page)
3553//            return pageNum <= 3
3554//        })
3555//
3556func (c *DocDB) DescribeGlobalClustersPages(input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool) error {
3557	return c.DescribeGlobalClustersPagesWithContext(aws.BackgroundContext(), input, fn)
3558}
3559
3560// DescribeGlobalClustersPagesWithContext same as DescribeGlobalClustersPages except
3561// it takes a Context and allows setting request options on the pages.
3562//
3563// The context must be non-nil and will be used for request cancellation. If
3564// the context is nil a panic will occur. In the future the SDK may create
3565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3566// for more information on using Contexts.
3567func (c *DocDB) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool, opts ...request.Option) error {
3568	p := request.Pagination{
3569		NewRequest: func() (*request.Request, error) {
3570			var inCpy *DescribeGlobalClustersInput
3571			if input != nil {
3572				tmp := *input
3573				inCpy = &tmp
3574			}
3575			req, _ := c.DescribeGlobalClustersRequest(inCpy)
3576			req.SetContext(ctx)
3577			req.ApplyOptions(opts...)
3578			return req, nil
3579		},
3580	}
3581
3582	for p.Next() {
3583		if !fn(p.Page().(*DescribeGlobalClustersOutput), !p.HasNextPage()) {
3584			break
3585		}
3586	}
3587
3588	return p.Err()
3589}
3590
3591const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
3592
3593// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
3594// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
3595// value will be populated with the request's response once the request completes
3596// successfully.
3597//
3598// Use "Send" method on the returned Request to send the API call to the service.
3599// the "output" return value is not valid until after Send returns without error.
3600//
3601// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
3602// API call, and error handling.
3603//
3604// This method is useful when you want to inject custom logic or configuration
3605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3606//
3607//
3608//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
3609//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
3610//
3611//    err := req.Send()
3612//    if err == nil { // resp is now filled
3613//        fmt.Println(resp)
3614//    }
3615//
3616// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions
3617func (c *DocDB) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
3618	op := &request.Operation{
3619		Name:       opDescribeOrderableDBInstanceOptions,
3620		HTTPMethod: "POST",
3621		HTTPPath:   "/",
3622		Paginator: &request.Paginator{
3623			InputTokens:     []string{"Marker"},
3624			OutputTokens:    []string{"Marker"},
3625			LimitToken:      "MaxRecords",
3626			TruncationToken: "",
3627		},
3628	}
3629
3630	if input == nil {
3631		input = &DescribeOrderableDBInstanceOptionsInput{}
3632	}
3633
3634	output = &DescribeOrderableDBInstanceOptionsOutput{}
3635	req = c.newRequest(op, input, output)
3636	return
3637}
3638
3639// DescribeOrderableDBInstanceOptions API operation for Amazon DocumentDB with MongoDB compatibility.
3640//
3641// Returns a list of orderable instance options for the specified engine.
3642//
3643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3644// with awserr.Error's Code and Message methods to get detailed information about
3645// the error.
3646//
3647// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3648// API operation DescribeOrderableDBInstanceOptions for usage and error information.
3649// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions
3650func (c *DocDB) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
3651	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
3652	return out, req.Send()
3653}
3654
3655// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
3656// the ability to pass a context and additional request options.
3657//
3658// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
3659//
3660// The context must be non-nil and will be used for request cancellation. If
3661// the context is nil a panic will occur. In the future the SDK may create
3662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3663// for more information on using Contexts.
3664func (c *DocDB) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
3665	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
3666	req.SetContext(ctx)
3667	req.ApplyOptions(opts...)
3668	return out, req.Send()
3669}
3670
3671// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
3672// calling the "fn" function with the response data for each page. To stop
3673// iterating, return false from the fn function.
3674//
3675// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
3676//
3677// Note: This operation can generate multiple requests to a service.
3678//
3679//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
3680//    pageNum := 0
3681//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
3682//        func(page *docdb.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
3683//            pageNum++
3684//            fmt.Println(page)
3685//            return pageNum <= 3
3686//        })
3687//
3688func (c *DocDB) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
3689	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
3690}
3691
3692// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
3693// it takes a Context and allows setting request options on the pages.
3694//
3695// The context must be non-nil and will be used for request cancellation. If
3696// the context is nil a panic will occur. In the future the SDK may create
3697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3698// for more information on using Contexts.
3699func (c *DocDB) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
3700	p := request.Pagination{
3701		NewRequest: func() (*request.Request, error) {
3702			var inCpy *DescribeOrderableDBInstanceOptionsInput
3703			if input != nil {
3704				tmp := *input
3705				inCpy = &tmp
3706			}
3707			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
3708			req.SetContext(ctx)
3709			req.ApplyOptions(opts...)
3710			return req, nil
3711		},
3712	}
3713
3714	for p.Next() {
3715		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
3716			break
3717		}
3718	}
3719
3720	return p.Err()
3721}
3722
3723const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
3724
3725// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
3726// client's request for the DescribePendingMaintenanceActions operation. The "output" return
3727// value will be populated with the request's response once the request completes
3728// successfully.
3729//
3730// Use "Send" method on the returned Request to send the API call to the service.
3731// the "output" return value is not valid until after Send returns without error.
3732//
3733// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
3734// API call, and error handling.
3735//
3736// This method is useful when you want to inject custom logic or configuration
3737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3738//
3739//
3740//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
3741//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
3742//
3743//    err := req.Send()
3744//    if err == nil { // resp is now filled
3745//        fmt.Println(resp)
3746//    }
3747//
3748// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions
3749func (c *DocDB) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
3750	op := &request.Operation{
3751		Name:       opDescribePendingMaintenanceActions,
3752		HTTPMethod: "POST",
3753		HTTPPath:   "/",
3754		Paginator: &request.Paginator{
3755			InputTokens:     []string{"Marker"},
3756			OutputTokens:    []string{"Marker"},
3757			LimitToken:      "MaxRecords",
3758			TruncationToken: "",
3759		},
3760	}
3761
3762	if input == nil {
3763		input = &DescribePendingMaintenanceActionsInput{}
3764	}
3765
3766	output = &DescribePendingMaintenanceActionsOutput{}
3767	req = c.newRequest(op, input, output)
3768	return
3769}
3770
3771// DescribePendingMaintenanceActions API operation for Amazon DocumentDB with MongoDB compatibility.
3772//
3773// Returns a list of resources (for example, instances) that have at least one
3774// pending maintenance action.
3775//
3776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3777// with awserr.Error's Code and Message methods to get detailed information about
3778// the error.
3779//
3780// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3781// API operation DescribePendingMaintenanceActions for usage and error information.
3782//
3783// Returned Error Codes:
3784//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
3785//   The specified resource ID was not found.
3786//
3787// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribePendingMaintenanceActions
3788func (c *DocDB) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
3789	req, out := c.DescribePendingMaintenanceActionsRequest(input)
3790	return out, req.Send()
3791}
3792
3793// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
3794// the ability to pass a context and additional request options.
3795//
3796// See DescribePendingMaintenanceActions for details on how to use this API operation.
3797//
3798// The context must be non-nil and will be used for request cancellation. If
3799// the context is nil a panic will occur. In the future the SDK may create
3800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3801// for more information on using Contexts.
3802func (c *DocDB) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
3803	req, out := c.DescribePendingMaintenanceActionsRequest(input)
3804	req.SetContext(ctx)
3805	req.ApplyOptions(opts...)
3806	return out, req.Send()
3807}
3808
3809// DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation,
3810// calling the "fn" function with the response data for each page. To stop
3811// iterating, return false from the fn function.
3812//
3813// See DescribePendingMaintenanceActions method for more information on how to use this operation.
3814//
3815// Note: This operation can generate multiple requests to a service.
3816//
3817//    // Example iterating over at most 3 pages of a DescribePendingMaintenanceActions operation.
3818//    pageNum := 0
3819//    err := client.DescribePendingMaintenanceActionsPages(params,
3820//        func(page *docdb.DescribePendingMaintenanceActionsOutput, lastPage bool) bool {
3821//            pageNum++
3822//            fmt.Println(page)
3823//            return pageNum <= 3
3824//        })
3825//
3826func (c *DocDB) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error {
3827	return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
3828}
3829
3830// DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages except
3831// it takes a Context and allows setting request options on the pages.
3832//
3833// The context must be non-nil and will be used for request cancellation. If
3834// the context is nil a panic will occur. In the future the SDK may create
3835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3836// for more information on using Contexts.
3837func (c *DocDB) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error {
3838	p := request.Pagination{
3839		NewRequest: func() (*request.Request, error) {
3840			var inCpy *DescribePendingMaintenanceActionsInput
3841			if input != nil {
3842				tmp := *input
3843				inCpy = &tmp
3844			}
3845			req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy)
3846			req.SetContext(ctx)
3847			req.ApplyOptions(opts...)
3848			return req, nil
3849		},
3850	}
3851
3852	for p.Next() {
3853		if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) {
3854			break
3855		}
3856	}
3857
3858	return p.Err()
3859}
3860
3861const opFailoverDBCluster = "FailoverDBCluster"
3862
3863// FailoverDBClusterRequest generates a "aws/request.Request" representing the
3864// client's request for the FailoverDBCluster operation. The "output" return
3865// value will be populated with the request's response once the request completes
3866// successfully.
3867//
3868// Use "Send" method on the returned Request to send the API call to the service.
3869// the "output" return value is not valid until after Send returns without error.
3870//
3871// See FailoverDBCluster for more information on using the FailoverDBCluster
3872// API call, and error handling.
3873//
3874// This method is useful when you want to inject custom logic or configuration
3875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3876//
3877//
3878//    // Example sending a request using the FailoverDBClusterRequest method.
3879//    req, resp := client.FailoverDBClusterRequest(params)
3880//
3881//    err := req.Send()
3882//    if err == nil { // resp is now filled
3883//        fmt.Println(resp)
3884//    }
3885//
3886// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster
3887func (c *DocDB) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
3888	op := &request.Operation{
3889		Name:       opFailoverDBCluster,
3890		HTTPMethod: "POST",
3891		HTTPPath:   "/",
3892	}
3893
3894	if input == nil {
3895		input = &FailoverDBClusterInput{}
3896	}
3897
3898	output = &FailoverDBClusterOutput{}
3899	req = c.newRequest(op, input, output)
3900	return
3901}
3902
3903// FailoverDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
3904//
3905// Forces a failover for a cluster.
3906//
3907// A failover for a cluster promotes one of the Amazon DocumentDB replicas (read-only
3908// instances) in the cluster to be the primary instance (the cluster writer).
3909//
3910// If the primary instance fails, Amazon DocumentDB automatically fails over
3911// to an Amazon DocumentDB replica, if one exists. You can force a failover
3912// when you want to simulate a failure of a primary instance for testing.
3913//
3914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3915// with awserr.Error's Code and Message methods to get detailed information about
3916// the error.
3917//
3918// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
3919// API operation FailoverDBCluster for usage and error information.
3920//
3921// Returned Error Codes:
3922//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3923//   DBClusterIdentifier doesn't refer to an existing cluster.
3924//
3925//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3926//   The cluster isn't in a valid state.
3927//
3928//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3929//   The specified instance isn't in the available state.
3930//
3931// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/FailoverDBCluster
3932func (c *DocDB) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
3933	req, out := c.FailoverDBClusterRequest(input)
3934	return out, req.Send()
3935}
3936
3937// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
3938// the ability to pass a context and additional request options.
3939//
3940// See FailoverDBCluster for details on how to use this API operation.
3941//
3942// The context must be non-nil and will be used for request cancellation. If
3943// the context is nil a panic will occur. In the future the SDK may create
3944// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3945// for more information on using Contexts.
3946func (c *DocDB) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
3947	req, out := c.FailoverDBClusterRequest(input)
3948	req.SetContext(ctx)
3949	req.ApplyOptions(opts...)
3950	return out, req.Send()
3951}
3952
3953const opListTagsForResource = "ListTagsForResource"
3954
3955// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3956// client's request for the ListTagsForResource operation. The "output" return
3957// value will be populated with the request's response once the request completes
3958// successfully.
3959//
3960// Use "Send" method on the returned Request to send the API call to the service.
3961// the "output" return value is not valid until after Send returns without error.
3962//
3963// See ListTagsForResource for more information on using the ListTagsForResource
3964// API call, and error handling.
3965//
3966// This method is useful when you want to inject custom logic or configuration
3967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3968//
3969//
3970//    // Example sending a request using the ListTagsForResourceRequest method.
3971//    req, resp := client.ListTagsForResourceRequest(params)
3972//
3973//    err := req.Send()
3974//    if err == nil { // resp is now filled
3975//        fmt.Println(resp)
3976//    }
3977//
3978// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource
3979func (c *DocDB) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3980	op := &request.Operation{
3981		Name:       opListTagsForResource,
3982		HTTPMethod: "POST",
3983		HTTPPath:   "/",
3984	}
3985
3986	if input == nil {
3987		input = &ListTagsForResourceInput{}
3988	}
3989
3990	output = &ListTagsForResourceOutput{}
3991	req = c.newRequest(op, input, output)
3992	return
3993}
3994
3995// ListTagsForResource API operation for Amazon DocumentDB with MongoDB compatibility.
3996//
3997// Lists all tags on an Amazon DocumentDB resource.
3998//
3999// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4000// with awserr.Error's Code and Message methods to get detailed information about
4001// the error.
4002//
4003// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4004// API operation ListTagsForResource for usage and error information.
4005//
4006// Returned Error Codes:
4007//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4008//   DBInstanceIdentifier doesn't refer to an existing instance.
4009//
4010//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4011//   DBSnapshotIdentifier doesn't refer to an existing snapshot.
4012//
4013//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4014//   DBClusterIdentifier doesn't refer to an existing cluster.
4015//
4016// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ListTagsForResource
4017func (c *DocDB) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4018	req, out := c.ListTagsForResourceRequest(input)
4019	return out, req.Send()
4020}
4021
4022// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4023// the ability to pass a context and additional request options.
4024//
4025// See ListTagsForResource for details on how to use this API operation.
4026//
4027// The context must be non-nil and will be used for request cancellation. If
4028// the context is nil a panic will occur. In the future the SDK may create
4029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4030// for more information on using Contexts.
4031func (c *DocDB) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4032	req, out := c.ListTagsForResourceRequest(input)
4033	req.SetContext(ctx)
4034	req.ApplyOptions(opts...)
4035	return out, req.Send()
4036}
4037
4038const opModifyDBCluster = "ModifyDBCluster"
4039
4040// ModifyDBClusterRequest generates a "aws/request.Request" representing the
4041// client's request for the ModifyDBCluster operation. The "output" return
4042// value will be populated with the request's response once the request completes
4043// successfully.
4044//
4045// Use "Send" method on the returned Request to send the API call to the service.
4046// the "output" return value is not valid until after Send returns without error.
4047//
4048// See ModifyDBCluster for more information on using the ModifyDBCluster
4049// API call, and error handling.
4050//
4051// This method is useful when you want to inject custom logic or configuration
4052// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4053//
4054//
4055//    // Example sending a request using the ModifyDBClusterRequest method.
4056//    req, resp := client.ModifyDBClusterRequest(params)
4057//
4058//    err := req.Send()
4059//    if err == nil { // resp is now filled
4060//        fmt.Println(resp)
4061//    }
4062//
4063// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster
4064func (c *DocDB) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
4065	op := &request.Operation{
4066		Name:       opModifyDBCluster,
4067		HTTPMethod: "POST",
4068		HTTPPath:   "/",
4069	}
4070
4071	if input == nil {
4072		input = &ModifyDBClusterInput{}
4073	}
4074
4075	output = &ModifyDBClusterOutput{}
4076	req = c.newRequest(op, input, output)
4077	return
4078}
4079
4080// ModifyDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
4081//
4082// Modifies a setting for an Amazon DocumentDB cluster. You can change one or
4083// more database configuration parameters by specifying these parameters and
4084// the new values in the request.
4085//
4086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4087// with awserr.Error's Code and Message methods to get detailed information about
4088// the error.
4089//
4090// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4091// API operation ModifyDBCluster for usage and error information.
4092//
4093// Returned Error Codes:
4094//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4095//   DBClusterIdentifier doesn't refer to an existing cluster.
4096//
4097//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
4098//   The cluster isn't in a valid state.
4099//
4100//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4101//   The request would cause you to exceed the allowed amount of storage available
4102//   across all instances.
4103//
4104//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4105//   DBSubnetGroupName doesn't refer to an existing subnet group.
4106//
4107//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
4108//   The subnet group doesn't cover all Availability Zones after it is created
4109//   because of changes that were made.
4110//
4111//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
4112//   The subnet group can't be deleted because it's in use.
4113//
4114//   * ErrCodeInvalidSubnet "InvalidSubnet"
4115//   The requested subnet is not valid, or multiple subnets were requested that
4116//   are not all in a common virtual private cloud (VPC).
4117//
4118//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
4119//   DBClusterParameterGroupName doesn't refer to an existing cluster parameter
4120//   group.
4121//
4122//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
4123//   The state of the security group doesn't allow deletion.
4124//
4125//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4126//   The specified instance isn't in the available state.
4127//
4128//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
4129//   You already have a cluster with the given identifier.
4130//
4131// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBCluster
4132func (c *DocDB) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
4133	req, out := c.ModifyDBClusterRequest(input)
4134	return out, req.Send()
4135}
4136
4137// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
4138// the ability to pass a context and additional request options.
4139//
4140// See ModifyDBCluster for details on how to use this API operation.
4141//
4142// The context must be non-nil and will be used for request cancellation. If
4143// the context is nil a panic will occur. In the future the SDK may create
4144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4145// for more information on using Contexts.
4146func (c *DocDB) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
4147	req, out := c.ModifyDBClusterRequest(input)
4148	req.SetContext(ctx)
4149	req.ApplyOptions(opts...)
4150	return out, req.Send()
4151}
4152
4153const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
4154
4155// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
4156// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
4157// value will be populated with the request's response once the request completes
4158// successfully.
4159//
4160// Use "Send" method on the returned Request to send the API call to the service.
4161// the "output" return value is not valid until after Send returns without error.
4162//
4163// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
4164// API call, and error handling.
4165//
4166// This method is useful when you want to inject custom logic or configuration
4167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4168//
4169//
4170//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
4171//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
4172//
4173//    err := req.Send()
4174//    if err == nil { // resp is now filled
4175//        fmt.Println(resp)
4176//    }
4177//
4178// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup
4179func (c *DocDB) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *ModifyDBClusterParameterGroupOutput) {
4180	op := &request.Operation{
4181		Name:       opModifyDBClusterParameterGroup,
4182		HTTPMethod: "POST",
4183		HTTPPath:   "/",
4184	}
4185
4186	if input == nil {
4187		input = &ModifyDBClusterParameterGroupInput{}
4188	}
4189
4190	output = &ModifyDBClusterParameterGroupOutput{}
4191	req = c.newRequest(op, input, output)
4192	return
4193}
4194
4195// ModifyDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
4196//
4197// Modifies the parameters of a cluster parameter group. To modify more than
4198// one parameter, submit a list of the following: ParameterName, ParameterValue,
4199// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
4200//
4201// Changes to dynamic parameters are applied immediately. Changes to static
4202// parameters require a reboot or maintenance window before the change can take
4203// effect.
4204//
4205// After you create a cluster parameter group, you should wait at least 5 minutes
4206// before creating your first cluster that uses that cluster parameter group
4207// as the default parameter group. This allows Amazon DocumentDB to fully complete
4208// the create action before the parameter group is used as the default for a
4209// new cluster. This step is especially important for parameters that are critical
4210// when creating the default database for a cluster, such as the character set
4211// for the default database defined by the character_set_database parameter.
4212//
4213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4214// with awserr.Error's Code and Message methods to get detailed information about
4215// the error.
4216//
4217// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4218// API operation ModifyDBClusterParameterGroup for usage and error information.
4219//
4220// Returned Error Codes:
4221//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4222//   DBParameterGroupName doesn't refer to an existing parameter group.
4223//
4224//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
4225//   The parameter group is in use, or it is in a state that is not valid. If
4226//   you are trying to delete the parameter group, you can't delete it when the
4227//   parameter group is in this state.
4228//
4229// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterParameterGroup
4230func (c *DocDB) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*ModifyDBClusterParameterGroupOutput, error) {
4231	req, out := c.ModifyDBClusterParameterGroupRequest(input)
4232	return out, req.Send()
4233}
4234
4235// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
4236// the ability to pass a context and additional request options.
4237//
4238// See ModifyDBClusterParameterGroup for details on how to use this API operation.
4239//
4240// The context must be non-nil and will be used for request cancellation. If
4241// the context is nil a panic will occur. In the future the SDK may create
4242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4243// for more information on using Contexts.
4244func (c *DocDB) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*ModifyDBClusterParameterGroupOutput, error) {
4245	req, out := c.ModifyDBClusterParameterGroupRequest(input)
4246	req.SetContext(ctx)
4247	req.ApplyOptions(opts...)
4248	return out, req.Send()
4249}
4250
4251const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
4252
4253// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
4254// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
4255// value will be populated with the request's response once the request completes
4256// successfully.
4257//
4258// Use "Send" method on the returned Request to send the API call to the service.
4259// the "output" return value is not valid until after Send returns without error.
4260//
4261// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
4262// API call, and error handling.
4263//
4264// This method is useful when you want to inject custom logic or configuration
4265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4266//
4267//
4268//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
4269//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
4270//
4271//    err := req.Send()
4272//    if err == nil { // resp is now filled
4273//        fmt.Println(resp)
4274//    }
4275//
4276// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute
4277func (c *DocDB) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
4278	op := &request.Operation{
4279		Name:       opModifyDBClusterSnapshotAttribute,
4280		HTTPMethod: "POST",
4281		HTTPPath:   "/",
4282	}
4283
4284	if input == nil {
4285		input = &ModifyDBClusterSnapshotAttributeInput{}
4286	}
4287
4288	output = &ModifyDBClusterSnapshotAttributeOutput{}
4289	req = c.newRequest(op, input, output)
4290	return
4291}
4292
4293// ModifyDBClusterSnapshotAttribute API operation for Amazon DocumentDB with MongoDB compatibility.
4294//
4295// Adds an attribute and values to, or removes an attribute and values from,
4296// a manual cluster snapshot.
4297//
4298// To share a manual cluster snapshot with other accounts, specify restore as
4299// the AttributeName, and use the ValuesToAdd parameter to add a list of IDs
4300// of the accounts that are authorized to restore the manual cluster snapshot.
4301// Use the value all to make the manual cluster snapshot public, which means
4302// that it can be copied or restored by all accounts. Do not add the all value
4303// for any manual cluster snapshots that contain private information that you
4304// don't want available to all accounts. If a manual cluster snapshot is encrypted,
4305// it can be shared, but only by specifying a list of authorized account IDs
4306// for the ValuesToAdd parameter. You can't use all as a value for that parameter
4307// in this case.
4308//
4309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4310// with awserr.Error's Code and Message methods to get detailed information about
4311// the error.
4312//
4313// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4314// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
4315//
4316// Returned Error Codes:
4317//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
4318//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
4319//
4320//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
4321//   The provided value isn't a valid cluster snapshot state.
4322//
4323//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
4324//   You have exceeded the maximum number of accounts that you can share a manual
4325//   DB snapshot with.
4326//
4327// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBClusterSnapshotAttribute
4328func (c *DocDB) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
4329	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
4330	return out, req.Send()
4331}
4332
4333// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
4334// the ability to pass a context and additional request options.
4335//
4336// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
4337//
4338// The context must be non-nil and will be used for request cancellation. If
4339// the context is nil a panic will occur. In the future the SDK may create
4340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4341// for more information on using Contexts.
4342func (c *DocDB) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
4343	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
4344	req.SetContext(ctx)
4345	req.ApplyOptions(opts...)
4346	return out, req.Send()
4347}
4348
4349const opModifyDBInstance = "ModifyDBInstance"
4350
4351// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
4352// client's request for the ModifyDBInstance operation. The "output" return
4353// value will be populated with the request's response once the request completes
4354// successfully.
4355//
4356// Use "Send" method on the returned Request to send the API call to the service.
4357// the "output" return value is not valid until after Send returns without error.
4358//
4359// See ModifyDBInstance for more information on using the ModifyDBInstance
4360// API call, and error handling.
4361//
4362// This method is useful when you want to inject custom logic or configuration
4363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4364//
4365//
4366//    // Example sending a request using the ModifyDBInstanceRequest method.
4367//    req, resp := client.ModifyDBInstanceRequest(params)
4368//
4369//    err := req.Send()
4370//    if err == nil { // resp is now filled
4371//        fmt.Println(resp)
4372//    }
4373//
4374// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance
4375func (c *DocDB) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
4376	op := &request.Operation{
4377		Name:       opModifyDBInstance,
4378		HTTPMethod: "POST",
4379		HTTPPath:   "/",
4380	}
4381
4382	if input == nil {
4383		input = &ModifyDBInstanceInput{}
4384	}
4385
4386	output = &ModifyDBInstanceOutput{}
4387	req = c.newRequest(op, input, output)
4388	return
4389}
4390
4391// ModifyDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
4392//
4393// Modifies settings for an instance. You can change one or more database configuration
4394// parameters by specifying these parameters and the new values in the request.
4395//
4396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4397// with awserr.Error's Code and Message methods to get detailed information about
4398// the error.
4399//
4400// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4401// API operation ModifyDBInstance for usage and error information.
4402//
4403// Returned Error Codes:
4404//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4405//   The specified instance isn't in the available state.
4406//
4407//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
4408//   The state of the security group doesn't allow deletion.
4409//
4410//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
4411//   You already have a instance with the given identifier.
4412//
4413//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4414//   DBInstanceIdentifier doesn't refer to an existing instance.
4415//
4416//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
4417//   DBSecurityGroupName doesn't refer to an existing security group.
4418//
4419//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4420//   DBParameterGroupName doesn't refer to an existing parameter group.
4421//
4422//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
4423//   The specified instance class isn't available in the specified Availability
4424//   Zone.
4425//
4426//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
4427//   The request would cause you to exceed the allowed amount of storage available
4428//   across all instances.
4429//
4430//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
4431//   The subnet group doesn't cover all Availability Zones after it is created
4432//   because of changes that were made.
4433//
4434//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
4435//   The upgrade failed because a resource that the depends on can't be modified.
4436//
4437//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
4438//   Storage of the specified StorageType can't be associated with the DB instance.
4439//
4440//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
4441//   The specified CIDR IP or Amazon EC2 security group isn't authorized for the
4442//   specified security group.
4443//
4444//   Amazon DocumentDB also might not be authorized to perform necessary actions
4445//   on your behalf using IAM.
4446//
4447//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
4448//   CertificateIdentifier doesn't refer to an existing certificate.
4449//
4450// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBInstance
4451func (c *DocDB) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
4452	req, out := c.ModifyDBInstanceRequest(input)
4453	return out, req.Send()
4454}
4455
4456// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
4457// the ability to pass a context and additional request options.
4458//
4459// See ModifyDBInstance for details on how to use this API operation.
4460//
4461// The context must be non-nil and will be used for request cancellation. If
4462// the context is nil a panic will occur. In the future the SDK may create
4463// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4464// for more information on using Contexts.
4465func (c *DocDB) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
4466	req, out := c.ModifyDBInstanceRequest(input)
4467	req.SetContext(ctx)
4468	req.ApplyOptions(opts...)
4469	return out, req.Send()
4470}
4471
4472const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
4473
4474// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
4475// client's request for the ModifyDBSubnetGroup operation. The "output" return
4476// value will be populated with the request's response once the request completes
4477// successfully.
4478//
4479// Use "Send" method on the returned Request to send the API call to the service.
4480// the "output" return value is not valid until after Send returns without error.
4481//
4482// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
4483// API call, and error handling.
4484//
4485// This method is useful when you want to inject custom logic or configuration
4486// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4487//
4488//
4489//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
4490//    req, resp := client.ModifyDBSubnetGroupRequest(params)
4491//
4492//    err := req.Send()
4493//    if err == nil { // resp is now filled
4494//        fmt.Println(resp)
4495//    }
4496//
4497// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup
4498func (c *DocDB) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
4499	op := &request.Operation{
4500		Name:       opModifyDBSubnetGroup,
4501		HTTPMethod: "POST",
4502		HTTPPath:   "/",
4503	}
4504
4505	if input == nil {
4506		input = &ModifyDBSubnetGroupInput{}
4507	}
4508
4509	output = &ModifyDBSubnetGroupOutput{}
4510	req = c.newRequest(op, input, output)
4511	return
4512}
4513
4514// ModifyDBSubnetGroup API operation for Amazon DocumentDB with MongoDB compatibility.
4515//
4516// Modifies an existing subnet group. subnet groups must contain at least one
4517// subnet in at least two Availability Zones in the Region.
4518//
4519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4520// with awserr.Error's Code and Message methods to get detailed information about
4521// the error.
4522//
4523// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4524// API operation ModifyDBSubnetGroup for usage and error information.
4525//
4526// Returned Error Codes:
4527//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4528//   DBSubnetGroupName doesn't refer to an existing subnet group.
4529//
4530//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
4531//   The request would cause you to exceed the allowed number of subnets in a
4532//   subnet group.
4533//
4534//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
4535//   The subnet is already in use in the Availability Zone.
4536//
4537//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
4538//   Subnets in the subnet group should cover at least two Availability Zones
4539//   unless there is only one Availability Zone.
4540//
4541//   * ErrCodeInvalidSubnet "InvalidSubnet"
4542//   The requested subnet is not valid, or multiple subnets were requested that
4543//   are not all in a common virtual private cloud (VPC).
4544//
4545// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyDBSubnetGroup
4546func (c *DocDB) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
4547	req, out := c.ModifyDBSubnetGroupRequest(input)
4548	return out, req.Send()
4549}
4550
4551// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
4552// the ability to pass a context and additional request options.
4553//
4554// See ModifyDBSubnetGroup for details on how to use this API operation.
4555//
4556// The context must be non-nil and will be used for request cancellation. If
4557// the context is nil a panic will occur. In the future the SDK may create
4558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4559// for more information on using Contexts.
4560func (c *DocDB) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
4561	req, out := c.ModifyDBSubnetGroupRequest(input)
4562	req.SetContext(ctx)
4563	req.ApplyOptions(opts...)
4564	return out, req.Send()
4565}
4566
4567const opModifyEventSubscription = "ModifyEventSubscription"
4568
4569// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
4570// client's request for the ModifyEventSubscription operation. The "output" return
4571// value will be populated with the request's response once the request completes
4572// successfully.
4573//
4574// Use "Send" method on the returned Request to send the API call to the service.
4575// the "output" return value is not valid until after Send returns without error.
4576//
4577// See ModifyEventSubscription for more information on using the ModifyEventSubscription
4578// API call, and error handling.
4579//
4580// This method is useful when you want to inject custom logic or configuration
4581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4582//
4583//
4584//    // Example sending a request using the ModifyEventSubscriptionRequest method.
4585//    req, resp := client.ModifyEventSubscriptionRequest(params)
4586//
4587//    err := req.Send()
4588//    if err == nil { // resp is now filled
4589//        fmt.Println(resp)
4590//    }
4591//
4592// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyEventSubscription
4593func (c *DocDB) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
4594	op := &request.Operation{
4595		Name:       opModifyEventSubscription,
4596		HTTPMethod: "POST",
4597		HTTPPath:   "/",
4598	}
4599
4600	if input == nil {
4601		input = &ModifyEventSubscriptionInput{}
4602	}
4603
4604	output = &ModifyEventSubscriptionOutput{}
4605	req = c.newRequest(op, input, output)
4606	return
4607}
4608
4609// ModifyEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
4610//
4611// Modifies an existing Amazon DocumentDB event notification subscription.
4612//
4613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4614// with awserr.Error's Code and Message methods to get detailed information about
4615// the error.
4616//
4617// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4618// API operation ModifyEventSubscription for usage and error information.
4619//
4620// Returned Error Codes:
4621//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
4622//   You have reached the maximum number of event subscriptions.
4623//
4624//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
4625//   The subscription name does not exist.
4626//
4627//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
4628//   Amazon SNS has responded that there is a problem with the specified topic.
4629//
4630//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
4631//   You do not have permission to publish to the SNS topic Amazon Resource Name
4632//   (ARN).
4633//
4634//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
4635//   The SNS topic Amazon Resource Name (ARN) does not exist.
4636//
4637//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
4638//   The provided category does not exist.
4639//
4640// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyEventSubscription
4641func (c *DocDB) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
4642	req, out := c.ModifyEventSubscriptionRequest(input)
4643	return out, req.Send()
4644}
4645
4646// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
4647// the ability to pass a context and additional request options.
4648//
4649// See ModifyEventSubscription for details on how to use this API operation.
4650//
4651// The context must be non-nil and will be used for request cancellation. If
4652// the context is nil a panic will occur. In the future the SDK may create
4653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4654// for more information on using Contexts.
4655func (c *DocDB) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
4656	req, out := c.ModifyEventSubscriptionRequest(input)
4657	req.SetContext(ctx)
4658	req.ApplyOptions(opts...)
4659	return out, req.Send()
4660}
4661
4662const opModifyGlobalCluster = "ModifyGlobalCluster"
4663
4664// ModifyGlobalClusterRequest generates a "aws/request.Request" representing the
4665// client's request for the ModifyGlobalCluster operation. The "output" return
4666// value will be populated with the request's response once the request completes
4667// successfully.
4668//
4669// Use "Send" method on the returned Request to send the API call to the service.
4670// the "output" return value is not valid until after Send returns without error.
4671//
4672// See ModifyGlobalCluster for more information on using the ModifyGlobalCluster
4673// API call, and error handling.
4674//
4675// This method is useful when you want to inject custom logic or configuration
4676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4677//
4678//
4679//    // Example sending a request using the ModifyGlobalClusterRequest method.
4680//    req, resp := client.ModifyGlobalClusterRequest(params)
4681//
4682//    err := req.Send()
4683//    if err == nil { // resp is now filled
4684//        fmt.Println(resp)
4685//    }
4686//
4687// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyGlobalCluster
4688func (c *DocDB) ModifyGlobalClusterRequest(input *ModifyGlobalClusterInput) (req *request.Request, output *ModifyGlobalClusterOutput) {
4689	op := &request.Operation{
4690		Name:       opModifyGlobalCluster,
4691		HTTPMethod: "POST",
4692		HTTPPath:   "/",
4693	}
4694
4695	if input == nil {
4696		input = &ModifyGlobalClusterInput{}
4697	}
4698
4699	output = &ModifyGlobalClusterOutput{}
4700	req = c.newRequest(op, input, output)
4701	return
4702}
4703
4704// ModifyGlobalCluster API operation for Amazon DocumentDB with MongoDB compatibility.
4705//
4706// Modify a setting for an Amazon DocumentDB global cluster. You can change
4707// one or more configuration parameters (for example: deletion protection),
4708// or the global cluster identifier by specifying these parameters and the new
4709// values in the request.
4710//
4711// This action only applies to Amazon DocumentDB clusters.
4712//
4713// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4714// with awserr.Error's Code and Message methods to get detailed information about
4715// the error.
4716//
4717// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4718// API operation ModifyGlobalCluster for usage and error information.
4719//
4720// Returned Error Codes:
4721//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
4722//   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
4723//
4724//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
4725//   The requested operation can't be performed while the cluster is in this state.
4726//
4727// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyGlobalCluster
4728func (c *DocDB) ModifyGlobalCluster(input *ModifyGlobalClusterInput) (*ModifyGlobalClusterOutput, error) {
4729	req, out := c.ModifyGlobalClusterRequest(input)
4730	return out, req.Send()
4731}
4732
4733// ModifyGlobalClusterWithContext is the same as ModifyGlobalCluster with the addition of
4734// the ability to pass a context and additional request options.
4735//
4736// See ModifyGlobalCluster for details on how to use this API operation.
4737//
4738// The context must be non-nil and will be used for request cancellation. If
4739// the context is nil a panic will occur. In the future the SDK may create
4740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4741// for more information on using Contexts.
4742func (c *DocDB) ModifyGlobalClusterWithContext(ctx aws.Context, input *ModifyGlobalClusterInput, opts ...request.Option) (*ModifyGlobalClusterOutput, error) {
4743	req, out := c.ModifyGlobalClusterRequest(input)
4744	req.SetContext(ctx)
4745	req.ApplyOptions(opts...)
4746	return out, req.Send()
4747}
4748
4749const opRebootDBInstance = "RebootDBInstance"
4750
4751// RebootDBInstanceRequest generates a "aws/request.Request" representing the
4752// client's request for the RebootDBInstance operation. The "output" return
4753// value will be populated with the request's response once the request completes
4754// successfully.
4755//
4756// Use "Send" method on the returned Request to send the API call to the service.
4757// the "output" return value is not valid until after Send returns without error.
4758//
4759// See RebootDBInstance for more information on using the RebootDBInstance
4760// API call, and error handling.
4761//
4762// This method is useful when you want to inject custom logic or configuration
4763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4764//
4765//
4766//    // Example sending a request using the RebootDBInstanceRequest method.
4767//    req, resp := client.RebootDBInstanceRequest(params)
4768//
4769//    err := req.Send()
4770//    if err == nil { // resp is now filled
4771//        fmt.Println(resp)
4772//    }
4773//
4774// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance
4775func (c *DocDB) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
4776	op := &request.Operation{
4777		Name:       opRebootDBInstance,
4778		HTTPMethod: "POST",
4779		HTTPPath:   "/",
4780	}
4781
4782	if input == nil {
4783		input = &RebootDBInstanceInput{}
4784	}
4785
4786	output = &RebootDBInstanceOutput{}
4787	req = c.newRequest(op, input, output)
4788	return
4789}
4790
4791// RebootDBInstance API operation for Amazon DocumentDB with MongoDB compatibility.
4792//
4793// You might need to reboot your instance, usually for maintenance reasons.
4794// For example, if you make certain changes, or if you change the cluster parameter
4795// group that is associated with the instance, you must reboot the instance
4796// for the changes to take effect.
4797//
4798// Rebooting an instance restarts the database engine service. Rebooting an
4799// instance results in a momentary outage, during which the instance status
4800// is set to rebooting.
4801//
4802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4803// with awserr.Error's Code and Message methods to get detailed information about
4804// the error.
4805//
4806// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4807// API operation RebootDBInstance for usage and error information.
4808//
4809// Returned Error Codes:
4810//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
4811//   The specified instance isn't in the available state.
4812//
4813//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4814//   DBInstanceIdentifier doesn't refer to an existing instance.
4815//
4816// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RebootDBInstance
4817func (c *DocDB) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
4818	req, out := c.RebootDBInstanceRequest(input)
4819	return out, req.Send()
4820}
4821
4822// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
4823// the ability to pass a context and additional request options.
4824//
4825// See RebootDBInstance for details on how to use this API operation.
4826//
4827// The context must be non-nil and will be used for request cancellation. If
4828// the context is nil a panic will occur. In the future the SDK may create
4829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4830// for more information on using Contexts.
4831func (c *DocDB) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
4832	req, out := c.RebootDBInstanceRequest(input)
4833	req.SetContext(ctx)
4834	req.ApplyOptions(opts...)
4835	return out, req.Send()
4836}
4837
4838const opRemoveFromGlobalCluster = "RemoveFromGlobalCluster"
4839
4840// RemoveFromGlobalClusterRequest generates a "aws/request.Request" representing the
4841// client's request for the RemoveFromGlobalCluster operation. The "output" return
4842// value will be populated with the request's response once the request completes
4843// successfully.
4844//
4845// Use "Send" method on the returned Request to send the API call to the service.
4846// the "output" return value is not valid until after Send returns without error.
4847//
4848// See RemoveFromGlobalCluster for more information on using the RemoveFromGlobalCluster
4849// API call, and error handling.
4850//
4851// This method is useful when you want to inject custom logic or configuration
4852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4853//
4854//
4855//    // Example sending a request using the RemoveFromGlobalClusterRequest method.
4856//    req, resp := client.RemoveFromGlobalClusterRequest(params)
4857//
4858//    err := req.Send()
4859//    if err == nil { // resp is now filled
4860//        fmt.Println(resp)
4861//    }
4862//
4863// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveFromGlobalCluster
4864func (c *DocDB) RemoveFromGlobalClusterRequest(input *RemoveFromGlobalClusterInput) (req *request.Request, output *RemoveFromGlobalClusterOutput) {
4865	op := &request.Operation{
4866		Name:       opRemoveFromGlobalCluster,
4867		HTTPMethod: "POST",
4868		HTTPPath:   "/",
4869	}
4870
4871	if input == nil {
4872		input = &RemoveFromGlobalClusterInput{}
4873	}
4874
4875	output = &RemoveFromGlobalClusterOutput{}
4876	req = c.newRequest(op, input, output)
4877	return
4878}
4879
4880// RemoveFromGlobalCluster API operation for Amazon DocumentDB with MongoDB compatibility.
4881//
4882// Detaches an Amazon DocumentDB secondary cluster from a global cluster. The
4883// cluster becomes a standalone cluster with read-write capability instead of
4884// being read-only and receiving data from a primary in a different region.
4885//
4886// This action only applies to Amazon DocumentDB clusters.
4887//
4888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4889// with awserr.Error's Code and Message methods to get detailed information about
4890// the error.
4891//
4892// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4893// API operation RemoveFromGlobalCluster for usage and error information.
4894//
4895// Returned Error Codes:
4896//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
4897//   The GlobalClusterIdentifier doesn't refer to an existing global cluster.
4898//
4899//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
4900//   The requested operation can't be performed while the cluster is in this state.
4901//
4902//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4903//   DBClusterIdentifier doesn't refer to an existing cluster.
4904//
4905// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveFromGlobalCluster
4906func (c *DocDB) RemoveFromGlobalCluster(input *RemoveFromGlobalClusterInput) (*RemoveFromGlobalClusterOutput, error) {
4907	req, out := c.RemoveFromGlobalClusterRequest(input)
4908	return out, req.Send()
4909}
4910
4911// RemoveFromGlobalClusterWithContext is the same as RemoveFromGlobalCluster with the addition of
4912// the ability to pass a context and additional request options.
4913//
4914// See RemoveFromGlobalCluster for details on how to use this API operation.
4915//
4916// The context must be non-nil and will be used for request cancellation. If
4917// the context is nil a panic will occur. In the future the SDK may create
4918// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4919// for more information on using Contexts.
4920func (c *DocDB) RemoveFromGlobalClusterWithContext(ctx aws.Context, input *RemoveFromGlobalClusterInput, opts ...request.Option) (*RemoveFromGlobalClusterOutput, error) {
4921	req, out := c.RemoveFromGlobalClusterRequest(input)
4922	req.SetContext(ctx)
4923	req.ApplyOptions(opts...)
4924	return out, req.Send()
4925}
4926
4927const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
4928
4929// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
4930// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
4931// value will be populated with the request's response once the request completes
4932// successfully.
4933//
4934// Use "Send" method on the returned Request to send the API call to the service.
4935// the "output" return value is not valid until after Send returns without error.
4936//
4937// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
4938// API call, and error handling.
4939//
4940// This method is useful when you want to inject custom logic or configuration
4941// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4942//
4943//
4944//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
4945//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
4946//
4947//    err := req.Send()
4948//    if err == nil { // resp is now filled
4949//        fmt.Println(resp)
4950//    }
4951//
4952// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveSourceIdentifierFromSubscription
4953func (c *DocDB) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
4954	op := &request.Operation{
4955		Name:       opRemoveSourceIdentifierFromSubscription,
4956		HTTPMethod: "POST",
4957		HTTPPath:   "/",
4958	}
4959
4960	if input == nil {
4961		input = &RemoveSourceIdentifierFromSubscriptionInput{}
4962	}
4963
4964	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
4965	req = c.newRequest(op, input, output)
4966	return
4967}
4968
4969// RemoveSourceIdentifierFromSubscription API operation for Amazon DocumentDB with MongoDB compatibility.
4970//
4971// Removes a source identifier from an existing Amazon DocumentDB event notification
4972// subscription.
4973//
4974// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4975// with awserr.Error's Code and Message methods to get detailed information about
4976// the error.
4977//
4978// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
4979// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
4980//
4981// Returned Error Codes:
4982//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
4983//   The subscription name does not exist.
4984//
4985//   * ErrCodeSourceNotFoundFault "SourceNotFound"
4986//   The requested source could not be found.
4987//
4988// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveSourceIdentifierFromSubscription
4989func (c *DocDB) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
4990	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
4991	return out, req.Send()
4992}
4993
4994// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
4995// the ability to pass a context and additional request options.
4996//
4997// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
4998//
4999// The context must be non-nil and will be used for request cancellation. If
5000// the context is nil a panic will occur. In the future the SDK may create
5001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5002// for more information on using Contexts.
5003func (c *DocDB) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
5004	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
5005	req.SetContext(ctx)
5006	req.ApplyOptions(opts...)
5007	return out, req.Send()
5008}
5009
5010const opRemoveTagsFromResource = "RemoveTagsFromResource"
5011
5012// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
5013// client's request for the RemoveTagsFromResource operation. The "output" return
5014// value will be populated with the request's response once the request completes
5015// successfully.
5016//
5017// Use "Send" method on the returned Request to send the API call to the service.
5018// the "output" return value is not valid until after Send returns without error.
5019//
5020// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
5021// API call, and error handling.
5022//
5023// This method is useful when you want to inject custom logic or configuration
5024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5025//
5026//
5027//    // Example sending a request using the RemoveTagsFromResourceRequest method.
5028//    req, resp := client.RemoveTagsFromResourceRequest(params)
5029//
5030//    err := req.Send()
5031//    if err == nil { // resp is now filled
5032//        fmt.Println(resp)
5033//    }
5034//
5035// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource
5036func (c *DocDB) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
5037	op := &request.Operation{
5038		Name:       opRemoveTagsFromResource,
5039		HTTPMethod: "POST",
5040		HTTPPath:   "/",
5041	}
5042
5043	if input == nil {
5044		input = &RemoveTagsFromResourceInput{}
5045	}
5046
5047	output = &RemoveTagsFromResourceOutput{}
5048	req = c.newRequest(op, input, output)
5049	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5050	return
5051}
5052
5053// RemoveTagsFromResource API operation for Amazon DocumentDB with MongoDB compatibility.
5054//
5055// Removes metadata tags from an Amazon DocumentDB resource.
5056//
5057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5058// with awserr.Error's Code and Message methods to get detailed information about
5059// the error.
5060//
5061// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
5062// API operation RemoveTagsFromResource for usage and error information.
5063//
5064// Returned Error Codes:
5065//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5066//   DBInstanceIdentifier doesn't refer to an existing instance.
5067//
5068//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
5069//   DBSnapshotIdentifier doesn't refer to an existing snapshot.
5070//
5071//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5072//   DBClusterIdentifier doesn't refer to an existing cluster.
5073//
5074// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveTagsFromResource
5075func (c *DocDB) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
5076	req, out := c.RemoveTagsFromResourceRequest(input)
5077	return out, req.Send()
5078}
5079
5080// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
5081// the ability to pass a context and additional request options.
5082//
5083// See RemoveTagsFromResource for details on how to use this API operation.
5084//
5085// The context must be non-nil and will be used for request cancellation. If
5086// the context is nil a panic will occur. In the future the SDK may create
5087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5088// for more information on using Contexts.
5089func (c *DocDB) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
5090	req, out := c.RemoveTagsFromResourceRequest(input)
5091	req.SetContext(ctx)
5092	req.ApplyOptions(opts...)
5093	return out, req.Send()
5094}
5095
5096const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
5097
5098// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
5099// client's request for the ResetDBClusterParameterGroup operation. The "output" return
5100// value will be populated with the request's response once the request completes
5101// successfully.
5102//
5103// Use "Send" method on the returned Request to send the API call to the service.
5104// the "output" return value is not valid until after Send returns without error.
5105//
5106// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
5107// API call, and error handling.
5108//
5109// This method is useful when you want to inject custom logic or configuration
5110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5111//
5112//
5113//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
5114//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
5115//
5116//    err := req.Send()
5117//    if err == nil { // resp is now filled
5118//        fmt.Println(resp)
5119//    }
5120//
5121// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup
5122func (c *DocDB) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *ResetDBClusterParameterGroupOutput) {
5123	op := &request.Operation{
5124		Name:       opResetDBClusterParameterGroup,
5125		HTTPMethod: "POST",
5126		HTTPPath:   "/",
5127	}
5128
5129	if input == nil {
5130		input = &ResetDBClusterParameterGroupInput{}
5131	}
5132
5133	output = &ResetDBClusterParameterGroupOutput{}
5134	req = c.newRequest(op, input, output)
5135	return
5136}
5137
5138// ResetDBClusterParameterGroup API operation for Amazon DocumentDB with MongoDB compatibility.
5139//
5140// Modifies the parameters of a cluster parameter group to the default value.
5141// To reset specific parameters, submit a list of the following: ParameterName
5142// and ApplyMethod. To reset the entire cluster parameter group, specify the
5143// DBClusterParameterGroupName and ResetAllParameters parameters.
5144//
5145// When you reset the entire group, dynamic parameters are updated immediately
5146// and static parameters are set to pending-reboot to take effect on the next
5147// DB instance reboot.
5148//
5149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5150// with awserr.Error's Code and Message methods to get detailed information about
5151// the error.
5152//
5153// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
5154// API operation ResetDBClusterParameterGroup for usage and error information.
5155//
5156// Returned Error Codes:
5157//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
5158//   The parameter group is in use, or it is in a state that is not valid. If
5159//   you are trying to delete the parameter group, you can't delete it when the
5160//   parameter group is in this state.
5161//
5162//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5163//   DBParameterGroupName doesn't refer to an existing parameter group.
5164//
5165// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ResetDBClusterParameterGroup
5166func (c *DocDB) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*ResetDBClusterParameterGroupOutput, error) {
5167	req, out := c.ResetDBClusterParameterGroupRequest(input)
5168	return out, req.Send()
5169}
5170
5171// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
5172// the ability to pass a context and additional request options.
5173//
5174// See ResetDBClusterParameterGroup for details on how to use this API operation.
5175//
5176// The context must be non-nil and will be used for request cancellation. If
5177// the context is nil a panic will occur. In the future the SDK may create
5178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5179// for more information on using Contexts.
5180func (c *DocDB) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*ResetDBClusterParameterGroupOutput, error) {
5181	req, out := c.ResetDBClusterParameterGroupRequest(input)
5182	req.SetContext(ctx)
5183	req.ApplyOptions(opts...)
5184	return out, req.Send()
5185}
5186
5187const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
5188
5189// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
5190// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
5191// value will be populated with the request's response once the request completes
5192// successfully.
5193//
5194// Use "Send" method on the returned Request to send the API call to the service.
5195// the "output" return value is not valid until after Send returns without error.
5196//
5197// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
5198// API call, and error handling.
5199//
5200// This method is useful when you want to inject custom logic or configuration
5201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5202//
5203//
5204//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
5205//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
5206//
5207//    err := req.Send()
5208//    if err == nil { // resp is now filled
5209//        fmt.Println(resp)
5210//    }
5211//
5212// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot
5213func (c *DocDB) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
5214	op := &request.Operation{
5215		Name:       opRestoreDBClusterFromSnapshot,
5216		HTTPMethod: "POST",
5217		HTTPPath:   "/",
5218	}
5219
5220	if input == nil {
5221		input = &RestoreDBClusterFromSnapshotInput{}
5222	}
5223
5224	output = &RestoreDBClusterFromSnapshotOutput{}
5225	req = c.newRequest(op, input, output)
5226	return
5227}
5228
5229// RestoreDBClusterFromSnapshot API operation for Amazon DocumentDB with MongoDB compatibility.
5230//
5231// Creates a new cluster from a snapshot or cluster snapshot.
5232//
5233// If a snapshot is specified, the target cluster is created from the source
5234// DB snapshot with a default configuration and default security group.
5235//
5236// If a cluster snapshot is specified, the target cluster is created from the
5237// source cluster restore point with the same configuration as the original
5238// source DB cluster, except that the new cluster is created with the default
5239// security group.
5240//
5241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5242// with awserr.Error's Code and Message methods to get detailed information about
5243// the error.
5244//
5245// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
5246// API operation RestoreDBClusterFromSnapshot for usage and error information.
5247//
5248// Returned Error Codes:
5249//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
5250//   You already have a cluster with the given identifier.
5251//
5252//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
5253//   The cluster can't be created because you have reached the maximum allowed
5254//   quota of clusters.
5255//
5256//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
5257//   The request would cause you to exceed the allowed amount of storage available
5258//   across all instances.
5259//
5260//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
5261//   DBSubnetGroupName doesn't refer to an existing subnet group.
5262//
5263//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
5264//   DBSnapshotIdentifier doesn't refer to an existing snapshot.
5265//
5266//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5267//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
5268//
5269//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
5270//   The cluster doesn't have enough capacity for the current operation.
5271//
5272//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
5273//   There is not enough storage available for the current action. You might be
5274//   able to resolve this error by updating your subnet group to use different
5275//   Availability Zones that have more storage available.
5276//
5277//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
5278//   The state of the snapshot doesn't allow deletion.
5279//
5280//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
5281//   The provided value isn't a valid cluster snapshot state.
5282//
5283//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
5284//   The request would cause you to exceed the allowed amount of storage available
5285//   across all instances.
5286//
5287//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
5288//   The subnet group doesn't cover all Availability Zones after it is created
5289//   because of changes that were made.
5290//
5291//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
5292//   You cannot restore from a virtual private cloud (VPC) backup to a non-VPC
5293//   DB instance.
5294//
5295//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
5296//   DBSubnetGroupName doesn't refer to an existing subnet group.
5297//
5298//   * ErrCodeInvalidSubnet "InvalidSubnet"
5299//   The requested subnet is not valid, or multiple subnets were requested that
5300//   are not all in a common virtual private cloud (VPC).
5301//
5302//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
5303//   An error occurred when accessing an KMS key.
5304//
5305// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterFromSnapshot
5306func (c *DocDB) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
5307	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
5308	return out, req.Send()
5309}
5310
5311// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
5312// the ability to pass a context and additional request options.
5313//
5314// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
5315//
5316// The context must be non-nil and will be used for request cancellation. If
5317// the context is nil a panic will occur. In the future the SDK may create
5318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5319// for more information on using Contexts.
5320func (c *DocDB) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
5321	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
5322	req.SetContext(ctx)
5323	req.ApplyOptions(opts...)
5324	return out, req.Send()
5325}
5326
5327const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
5328
5329// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
5330// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
5331// value will be populated with the request's response once the request completes
5332// successfully.
5333//
5334// Use "Send" method on the returned Request to send the API call to the service.
5335// the "output" return value is not valid until after Send returns without error.
5336//
5337// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
5338// API call, and error handling.
5339//
5340// This method is useful when you want to inject custom logic or configuration
5341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5342//
5343//
5344//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
5345//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
5346//
5347//    err := req.Send()
5348//    if err == nil { // resp is now filled
5349//        fmt.Println(resp)
5350//    }
5351//
5352// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime
5353func (c *DocDB) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
5354	op := &request.Operation{
5355		Name:       opRestoreDBClusterToPointInTime,
5356		HTTPMethod: "POST",
5357		HTTPPath:   "/",
5358	}
5359
5360	if input == nil {
5361		input = &RestoreDBClusterToPointInTimeInput{}
5362	}
5363
5364	output = &RestoreDBClusterToPointInTimeOutput{}
5365	req = c.newRequest(op, input, output)
5366	return
5367}
5368
5369// RestoreDBClusterToPointInTime API operation for Amazon DocumentDB with MongoDB compatibility.
5370//
5371// Restores a cluster to an arbitrary point in time. Users can restore to any
5372// point in time before LatestRestorableTime for up to BackupRetentionPeriod
5373// days. The target cluster is created from the source cluster with the same
5374// configuration as the original cluster, except that the new cluster is created
5375// with the default security group.
5376//
5377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5378// with awserr.Error's Code and Message methods to get detailed information about
5379// the error.
5380//
5381// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
5382// API operation RestoreDBClusterToPointInTime for usage and error information.
5383//
5384// Returned Error Codes:
5385//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
5386//   You already have a cluster with the given identifier.
5387//
5388//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5389//   DBClusterIdentifier doesn't refer to an existing cluster.
5390//
5391//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
5392//   The cluster can't be created because you have reached the maximum allowed
5393//   quota of clusters.
5394//
5395//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5396//   DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.
5397//
5398//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
5399//   DBSubnetGroupName doesn't refer to an existing subnet group.
5400//
5401//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
5402//   The cluster doesn't have enough capacity for the current operation.
5403//
5404//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
5405//   There is not enough storage available for the current action. You might be
5406//   able to resolve this error by updating your subnet group to use different
5407//   Availability Zones that have more storage available.
5408//
5409//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
5410//   The provided value isn't a valid cluster snapshot state.
5411//
5412//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5413//   The cluster isn't in a valid state.
5414//
5415//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
5416//   The state of the snapshot doesn't allow deletion.
5417//
5418//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
5419//   You cannot restore from a virtual private cloud (VPC) backup to a non-VPC
5420//   DB instance.
5421//
5422//   * ErrCodeInvalidSubnet "InvalidSubnet"
5423//   The requested subnet is not valid, or multiple subnets were requested that
5424//   are not all in a common virtual private cloud (VPC).
5425//
5426//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
5427//   The subnet group doesn't cover all Availability Zones after it is created
5428//   because of changes that were made.
5429//
5430//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
5431//   An error occurred when accessing an KMS key.
5432//
5433//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
5434//   The request would cause you to exceed the allowed amount of storage available
5435//   across all instances.
5436//
5437// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RestoreDBClusterToPointInTime
5438func (c *DocDB) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
5439	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
5440	return out, req.Send()
5441}
5442
5443// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
5444// the ability to pass a context and additional request options.
5445//
5446// See RestoreDBClusterToPointInTime for details on how to use this API operation.
5447//
5448// The context must be non-nil and will be used for request cancellation. If
5449// the context is nil a panic will occur. In the future the SDK may create
5450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5451// for more information on using Contexts.
5452func (c *DocDB) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
5453	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
5454	req.SetContext(ctx)
5455	req.ApplyOptions(opts...)
5456	return out, req.Send()
5457}
5458
5459const opStartDBCluster = "StartDBCluster"
5460
5461// StartDBClusterRequest generates a "aws/request.Request" representing the
5462// client's request for the StartDBCluster operation. The "output" return
5463// value will be populated with the request's response once the request completes
5464// successfully.
5465//
5466// Use "Send" method on the returned Request to send the API call to the service.
5467// the "output" return value is not valid until after Send returns without error.
5468//
5469// See StartDBCluster for more information on using the StartDBCluster
5470// API call, and error handling.
5471//
5472// This method is useful when you want to inject custom logic or configuration
5473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5474//
5475//
5476//    // Example sending a request using the StartDBClusterRequest method.
5477//    req, resp := client.StartDBClusterRequest(params)
5478//
5479//    err := req.Send()
5480//    if err == nil { // resp is now filled
5481//        fmt.Println(resp)
5482//    }
5483//
5484// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StartDBCluster
5485func (c *DocDB) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
5486	op := &request.Operation{
5487		Name:       opStartDBCluster,
5488		HTTPMethod: "POST",
5489		HTTPPath:   "/",
5490	}
5491
5492	if input == nil {
5493		input = &StartDBClusterInput{}
5494	}
5495
5496	output = &StartDBClusterOutput{}
5497	req = c.newRequest(op, input, output)
5498	return
5499}
5500
5501// StartDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
5502//
5503// Restarts the stopped cluster that is specified by DBClusterIdentifier. For
5504// more information, see Stopping and Starting an Amazon DocumentDB Cluster
5505// (https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html).
5506//
5507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5508// with awserr.Error's Code and Message methods to get detailed information about
5509// the error.
5510//
5511// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
5512// API operation StartDBCluster for usage and error information.
5513//
5514// Returned Error Codes:
5515//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5516//   DBClusterIdentifier doesn't refer to an existing cluster.
5517//
5518//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5519//   The cluster isn't in a valid state.
5520//
5521//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
5522//   The specified instance isn't in the available state.
5523//
5524// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StartDBCluster
5525func (c *DocDB) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
5526	req, out := c.StartDBClusterRequest(input)
5527	return out, req.Send()
5528}
5529
5530// StartDBClusterWithContext is the same as StartDBCluster with the addition of
5531// the ability to pass a context and additional request options.
5532//
5533// See StartDBCluster for details on how to use this API operation.
5534//
5535// The context must be non-nil and will be used for request cancellation. If
5536// the context is nil a panic will occur. In the future the SDK may create
5537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5538// for more information on using Contexts.
5539func (c *DocDB) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
5540	req, out := c.StartDBClusterRequest(input)
5541	req.SetContext(ctx)
5542	req.ApplyOptions(opts...)
5543	return out, req.Send()
5544}
5545
5546const opStopDBCluster = "StopDBCluster"
5547
5548// StopDBClusterRequest generates a "aws/request.Request" representing the
5549// client's request for the StopDBCluster operation. The "output" return
5550// value will be populated with the request's response once the request completes
5551// successfully.
5552//
5553// Use "Send" method on the returned Request to send the API call to the service.
5554// the "output" return value is not valid until after Send returns without error.
5555//
5556// See StopDBCluster for more information on using the StopDBCluster
5557// API call, and error handling.
5558//
5559// This method is useful when you want to inject custom logic or configuration
5560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5561//
5562//
5563//    // Example sending a request using the StopDBClusterRequest method.
5564//    req, resp := client.StopDBClusterRequest(params)
5565//
5566//    err := req.Send()
5567//    if err == nil { // resp is now filled
5568//        fmt.Println(resp)
5569//    }
5570//
5571// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StopDBCluster
5572func (c *DocDB) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
5573	op := &request.Operation{
5574		Name:       opStopDBCluster,
5575		HTTPMethod: "POST",
5576		HTTPPath:   "/",
5577	}
5578
5579	if input == nil {
5580		input = &StopDBClusterInput{}
5581	}
5582
5583	output = &StopDBClusterOutput{}
5584	req = c.newRequest(op, input, output)
5585	return
5586}
5587
5588// StopDBCluster API operation for Amazon DocumentDB with MongoDB compatibility.
5589//
5590// Stops the running cluster that is specified by DBClusterIdentifier. The cluster
5591// must be in the available state. For more information, see Stopping and Starting
5592// an Amazon DocumentDB Cluster (https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html).
5593//
5594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5595// with awserr.Error's Code and Message methods to get detailed information about
5596// the error.
5597//
5598// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's
5599// API operation StopDBCluster for usage and error information.
5600//
5601// Returned Error Codes:
5602//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5603//   DBClusterIdentifier doesn't refer to an existing cluster.
5604//
5605//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
5606//   The cluster isn't in a valid state.
5607//
5608//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
5609//   The specified instance isn't in the available state.
5610//
5611// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/StopDBCluster
5612func (c *DocDB) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
5613	req, out := c.StopDBClusterRequest(input)
5614	return out, req.Send()
5615}
5616
5617// StopDBClusterWithContext is the same as StopDBCluster with the addition of
5618// the ability to pass a context and additional request options.
5619//
5620// See StopDBCluster for details on how to use this API operation.
5621//
5622// The context must be non-nil and will be used for request cancellation. If
5623// the context is nil a panic will occur. In the future the SDK may create
5624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5625// for more information on using Contexts.
5626func (c *DocDB) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
5627	req, out := c.StopDBClusterRequest(input)
5628	req.SetContext(ctx)
5629	req.ApplyOptions(opts...)
5630	return out, req.Send()
5631}
5632
5633// Represents the input to AddSourceIdentifierToSubscription.
5634type AddSourceIdentifierToSubscriptionInput struct {
5635	_ struct{} `type:"structure"`
5636
5637	// The identifier of the event source to be added:
5638	//
5639	//    * If the source type is an instance, a DBInstanceIdentifier must be provided.
5640	//
5641	//    * If the source type is a security group, a DBSecurityGroupName must be
5642	//    provided.
5643	//
5644	//    * If the source type is a parameter group, a DBParameterGroupName must
5645	//    be provided.
5646	//
5647	//    * If the source type is a snapshot, a DBSnapshotIdentifier must be provided.
5648	//
5649	// SourceIdentifier is a required field
5650	SourceIdentifier *string `type:"string" required:"true"`
5651
5652	// The name of the Amazon DocumentDB event notification subscription that you
5653	// want to add a source identifier to.
5654	//
5655	// SubscriptionName is a required field
5656	SubscriptionName *string `type:"string" required:"true"`
5657}
5658
5659// String returns the string representation
5660func (s AddSourceIdentifierToSubscriptionInput) String() string {
5661	return awsutil.Prettify(s)
5662}
5663
5664// GoString returns the string representation
5665func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
5666	return s.String()
5667}
5668
5669// Validate inspects the fields of the type to determine if they are valid.
5670func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
5671	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
5672	if s.SourceIdentifier == nil {
5673		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
5674	}
5675	if s.SubscriptionName == nil {
5676		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
5677	}
5678
5679	if invalidParams.Len() > 0 {
5680		return invalidParams
5681	}
5682	return nil
5683}
5684
5685// SetSourceIdentifier sets the SourceIdentifier field's value.
5686func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
5687	s.SourceIdentifier = &v
5688	return s
5689}
5690
5691// SetSubscriptionName sets the SubscriptionName field's value.
5692func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
5693	s.SubscriptionName = &v
5694	return s
5695}
5696
5697type AddSourceIdentifierToSubscriptionOutput struct {
5698	_ struct{} `type:"structure"`
5699
5700	// Detailed information about an event to which you have subscribed.
5701	EventSubscription *EventSubscription `type:"structure"`
5702}
5703
5704// String returns the string representation
5705func (s AddSourceIdentifierToSubscriptionOutput) String() string {
5706	return awsutil.Prettify(s)
5707}
5708
5709// GoString returns the string representation
5710func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
5711	return s.String()
5712}
5713
5714// SetEventSubscription sets the EventSubscription field's value.
5715func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
5716	s.EventSubscription = v
5717	return s
5718}
5719
5720// Represents the input to AddTagsToResource.
5721type AddTagsToResourceInput struct {
5722	_ struct{} `type:"structure"`
5723
5724	// The Amazon DocumentDB resource that the tags are added to. This value is
5725	// an Amazon Resource Name .
5726	//
5727	// ResourceName is a required field
5728	ResourceName *string `type:"string" required:"true"`
5729
5730	// The tags to be assigned to the Amazon DocumentDB resource.
5731	//
5732	// Tags is a required field
5733	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
5734}
5735
5736// String returns the string representation
5737func (s AddTagsToResourceInput) String() string {
5738	return awsutil.Prettify(s)
5739}
5740
5741// GoString returns the string representation
5742func (s AddTagsToResourceInput) GoString() string {
5743	return s.String()
5744}
5745
5746// Validate inspects the fields of the type to determine if they are valid.
5747func (s *AddTagsToResourceInput) Validate() error {
5748	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
5749	if s.ResourceName == nil {
5750		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
5751	}
5752	if s.Tags == nil {
5753		invalidParams.Add(request.NewErrParamRequired("Tags"))
5754	}
5755
5756	if invalidParams.Len() > 0 {
5757		return invalidParams
5758	}
5759	return nil
5760}
5761
5762// SetResourceName sets the ResourceName field's value.
5763func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
5764	s.ResourceName = &v
5765	return s
5766}
5767
5768// SetTags sets the Tags field's value.
5769func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
5770	s.Tags = v
5771	return s
5772}
5773
5774type AddTagsToResourceOutput struct {
5775	_ struct{} `type:"structure"`
5776}
5777
5778// String returns the string representation
5779func (s AddTagsToResourceOutput) String() string {
5780	return awsutil.Prettify(s)
5781}
5782
5783// GoString returns the string representation
5784func (s AddTagsToResourceOutput) GoString() string {
5785	return s.String()
5786}
5787
5788// Represents the input to ApplyPendingMaintenanceAction.
5789type ApplyPendingMaintenanceActionInput struct {
5790	_ struct{} `type:"structure"`
5791
5792	// The pending maintenance action to apply to this resource.
5793	//
5794	// Valid values: system-update, db-upgrade
5795	//
5796	// ApplyAction is a required field
5797	ApplyAction *string `type:"string" required:"true"`
5798
5799	// A value that specifies the type of opt-in request or undoes an opt-in request.
5800	// An opt-in request of type immediate can't be undone.
5801	//
5802	// Valid values:
5803	//
5804	//    * immediate - Apply the maintenance action immediately.
5805	//
5806	//    * next-maintenance - Apply the maintenance action during the next maintenance
5807	//    window for the resource.
5808	//
5809	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
5810	//
5811	// OptInType is a required field
5812	OptInType *string `type:"string" required:"true"`
5813
5814	// The Amazon Resource Name (ARN) of the resource that the pending maintenance
5815	// action applies to.
5816	//
5817	// ResourceIdentifier is a required field
5818	ResourceIdentifier *string `type:"string" required:"true"`
5819}
5820
5821// String returns the string representation
5822func (s ApplyPendingMaintenanceActionInput) String() string {
5823	return awsutil.Prettify(s)
5824}
5825
5826// GoString returns the string representation
5827func (s ApplyPendingMaintenanceActionInput) GoString() string {
5828	return s.String()
5829}
5830
5831// Validate inspects the fields of the type to determine if they are valid.
5832func (s *ApplyPendingMaintenanceActionInput) Validate() error {
5833	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
5834	if s.ApplyAction == nil {
5835		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
5836	}
5837	if s.OptInType == nil {
5838		invalidParams.Add(request.NewErrParamRequired("OptInType"))
5839	}
5840	if s.ResourceIdentifier == nil {
5841		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
5842	}
5843
5844	if invalidParams.Len() > 0 {
5845		return invalidParams
5846	}
5847	return nil
5848}
5849
5850// SetApplyAction sets the ApplyAction field's value.
5851func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
5852	s.ApplyAction = &v
5853	return s
5854}
5855
5856// SetOptInType sets the OptInType field's value.
5857func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
5858	s.OptInType = &v
5859	return s
5860}
5861
5862// SetResourceIdentifier sets the ResourceIdentifier field's value.
5863func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
5864	s.ResourceIdentifier = &v
5865	return s
5866}
5867
5868type ApplyPendingMaintenanceActionOutput struct {
5869	_ struct{} `type:"structure"`
5870
5871	// Represents the output of ApplyPendingMaintenanceAction.
5872	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
5873}
5874
5875// String returns the string representation
5876func (s ApplyPendingMaintenanceActionOutput) String() string {
5877	return awsutil.Prettify(s)
5878}
5879
5880// GoString returns the string representation
5881func (s ApplyPendingMaintenanceActionOutput) GoString() string {
5882	return s.String()
5883}
5884
5885// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
5886func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
5887	s.ResourcePendingMaintenanceActions = v
5888	return s
5889}
5890
5891// Information about an Availability Zone.
5892type AvailabilityZone struct {
5893	_ struct{} `type:"structure"`
5894
5895	// The name of the Availability Zone.
5896	Name *string `type:"string"`
5897}
5898
5899// String returns the string representation
5900func (s AvailabilityZone) String() string {
5901	return awsutil.Prettify(s)
5902}
5903
5904// GoString returns the string representation
5905func (s AvailabilityZone) GoString() string {
5906	return s.String()
5907}
5908
5909// SetName sets the Name field's value.
5910func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
5911	s.Name = &v
5912	return s
5913}
5914
5915// A certificate authority (CA) certificate for an account.
5916type Certificate struct {
5917	_ struct{} `type:"structure"`
5918
5919	// The Amazon Resource Name (ARN) for the certificate.
5920	//
5921	// Example: arn:aws:rds:us-east-1::cert:rds-ca-2019
5922	CertificateArn *string `type:"string"`
5923
5924	// The unique key that identifies a certificate.
5925	//
5926	// Example: rds-ca-2019
5927	CertificateIdentifier *string `type:"string"`
5928
5929	// The type of the certificate.
5930	//
5931	// Example: CA
5932	CertificateType *string `type:"string"`
5933
5934	// The thumbprint of the certificate.
5935	Thumbprint *string `type:"string"`
5936
5937	// The starting date-time from which the certificate is valid.
5938	//
5939	// Example: 2019-07-31T17:57:09Z
5940	ValidFrom *time.Time `type:"timestamp"`
5941
5942	// The date-time after which the certificate is no longer valid.
5943	//
5944	// Example: 2024-07-31T17:57:09Z
5945	ValidTill *time.Time `type:"timestamp"`
5946}
5947
5948// String returns the string representation
5949func (s Certificate) String() string {
5950	return awsutil.Prettify(s)
5951}
5952
5953// GoString returns the string representation
5954func (s Certificate) GoString() string {
5955	return s.String()
5956}
5957
5958// SetCertificateArn sets the CertificateArn field's value.
5959func (s *Certificate) SetCertificateArn(v string) *Certificate {
5960	s.CertificateArn = &v
5961	return s
5962}
5963
5964// SetCertificateIdentifier sets the CertificateIdentifier field's value.
5965func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
5966	s.CertificateIdentifier = &v
5967	return s
5968}
5969
5970// SetCertificateType sets the CertificateType field's value.
5971func (s *Certificate) SetCertificateType(v string) *Certificate {
5972	s.CertificateType = &v
5973	return s
5974}
5975
5976// SetThumbprint sets the Thumbprint field's value.
5977func (s *Certificate) SetThumbprint(v string) *Certificate {
5978	s.Thumbprint = &v
5979	return s
5980}
5981
5982// SetValidFrom sets the ValidFrom field's value.
5983func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
5984	s.ValidFrom = &v
5985	return s
5986}
5987
5988// SetValidTill sets the ValidTill field's value.
5989func (s *Certificate) SetValidTill(v time.Time) *Certificate {
5990	s.ValidTill = &v
5991	return s
5992}
5993
5994// The configuration setting for the log types to be enabled for export to Amazon
5995// CloudWatch Logs for a specific instance or cluster.
5996//
5997// The EnableLogTypes and DisableLogTypes arrays determine which logs are exported
5998// (or not exported) to CloudWatch Logs. The values within these arrays depend
5999// on the engine that is being used.
6000type CloudwatchLogsExportConfiguration struct {
6001	_ struct{} `type:"structure"`
6002
6003	// The list of log types to disable.
6004	DisableLogTypes []*string `type:"list"`
6005
6006	// The list of log types to enable.
6007	EnableLogTypes []*string `type:"list"`
6008}
6009
6010// String returns the string representation
6011func (s CloudwatchLogsExportConfiguration) String() string {
6012	return awsutil.Prettify(s)
6013}
6014
6015// GoString returns the string representation
6016func (s CloudwatchLogsExportConfiguration) GoString() string {
6017	return s.String()
6018}
6019
6020// SetDisableLogTypes sets the DisableLogTypes field's value.
6021func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
6022	s.DisableLogTypes = v
6023	return s
6024}
6025
6026// SetEnableLogTypes sets the EnableLogTypes field's value.
6027func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
6028	s.EnableLogTypes = v
6029	return s
6030}
6031
6032// Represents the input to CopyDBClusterParameterGroup.
6033type CopyDBClusterParameterGroupInput struct {
6034	_ struct{} `type:"structure"`
6035
6036	// The identifier or Amazon Resource Name (ARN) for the source cluster parameter
6037	// group.
6038	//
6039	// Constraints:
6040	//
6041	//    * Must specify a valid cluster parameter group.
6042	//
6043	//    * If the source cluster parameter group is in the same Region as the copy,
6044	//    specify a valid parameter group identifier; for example, my-db-cluster-param-group,
6045	//    or a valid ARN.
6046	//
6047	//    * If the source parameter group is in a different Region than the copy,
6048	//    specify a valid cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:sample-cluster:sample-parameter-group.
6049	//
6050	// SourceDBClusterParameterGroupIdentifier is a required field
6051	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
6052
6053	// The tags that are to be assigned to the parameter group.
6054	Tags []*Tag `locationNameList:"Tag" type:"list"`
6055
6056	// A description for the copied cluster parameter group.
6057	//
6058	// TargetDBClusterParameterGroupDescription is a required field
6059	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
6060
6061	// The identifier for the copied cluster parameter group.
6062	//
6063	// Constraints:
6064	//
6065	//    * Cannot be null, empty, or blank.
6066	//
6067	//    * Must contain from 1 to 255 letters, numbers, or hyphens.
6068	//
6069	//    * The first character must be a letter.
6070	//
6071	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6072	//
6073	// Example: my-cluster-param-group1
6074	//
6075	// TargetDBClusterParameterGroupIdentifier is a required field
6076	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
6077}
6078
6079// String returns the string representation
6080func (s CopyDBClusterParameterGroupInput) String() string {
6081	return awsutil.Prettify(s)
6082}
6083
6084// GoString returns the string representation
6085func (s CopyDBClusterParameterGroupInput) GoString() string {
6086	return s.String()
6087}
6088
6089// Validate inspects the fields of the type to determine if they are valid.
6090func (s *CopyDBClusterParameterGroupInput) Validate() error {
6091	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
6092	if s.SourceDBClusterParameterGroupIdentifier == nil {
6093		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
6094	}
6095	if s.TargetDBClusterParameterGroupDescription == nil {
6096		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
6097	}
6098	if s.TargetDBClusterParameterGroupIdentifier == nil {
6099		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
6100	}
6101
6102	if invalidParams.Len() > 0 {
6103		return invalidParams
6104	}
6105	return nil
6106}
6107
6108// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
6109func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
6110	s.SourceDBClusterParameterGroupIdentifier = &v
6111	return s
6112}
6113
6114// SetTags sets the Tags field's value.
6115func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
6116	s.Tags = v
6117	return s
6118}
6119
6120// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
6121func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
6122	s.TargetDBClusterParameterGroupDescription = &v
6123	return s
6124}
6125
6126// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
6127func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
6128	s.TargetDBClusterParameterGroupIdentifier = &v
6129	return s
6130}
6131
6132type CopyDBClusterParameterGroupOutput struct {
6133	_ struct{} `type:"structure"`
6134
6135	// Detailed information about a cluster parameter group.
6136	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
6137}
6138
6139// String returns the string representation
6140func (s CopyDBClusterParameterGroupOutput) String() string {
6141	return awsutil.Prettify(s)
6142}
6143
6144// GoString returns the string representation
6145func (s CopyDBClusterParameterGroupOutput) GoString() string {
6146	return s.String()
6147}
6148
6149// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
6150func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
6151	s.DBClusterParameterGroup = v
6152	return s
6153}
6154
6155// Represents the input to CopyDBClusterSnapshot.
6156type CopyDBClusterSnapshotInput struct {
6157	_ struct{} `type:"structure"`
6158
6159	// Set to true to copy all tags from the source cluster snapshot to the target
6160	// cluster snapshot, and otherwise false. The default is false.
6161	CopyTags *bool `type:"boolean"`
6162
6163	// DestinationRegion is used for presigning the request to a given region.
6164	DestinationRegion *string `type:"string"`
6165
6166	// The KMS key ID for an encrypted cluster snapshot. The KMS key ID is the Amazon
6167	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
6168	// encryption key.
6169	//
6170	// If you copy an encrypted cluster snapshot from your account, you can specify
6171	// a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If
6172	// you don't specify a value for KmsKeyId, then the copy of the cluster snapshot
6173	// is encrypted with the same KMS key as the source cluster snapshot.
6174	//
6175	// If you copy an encrypted cluster snapshot that is shared from another account,
6176	// then you must specify a value for KmsKeyId.
6177	//
6178	// To copy an encrypted cluster snapshot to another Region, set KmsKeyId to
6179	// the KMS key ID that you want to use to encrypt the copy of the cluster snapshot
6180	// in the destination Region. KMS encryption keys are specific to the Region
6181	// that they are created in, and you can't use encryption keys from one Region
6182	// in another Region.
6183	//
6184	// If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId
6185	// parameter, an error is returned.
6186	KmsKeyId *string `type:"string"`
6187
6188	// The URL that contains a Signature Version 4 signed request for theCopyDBClusterSnapshot
6189	// API action in the Region that contains the source cluster snapshot to copy.
6190	// You must use the PreSignedUrl parameter when copying a cluster snapshot from
6191	// another Region.
6192	//
6193	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
6194	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
6195	// manually. Specifying SourceRegion autogenerates a pre-signed URL that is
6196	// a valid request for the operation that can be executed in the source Region.
6197	//
6198	// The presigned URL must be a valid request for the CopyDBClusterSnapshot API
6199	// action that can be executed in the source Region that contains the cluster
6200	// snapshot to be copied. The presigned URL request must contain the following
6201	// parameter values:
6202	//
6203	//    * SourceRegion - The ID of the region that contains the snapshot to be
6204	//    copied.
6205	//
6206	//    * SourceDBClusterSnapshotIdentifier - The identifier for the the encrypted
6207	//    cluster snapshot to be copied. This identifier must be in the Amazon Resource
6208	//    Name (ARN) format for the source Region. For example, if you are copying
6209	//    an encrypted cluster snapshot from the us-east-1 Region, then your SourceDBClusterSnapshotIdentifier
6210	//    looks something like the following: arn:aws:rds:us-east-1:12345678012:sample-cluster:sample-cluster-snapshot.
6211	//
6212	//    * TargetDBClusterSnapshotIdentifier - The identifier for the new cluster
6213	//    snapshot to be created. This parameter isn't case sensitive.
6214	PreSignedUrl *string `type:"string"`
6215
6216	// The identifier of the cluster snapshot to copy. This parameter is not case
6217	// sensitive.
6218	//
6219	// Constraints:
6220	//
6221	//    * Must specify a valid system snapshot in the available state.
6222	//
6223	//    * If the source snapshot is in the same Region as the copy, specify a
6224	//    valid snapshot identifier.
6225	//
6226	//    * If the source snapshot is in a different Region than the copy, specify
6227	//    a valid cluster snapshot ARN.
6228	//
6229	// Example: my-cluster-snapshot1
6230	//
6231	// SourceDBClusterSnapshotIdentifier is a required field
6232	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
6233
6234	// SourceRegion is the source region where the resource exists. This is not
6235	// sent over the wire and is only used for presigning. This value should always
6236	// have the same region as the source ARN.
6237	SourceRegion *string `type:"string" ignore:"true"`
6238
6239	// The tags to be assigned to the cluster snapshot.
6240	Tags []*Tag `locationNameList:"Tag" type:"list"`
6241
6242	// The identifier of the new cluster snapshot to create from the source cluster
6243	// snapshot. This parameter is not case sensitive.
6244	//
6245	// Constraints:
6246	//
6247	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
6248	//
6249	//    * The first character must be a letter.
6250	//
6251	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6252	//
6253	// Example: my-cluster-snapshot2
6254	//
6255	// TargetDBClusterSnapshotIdentifier is a required field
6256	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
6257}
6258
6259// String returns the string representation
6260func (s CopyDBClusterSnapshotInput) String() string {
6261	return awsutil.Prettify(s)
6262}
6263
6264// GoString returns the string representation
6265func (s CopyDBClusterSnapshotInput) GoString() string {
6266	return s.String()
6267}
6268
6269// Validate inspects the fields of the type to determine if they are valid.
6270func (s *CopyDBClusterSnapshotInput) Validate() error {
6271	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
6272	if s.SourceDBClusterSnapshotIdentifier == nil {
6273		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
6274	}
6275	if s.TargetDBClusterSnapshotIdentifier == nil {
6276		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
6277	}
6278
6279	if invalidParams.Len() > 0 {
6280		return invalidParams
6281	}
6282	return nil
6283}
6284
6285// SetCopyTags sets the CopyTags field's value.
6286func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
6287	s.CopyTags = &v
6288	return s
6289}
6290
6291// SetDestinationRegion sets the DestinationRegion field's value.
6292func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
6293	s.DestinationRegion = &v
6294	return s
6295}
6296
6297// SetKmsKeyId sets the KmsKeyId field's value.
6298func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
6299	s.KmsKeyId = &v
6300	return s
6301}
6302
6303// SetPreSignedUrl sets the PreSignedUrl field's value.
6304func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
6305	s.PreSignedUrl = &v
6306	return s
6307}
6308
6309// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
6310func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
6311	s.SourceDBClusterSnapshotIdentifier = &v
6312	return s
6313}
6314
6315// SetSourceRegion sets the SourceRegion field's value.
6316func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
6317	s.SourceRegion = &v
6318	return s
6319}
6320
6321// SetTags sets the Tags field's value.
6322func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
6323	s.Tags = v
6324	return s
6325}
6326
6327// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
6328func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
6329	s.TargetDBClusterSnapshotIdentifier = &v
6330	return s
6331}
6332
6333type CopyDBClusterSnapshotOutput struct {
6334	_ struct{} `type:"structure"`
6335
6336	// Detailed information about a cluster snapshot.
6337	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
6338}
6339
6340// String returns the string representation
6341func (s CopyDBClusterSnapshotOutput) String() string {
6342	return awsutil.Prettify(s)
6343}
6344
6345// GoString returns the string representation
6346func (s CopyDBClusterSnapshotOutput) GoString() string {
6347	return s.String()
6348}
6349
6350// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
6351func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
6352	s.DBClusterSnapshot = v
6353	return s
6354}
6355
6356// Represents the input to CreateDBCluster.
6357type CreateDBClusterInput struct {
6358	_ struct{} `type:"structure"`
6359
6360	// A list of Amazon EC2 Availability Zones that instances in the cluster can
6361	// be created in.
6362	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
6363
6364	// The number of days for which automated backups are retained. You must specify
6365	// a minimum value of 1.
6366	//
6367	// Default: 1
6368	//
6369	// Constraints:
6370	//
6371	//    * Must be a value from 1 to 35.
6372	BackupRetentionPeriod *int64 `type:"integer"`
6373
6374	// The cluster identifier. This parameter is stored as a lowercase string.
6375	//
6376	// Constraints:
6377	//
6378	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
6379	//
6380	//    * The first character must be a letter.
6381	//
6382	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6383	//
6384	// Example: my-cluster
6385	//
6386	// DBClusterIdentifier is a required field
6387	DBClusterIdentifier *string `type:"string" required:"true"`
6388
6389	// The name of the cluster parameter group to associate with this cluster.
6390	DBClusterParameterGroupName *string `type:"string"`
6391
6392	// A subnet group to associate with this cluster.
6393	//
6394	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
6395	// default.
6396	//
6397	// Example: mySubnetgroup
6398	DBSubnetGroupName *string `type:"string"`
6399
6400	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
6401	// the cluster cannot be deleted unless it is modified and DeletionProtection
6402	// is disabled. DeletionProtection protects clusters from being accidentally
6403	// deleted.
6404	DeletionProtection *bool `type:"boolean"`
6405
6406	// DestinationRegion is used for presigning the request to a given region.
6407	DestinationRegion *string `type:"string"`
6408
6409	// A list of log types that need to be enabled for exporting to Amazon CloudWatch
6410	// Logs. You can enable audit logs or profiler logs. For more information, see
6411	// Auditing Amazon DocumentDB Events (https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html)
6412	// and Profiling Amazon DocumentDB Operations (https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html).
6413	EnableCloudwatchLogsExports []*string `type:"list"`
6414
6415	// The name of the database engine to be used for this cluster.
6416	//
6417	// Valid values: docdb
6418	//
6419	// Engine is a required field
6420	Engine *string `type:"string" required:"true"`
6421
6422	// The version number of the database engine to use. The --engine-version will
6423	// default to the latest major engine version. For production workloads, we
6424	// recommend explicitly declaring this parameter with the intended major engine
6425	// version.
6426	EngineVersion *string `type:"string"`
6427
6428	// The cluster identifier of the new global cluster.
6429	GlobalClusterIdentifier *string `min:"1" type:"string"`
6430
6431	// The KMS key identifier for an encrypted cluster.
6432	//
6433	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
6434	// key. If you are creating a cluster using the same account that owns the KMS
6435	// encryption key that is used to encrypt the new cluster, you can use the KMS
6436	// key alias instead of the ARN for the KMS encryption key.
6437	//
6438	// If an encryption key is not specified in KmsKeyId:
6439	//
6440	//    * If the StorageEncrypted parameter is true, Amazon DocumentDB uses your
6441	//    default encryption key.
6442	//
6443	// KMS creates the default encryption key for your account. Your account has
6444	// a different default encryption key for each Regions.
6445	KmsKeyId *string `type:"string"`
6446
6447	// The password for the master database user. This password can contain any
6448	// printable ASCII character except forward slash (/), double quote ("), or
6449	// the "at" symbol (@).
6450	//
6451	// Constraints: Must contain from 8 to 100 characters.
6452	MasterUserPassword *string `type:"string"`
6453
6454	// The name of the master user for the cluster.
6455	//
6456	// Constraints:
6457	//
6458	//    * Must be from 1 to 63 letters or numbers.
6459	//
6460	//    * The first character must be a letter.
6461	//
6462	//    * Cannot be a reserved word for the chosen database engine.
6463	MasterUsername *string `type:"string"`
6464
6465	// The port number on which the instances in the cluster accept connections.
6466	Port *int64 `type:"integer"`
6467
6468	// Not currently supported.
6469	PreSignedUrl *string `type:"string"`
6470
6471	// The daily time range during which automated backups are created if automated
6472	// backups are enabled using the BackupRetentionPeriod parameter.
6473	//
6474	// The default is a 30-minute window selected at random from an 8-hour block
6475	// of time for each Region.
6476	//
6477	// Constraints:
6478	//
6479	//    * Must be in the format hh24:mi-hh24:mi.
6480	//
6481	//    * Must be in Universal Coordinated Time (UTC).
6482	//
6483	//    * Must not conflict with the preferred maintenance window.
6484	//
6485	//    * Must be at least 30 minutes.
6486	PreferredBackupWindow *string `type:"string"`
6487
6488	// The weekly time range during which system maintenance can occur, in Universal
6489	// Coordinated Time (UTC).
6490	//
6491	// Format: ddd:hh24:mi-ddd:hh24:mi
6492	//
6493	// The default is a 30-minute window selected at random from an 8-hour block
6494	// of time for each Region, occurring on a random day of the week.
6495	//
6496	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
6497	//
6498	// Constraints: Minimum 30-minute window.
6499	PreferredMaintenanceWindow *string `type:"string"`
6500
6501	// SourceRegion is the source region where the resource exists. This is not
6502	// sent over the wire and is only used for presigning. This value should always
6503	// have the same region as the source ARN.
6504	SourceRegion *string `type:"string" ignore:"true"`
6505
6506	// Specifies whether the cluster is encrypted.
6507	StorageEncrypted *bool `type:"boolean"`
6508
6509	// The tags to be assigned to the cluster.
6510	Tags []*Tag `locationNameList:"Tag" type:"list"`
6511
6512	// A list of EC2 VPC security groups to associate with this cluster.
6513	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
6514}
6515
6516// String returns the string representation
6517func (s CreateDBClusterInput) String() string {
6518	return awsutil.Prettify(s)
6519}
6520
6521// GoString returns the string representation
6522func (s CreateDBClusterInput) GoString() string {
6523	return s.String()
6524}
6525
6526// Validate inspects the fields of the type to determine if they are valid.
6527func (s *CreateDBClusterInput) Validate() error {
6528	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
6529	if s.DBClusterIdentifier == nil {
6530		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
6531	}
6532	if s.Engine == nil {
6533		invalidParams.Add(request.NewErrParamRequired("Engine"))
6534	}
6535	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
6536		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
6537	}
6538
6539	if invalidParams.Len() > 0 {
6540		return invalidParams
6541	}
6542	return nil
6543}
6544
6545// SetAvailabilityZones sets the AvailabilityZones field's value.
6546func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
6547	s.AvailabilityZones = v
6548	return s
6549}
6550
6551// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
6552func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
6553	s.BackupRetentionPeriod = &v
6554	return s
6555}
6556
6557// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6558func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
6559	s.DBClusterIdentifier = &v
6560	return s
6561}
6562
6563// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
6564func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
6565	s.DBClusterParameterGroupName = &v
6566	return s
6567}
6568
6569// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
6570func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
6571	s.DBSubnetGroupName = &v
6572	return s
6573}
6574
6575// SetDeletionProtection sets the DeletionProtection field's value.
6576func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
6577	s.DeletionProtection = &v
6578	return s
6579}
6580
6581// SetDestinationRegion sets the DestinationRegion field's value.
6582func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
6583	s.DestinationRegion = &v
6584	return s
6585}
6586
6587// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
6588func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
6589	s.EnableCloudwatchLogsExports = v
6590	return s
6591}
6592
6593// SetEngine sets the Engine field's value.
6594func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
6595	s.Engine = &v
6596	return s
6597}
6598
6599// SetEngineVersion sets the EngineVersion field's value.
6600func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
6601	s.EngineVersion = &v
6602	return s
6603}
6604
6605// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
6606func (s *CreateDBClusterInput) SetGlobalClusterIdentifier(v string) *CreateDBClusterInput {
6607	s.GlobalClusterIdentifier = &v
6608	return s
6609}
6610
6611// SetKmsKeyId sets the KmsKeyId field's value.
6612func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
6613	s.KmsKeyId = &v
6614	return s
6615}
6616
6617// SetMasterUserPassword sets the MasterUserPassword field's value.
6618func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
6619	s.MasterUserPassword = &v
6620	return s
6621}
6622
6623// SetMasterUsername sets the MasterUsername field's value.
6624func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
6625	s.MasterUsername = &v
6626	return s
6627}
6628
6629// SetPort sets the Port field's value.
6630func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
6631	s.Port = &v
6632	return s
6633}
6634
6635// SetPreSignedUrl sets the PreSignedUrl field's value.
6636func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
6637	s.PreSignedUrl = &v
6638	return s
6639}
6640
6641// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
6642func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
6643	s.PreferredBackupWindow = &v
6644	return s
6645}
6646
6647// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
6648func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
6649	s.PreferredMaintenanceWindow = &v
6650	return s
6651}
6652
6653// SetSourceRegion sets the SourceRegion field's value.
6654func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
6655	s.SourceRegion = &v
6656	return s
6657}
6658
6659// SetStorageEncrypted sets the StorageEncrypted field's value.
6660func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
6661	s.StorageEncrypted = &v
6662	return s
6663}
6664
6665// SetTags sets the Tags field's value.
6666func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
6667	s.Tags = v
6668	return s
6669}
6670
6671// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
6672func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
6673	s.VpcSecurityGroupIds = v
6674	return s
6675}
6676
6677type CreateDBClusterOutput struct {
6678	_ struct{} `type:"structure"`
6679
6680	// Detailed information about a cluster.
6681	DBCluster *DBCluster `type:"structure"`
6682}
6683
6684// String returns the string representation
6685func (s CreateDBClusterOutput) String() string {
6686	return awsutil.Prettify(s)
6687}
6688
6689// GoString returns the string representation
6690func (s CreateDBClusterOutput) GoString() string {
6691	return s.String()
6692}
6693
6694// SetDBCluster sets the DBCluster field's value.
6695func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
6696	s.DBCluster = v
6697	return s
6698}
6699
6700// Represents the input of CreateDBClusterParameterGroup.
6701type CreateDBClusterParameterGroupInput struct {
6702	_ struct{} `type:"structure"`
6703
6704	// The name of the cluster parameter group.
6705	//
6706	// Constraints:
6707	//
6708	//    * Must not match the name of an existing DBClusterParameterGroup.
6709	//
6710	// This value is stored as a lowercase string.
6711	//
6712	// DBClusterParameterGroupName is a required field
6713	DBClusterParameterGroupName *string `type:"string" required:"true"`
6714
6715	// The cluster parameter group family name.
6716	//
6717	// DBParameterGroupFamily is a required field
6718	DBParameterGroupFamily *string `type:"string" required:"true"`
6719
6720	// The description for the cluster parameter group.
6721	//
6722	// Description is a required field
6723	Description *string `type:"string" required:"true"`
6724
6725	// The tags to be assigned to the cluster parameter group.
6726	Tags []*Tag `locationNameList:"Tag" type:"list"`
6727}
6728
6729// String returns the string representation
6730func (s CreateDBClusterParameterGroupInput) String() string {
6731	return awsutil.Prettify(s)
6732}
6733
6734// GoString returns the string representation
6735func (s CreateDBClusterParameterGroupInput) GoString() string {
6736	return s.String()
6737}
6738
6739// Validate inspects the fields of the type to determine if they are valid.
6740func (s *CreateDBClusterParameterGroupInput) Validate() error {
6741	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
6742	if s.DBClusterParameterGroupName == nil {
6743		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
6744	}
6745	if s.DBParameterGroupFamily == nil {
6746		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
6747	}
6748	if s.Description == nil {
6749		invalidParams.Add(request.NewErrParamRequired("Description"))
6750	}
6751
6752	if invalidParams.Len() > 0 {
6753		return invalidParams
6754	}
6755	return nil
6756}
6757
6758// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
6759func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
6760	s.DBClusterParameterGroupName = &v
6761	return s
6762}
6763
6764// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
6765func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
6766	s.DBParameterGroupFamily = &v
6767	return s
6768}
6769
6770// SetDescription sets the Description field's value.
6771func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
6772	s.Description = &v
6773	return s
6774}
6775
6776// SetTags sets the Tags field's value.
6777func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
6778	s.Tags = v
6779	return s
6780}
6781
6782type CreateDBClusterParameterGroupOutput struct {
6783	_ struct{} `type:"structure"`
6784
6785	// Detailed information about a cluster parameter group.
6786	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
6787}
6788
6789// String returns the string representation
6790func (s CreateDBClusterParameterGroupOutput) String() string {
6791	return awsutil.Prettify(s)
6792}
6793
6794// GoString returns the string representation
6795func (s CreateDBClusterParameterGroupOutput) GoString() string {
6796	return s.String()
6797}
6798
6799// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
6800func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
6801	s.DBClusterParameterGroup = v
6802	return s
6803}
6804
6805// Represents the input of CreateDBClusterSnapshot.
6806type CreateDBClusterSnapshotInput struct {
6807	_ struct{} `type:"structure"`
6808
6809	// The identifier of the cluster to create a snapshot for. This parameter is
6810	// not case sensitive.
6811	//
6812	// Constraints:
6813	//
6814	//    * Must match the identifier of an existing DBCluster.
6815	//
6816	// Example: my-cluster
6817	//
6818	// DBClusterIdentifier is a required field
6819	DBClusterIdentifier *string `type:"string" required:"true"`
6820
6821	// The identifier of the cluster snapshot. This parameter is stored as a lowercase
6822	// string.
6823	//
6824	// Constraints:
6825	//
6826	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
6827	//
6828	//    * The first character must be a letter.
6829	//
6830	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6831	//
6832	// Example: my-cluster-snapshot1
6833	//
6834	// DBClusterSnapshotIdentifier is a required field
6835	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
6836
6837	// The tags to be assigned to the cluster snapshot.
6838	Tags []*Tag `locationNameList:"Tag" type:"list"`
6839}
6840
6841// String returns the string representation
6842func (s CreateDBClusterSnapshotInput) String() string {
6843	return awsutil.Prettify(s)
6844}
6845
6846// GoString returns the string representation
6847func (s CreateDBClusterSnapshotInput) GoString() string {
6848	return s.String()
6849}
6850
6851// Validate inspects the fields of the type to determine if they are valid.
6852func (s *CreateDBClusterSnapshotInput) Validate() error {
6853	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
6854	if s.DBClusterIdentifier == nil {
6855		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
6856	}
6857	if s.DBClusterSnapshotIdentifier == nil {
6858		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
6859	}
6860
6861	if invalidParams.Len() > 0 {
6862		return invalidParams
6863	}
6864	return nil
6865}
6866
6867// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
6868func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
6869	s.DBClusterIdentifier = &v
6870	return s
6871}
6872
6873// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
6874func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
6875	s.DBClusterSnapshotIdentifier = &v
6876	return s
6877}
6878
6879// SetTags sets the Tags field's value.
6880func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
6881	s.Tags = v
6882	return s
6883}
6884
6885type CreateDBClusterSnapshotOutput struct {
6886	_ struct{} `type:"structure"`
6887
6888	// Detailed information about a cluster snapshot.
6889	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
6890}
6891
6892// String returns the string representation
6893func (s CreateDBClusterSnapshotOutput) String() string {
6894	return awsutil.Prettify(s)
6895}
6896
6897// GoString returns the string representation
6898func (s CreateDBClusterSnapshotOutput) GoString() string {
6899	return s.String()
6900}
6901
6902// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
6903func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
6904	s.DBClusterSnapshot = v
6905	return s
6906}
6907
6908// Represents the input to CreateDBInstance.
6909type CreateDBInstanceInput struct {
6910	_ struct{} `type:"structure"`
6911
6912	// This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does
6913	// not perform minor version upgrades regardless of the value set.
6914	//
6915	// Default: false
6916	AutoMinorVersionUpgrade *bool `type:"boolean"`
6917
6918	// The Amazon EC2 Availability Zone that the instance is created in.
6919	//
6920	// Default: A random, system-chosen Availability Zone in the endpoint's Region.
6921	//
6922	// Example: us-east-1d
6923	AvailabilityZone *string `type:"string"`
6924
6925	// The identifier of the cluster that the instance will belong to.
6926	//
6927	// DBClusterIdentifier is a required field
6928	DBClusterIdentifier *string `type:"string" required:"true"`
6929
6930	// The compute and memory capacity of the instance; for example, db.r5.large.
6931	//
6932	// DBInstanceClass is a required field
6933	DBInstanceClass *string `type:"string" required:"true"`
6934
6935	// The instance identifier. This parameter is stored as a lowercase string.
6936	//
6937	// Constraints:
6938	//
6939	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
6940	//
6941	//    * The first character must be a letter.
6942	//
6943	//    * Cannot end with a hyphen or contain two consecutive hyphens.
6944	//
6945	// Example: mydbinstance
6946	//
6947	// DBInstanceIdentifier is a required field
6948	DBInstanceIdentifier *string `type:"string" required:"true"`
6949
6950	// The name of the database engine to be used for this instance.
6951	//
6952	// Valid value: docdb
6953	//
6954	// Engine is a required field
6955	Engine *string `type:"string" required:"true"`
6956
6957	// The time range each week during which system maintenance can occur, in Universal
6958	// Coordinated Time (UTC).
6959	//
6960	// Format: ddd:hh24:mi-ddd:hh24:mi
6961	//
6962	// The default is a 30-minute window selected at random from an 8-hour block
6963	// of time for each Region, occurring on a random day of the week.
6964	//
6965	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
6966	//
6967	// Constraints: Minimum 30-minute window.
6968	PreferredMaintenanceWindow *string `type:"string"`
6969
6970	// A value that specifies the order in which an Amazon DocumentDB replica is
6971	// promoted to the primary instance after a failure of the existing primary
6972	// instance.
6973	//
6974	// Default: 1
6975	//
6976	// Valid values: 0-15
6977	PromotionTier *int64 `type:"integer"`
6978
6979	// The tags to be assigned to the instance. You can assign up to 10 tags to
6980	// an instance.
6981	Tags []*Tag `locationNameList:"Tag" type:"list"`
6982}
6983
6984// String returns the string representation
6985func (s CreateDBInstanceInput) String() string {
6986	return awsutil.Prettify(s)
6987}
6988
6989// GoString returns the string representation
6990func (s CreateDBInstanceInput) GoString() string {
6991	return s.String()
6992}
6993
6994// Validate inspects the fields of the type to determine if they are valid.
6995func (s *CreateDBInstanceInput) Validate() error {
6996	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
6997	if s.DBClusterIdentifier == nil {
6998		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
6999	}
7000	if s.DBInstanceClass == nil {
7001		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
7002	}
7003	if s.DBInstanceIdentifier == nil {
7004		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
7005	}
7006	if s.Engine == nil {
7007		invalidParams.Add(request.NewErrParamRequired("Engine"))
7008	}
7009
7010	if invalidParams.Len() > 0 {
7011		return invalidParams
7012	}
7013	return nil
7014}
7015
7016// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
7017func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
7018	s.AutoMinorVersionUpgrade = &v
7019	return s
7020}
7021
7022// SetAvailabilityZone sets the AvailabilityZone field's value.
7023func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
7024	s.AvailabilityZone = &v
7025	return s
7026}
7027
7028// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7029func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
7030	s.DBClusterIdentifier = &v
7031	return s
7032}
7033
7034// SetDBInstanceClass sets the DBInstanceClass field's value.
7035func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
7036	s.DBInstanceClass = &v
7037	return s
7038}
7039
7040// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
7041func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
7042	s.DBInstanceIdentifier = &v
7043	return s
7044}
7045
7046// SetEngine sets the Engine field's value.
7047func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
7048	s.Engine = &v
7049	return s
7050}
7051
7052// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
7053func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
7054	s.PreferredMaintenanceWindow = &v
7055	return s
7056}
7057
7058// SetPromotionTier sets the PromotionTier field's value.
7059func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
7060	s.PromotionTier = &v
7061	return s
7062}
7063
7064// SetTags sets the Tags field's value.
7065func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
7066	s.Tags = v
7067	return s
7068}
7069
7070type CreateDBInstanceOutput struct {
7071	_ struct{} `type:"structure"`
7072
7073	// Detailed information about an instance.
7074	DBInstance *DBInstance `type:"structure"`
7075}
7076
7077// String returns the string representation
7078func (s CreateDBInstanceOutput) String() string {
7079	return awsutil.Prettify(s)
7080}
7081
7082// GoString returns the string representation
7083func (s CreateDBInstanceOutput) GoString() string {
7084	return s.String()
7085}
7086
7087// SetDBInstance sets the DBInstance field's value.
7088func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
7089	s.DBInstance = v
7090	return s
7091}
7092
7093// Represents the input to CreateDBSubnetGroup.
7094type CreateDBSubnetGroupInput struct {
7095	_ struct{} `type:"structure"`
7096
7097	// The description for the subnet group.
7098	//
7099	// DBSubnetGroupDescription is a required field
7100	DBSubnetGroupDescription *string `type:"string" required:"true"`
7101
7102	// The name for the subnet group. This value is stored as a lowercase string.
7103	//
7104	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
7105	// spaces, or hyphens. Must not be default.
7106	//
7107	// Example: mySubnetgroup
7108	//
7109	// DBSubnetGroupName is a required field
7110	DBSubnetGroupName *string `type:"string" required:"true"`
7111
7112	// The Amazon EC2 subnet IDs for the subnet group.
7113	//
7114	// SubnetIds is a required field
7115	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
7116
7117	// The tags to be assigned to the subnet group.
7118	Tags []*Tag `locationNameList:"Tag" type:"list"`
7119}
7120
7121// String returns the string representation
7122func (s CreateDBSubnetGroupInput) String() string {
7123	return awsutil.Prettify(s)
7124}
7125
7126// GoString returns the string representation
7127func (s CreateDBSubnetGroupInput) GoString() string {
7128	return s.String()
7129}
7130
7131// Validate inspects the fields of the type to determine if they are valid.
7132func (s *CreateDBSubnetGroupInput) Validate() error {
7133	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
7134	if s.DBSubnetGroupDescription == nil {
7135		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
7136	}
7137	if s.DBSubnetGroupName == nil {
7138		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
7139	}
7140	if s.SubnetIds == nil {
7141		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
7142	}
7143
7144	if invalidParams.Len() > 0 {
7145		return invalidParams
7146	}
7147	return nil
7148}
7149
7150// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
7151func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
7152	s.DBSubnetGroupDescription = &v
7153	return s
7154}
7155
7156// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
7157func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
7158	s.DBSubnetGroupName = &v
7159	return s
7160}
7161
7162// SetSubnetIds sets the SubnetIds field's value.
7163func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
7164	s.SubnetIds = v
7165	return s
7166}
7167
7168// SetTags sets the Tags field's value.
7169func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
7170	s.Tags = v
7171	return s
7172}
7173
7174type CreateDBSubnetGroupOutput struct {
7175	_ struct{} `type:"structure"`
7176
7177	// Detailed information about a subnet group.
7178	DBSubnetGroup *DBSubnetGroup `type:"structure"`
7179}
7180
7181// String returns the string representation
7182func (s CreateDBSubnetGroupOutput) String() string {
7183	return awsutil.Prettify(s)
7184}
7185
7186// GoString returns the string representation
7187func (s CreateDBSubnetGroupOutput) GoString() string {
7188	return s.String()
7189}
7190
7191// SetDBSubnetGroup sets the DBSubnetGroup field's value.
7192func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
7193	s.DBSubnetGroup = v
7194	return s
7195}
7196
7197// Represents the input to CreateEventSubscription.
7198type CreateEventSubscriptionInput struct {
7199	_ struct{} `type:"structure"`
7200
7201	// A Boolean value; set to true to activate the subscription, set to false to
7202	// create the subscription but not active it.
7203	Enabled *bool `type:"boolean"`
7204
7205	// A list of event categories for a SourceType that you want to subscribe to.
7206	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
7207
7208	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
7209	// Amazon SNS creates the ARN when you create a topic and subscribe to it.
7210	//
7211	// SnsTopicArn is a required field
7212	SnsTopicArn *string `type:"string" required:"true"`
7213
7214	// The list of identifiers of the event sources for which events are returned.
7215	// If not specified, then all sources are included in the response. An identifier
7216	// must begin with a letter and must contain only ASCII letters, digits, and
7217	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
7218	//
7219	// Constraints:
7220	//
7221	//    * If SourceIds are provided, SourceType must also be provided.
7222	//
7223	//    * If the source type is an instance, a DBInstanceIdentifier must be provided.
7224	//
7225	//    * If the source type is a security group, a DBSecurityGroupName must be
7226	//    provided.
7227	//
7228	//    * If the source type is a parameter group, a DBParameterGroupName must
7229	//    be provided.
7230	//
7231	//    * If the source type is a snapshot, a DBSnapshotIdentifier must be provided.
7232	SourceIds []*string `locationNameList:"SourceId" type:"list"`
7233
7234	// The type of source that is generating the events. For example, if you want
7235	// to be notified of events generated by an instance, you would set this parameter
7236	// to db-instance. If this value is not specified, all events are returned.
7237	//
7238	// Valid values: db-instance, db-cluster, db-parameter-group, db-security-group,
7239	// db-cluster-snapshot
7240	SourceType *string `type:"string"`
7241
7242	// The name of the subscription.
7243	//
7244	// Constraints: The name must be fewer than 255 characters.
7245	//
7246	// SubscriptionName is a required field
7247	SubscriptionName *string `type:"string" required:"true"`
7248
7249	// The tags to be assigned to the event subscription.
7250	Tags []*Tag `locationNameList:"Tag" type:"list"`
7251}
7252
7253// String returns the string representation
7254func (s CreateEventSubscriptionInput) String() string {
7255	return awsutil.Prettify(s)
7256}
7257
7258// GoString returns the string representation
7259func (s CreateEventSubscriptionInput) GoString() string {
7260	return s.String()
7261}
7262
7263// Validate inspects the fields of the type to determine if they are valid.
7264func (s *CreateEventSubscriptionInput) Validate() error {
7265	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
7266	if s.SnsTopicArn == nil {
7267		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
7268	}
7269	if s.SubscriptionName == nil {
7270		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
7271	}
7272
7273	if invalidParams.Len() > 0 {
7274		return invalidParams
7275	}
7276	return nil
7277}
7278
7279// SetEnabled sets the Enabled field's value.
7280func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
7281	s.Enabled = &v
7282	return s
7283}
7284
7285// SetEventCategories sets the EventCategories field's value.
7286func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
7287	s.EventCategories = v
7288	return s
7289}
7290
7291// SetSnsTopicArn sets the SnsTopicArn field's value.
7292func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
7293	s.SnsTopicArn = &v
7294	return s
7295}
7296
7297// SetSourceIds sets the SourceIds field's value.
7298func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
7299	s.SourceIds = v
7300	return s
7301}
7302
7303// SetSourceType sets the SourceType field's value.
7304func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
7305	s.SourceType = &v
7306	return s
7307}
7308
7309// SetSubscriptionName sets the SubscriptionName field's value.
7310func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
7311	s.SubscriptionName = &v
7312	return s
7313}
7314
7315// SetTags sets the Tags field's value.
7316func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
7317	s.Tags = v
7318	return s
7319}
7320
7321type CreateEventSubscriptionOutput struct {
7322	_ struct{} `type:"structure"`
7323
7324	// Detailed information about an event to which you have subscribed.
7325	EventSubscription *EventSubscription `type:"structure"`
7326}
7327
7328// String returns the string representation
7329func (s CreateEventSubscriptionOutput) String() string {
7330	return awsutil.Prettify(s)
7331}
7332
7333// GoString returns the string representation
7334func (s CreateEventSubscriptionOutput) GoString() string {
7335	return s.String()
7336}
7337
7338// SetEventSubscription sets the EventSubscription field's value.
7339func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
7340	s.EventSubscription = v
7341	return s
7342}
7343
7344// Represents the input to CreateGlobalCluster.
7345type CreateGlobalClusterInput struct {
7346	_ struct{} `type:"structure"`
7347
7348	// The name for your database of up to 64 alpha-numeric characters. If you do
7349	// not provide a name, Amazon DocumentDB will not create a database in the global
7350	// cluster you are creating.
7351	DatabaseName *string `type:"string"`
7352
7353	// The deletion protection setting for the new global cluster. The global cluster
7354	// can't be deleted when deletion protection is enabled.
7355	DeletionProtection *bool `type:"boolean"`
7356
7357	// The name of the database engine to be used for this cluster.
7358	Engine *string `type:"string"`
7359
7360	// The engine version of the global cluster.
7361	EngineVersion *string `type:"string"`
7362
7363	// The cluster identifier of the new global cluster.
7364	//
7365	// GlobalClusterIdentifier is a required field
7366	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
7367
7368	// The Amazon Resource Name (ARN) to use as the primary cluster of the global
7369	// cluster. This parameter is optional.
7370	SourceDBClusterIdentifier *string `type:"string"`
7371
7372	// The storage encryption setting for the new global cluster.
7373	StorageEncrypted *bool `type:"boolean"`
7374}
7375
7376// String returns the string representation
7377func (s CreateGlobalClusterInput) String() string {
7378	return awsutil.Prettify(s)
7379}
7380
7381// GoString returns the string representation
7382func (s CreateGlobalClusterInput) GoString() string {
7383	return s.String()
7384}
7385
7386// Validate inspects the fields of the type to determine if they are valid.
7387func (s *CreateGlobalClusterInput) Validate() error {
7388	invalidParams := request.ErrInvalidParams{Context: "CreateGlobalClusterInput"}
7389	if s.GlobalClusterIdentifier == nil {
7390		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
7391	}
7392	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
7393		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
7394	}
7395
7396	if invalidParams.Len() > 0 {
7397		return invalidParams
7398	}
7399	return nil
7400}
7401
7402// SetDatabaseName sets the DatabaseName field's value.
7403func (s *CreateGlobalClusterInput) SetDatabaseName(v string) *CreateGlobalClusterInput {
7404	s.DatabaseName = &v
7405	return s
7406}
7407
7408// SetDeletionProtection sets the DeletionProtection field's value.
7409func (s *CreateGlobalClusterInput) SetDeletionProtection(v bool) *CreateGlobalClusterInput {
7410	s.DeletionProtection = &v
7411	return s
7412}
7413
7414// SetEngine sets the Engine field's value.
7415func (s *CreateGlobalClusterInput) SetEngine(v string) *CreateGlobalClusterInput {
7416	s.Engine = &v
7417	return s
7418}
7419
7420// SetEngineVersion sets the EngineVersion field's value.
7421func (s *CreateGlobalClusterInput) SetEngineVersion(v string) *CreateGlobalClusterInput {
7422	s.EngineVersion = &v
7423	return s
7424}
7425
7426// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
7427func (s *CreateGlobalClusterInput) SetGlobalClusterIdentifier(v string) *CreateGlobalClusterInput {
7428	s.GlobalClusterIdentifier = &v
7429	return s
7430}
7431
7432// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
7433func (s *CreateGlobalClusterInput) SetSourceDBClusterIdentifier(v string) *CreateGlobalClusterInput {
7434	s.SourceDBClusterIdentifier = &v
7435	return s
7436}
7437
7438// SetStorageEncrypted sets the StorageEncrypted field's value.
7439func (s *CreateGlobalClusterInput) SetStorageEncrypted(v bool) *CreateGlobalClusterInput {
7440	s.StorageEncrypted = &v
7441	return s
7442}
7443
7444type CreateGlobalClusterOutput struct {
7445	_ struct{} `type:"structure"`
7446
7447	// A data type representing an Amazon DocumentDB global cluster.
7448	GlobalCluster *GlobalCluster `type:"structure"`
7449}
7450
7451// String returns the string representation
7452func (s CreateGlobalClusterOutput) String() string {
7453	return awsutil.Prettify(s)
7454}
7455
7456// GoString returns the string representation
7457func (s CreateGlobalClusterOutput) GoString() string {
7458	return s.String()
7459}
7460
7461// SetGlobalCluster sets the GlobalCluster field's value.
7462func (s *CreateGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *CreateGlobalClusterOutput {
7463	s.GlobalCluster = v
7464	return s
7465}
7466
7467// Detailed information about a cluster.
7468type DBCluster struct {
7469	_ struct{} `type:"structure"`
7470
7471	// Provides a list of the Identity and Access Management (IAM) roles that are
7472	// associated with the cluster. (IAM) roles that are associated with a cluster
7473	// grant permission for the cluster to access other Amazon Web Services services
7474	// on your behalf.
7475	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
7476
7477	// Provides the list of Amazon EC2 Availability Zones that instances in the
7478	// cluster can be created in.
7479	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
7480
7481	// Specifies the number of days for which automatic snapshots are retained.
7482	BackupRetentionPeriod *int64 `type:"integer"`
7483
7484	// Specifies the time when the cluster was created, in Universal Coordinated
7485	// Time (UTC).
7486	ClusterCreateTime *time.Time `type:"timestamp"`
7487
7488	// The Amazon Resource Name (ARN) for the cluster.
7489	DBClusterArn *string `type:"string"`
7490
7491	// Contains a user-supplied cluster identifier. This identifier is the unique
7492	// key that identifies a cluster.
7493	DBClusterIdentifier *string `type:"string"`
7494
7495	// Provides the list of instances that make up the cluster.
7496	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
7497
7498	// Specifies the name of the cluster parameter group for the cluster.
7499	DBClusterParameterGroup *string `type:"string"`
7500
7501	// Specifies information on the subnet group that is associated with the cluster,
7502	// including the name, description, and subnets in the subnet group.
7503	DBSubnetGroup *string `type:"string"`
7504
7505	// The Region-unique, immutable identifier for the cluster. This identifier
7506	// is found in CloudTrail log entries whenever the KMS key for the cluster is
7507	// accessed.
7508	DbClusterResourceId *string `type:"string"`
7509
7510	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
7511	// the cluster cannot be deleted unless it is modified and DeletionProtection
7512	// is disabled. DeletionProtection protects clusters from being accidentally
7513	// deleted.
7514	DeletionProtection *bool `type:"boolean"`
7515
7516	// The earliest time to which a database can be restored with point-in-time
7517	// restore.
7518	EarliestRestorableTime *time.Time `type:"timestamp"`
7519
7520	// A list of log types that this cluster is configured to export to Amazon CloudWatch
7521	// Logs.
7522	EnabledCloudwatchLogsExports []*string `type:"list"`
7523
7524	// Specifies the connection endpoint for the primary instance of the cluster.
7525	Endpoint *string `type:"string"`
7526
7527	// Provides the name of the database engine to be used for this cluster.
7528	Engine *string `type:"string"`
7529
7530	// Indicates the database engine version.
7531	EngineVersion *string `type:"string"`
7532
7533	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
7534	HostedZoneId *string `type:"string"`
7535
7536	// If StorageEncrypted is true, the KMS key identifier for the encrypted cluster.
7537	KmsKeyId *string `type:"string"`
7538
7539	// Specifies the latest time to which a database can be restored with point-in-time
7540	// restore.
7541	LatestRestorableTime *time.Time `type:"timestamp"`
7542
7543	// Contains the master user name for the cluster.
7544	MasterUsername *string `type:"string"`
7545
7546	// Specifies whether the cluster has instances in multiple Availability Zones.
7547	MultiAZ *bool `type:"boolean"`
7548
7549	// Specifies the progress of the operation as a percentage.
7550	PercentProgress *string `type:"string"`
7551
7552	// Specifies the port that the database engine is listening on.
7553	Port *int64 `type:"integer"`
7554
7555	// Specifies the daily time range during which automated backups are created
7556	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
7557	PreferredBackupWindow *string `type:"string"`
7558
7559	// Specifies the weekly time range during which system maintenance can occur,
7560	// in Universal Coordinated Time (UTC).
7561	PreferredMaintenanceWindow *string `type:"string"`
7562
7563	// Contains one or more identifiers of the secondary clusters that are associated
7564	// with this cluster.
7565	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
7566
7567	// The reader endpoint for the cluster. The reader endpoint for a cluster load
7568	// balances connections across the Amazon DocumentDB replicas that are available
7569	// in a cluster. As clients request new connections to the reader endpoint,
7570	// Amazon DocumentDB distributes the connection requests among the Amazon DocumentDB
7571	// replicas in the cluster. This functionality can help balance your read workload
7572	// across multiple Amazon DocumentDB replicas in your cluster.
7573	//
7574	// If a failover occurs, and the Amazon DocumentDB replica that you are connected
7575	// to is promoted to be the primary instance, your connection is dropped. To
7576	// continue sending your read workload to other Amazon DocumentDB replicas in
7577	// the cluster, you can then reconnect to the reader endpoint.
7578	ReaderEndpoint *string `type:"string"`
7579
7580	// Contains the identifier of the source cluster if this cluster is a secondary
7581	// cluster.
7582	ReplicationSourceIdentifier *string `type:"string"`
7583
7584	// Specifies the current state of this cluster.
7585	Status *string `type:"string"`
7586
7587	// Specifies whether the cluster is encrypted.
7588	StorageEncrypted *bool `type:"boolean"`
7589
7590	// Provides a list of virtual private cloud (VPC) security groups that the cluster
7591	// belongs to.
7592	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
7593}
7594
7595// String returns the string representation
7596func (s DBCluster) String() string {
7597	return awsutil.Prettify(s)
7598}
7599
7600// GoString returns the string representation
7601func (s DBCluster) GoString() string {
7602	return s.String()
7603}
7604
7605// SetAssociatedRoles sets the AssociatedRoles field's value.
7606func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
7607	s.AssociatedRoles = v
7608	return s
7609}
7610
7611// SetAvailabilityZones sets the AvailabilityZones field's value.
7612func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
7613	s.AvailabilityZones = v
7614	return s
7615}
7616
7617// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
7618func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
7619	s.BackupRetentionPeriod = &v
7620	return s
7621}
7622
7623// SetClusterCreateTime sets the ClusterCreateTime field's value.
7624func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
7625	s.ClusterCreateTime = &v
7626	return s
7627}
7628
7629// SetDBClusterArn sets the DBClusterArn field's value.
7630func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
7631	s.DBClusterArn = &v
7632	return s
7633}
7634
7635// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
7636func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
7637	s.DBClusterIdentifier = &v
7638	return s
7639}
7640
7641// SetDBClusterMembers sets the DBClusterMembers field's value.
7642func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
7643	s.DBClusterMembers = v
7644	return s
7645}
7646
7647// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
7648func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
7649	s.DBClusterParameterGroup = &v
7650	return s
7651}
7652
7653// SetDBSubnetGroup sets the DBSubnetGroup field's value.
7654func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
7655	s.DBSubnetGroup = &v
7656	return s
7657}
7658
7659// SetDbClusterResourceId sets the DbClusterResourceId field's value.
7660func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
7661	s.DbClusterResourceId = &v
7662	return s
7663}
7664
7665// SetDeletionProtection sets the DeletionProtection field's value.
7666func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
7667	s.DeletionProtection = &v
7668	return s
7669}
7670
7671// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
7672func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
7673	s.EarliestRestorableTime = &v
7674	return s
7675}
7676
7677// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
7678func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
7679	s.EnabledCloudwatchLogsExports = v
7680	return s
7681}
7682
7683// SetEndpoint sets the Endpoint field's value.
7684func (s *DBCluster) SetEndpoint(v string) *DBCluster {
7685	s.Endpoint = &v
7686	return s
7687}
7688
7689// SetEngine sets the Engine field's value.
7690func (s *DBCluster) SetEngine(v string) *DBCluster {
7691	s.Engine = &v
7692	return s
7693}
7694
7695// SetEngineVersion sets the EngineVersion field's value.
7696func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
7697	s.EngineVersion = &v
7698	return s
7699}
7700
7701// SetHostedZoneId sets the HostedZoneId field's value.
7702func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
7703	s.HostedZoneId = &v
7704	return s
7705}
7706
7707// SetKmsKeyId sets the KmsKeyId field's value.
7708func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
7709	s.KmsKeyId = &v
7710	return s
7711}
7712
7713// SetLatestRestorableTime sets the LatestRestorableTime field's value.
7714func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
7715	s.LatestRestorableTime = &v
7716	return s
7717}
7718
7719// SetMasterUsername sets the MasterUsername field's value.
7720func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
7721	s.MasterUsername = &v
7722	return s
7723}
7724
7725// SetMultiAZ sets the MultiAZ field's value.
7726func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
7727	s.MultiAZ = &v
7728	return s
7729}
7730
7731// SetPercentProgress sets the PercentProgress field's value.
7732func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
7733	s.PercentProgress = &v
7734	return s
7735}
7736
7737// SetPort sets the Port field's value.
7738func (s *DBCluster) SetPort(v int64) *DBCluster {
7739	s.Port = &v
7740	return s
7741}
7742
7743// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
7744func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
7745	s.PreferredBackupWindow = &v
7746	return s
7747}
7748
7749// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
7750func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
7751	s.PreferredMaintenanceWindow = &v
7752	return s
7753}
7754
7755// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
7756func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
7757	s.ReadReplicaIdentifiers = v
7758	return s
7759}
7760
7761// SetReaderEndpoint sets the ReaderEndpoint field's value.
7762func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
7763	s.ReaderEndpoint = &v
7764	return s
7765}
7766
7767// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
7768func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
7769	s.ReplicationSourceIdentifier = &v
7770	return s
7771}
7772
7773// SetStatus sets the Status field's value.
7774func (s *DBCluster) SetStatus(v string) *DBCluster {
7775	s.Status = &v
7776	return s
7777}
7778
7779// SetStorageEncrypted sets the StorageEncrypted field's value.
7780func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
7781	s.StorageEncrypted = &v
7782	return s
7783}
7784
7785// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
7786func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
7787	s.VpcSecurityGroups = v
7788	return s
7789}
7790
7791// Contains information about an instance that is part of a cluster.
7792type DBClusterMember struct {
7793	_ struct{} `type:"structure"`
7794
7795	// Specifies the status of the cluster parameter group for this member of the
7796	// DB cluster.
7797	DBClusterParameterGroupStatus *string `type:"string"`
7798
7799	// Specifies the instance identifier for this member of the cluster.
7800	DBInstanceIdentifier *string `type:"string"`
7801
7802	// A value that is true if the cluster member is the primary instance for the
7803	// cluster and false otherwise.
7804	IsClusterWriter *bool `type:"boolean"`
7805
7806	// A value that specifies the order in which an Amazon DocumentDB replica is
7807	// promoted to the primary instance after a failure of the existing primary
7808	// instance.
7809	PromotionTier *int64 `type:"integer"`
7810}
7811
7812// String returns the string representation
7813func (s DBClusterMember) String() string {
7814	return awsutil.Prettify(s)
7815}
7816
7817// GoString returns the string representation
7818func (s DBClusterMember) GoString() string {
7819	return s.String()
7820}
7821
7822// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
7823func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
7824	s.DBClusterParameterGroupStatus = &v
7825	return s
7826}
7827
7828// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
7829func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
7830	s.DBInstanceIdentifier = &v
7831	return s
7832}
7833
7834// SetIsClusterWriter sets the IsClusterWriter field's value.
7835func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
7836	s.IsClusterWriter = &v
7837	return s
7838}
7839
7840// SetPromotionTier sets the PromotionTier field's value.
7841func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
7842	s.PromotionTier = &v
7843	return s
7844}
7845
7846// Detailed information about a cluster parameter group.
7847type DBClusterParameterGroup struct {
7848	_ struct{} `type:"structure"`
7849
7850	// The Amazon Resource Name (ARN) for the cluster parameter group.
7851	DBClusterParameterGroupArn *string `type:"string"`
7852
7853	// Provides the name of the cluster parameter group.
7854	DBClusterParameterGroupName *string `type:"string"`
7855
7856	// Provides the name of the parameter group family that this cluster parameter
7857	// group is compatible with.
7858	DBParameterGroupFamily *string `type:"string"`
7859
7860	// Provides the customer-specified description for this cluster parameter group.
7861	Description *string `type:"string"`
7862}
7863
7864// String returns the string representation
7865func (s DBClusterParameterGroup) String() string {
7866	return awsutil.Prettify(s)
7867}
7868
7869// GoString returns the string representation
7870func (s DBClusterParameterGroup) GoString() string {
7871	return s.String()
7872}
7873
7874// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
7875func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
7876	s.DBClusterParameterGroupArn = &v
7877	return s
7878}
7879
7880// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
7881func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
7882	s.DBClusterParameterGroupName = &v
7883	return s
7884}
7885
7886// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
7887func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
7888	s.DBParameterGroupFamily = &v
7889	return s
7890}
7891
7892// SetDescription sets the Description field's value.
7893func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
7894	s.Description = &v
7895	return s
7896}
7897
7898// Describes an Identity and Access Management (IAM) role that is associated
7899// with a cluster.
7900type DBClusterRole struct {
7901	_ struct{} `type:"structure"`
7902
7903	// The Amazon Resource Name (ARN) of the IAMrole that is associated with the
7904	// DB cluster.
7905	RoleArn *string `type:"string"`
7906
7907	// Describes the state of association between the IAMrole and the cluster. The
7908	// Status property returns one of the following values:
7909	//
7910	//    * ACTIVE - The IAMrole ARN is associated with the cluster and can be used
7911	//    to access other Amazon Web Services services on your behalf.
7912	//
7913	//    * PENDING - The IAMrole ARN is being associated with the cluster.
7914	//
7915	//    * INVALID - The IAMrole ARN is associated with the cluster, but the cluster
7916	//    cannot assume the IAMrole to access other Amazon Web Services services
7917	//    on your behalf.
7918	Status *string `type:"string"`
7919}
7920
7921// String returns the string representation
7922func (s DBClusterRole) String() string {
7923	return awsutil.Prettify(s)
7924}
7925
7926// GoString returns the string representation
7927func (s DBClusterRole) GoString() string {
7928	return s.String()
7929}
7930
7931// SetRoleArn sets the RoleArn field's value.
7932func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
7933	s.RoleArn = &v
7934	return s
7935}
7936
7937// SetStatus sets the Status field's value.
7938func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
7939	s.Status = &v
7940	return s
7941}
7942
7943// Detailed information about a cluster snapshot.
7944type DBClusterSnapshot struct {
7945	_ struct{} `type:"structure"`
7946
7947	// Provides the list of Amazon EC2 Availability Zones that instances in the
7948	// cluster snapshot can be restored in.
7949	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
7950
7951	// Specifies the time when the cluster was created, in Universal Coordinated
7952	// Time (UTC).
7953	ClusterCreateTime *time.Time `type:"timestamp"`
7954
7955	// Specifies the cluster identifier of the cluster that this cluster snapshot
7956	// was created from.
7957	DBClusterIdentifier *string `type:"string"`
7958
7959	// The Amazon Resource Name (ARN) for the cluster snapshot.
7960	DBClusterSnapshotArn *string `type:"string"`
7961
7962	// Specifies the identifier for the cluster snapshot.
7963	DBClusterSnapshotIdentifier *string `type:"string"`
7964
7965	// Specifies the name of the database engine.
7966	Engine *string `type:"string"`
7967
7968	// Provides the version of the database engine for this cluster snapshot.
7969	EngineVersion *string `type:"string"`
7970
7971	// If StorageEncrypted is true, the KMS key identifier for the encrypted cluster
7972	// snapshot.
7973	KmsKeyId *string `type:"string"`
7974
7975	// Provides the master user name for the cluster snapshot.
7976	MasterUsername *string `type:"string"`
7977
7978	// Specifies the percentage of the estimated data that has been transferred.
7979	PercentProgress *int64 `type:"integer"`
7980
7981	// Specifies the port that the cluster was listening on at the time of the snapshot.
7982	Port *int64 `type:"integer"`
7983
7984	// Provides the time when the snapshot was taken, in UTC.
7985	SnapshotCreateTime *time.Time `type:"timestamp"`
7986
7987	// Provides the type of the cluster snapshot.
7988	SnapshotType *string `type:"string"`
7989
7990	// If the cluster snapshot was copied from a source cluster snapshot, the ARN
7991	// for the source cluster snapshot; otherwise, a null value.
7992	SourceDBClusterSnapshotArn *string `type:"string"`
7993
7994	// Specifies the status of this cluster snapshot.
7995	Status *string `type:"string"`
7996
7997	// Specifies whether the cluster snapshot is encrypted.
7998	StorageEncrypted *bool `type:"boolean"`
7999
8000	// Provides the virtual private cloud (VPC) ID that is associated with the cluster
8001	// snapshot.
8002	VpcId *string `type:"string"`
8003}
8004
8005// String returns the string representation
8006func (s DBClusterSnapshot) String() string {
8007	return awsutil.Prettify(s)
8008}
8009
8010// GoString returns the string representation
8011func (s DBClusterSnapshot) GoString() string {
8012	return s.String()
8013}
8014
8015// SetAvailabilityZones sets the AvailabilityZones field's value.
8016func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
8017	s.AvailabilityZones = v
8018	return s
8019}
8020
8021// SetClusterCreateTime sets the ClusterCreateTime field's value.
8022func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
8023	s.ClusterCreateTime = &v
8024	return s
8025}
8026
8027// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8028func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
8029	s.DBClusterIdentifier = &v
8030	return s
8031}
8032
8033// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
8034func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
8035	s.DBClusterSnapshotArn = &v
8036	return s
8037}
8038
8039// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
8040func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
8041	s.DBClusterSnapshotIdentifier = &v
8042	return s
8043}
8044
8045// SetEngine sets the Engine field's value.
8046func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
8047	s.Engine = &v
8048	return s
8049}
8050
8051// SetEngineVersion sets the EngineVersion field's value.
8052func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
8053	s.EngineVersion = &v
8054	return s
8055}
8056
8057// SetKmsKeyId sets the KmsKeyId field's value.
8058func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
8059	s.KmsKeyId = &v
8060	return s
8061}
8062
8063// SetMasterUsername sets the MasterUsername field's value.
8064func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
8065	s.MasterUsername = &v
8066	return s
8067}
8068
8069// SetPercentProgress sets the PercentProgress field's value.
8070func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
8071	s.PercentProgress = &v
8072	return s
8073}
8074
8075// SetPort sets the Port field's value.
8076func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
8077	s.Port = &v
8078	return s
8079}
8080
8081// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
8082func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
8083	s.SnapshotCreateTime = &v
8084	return s
8085}
8086
8087// SetSnapshotType sets the SnapshotType field's value.
8088func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
8089	s.SnapshotType = &v
8090	return s
8091}
8092
8093// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
8094func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
8095	s.SourceDBClusterSnapshotArn = &v
8096	return s
8097}
8098
8099// SetStatus sets the Status field's value.
8100func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
8101	s.Status = &v
8102	return s
8103}
8104
8105// SetStorageEncrypted sets the StorageEncrypted field's value.
8106func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
8107	s.StorageEncrypted = &v
8108	return s
8109}
8110
8111// SetVpcId sets the VpcId field's value.
8112func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
8113	s.VpcId = &v
8114	return s
8115}
8116
8117// Contains the name and values of a manual cluster snapshot attribute.
8118//
8119// Manual cluster snapshot attributes are used to authorize other accounts to
8120// restore a manual cluster snapshot.
8121type DBClusterSnapshotAttribute struct {
8122	_ struct{} `type:"structure"`
8123
8124	// The name of the manual cluster snapshot attribute.
8125	//
8126	// The attribute named restore refers to the list of accounts that have permission
8127	// to copy or restore the manual cluster snapshot.
8128	AttributeName *string `type:"string"`
8129
8130	// The values for the manual cluster snapshot attribute.
8131	//
8132	// If the AttributeName field is set to restore, then this element returns a
8133	// list of IDs of the accounts that are authorized to copy or restore the manual
8134	// cluster snapshot. If a value of all is in the list, then the manual cluster
8135	// snapshot is public and available for any account to copy or restore.
8136	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
8137}
8138
8139// String returns the string representation
8140func (s DBClusterSnapshotAttribute) String() string {
8141	return awsutil.Prettify(s)
8142}
8143
8144// GoString returns the string representation
8145func (s DBClusterSnapshotAttribute) GoString() string {
8146	return s.String()
8147}
8148
8149// SetAttributeName sets the AttributeName field's value.
8150func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
8151	s.AttributeName = &v
8152	return s
8153}
8154
8155// SetAttributeValues sets the AttributeValues field's value.
8156func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
8157	s.AttributeValues = v
8158	return s
8159}
8160
8161// Detailed information about the attributes that are associated with a cluster
8162// snapshot.
8163type DBClusterSnapshotAttributesResult struct {
8164	_ struct{} `type:"structure"`
8165
8166	// The list of attributes and values for the cluster snapshot.
8167	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
8168
8169	// The identifier of the cluster snapshot that the attributes apply to.
8170	DBClusterSnapshotIdentifier *string `type:"string"`
8171}
8172
8173// String returns the string representation
8174func (s DBClusterSnapshotAttributesResult) String() string {
8175	return awsutil.Prettify(s)
8176}
8177
8178// GoString returns the string representation
8179func (s DBClusterSnapshotAttributesResult) GoString() string {
8180	return s.String()
8181}
8182
8183// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
8184func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
8185	s.DBClusterSnapshotAttributes = v
8186	return s
8187}
8188
8189// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
8190func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
8191	s.DBClusterSnapshotIdentifier = &v
8192	return s
8193}
8194
8195// Detailed information about an engine version.
8196type DBEngineVersion struct {
8197	_ struct{} `type:"structure"`
8198
8199	// The description of the database engine.
8200	DBEngineDescription *string `type:"string"`
8201
8202	// The description of the database engine version.
8203	DBEngineVersionDescription *string `type:"string"`
8204
8205	// The name of the parameter group family for the database engine.
8206	DBParameterGroupFamily *string `type:"string"`
8207
8208	// The name of the database engine.
8209	Engine *string `type:"string"`
8210
8211	// The version number of the database engine.
8212	EngineVersion *string `type:"string"`
8213
8214	// The types of logs that the database engine has available for export to Amazon
8215	// CloudWatch Logs.
8216	ExportableLogTypes []*string `type:"list"`
8217
8218	// A value that indicates whether the engine version supports exporting the
8219	// log types specified by ExportableLogTypes to CloudWatch Logs.
8220	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
8221
8222	// A list of engine versions that this database engine version can be upgraded
8223	// to.
8224	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
8225}
8226
8227// String returns the string representation
8228func (s DBEngineVersion) String() string {
8229	return awsutil.Prettify(s)
8230}
8231
8232// GoString returns the string representation
8233func (s DBEngineVersion) GoString() string {
8234	return s.String()
8235}
8236
8237// SetDBEngineDescription sets the DBEngineDescription field's value.
8238func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
8239	s.DBEngineDescription = &v
8240	return s
8241}
8242
8243// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
8244func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
8245	s.DBEngineVersionDescription = &v
8246	return s
8247}
8248
8249// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
8250func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
8251	s.DBParameterGroupFamily = &v
8252	return s
8253}
8254
8255// SetEngine sets the Engine field's value.
8256func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
8257	s.Engine = &v
8258	return s
8259}
8260
8261// SetEngineVersion sets the EngineVersion field's value.
8262func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
8263	s.EngineVersion = &v
8264	return s
8265}
8266
8267// SetExportableLogTypes sets the ExportableLogTypes field's value.
8268func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
8269	s.ExportableLogTypes = v
8270	return s
8271}
8272
8273// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
8274func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
8275	s.SupportsLogExportsToCloudwatchLogs = &v
8276	return s
8277}
8278
8279// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
8280func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
8281	s.ValidUpgradeTarget = v
8282	return s
8283}
8284
8285// Detailed information about an instance.
8286type DBInstance struct {
8287	_ struct{} `type:"structure"`
8288
8289	// Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon
8290	// DocumentDB does not perform minor version upgrades regardless of the value
8291	// set.
8292	AutoMinorVersionUpgrade *bool `type:"boolean"`
8293
8294	// Specifies the name of the Availability Zone that the instance is located
8295	// in.
8296	AvailabilityZone *string `type:"string"`
8297
8298	// Specifies the number of days for which automatic snapshots are retained.
8299	BackupRetentionPeriod *int64 `type:"integer"`
8300
8301	// The identifier of the CA certificate for this DB instance.
8302	CACertificateIdentifier *string `type:"string"`
8303
8304	// Contains the name of the cluster that the instance is a member of if the
8305	// instance is a member of a cluster.
8306	DBClusterIdentifier *string `type:"string"`
8307
8308	// The Amazon Resource Name (ARN) for the instance.
8309	DBInstanceArn *string `type:"string"`
8310
8311	// Contains the name of the compute and memory capacity class of the instance.
8312	DBInstanceClass *string `type:"string"`
8313
8314	// Contains a user-provided database identifier. This identifier is the unique
8315	// key that identifies an instance.
8316	DBInstanceIdentifier *string `type:"string"`
8317
8318	// Specifies the current state of this database.
8319	DBInstanceStatus *string `type:"string"`
8320
8321	// Specifies information on the subnet group that is associated with the instance,
8322	// including the name, description, and subnets in the subnet group.
8323	DBSubnetGroup *DBSubnetGroup `type:"structure"`
8324
8325	// The Region-unique, immutable identifier for the instance. This identifier
8326	// is found in CloudTrail log entries whenever the KMS key for the instance
8327	// is accessed.
8328	DbiResourceId *string `type:"string"`
8329
8330	// A list of log types that this instance is configured to export to CloudWatch
8331	// Logs.
8332	EnabledCloudwatchLogsExports []*string `type:"list"`
8333
8334	// Specifies the connection endpoint.
8335	Endpoint *Endpoint `type:"structure"`
8336
8337	// Provides the name of the database engine to be used for this instance.
8338	Engine *string `type:"string"`
8339
8340	// Indicates the database engine version.
8341	EngineVersion *string `type:"string"`
8342
8343	// Provides the date and time that the instance was created.
8344	InstanceCreateTime *time.Time `type:"timestamp"`
8345
8346	// If StorageEncrypted is true, the KMS key identifier for the encrypted instance.
8347	KmsKeyId *string `type:"string"`
8348
8349	// Specifies the latest time to which a database can be restored with point-in-time
8350	// restore.
8351	LatestRestorableTime *time.Time `type:"timestamp"`
8352
8353	// Specifies that changes to the instance are pending. This element is included
8354	// only when changes are pending. Specific changes are identified by subelements.
8355	PendingModifiedValues *PendingModifiedValues `type:"structure"`
8356
8357	// Specifies the daily time range during which automated backups are created
8358	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
8359	PreferredBackupWindow *string `type:"string"`
8360
8361	// Specifies the weekly time range during which system maintenance can occur,
8362	// in Universal Coordinated Time (UTC).
8363	PreferredMaintenanceWindow *string `type:"string"`
8364
8365	// A value that specifies the order in which an Amazon DocumentDB replica is
8366	// promoted to the primary instance after a failure of the existing primary
8367	// instance.
8368	PromotionTier *int64 `type:"integer"`
8369
8370	// Not supported. Amazon DocumentDB does not currently support public endpoints.
8371	// The value of PubliclyAccessible is always false.
8372	PubliclyAccessible *bool `type:"boolean"`
8373
8374	// The status of a read replica. If the instance is not a read replica, this
8375	// is blank.
8376	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
8377
8378	// Specifies whether or not the instance is encrypted.
8379	StorageEncrypted *bool `type:"boolean"`
8380
8381	// Provides a list of VPC security group elements that the instance belongs
8382	// to.
8383	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
8384}
8385
8386// String returns the string representation
8387func (s DBInstance) String() string {
8388	return awsutil.Prettify(s)
8389}
8390
8391// GoString returns the string representation
8392func (s DBInstance) GoString() string {
8393	return s.String()
8394}
8395
8396// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
8397func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
8398	s.AutoMinorVersionUpgrade = &v
8399	return s
8400}
8401
8402// SetAvailabilityZone sets the AvailabilityZone field's value.
8403func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
8404	s.AvailabilityZone = &v
8405	return s
8406}
8407
8408// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
8409func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
8410	s.BackupRetentionPeriod = &v
8411	return s
8412}
8413
8414// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
8415func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
8416	s.CACertificateIdentifier = &v
8417	return s
8418}
8419
8420// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8421func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
8422	s.DBClusterIdentifier = &v
8423	return s
8424}
8425
8426// SetDBInstanceArn sets the DBInstanceArn field's value.
8427func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
8428	s.DBInstanceArn = &v
8429	return s
8430}
8431
8432// SetDBInstanceClass sets the DBInstanceClass field's value.
8433func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
8434	s.DBInstanceClass = &v
8435	return s
8436}
8437
8438// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
8439func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
8440	s.DBInstanceIdentifier = &v
8441	return s
8442}
8443
8444// SetDBInstanceStatus sets the DBInstanceStatus field's value.
8445func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
8446	s.DBInstanceStatus = &v
8447	return s
8448}
8449
8450// SetDBSubnetGroup sets the DBSubnetGroup field's value.
8451func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
8452	s.DBSubnetGroup = v
8453	return s
8454}
8455
8456// SetDbiResourceId sets the DbiResourceId field's value.
8457func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
8458	s.DbiResourceId = &v
8459	return s
8460}
8461
8462// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
8463func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
8464	s.EnabledCloudwatchLogsExports = v
8465	return s
8466}
8467
8468// SetEndpoint sets the Endpoint field's value.
8469func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
8470	s.Endpoint = v
8471	return s
8472}
8473
8474// SetEngine sets the Engine field's value.
8475func (s *DBInstance) SetEngine(v string) *DBInstance {
8476	s.Engine = &v
8477	return s
8478}
8479
8480// SetEngineVersion sets the EngineVersion field's value.
8481func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
8482	s.EngineVersion = &v
8483	return s
8484}
8485
8486// SetInstanceCreateTime sets the InstanceCreateTime field's value.
8487func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
8488	s.InstanceCreateTime = &v
8489	return s
8490}
8491
8492// SetKmsKeyId sets the KmsKeyId field's value.
8493func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
8494	s.KmsKeyId = &v
8495	return s
8496}
8497
8498// SetLatestRestorableTime sets the LatestRestorableTime field's value.
8499func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
8500	s.LatestRestorableTime = &v
8501	return s
8502}
8503
8504// SetPendingModifiedValues sets the PendingModifiedValues field's value.
8505func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
8506	s.PendingModifiedValues = v
8507	return s
8508}
8509
8510// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
8511func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
8512	s.PreferredBackupWindow = &v
8513	return s
8514}
8515
8516// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
8517func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
8518	s.PreferredMaintenanceWindow = &v
8519	return s
8520}
8521
8522// SetPromotionTier sets the PromotionTier field's value.
8523func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
8524	s.PromotionTier = &v
8525	return s
8526}
8527
8528// SetPubliclyAccessible sets the PubliclyAccessible field's value.
8529func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
8530	s.PubliclyAccessible = &v
8531	return s
8532}
8533
8534// SetStatusInfos sets the StatusInfos field's value.
8535func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
8536	s.StatusInfos = v
8537	return s
8538}
8539
8540// SetStorageEncrypted sets the StorageEncrypted field's value.
8541func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
8542	s.StorageEncrypted = &v
8543	return s
8544}
8545
8546// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
8547func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
8548	s.VpcSecurityGroups = v
8549	return s
8550}
8551
8552// Provides a list of status information for an instance.
8553type DBInstanceStatusInfo struct {
8554	_ struct{} `type:"structure"`
8555
8556	// Details of the error if there is an error for the instance. If the instance
8557	// is not in an error state, this value is blank.
8558	Message *string `type:"string"`
8559
8560	// A Boolean value that is true if the instance is operating normally, or false
8561	// if the instance is in an error state.
8562	Normal *bool `type:"boolean"`
8563
8564	// Status of the instance. For a StatusType of read replica, the values can
8565	// be replicating, error, stopped, or terminated.
8566	Status *string `type:"string"`
8567
8568	// This value is currently "read replication."
8569	StatusType *string `type:"string"`
8570}
8571
8572// String returns the string representation
8573func (s DBInstanceStatusInfo) String() string {
8574	return awsutil.Prettify(s)
8575}
8576
8577// GoString returns the string representation
8578func (s DBInstanceStatusInfo) GoString() string {
8579	return s.String()
8580}
8581
8582// SetMessage sets the Message field's value.
8583func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
8584	s.Message = &v
8585	return s
8586}
8587
8588// SetNormal sets the Normal field's value.
8589func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
8590	s.Normal = &v
8591	return s
8592}
8593
8594// SetStatus sets the Status field's value.
8595func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
8596	s.Status = &v
8597	return s
8598}
8599
8600// SetStatusType sets the StatusType field's value.
8601func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
8602	s.StatusType = &v
8603	return s
8604}
8605
8606// Detailed information about a subnet group.
8607type DBSubnetGroup struct {
8608	_ struct{} `type:"structure"`
8609
8610	// The Amazon Resource Name (ARN) for the DB subnet group.
8611	DBSubnetGroupArn *string `type:"string"`
8612
8613	// Provides the description of the subnet group.
8614	DBSubnetGroupDescription *string `type:"string"`
8615
8616	// The name of the subnet group.
8617	DBSubnetGroupName *string `type:"string"`
8618
8619	// Provides the status of the subnet group.
8620	SubnetGroupStatus *string `type:"string"`
8621
8622	// Detailed information about one or more subnets within a subnet group.
8623	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
8624
8625	// Provides the virtual private cloud (VPC) ID of the subnet group.
8626	VpcId *string `type:"string"`
8627}
8628
8629// String returns the string representation
8630func (s DBSubnetGroup) String() string {
8631	return awsutil.Prettify(s)
8632}
8633
8634// GoString returns the string representation
8635func (s DBSubnetGroup) GoString() string {
8636	return s.String()
8637}
8638
8639// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
8640func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
8641	s.DBSubnetGroupArn = &v
8642	return s
8643}
8644
8645// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
8646func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
8647	s.DBSubnetGroupDescription = &v
8648	return s
8649}
8650
8651// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
8652func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
8653	s.DBSubnetGroupName = &v
8654	return s
8655}
8656
8657// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
8658func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
8659	s.SubnetGroupStatus = &v
8660	return s
8661}
8662
8663// SetSubnets sets the Subnets field's value.
8664func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
8665	s.Subnets = v
8666	return s
8667}
8668
8669// SetVpcId sets the VpcId field's value.
8670func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
8671	s.VpcId = &v
8672	return s
8673}
8674
8675// Represents the input to DeleteDBCluster.
8676type DeleteDBClusterInput struct {
8677	_ struct{} `type:"structure"`
8678
8679	// The cluster identifier for the cluster to be deleted. This parameter isn't
8680	// case sensitive.
8681	//
8682	// Constraints:
8683	//
8684	//    * Must match an existing DBClusterIdentifier.
8685	//
8686	// DBClusterIdentifier is a required field
8687	DBClusterIdentifier *string `type:"string" required:"true"`
8688
8689	// The cluster snapshot identifier of the new cluster snapshot created when
8690	// SkipFinalSnapshot is set to false.
8691	//
8692	// Specifying this parameter and also setting the SkipFinalShapshot parameter
8693	// to true results in an error.
8694	//
8695	// Constraints:
8696	//
8697	//    * Must be from 1 to 255 letters, numbers, or hyphens.
8698	//
8699	//    * The first character must be a letter.
8700	//
8701	//    * Cannot end with a hyphen or contain two consecutive hyphens.
8702	FinalDBSnapshotIdentifier *string `type:"string"`
8703
8704	// Determines whether a final cluster snapshot is created before the cluster
8705	// is deleted. If true is specified, no cluster snapshot is created. If false
8706	// is specified, a cluster snapshot is created before the DB cluster is deleted.
8707	//
8708	// If SkipFinalSnapshot is false, you must specify a FinalDBSnapshotIdentifier
8709	// parameter.
8710	//
8711	// Default: false
8712	SkipFinalSnapshot *bool `type:"boolean"`
8713}
8714
8715// String returns the string representation
8716func (s DeleteDBClusterInput) String() string {
8717	return awsutil.Prettify(s)
8718}
8719
8720// GoString returns the string representation
8721func (s DeleteDBClusterInput) GoString() string {
8722	return s.String()
8723}
8724
8725// Validate inspects the fields of the type to determine if they are valid.
8726func (s *DeleteDBClusterInput) Validate() error {
8727	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
8728	if s.DBClusterIdentifier == nil {
8729		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
8730	}
8731
8732	if invalidParams.Len() > 0 {
8733		return invalidParams
8734	}
8735	return nil
8736}
8737
8738// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
8739func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
8740	s.DBClusterIdentifier = &v
8741	return s
8742}
8743
8744// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
8745func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
8746	s.FinalDBSnapshotIdentifier = &v
8747	return s
8748}
8749
8750// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
8751func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
8752	s.SkipFinalSnapshot = &v
8753	return s
8754}
8755
8756type DeleteDBClusterOutput struct {
8757	_ struct{} `type:"structure"`
8758
8759	// Detailed information about a cluster.
8760	DBCluster *DBCluster `type:"structure"`
8761}
8762
8763// String returns the string representation
8764func (s DeleteDBClusterOutput) String() string {
8765	return awsutil.Prettify(s)
8766}
8767
8768// GoString returns the string representation
8769func (s DeleteDBClusterOutput) GoString() string {
8770	return s.String()
8771}
8772
8773// SetDBCluster sets the DBCluster field's value.
8774func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
8775	s.DBCluster = v
8776	return s
8777}
8778
8779// Represents the input to DeleteDBClusterParameterGroup.
8780type DeleteDBClusterParameterGroupInput struct {
8781	_ struct{} `type:"structure"`
8782
8783	// The name of the cluster parameter group.
8784	//
8785	// Constraints:
8786	//
8787	//    * Must be the name of an existing cluster parameter group.
8788	//
8789	//    * You can't delete a default cluster parameter group.
8790	//
8791	//    * Cannot be associated with any clusters.
8792	//
8793	// DBClusterParameterGroupName is a required field
8794	DBClusterParameterGroupName *string `type:"string" required:"true"`
8795}
8796
8797// String returns the string representation
8798func (s DeleteDBClusterParameterGroupInput) String() string {
8799	return awsutil.Prettify(s)
8800}
8801
8802// GoString returns the string representation
8803func (s DeleteDBClusterParameterGroupInput) GoString() string {
8804	return s.String()
8805}
8806
8807// Validate inspects the fields of the type to determine if they are valid.
8808func (s *DeleteDBClusterParameterGroupInput) Validate() error {
8809	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
8810	if s.DBClusterParameterGroupName == nil {
8811		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
8812	}
8813
8814	if invalidParams.Len() > 0 {
8815		return invalidParams
8816	}
8817	return nil
8818}
8819
8820// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
8821func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
8822	s.DBClusterParameterGroupName = &v
8823	return s
8824}
8825
8826type DeleteDBClusterParameterGroupOutput struct {
8827	_ struct{} `type:"structure"`
8828}
8829
8830// String returns the string representation
8831func (s DeleteDBClusterParameterGroupOutput) String() string {
8832	return awsutil.Prettify(s)
8833}
8834
8835// GoString returns the string representation
8836func (s DeleteDBClusterParameterGroupOutput) GoString() string {
8837	return s.String()
8838}
8839
8840// Represents the input to DeleteDBClusterSnapshot.
8841type DeleteDBClusterSnapshotInput struct {
8842	_ struct{} `type:"structure"`
8843
8844	// The identifier of the cluster snapshot to delete.
8845	//
8846	// Constraints: Must be the name of an existing cluster snapshot in the available
8847	// state.
8848	//
8849	// DBClusterSnapshotIdentifier is a required field
8850	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
8851}
8852
8853// String returns the string representation
8854func (s DeleteDBClusterSnapshotInput) String() string {
8855	return awsutil.Prettify(s)
8856}
8857
8858// GoString returns the string representation
8859func (s DeleteDBClusterSnapshotInput) GoString() string {
8860	return s.String()
8861}
8862
8863// Validate inspects the fields of the type to determine if they are valid.
8864func (s *DeleteDBClusterSnapshotInput) Validate() error {
8865	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
8866	if s.DBClusterSnapshotIdentifier == nil {
8867		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
8868	}
8869
8870	if invalidParams.Len() > 0 {
8871		return invalidParams
8872	}
8873	return nil
8874}
8875
8876// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
8877func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
8878	s.DBClusterSnapshotIdentifier = &v
8879	return s
8880}
8881
8882type DeleteDBClusterSnapshotOutput struct {
8883	_ struct{} `type:"structure"`
8884
8885	// Detailed information about a cluster snapshot.
8886	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
8887}
8888
8889// String returns the string representation
8890func (s DeleteDBClusterSnapshotOutput) String() string {
8891	return awsutil.Prettify(s)
8892}
8893
8894// GoString returns the string representation
8895func (s DeleteDBClusterSnapshotOutput) GoString() string {
8896	return s.String()
8897}
8898
8899// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
8900func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
8901	s.DBClusterSnapshot = v
8902	return s
8903}
8904
8905// Represents the input to DeleteDBInstance.
8906type DeleteDBInstanceInput struct {
8907	_ struct{} `type:"structure"`
8908
8909	// The instance identifier for the instance to be deleted. This parameter isn't
8910	// case sensitive.
8911	//
8912	// Constraints:
8913	//
8914	//    * Must match the name of an existing instance.
8915	//
8916	// DBInstanceIdentifier is a required field
8917	DBInstanceIdentifier *string `type:"string" required:"true"`
8918}
8919
8920// String returns the string representation
8921func (s DeleteDBInstanceInput) String() string {
8922	return awsutil.Prettify(s)
8923}
8924
8925// GoString returns the string representation
8926func (s DeleteDBInstanceInput) GoString() string {
8927	return s.String()
8928}
8929
8930// Validate inspects the fields of the type to determine if they are valid.
8931func (s *DeleteDBInstanceInput) Validate() error {
8932	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
8933	if s.DBInstanceIdentifier == nil {
8934		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
8935	}
8936
8937	if invalidParams.Len() > 0 {
8938		return invalidParams
8939	}
8940	return nil
8941}
8942
8943// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
8944func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
8945	s.DBInstanceIdentifier = &v
8946	return s
8947}
8948
8949type DeleteDBInstanceOutput struct {
8950	_ struct{} `type:"structure"`
8951
8952	// Detailed information about an instance.
8953	DBInstance *DBInstance `type:"structure"`
8954}
8955
8956// String returns the string representation
8957func (s DeleteDBInstanceOutput) String() string {
8958	return awsutil.Prettify(s)
8959}
8960
8961// GoString returns the string representation
8962func (s DeleteDBInstanceOutput) GoString() string {
8963	return s.String()
8964}
8965
8966// SetDBInstance sets the DBInstance field's value.
8967func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
8968	s.DBInstance = v
8969	return s
8970}
8971
8972// Represents the input to DeleteDBSubnetGroup.
8973type DeleteDBSubnetGroupInput struct {
8974	_ struct{} `type:"structure"`
8975
8976	// The name of the database subnet group to delete.
8977	//
8978	// You can't delete the default subnet group.
8979	//
8980	// Constraints:
8981	//
8982	// Must match the name of an existing DBSubnetGroup. Must not be default.
8983	//
8984	// Example: mySubnetgroup
8985	//
8986	// DBSubnetGroupName is a required field
8987	DBSubnetGroupName *string `type:"string" required:"true"`
8988}
8989
8990// String returns the string representation
8991func (s DeleteDBSubnetGroupInput) String() string {
8992	return awsutil.Prettify(s)
8993}
8994
8995// GoString returns the string representation
8996func (s DeleteDBSubnetGroupInput) GoString() string {
8997	return s.String()
8998}
8999
9000// Validate inspects the fields of the type to determine if they are valid.
9001func (s *DeleteDBSubnetGroupInput) Validate() error {
9002	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
9003	if s.DBSubnetGroupName == nil {
9004		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
9005	}
9006
9007	if invalidParams.Len() > 0 {
9008		return invalidParams
9009	}
9010	return nil
9011}
9012
9013// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
9014func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
9015	s.DBSubnetGroupName = &v
9016	return s
9017}
9018
9019type DeleteDBSubnetGroupOutput struct {
9020	_ struct{} `type:"structure"`
9021}
9022
9023// String returns the string representation
9024func (s DeleteDBSubnetGroupOutput) String() string {
9025	return awsutil.Prettify(s)
9026}
9027
9028// GoString returns the string representation
9029func (s DeleteDBSubnetGroupOutput) GoString() string {
9030	return s.String()
9031}
9032
9033// Represents the input to DeleteEventSubscription.
9034type DeleteEventSubscriptionInput struct {
9035	_ struct{} `type:"structure"`
9036
9037	// The name of the Amazon DocumentDB event notification subscription that you
9038	// want to delete.
9039	//
9040	// SubscriptionName is a required field
9041	SubscriptionName *string `type:"string" required:"true"`
9042}
9043
9044// String returns the string representation
9045func (s DeleteEventSubscriptionInput) String() string {
9046	return awsutil.Prettify(s)
9047}
9048
9049// GoString returns the string representation
9050func (s DeleteEventSubscriptionInput) GoString() string {
9051	return s.String()
9052}
9053
9054// Validate inspects the fields of the type to determine if they are valid.
9055func (s *DeleteEventSubscriptionInput) Validate() error {
9056	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
9057	if s.SubscriptionName == nil {
9058		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
9059	}
9060
9061	if invalidParams.Len() > 0 {
9062		return invalidParams
9063	}
9064	return nil
9065}
9066
9067// SetSubscriptionName sets the SubscriptionName field's value.
9068func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
9069	s.SubscriptionName = &v
9070	return s
9071}
9072
9073type DeleteEventSubscriptionOutput struct {
9074	_ struct{} `type:"structure"`
9075
9076	// Detailed information about an event to which you have subscribed.
9077	EventSubscription *EventSubscription `type:"structure"`
9078}
9079
9080// String returns the string representation
9081func (s DeleteEventSubscriptionOutput) String() string {
9082	return awsutil.Prettify(s)
9083}
9084
9085// GoString returns the string representation
9086func (s DeleteEventSubscriptionOutput) GoString() string {
9087	return s.String()
9088}
9089
9090// SetEventSubscription sets the EventSubscription field's value.
9091func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
9092	s.EventSubscription = v
9093	return s
9094}
9095
9096// Represents the input to DeleteGlobalCluster.
9097type DeleteGlobalClusterInput struct {
9098	_ struct{} `type:"structure"`
9099
9100	// The cluster identifier of the global cluster being deleted.
9101	//
9102	// GlobalClusterIdentifier is a required field
9103	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
9104}
9105
9106// String returns the string representation
9107func (s DeleteGlobalClusterInput) String() string {
9108	return awsutil.Prettify(s)
9109}
9110
9111// GoString returns the string representation
9112func (s DeleteGlobalClusterInput) GoString() string {
9113	return s.String()
9114}
9115
9116// Validate inspects the fields of the type to determine if they are valid.
9117func (s *DeleteGlobalClusterInput) Validate() error {
9118	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalClusterInput"}
9119	if s.GlobalClusterIdentifier == nil {
9120		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
9121	}
9122	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
9123		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
9124	}
9125
9126	if invalidParams.Len() > 0 {
9127		return invalidParams
9128	}
9129	return nil
9130}
9131
9132// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
9133func (s *DeleteGlobalClusterInput) SetGlobalClusterIdentifier(v string) *DeleteGlobalClusterInput {
9134	s.GlobalClusterIdentifier = &v
9135	return s
9136}
9137
9138type DeleteGlobalClusterOutput struct {
9139	_ struct{} `type:"structure"`
9140
9141	// A data type representing an Amazon DocumentDB global cluster.
9142	GlobalCluster *GlobalCluster `type:"structure"`
9143}
9144
9145// String returns the string representation
9146func (s DeleteGlobalClusterOutput) String() string {
9147	return awsutil.Prettify(s)
9148}
9149
9150// GoString returns the string representation
9151func (s DeleteGlobalClusterOutput) GoString() string {
9152	return s.String()
9153}
9154
9155// SetGlobalCluster sets the GlobalCluster field's value.
9156func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGlobalClusterOutput {
9157	s.GlobalCluster = v
9158	return s
9159}
9160
9161type DescribeCertificatesInput struct {
9162	_ struct{} `type:"structure"`
9163
9164	// The user-supplied certificate identifier. If this parameter is specified,
9165	// information for only the specified certificate is returned. If this parameter
9166	// is omitted, a list of up to MaxRecords certificates is returned. This parameter
9167	// is not case sensitive.
9168	//
9169	// Constraints
9170	//
9171	//    * Must match an existing CertificateIdentifier.
9172	CertificateIdentifier *string `type:"string"`
9173
9174	// This parameter is not currently supported.
9175	Filters []*Filter `locationNameList:"Filter" type:"list"`
9176
9177	// An optional pagination token provided by a previous DescribeCertificates
9178	// request. If this parameter is specified, the response includes only records
9179	// beyond the marker, up to the value specified by MaxRecords.
9180	Marker *string `type:"string"`
9181
9182	// The maximum number of records to include in the response. If more records
9183	// exist than the specified MaxRecords value, a pagination token called a marker
9184	// is included in the response so that the remaining results can be retrieved.
9185	//
9186	// Default: 100
9187	//
9188	// Constraints:
9189	//
9190	//    * Minimum: 20
9191	//
9192	//    * Maximum: 100
9193	MaxRecords *int64 `type:"integer"`
9194}
9195
9196// String returns the string representation
9197func (s DescribeCertificatesInput) String() string {
9198	return awsutil.Prettify(s)
9199}
9200
9201// GoString returns the string representation
9202func (s DescribeCertificatesInput) GoString() string {
9203	return s.String()
9204}
9205
9206// Validate inspects the fields of the type to determine if they are valid.
9207func (s *DescribeCertificatesInput) Validate() error {
9208	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
9209	if s.Filters != nil {
9210		for i, v := range s.Filters {
9211			if v == nil {
9212				continue
9213			}
9214			if err := v.Validate(); err != nil {
9215				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9216			}
9217		}
9218	}
9219
9220	if invalidParams.Len() > 0 {
9221		return invalidParams
9222	}
9223	return nil
9224}
9225
9226// SetCertificateIdentifier sets the CertificateIdentifier field's value.
9227func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
9228	s.CertificateIdentifier = &v
9229	return s
9230}
9231
9232// SetFilters sets the Filters field's value.
9233func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
9234	s.Filters = v
9235	return s
9236}
9237
9238// SetMarker sets the Marker field's value.
9239func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
9240	s.Marker = &v
9241	return s
9242}
9243
9244// SetMaxRecords sets the MaxRecords field's value.
9245func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
9246	s.MaxRecords = &v
9247	return s
9248}
9249
9250type DescribeCertificatesOutput struct {
9251	_ struct{} `type:"structure"`
9252
9253	// A list of certificates for this account.
9254	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
9255
9256	// An optional pagination token provided if the number of records retrieved
9257	// is greater than MaxRecords. If this parameter is specified, the marker specifies
9258	// the next record in the list. Including the value of Marker in the next call
9259	// to DescribeCertificates results in the next page of certificates.
9260	Marker *string `type:"string"`
9261}
9262
9263// String returns the string representation
9264func (s DescribeCertificatesOutput) String() string {
9265	return awsutil.Prettify(s)
9266}
9267
9268// GoString returns the string representation
9269func (s DescribeCertificatesOutput) GoString() string {
9270	return s.String()
9271}
9272
9273// SetCertificates sets the Certificates field's value.
9274func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
9275	s.Certificates = v
9276	return s
9277}
9278
9279// SetMarker sets the Marker field's value.
9280func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
9281	s.Marker = &v
9282	return s
9283}
9284
9285// Represents the input to DescribeDBClusterParameterGroups.
9286type DescribeDBClusterParameterGroupsInput struct {
9287	_ struct{} `type:"structure"`
9288
9289	// The name of a specific cluster parameter group to return details for.
9290	//
9291	// Constraints:
9292	//
9293	//    * If provided, must match the name of an existing DBClusterParameterGroup.
9294	DBClusterParameterGroupName *string `type:"string"`
9295
9296	// This parameter is not currently supported.
9297	Filters []*Filter `locationNameList:"Filter" type:"list"`
9298
9299	// An optional pagination token provided by a previous request. If this parameter
9300	// is specified, the response includes only records beyond the marker, up to
9301	// the value specified by MaxRecords.
9302	Marker *string `type:"string"`
9303
9304	// The maximum number of records to include in the response. If more records
9305	// exist than the specified MaxRecords value, a pagination token (marker) is
9306	// included in the response so that the remaining results can be retrieved.
9307	//
9308	// Default: 100
9309	//
9310	// Constraints: Minimum 20, maximum 100.
9311	MaxRecords *int64 `type:"integer"`
9312}
9313
9314// String returns the string representation
9315func (s DescribeDBClusterParameterGroupsInput) String() string {
9316	return awsutil.Prettify(s)
9317}
9318
9319// GoString returns the string representation
9320func (s DescribeDBClusterParameterGroupsInput) GoString() string {
9321	return s.String()
9322}
9323
9324// Validate inspects the fields of the type to determine if they are valid.
9325func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
9326	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
9327	if s.Filters != nil {
9328		for i, v := range s.Filters {
9329			if v == nil {
9330				continue
9331			}
9332			if err := v.Validate(); err != nil {
9333				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9334			}
9335		}
9336	}
9337
9338	if invalidParams.Len() > 0 {
9339		return invalidParams
9340	}
9341	return nil
9342}
9343
9344// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
9345func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
9346	s.DBClusterParameterGroupName = &v
9347	return s
9348}
9349
9350// SetFilters sets the Filters field's value.
9351func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
9352	s.Filters = v
9353	return s
9354}
9355
9356// SetMarker sets the Marker field's value.
9357func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
9358	s.Marker = &v
9359	return s
9360}
9361
9362// SetMaxRecords sets the MaxRecords field's value.
9363func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
9364	s.MaxRecords = &v
9365	return s
9366}
9367
9368// Represents the output of DBClusterParameterGroups.
9369type DescribeDBClusterParameterGroupsOutput struct {
9370	_ struct{} `type:"structure"`
9371
9372	// A list of cluster parameter groups.
9373	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
9374
9375	// An optional pagination token provided by a previous request. If this parameter
9376	// is specified, the response includes only records beyond the marker, up to
9377	// the value specified by MaxRecords.
9378	Marker *string `type:"string"`
9379}
9380
9381// String returns the string representation
9382func (s DescribeDBClusterParameterGroupsOutput) String() string {
9383	return awsutil.Prettify(s)
9384}
9385
9386// GoString returns the string representation
9387func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
9388	return s.String()
9389}
9390
9391// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
9392func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
9393	s.DBClusterParameterGroups = v
9394	return s
9395}
9396
9397// SetMarker sets the Marker field's value.
9398func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
9399	s.Marker = &v
9400	return s
9401}
9402
9403// Represents the input to DescribeDBClusterParameters.
9404type DescribeDBClusterParametersInput struct {
9405	_ struct{} `type:"structure"`
9406
9407	// The name of a specific cluster parameter group to return parameter details
9408	// for.
9409	//
9410	// Constraints:
9411	//
9412	//    * If provided, must match the name of an existing DBClusterParameterGroup.
9413	//
9414	// DBClusterParameterGroupName is a required field
9415	DBClusterParameterGroupName *string `type:"string" required:"true"`
9416
9417	// This parameter is not currently supported.
9418	Filters []*Filter `locationNameList:"Filter" type:"list"`
9419
9420	// An optional pagination token provided by a previous request. If this parameter
9421	// is specified, the response includes only records beyond the marker, up to
9422	// the value specified by MaxRecords.
9423	Marker *string `type:"string"`
9424
9425	// The maximum number of records to include in the response. If more records
9426	// exist than the specified MaxRecords value, a pagination token (marker) is
9427	// included in the response so that the remaining results can be retrieved.
9428	//
9429	// Default: 100
9430	//
9431	// Constraints: Minimum 20, maximum 100.
9432	MaxRecords *int64 `type:"integer"`
9433
9434	// A value that indicates to return only parameters for a specific source. Parameter
9435	// sources can be engine, service, or customer.
9436	Source *string `type:"string"`
9437}
9438
9439// String returns the string representation
9440func (s DescribeDBClusterParametersInput) String() string {
9441	return awsutil.Prettify(s)
9442}
9443
9444// GoString returns the string representation
9445func (s DescribeDBClusterParametersInput) GoString() string {
9446	return s.String()
9447}
9448
9449// Validate inspects the fields of the type to determine if they are valid.
9450func (s *DescribeDBClusterParametersInput) Validate() error {
9451	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
9452	if s.DBClusterParameterGroupName == nil {
9453		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
9454	}
9455	if s.Filters != nil {
9456		for i, v := range s.Filters {
9457			if v == nil {
9458				continue
9459			}
9460			if err := v.Validate(); err != nil {
9461				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9462			}
9463		}
9464	}
9465
9466	if invalidParams.Len() > 0 {
9467		return invalidParams
9468	}
9469	return nil
9470}
9471
9472// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
9473func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
9474	s.DBClusterParameterGroupName = &v
9475	return s
9476}
9477
9478// SetFilters sets the Filters field's value.
9479func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
9480	s.Filters = v
9481	return s
9482}
9483
9484// SetMarker sets the Marker field's value.
9485func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
9486	s.Marker = &v
9487	return s
9488}
9489
9490// SetMaxRecords sets the MaxRecords field's value.
9491func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
9492	s.MaxRecords = &v
9493	return s
9494}
9495
9496// SetSource sets the Source field's value.
9497func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
9498	s.Source = &v
9499	return s
9500}
9501
9502// Represents the output of DBClusterParameterGroup.
9503type DescribeDBClusterParametersOutput struct {
9504	_ struct{} `type:"structure"`
9505
9506	// An optional pagination token provided by a previous request. If this parameter
9507	// is specified, the response includes only records beyond the marker, up to
9508	// the value specified by MaxRecords.
9509	Marker *string `type:"string"`
9510
9511	// Provides a list of parameters for the cluster parameter group.
9512	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
9513}
9514
9515// String returns the string representation
9516func (s DescribeDBClusterParametersOutput) String() string {
9517	return awsutil.Prettify(s)
9518}
9519
9520// GoString returns the string representation
9521func (s DescribeDBClusterParametersOutput) GoString() string {
9522	return s.String()
9523}
9524
9525// SetMarker sets the Marker field's value.
9526func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
9527	s.Marker = &v
9528	return s
9529}
9530
9531// SetParameters sets the Parameters field's value.
9532func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
9533	s.Parameters = v
9534	return s
9535}
9536
9537// Represents the input to DescribeDBClusterSnapshotAttributes.
9538type DescribeDBClusterSnapshotAttributesInput struct {
9539	_ struct{} `type:"structure"`
9540
9541	// The identifier for the cluster snapshot to describe the attributes for.
9542	//
9543	// DBClusterSnapshotIdentifier is a required field
9544	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
9545}
9546
9547// String returns the string representation
9548func (s DescribeDBClusterSnapshotAttributesInput) String() string {
9549	return awsutil.Prettify(s)
9550}
9551
9552// GoString returns the string representation
9553func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
9554	return s.String()
9555}
9556
9557// Validate inspects the fields of the type to determine if they are valid.
9558func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
9559	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
9560	if s.DBClusterSnapshotIdentifier == nil {
9561		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
9562	}
9563
9564	if invalidParams.Len() > 0 {
9565		return invalidParams
9566	}
9567	return nil
9568}
9569
9570// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
9571func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
9572	s.DBClusterSnapshotIdentifier = &v
9573	return s
9574}
9575
9576type DescribeDBClusterSnapshotAttributesOutput struct {
9577	_ struct{} `type:"structure"`
9578
9579	// Detailed information about the attributes that are associated with a cluster
9580	// snapshot.
9581	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
9582}
9583
9584// String returns the string representation
9585func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
9586	return awsutil.Prettify(s)
9587}
9588
9589// GoString returns the string representation
9590func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
9591	return s.String()
9592}
9593
9594// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
9595func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
9596	s.DBClusterSnapshotAttributesResult = v
9597	return s
9598}
9599
9600// Represents the input to DescribeDBClusterSnapshots.
9601type DescribeDBClusterSnapshotsInput struct {
9602	_ struct{} `type:"structure"`
9603
9604	// The ID of the cluster to retrieve the list of cluster snapshots for. This
9605	// parameter can't be used with the DBClusterSnapshotIdentifier parameter. This
9606	// parameter is not case sensitive.
9607	//
9608	// Constraints:
9609	//
9610	//    * If provided, must match the identifier of an existing DBCluster.
9611	DBClusterIdentifier *string `type:"string"`
9612
9613	// A specific cluster snapshot identifier to describe. This parameter can't
9614	// be used with the DBClusterIdentifier parameter. This value is stored as a
9615	// lowercase string.
9616	//
9617	// Constraints:
9618	//
9619	//    * If provided, must match the identifier of an existing DBClusterSnapshot.
9620	//
9621	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
9622	//    must also be specified.
9623	DBClusterSnapshotIdentifier *string `type:"string"`
9624
9625	// This parameter is not currently supported.
9626	Filters []*Filter `locationNameList:"Filter" type:"list"`
9627
9628	// Set to true to include manual cluster snapshots that are public and can be
9629	// copied or restored by any account, and otherwise false. The default is false.
9630	IncludePublic *bool `type:"boolean"`
9631
9632	// Set to true to include shared manual cluster snapshots from other accounts
9633	// that this account has been given permission to copy or restore, and otherwise
9634	// false. The default is false.
9635	IncludeShared *bool `type:"boolean"`
9636
9637	// An optional pagination token provided by a previous request. If this parameter
9638	// is specified, the response includes only records beyond the marker, up to
9639	// the value specified by MaxRecords.
9640	Marker *string `type:"string"`
9641
9642	// The maximum number of records to include in the response. If more records
9643	// exist than the specified MaxRecords value, a pagination token (marker) is
9644	// included in the response so that the remaining results can be retrieved.
9645	//
9646	// Default: 100
9647	//
9648	// Constraints: Minimum 20, maximum 100.
9649	MaxRecords *int64 `type:"integer"`
9650
9651	// The type of cluster snapshots to be returned. You can specify one of the
9652	// following values:
9653	//
9654	//    * automated - Return all cluster snapshots that Amazon DocumentDB has
9655	//    automatically created for your account.
9656	//
9657	//    * manual - Return all cluster snapshots that you have manually created
9658	//    for your account.
9659	//
9660	//    * shared - Return all manual cluster snapshots that have been shared to
9661	//    your account.
9662	//
9663	//    * public - Return all cluster snapshots that have been marked as public.
9664	//
9665	// If you don't specify a SnapshotType value, then both automated and manual
9666	// cluster snapshots are returned. You can include shared cluster snapshots
9667	// with these results by setting the IncludeShared parameter to true. You can
9668	// include public cluster snapshots with these results by setting theIncludePublic
9669	// parameter to true.
9670	//
9671	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
9672	// values of manual or automated. The IncludePublic parameter doesn't apply
9673	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
9674	// when SnapshotType is set to public.
9675	SnapshotType *string `type:"string"`
9676}
9677
9678// String returns the string representation
9679func (s DescribeDBClusterSnapshotsInput) String() string {
9680	return awsutil.Prettify(s)
9681}
9682
9683// GoString returns the string representation
9684func (s DescribeDBClusterSnapshotsInput) GoString() string {
9685	return s.String()
9686}
9687
9688// Validate inspects the fields of the type to determine if they are valid.
9689func (s *DescribeDBClusterSnapshotsInput) Validate() error {
9690	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
9691	if s.Filters != nil {
9692		for i, v := range s.Filters {
9693			if v == nil {
9694				continue
9695			}
9696			if err := v.Validate(); err != nil {
9697				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9698			}
9699		}
9700	}
9701
9702	if invalidParams.Len() > 0 {
9703		return invalidParams
9704	}
9705	return nil
9706}
9707
9708// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9709func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
9710	s.DBClusterIdentifier = &v
9711	return s
9712}
9713
9714// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
9715func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
9716	s.DBClusterSnapshotIdentifier = &v
9717	return s
9718}
9719
9720// SetFilters sets the Filters field's value.
9721func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
9722	s.Filters = v
9723	return s
9724}
9725
9726// SetIncludePublic sets the IncludePublic field's value.
9727func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
9728	s.IncludePublic = &v
9729	return s
9730}
9731
9732// SetIncludeShared sets the IncludeShared field's value.
9733func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
9734	s.IncludeShared = &v
9735	return s
9736}
9737
9738// SetMarker sets the Marker field's value.
9739func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
9740	s.Marker = &v
9741	return s
9742}
9743
9744// SetMaxRecords sets the MaxRecords field's value.
9745func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
9746	s.MaxRecords = &v
9747	return s
9748}
9749
9750// SetSnapshotType sets the SnapshotType field's value.
9751func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
9752	s.SnapshotType = &v
9753	return s
9754}
9755
9756// Represents the output of DescribeDBClusterSnapshots.
9757type DescribeDBClusterSnapshotsOutput struct {
9758	_ struct{} `type:"structure"`
9759
9760	// Provides a list of cluster snapshots.
9761	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
9762
9763	// An optional pagination token provided by a previous request. If this parameter
9764	// is specified, the response includes only records beyond the marker, up to
9765	// the value specified by MaxRecords.
9766	Marker *string `type:"string"`
9767}
9768
9769// String returns the string representation
9770func (s DescribeDBClusterSnapshotsOutput) String() string {
9771	return awsutil.Prettify(s)
9772}
9773
9774// GoString returns the string representation
9775func (s DescribeDBClusterSnapshotsOutput) GoString() string {
9776	return s.String()
9777}
9778
9779// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
9780func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
9781	s.DBClusterSnapshots = v
9782	return s
9783}
9784
9785// SetMarker sets the Marker field's value.
9786func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
9787	s.Marker = &v
9788	return s
9789}
9790
9791// Represents the input to DescribeDBClusters.
9792type DescribeDBClustersInput struct {
9793	_ struct{} `type:"structure"`
9794
9795	// The user-provided cluster identifier. If this parameter is specified, information
9796	// from only the specific cluster is returned. This parameter isn't case sensitive.
9797	//
9798	// Constraints:
9799	//
9800	//    * If provided, must match an existing DBClusterIdentifier.
9801	DBClusterIdentifier *string `type:"string"`
9802
9803	// A filter that specifies one or more clusters to describe.
9804	//
9805	// Supported filters:
9806	//
9807	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
9808	//    Names (ARNs). The results list only includes information about the clusters
9809	//    identified by these ARNs.
9810	Filters []*Filter `locationNameList:"Filter" type:"list"`
9811
9812	// An optional pagination token provided by a previous request. If this parameter
9813	// is specified, the response includes only records beyond the marker, up to
9814	// the value specified by MaxRecords.
9815	Marker *string `type:"string"`
9816
9817	// The maximum number of records to include in the response. If more records
9818	// exist than the specified MaxRecords value, a pagination token (marker) is
9819	// included in the response so that the remaining results can be retrieved.
9820	//
9821	// Default: 100
9822	//
9823	// Constraints: Minimum 20, maximum 100.
9824	MaxRecords *int64 `type:"integer"`
9825}
9826
9827// String returns the string representation
9828func (s DescribeDBClustersInput) String() string {
9829	return awsutil.Prettify(s)
9830}
9831
9832// GoString returns the string representation
9833func (s DescribeDBClustersInput) GoString() string {
9834	return s.String()
9835}
9836
9837// Validate inspects the fields of the type to determine if they are valid.
9838func (s *DescribeDBClustersInput) Validate() error {
9839	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
9840	if s.Filters != nil {
9841		for i, v := range s.Filters {
9842			if v == nil {
9843				continue
9844			}
9845			if err := v.Validate(); err != nil {
9846				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9847			}
9848		}
9849	}
9850
9851	if invalidParams.Len() > 0 {
9852		return invalidParams
9853	}
9854	return nil
9855}
9856
9857// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9858func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
9859	s.DBClusterIdentifier = &v
9860	return s
9861}
9862
9863// SetFilters sets the Filters field's value.
9864func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
9865	s.Filters = v
9866	return s
9867}
9868
9869// SetMarker sets the Marker field's value.
9870func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
9871	s.Marker = &v
9872	return s
9873}
9874
9875// SetMaxRecords sets the MaxRecords field's value.
9876func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
9877	s.MaxRecords = &v
9878	return s
9879}
9880
9881// Represents the output of DescribeDBClusters.
9882type DescribeDBClustersOutput struct {
9883	_ struct{} `type:"structure"`
9884
9885	// A list of clusters.
9886	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
9887
9888	// An optional pagination token provided by a previous request. If this parameter
9889	// is specified, the response includes only records beyond the marker, up to
9890	// the value specified by MaxRecords.
9891	Marker *string `type:"string"`
9892}
9893
9894// String returns the string representation
9895func (s DescribeDBClustersOutput) String() string {
9896	return awsutil.Prettify(s)
9897}
9898
9899// GoString returns the string representation
9900func (s DescribeDBClustersOutput) GoString() string {
9901	return s.String()
9902}
9903
9904// SetDBClusters sets the DBClusters field's value.
9905func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
9906	s.DBClusters = v
9907	return s
9908}
9909
9910// SetMarker sets the Marker field's value.
9911func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
9912	s.Marker = &v
9913	return s
9914}
9915
9916// Represents the input to DescribeDBEngineVersions.
9917type DescribeDBEngineVersionsInput struct {
9918	_ struct{} `type:"structure"`
9919
9920	// The name of a specific parameter group family to return details for.
9921	//
9922	// Constraints:
9923	//
9924	//    * If provided, must match an existing DBParameterGroupFamily.
9925	DBParameterGroupFamily *string `type:"string"`
9926
9927	// Indicates that only the default version of the specified engine or engine
9928	// and major version combination is returned.
9929	DefaultOnly *bool `type:"boolean"`
9930
9931	// The database engine to return.
9932	Engine *string `type:"string"`
9933
9934	// The database engine version to return.
9935	//
9936	// Example: 3.6.0
9937	EngineVersion *string `type:"string"`
9938
9939	// This parameter is not currently supported.
9940	Filters []*Filter `locationNameList:"Filter" type:"list"`
9941
9942	// If this parameter is specified and the requested engine supports the CharacterSetName
9943	// parameter for CreateDBInstance, the response includes a list of supported
9944	// character sets for each engine version.
9945	ListSupportedCharacterSets *bool `type:"boolean"`
9946
9947	// If this parameter is specified and the requested engine supports the TimeZone
9948	// parameter for CreateDBInstance, the response includes a list of supported
9949	// time zones for each engine version.
9950	ListSupportedTimezones *bool `type:"boolean"`
9951
9952	// An optional pagination token provided by a previous request. If this parameter
9953	// is specified, the response includes only records beyond the marker, up to
9954	// the value specified by MaxRecords.
9955	Marker *string `type:"string"`
9956
9957	// The maximum number of records to include in the response. If more records
9958	// exist than the specified MaxRecords value, a pagination token (marker) is
9959	// included in the response so that the remaining results can be retrieved.
9960	//
9961	// Default: 100
9962	//
9963	// Constraints: Minimum 20, maximum 100.
9964	MaxRecords *int64 `type:"integer"`
9965}
9966
9967// String returns the string representation
9968func (s DescribeDBEngineVersionsInput) String() string {
9969	return awsutil.Prettify(s)
9970}
9971
9972// GoString returns the string representation
9973func (s DescribeDBEngineVersionsInput) GoString() string {
9974	return s.String()
9975}
9976
9977// Validate inspects the fields of the type to determine if they are valid.
9978func (s *DescribeDBEngineVersionsInput) Validate() error {
9979	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
9980	if s.Filters != nil {
9981		for i, v := range s.Filters {
9982			if v == nil {
9983				continue
9984			}
9985			if err := v.Validate(); err != nil {
9986				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9987			}
9988		}
9989	}
9990
9991	if invalidParams.Len() > 0 {
9992		return invalidParams
9993	}
9994	return nil
9995}
9996
9997// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
9998func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
9999	s.DBParameterGroupFamily = &v
10000	return s
10001}
10002
10003// SetDefaultOnly sets the DefaultOnly field's value.
10004func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
10005	s.DefaultOnly = &v
10006	return s
10007}
10008
10009// SetEngine sets the Engine field's value.
10010func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
10011	s.Engine = &v
10012	return s
10013}
10014
10015// SetEngineVersion sets the EngineVersion field's value.
10016func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
10017	s.EngineVersion = &v
10018	return s
10019}
10020
10021// SetFilters sets the Filters field's value.
10022func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
10023	s.Filters = v
10024	return s
10025}
10026
10027// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
10028func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
10029	s.ListSupportedCharacterSets = &v
10030	return s
10031}
10032
10033// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
10034func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
10035	s.ListSupportedTimezones = &v
10036	return s
10037}
10038
10039// SetMarker sets the Marker field's value.
10040func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
10041	s.Marker = &v
10042	return s
10043}
10044
10045// SetMaxRecords sets the MaxRecords field's value.
10046func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
10047	s.MaxRecords = &v
10048	return s
10049}
10050
10051// Represents the output of DescribeDBEngineVersions.
10052type DescribeDBEngineVersionsOutput struct {
10053	_ struct{} `type:"structure"`
10054
10055	// Detailed information about one or more engine versions.
10056	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
10057
10058	// An optional pagination token provided by a previous request. If this parameter
10059	// is specified, the response includes only records beyond the marker, up to
10060	// the value specified by MaxRecords.
10061	Marker *string `type:"string"`
10062}
10063
10064// String returns the string representation
10065func (s DescribeDBEngineVersionsOutput) String() string {
10066	return awsutil.Prettify(s)
10067}
10068
10069// GoString returns the string representation
10070func (s DescribeDBEngineVersionsOutput) GoString() string {
10071	return s.String()
10072}
10073
10074// SetDBEngineVersions sets the DBEngineVersions field's value.
10075func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
10076	s.DBEngineVersions = v
10077	return s
10078}
10079
10080// SetMarker sets the Marker field's value.
10081func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
10082	s.Marker = &v
10083	return s
10084}
10085
10086// Represents the input to DescribeDBInstances.
10087type DescribeDBInstancesInput struct {
10088	_ struct{} `type:"structure"`
10089
10090	// The user-provided instance identifier. If this parameter is specified, information
10091	// from only the specific instance is returned. This parameter isn't case sensitive.
10092	//
10093	// Constraints:
10094	//
10095	//    * If provided, must match the identifier of an existing DBInstance.
10096	DBInstanceIdentifier *string `type:"string"`
10097
10098	// A filter that specifies one or more instances to describe.
10099	//
10100	// Supported filters:
10101	//
10102	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
10103	//    Names (ARNs). The results list includes only the information about the
10104	//    instances that are associated with the clusters that are identified by
10105	//    these ARNs.
10106	//
10107	//    * db-instance-id - Accepts instance identifiers and instance ARNs. The
10108	//    results list includes only the information about the instances that are
10109	//    identified by these ARNs.
10110	Filters []*Filter `locationNameList:"Filter" type:"list"`
10111
10112	// An optional pagination token provided by a previous request. If this parameter
10113	// is specified, the response includes only records beyond the marker, up to
10114	// the value specified by MaxRecords.
10115	Marker *string `type:"string"`
10116
10117	// The maximum number of records to include in the response. If more records
10118	// exist than the specified MaxRecords value, a pagination token (marker) is
10119	// included in the response so that the remaining results can be retrieved.
10120	//
10121	// Default: 100
10122	//
10123	// Constraints: Minimum 20, maximum 100.
10124	MaxRecords *int64 `type:"integer"`
10125}
10126
10127// String returns the string representation
10128func (s DescribeDBInstancesInput) String() string {
10129	return awsutil.Prettify(s)
10130}
10131
10132// GoString returns the string representation
10133func (s DescribeDBInstancesInput) GoString() string {
10134	return s.String()
10135}
10136
10137// Validate inspects the fields of the type to determine if they are valid.
10138func (s *DescribeDBInstancesInput) Validate() error {
10139	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
10140	if s.Filters != nil {
10141		for i, v := range s.Filters {
10142			if v == nil {
10143				continue
10144			}
10145			if err := v.Validate(); err != nil {
10146				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10147			}
10148		}
10149	}
10150
10151	if invalidParams.Len() > 0 {
10152		return invalidParams
10153	}
10154	return nil
10155}
10156
10157// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
10158func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
10159	s.DBInstanceIdentifier = &v
10160	return s
10161}
10162
10163// SetFilters sets the Filters field's value.
10164func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
10165	s.Filters = v
10166	return s
10167}
10168
10169// SetMarker sets the Marker field's value.
10170func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
10171	s.Marker = &v
10172	return s
10173}
10174
10175// SetMaxRecords sets the MaxRecords field's value.
10176func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
10177	s.MaxRecords = &v
10178	return s
10179}
10180
10181// Represents the output of DescribeDBInstances.
10182type DescribeDBInstancesOutput struct {
10183	_ struct{} `type:"structure"`
10184
10185	// Detailed information about one or more instances.
10186	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
10187
10188	// An optional pagination token provided by a previous request. If this parameter
10189	// is specified, the response includes only records beyond the marker, up to
10190	// the value specified by MaxRecords.
10191	Marker *string `type:"string"`
10192}
10193
10194// String returns the string representation
10195func (s DescribeDBInstancesOutput) String() string {
10196	return awsutil.Prettify(s)
10197}
10198
10199// GoString returns the string representation
10200func (s DescribeDBInstancesOutput) GoString() string {
10201	return s.String()
10202}
10203
10204// SetDBInstances sets the DBInstances field's value.
10205func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
10206	s.DBInstances = v
10207	return s
10208}
10209
10210// SetMarker sets the Marker field's value.
10211func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
10212	s.Marker = &v
10213	return s
10214}
10215
10216// Represents the input to DescribeDBSubnetGroups.
10217type DescribeDBSubnetGroupsInput struct {
10218	_ struct{} `type:"structure"`
10219
10220	// The name of the subnet group to return details for.
10221	DBSubnetGroupName *string `type:"string"`
10222
10223	// This parameter is not currently supported.
10224	Filters []*Filter `locationNameList:"Filter" type:"list"`
10225
10226	// An optional pagination token provided by a previous request. If this parameter
10227	// is specified, the response includes only records beyond the marker, up to
10228	// the value specified by MaxRecords.
10229	Marker *string `type:"string"`
10230
10231	// The maximum number of records to include in the response. If more records
10232	// exist than the specified MaxRecords value, a pagination token (marker) is
10233	// included in the response so that the remaining results can be retrieved.
10234	//
10235	// Default: 100
10236	//
10237	// Constraints: Minimum 20, maximum 100.
10238	MaxRecords *int64 `type:"integer"`
10239}
10240
10241// String returns the string representation
10242func (s DescribeDBSubnetGroupsInput) String() string {
10243	return awsutil.Prettify(s)
10244}
10245
10246// GoString returns the string representation
10247func (s DescribeDBSubnetGroupsInput) GoString() string {
10248	return s.String()
10249}
10250
10251// Validate inspects the fields of the type to determine if they are valid.
10252func (s *DescribeDBSubnetGroupsInput) Validate() error {
10253	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
10254	if s.Filters != nil {
10255		for i, v := range s.Filters {
10256			if v == nil {
10257				continue
10258			}
10259			if err := v.Validate(); err != nil {
10260				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10261			}
10262		}
10263	}
10264
10265	if invalidParams.Len() > 0 {
10266		return invalidParams
10267	}
10268	return nil
10269}
10270
10271// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
10272func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
10273	s.DBSubnetGroupName = &v
10274	return s
10275}
10276
10277// SetFilters sets the Filters field's value.
10278func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
10279	s.Filters = v
10280	return s
10281}
10282
10283// SetMarker sets the Marker field's value.
10284func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
10285	s.Marker = &v
10286	return s
10287}
10288
10289// SetMaxRecords sets the MaxRecords field's value.
10290func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
10291	s.MaxRecords = &v
10292	return s
10293}
10294
10295// Represents the output of DescribeDBSubnetGroups.
10296type DescribeDBSubnetGroupsOutput struct {
10297	_ struct{} `type:"structure"`
10298
10299	// Detailed information about one or more subnet groups.
10300	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
10301
10302	// An optional pagination token provided by a previous request. If this parameter
10303	// is specified, the response includes only records beyond the marker, up to
10304	// the value specified by MaxRecords.
10305	Marker *string `type:"string"`
10306}
10307
10308// String returns the string representation
10309func (s DescribeDBSubnetGroupsOutput) String() string {
10310	return awsutil.Prettify(s)
10311}
10312
10313// GoString returns the string representation
10314func (s DescribeDBSubnetGroupsOutput) GoString() string {
10315	return s.String()
10316}
10317
10318// SetDBSubnetGroups sets the DBSubnetGroups field's value.
10319func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
10320	s.DBSubnetGroups = v
10321	return s
10322}
10323
10324// SetMarker sets the Marker field's value.
10325func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
10326	s.Marker = &v
10327	return s
10328}
10329
10330// Represents the input to DescribeEngineDefaultClusterParameters.
10331type DescribeEngineDefaultClusterParametersInput struct {
10332	_ struct{} `type:"structure"`
10333
10334	// The name of the cluster parameter group family to return the engine parameter
10335	// information for.
10336	//
10337	// DBParameterGroupFamily is a required field
10338	DBParameterGroupFamily *string `type:"string" required:"true"`
10339
10340	// This parameter is not currently supported.
10341	Filters []*Filter `locationNameList:"Filter" type:"list"`
10342
10343	// An optional pagination token provided by a previous request. If this parameter
10344	// is specified, the response includes only records beyond the marker, up to
10345	// the value specified by MaxRecords.
10346	Marker *string `type:"string"`
10347
10348	// The maximum number of records to include in the response. If more records
10349	// exist than the specified MaxRecords value, a pagination token (marker) is
10350	// included in the response so that the remaining results can be retrieved.
10351	//
10352	// Default: 100
10353	//
10354	// Constraints: Minimum 20, maximum 100.
10355	MaxRecords *int64 `type:"integer"`
10356}
10357
10358// String returns the string representation
10359func (s DescribeEngineDefaultClusterParametersInput) String() string {
10360	return awsutil.Prettify(s)
10361}
10362
10363// GoString returns the string representation
10364func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
10365	return s.String()
10366}
10367
10368// Validate inspects the fields of the type to determine if they are valid.
10369func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
10370	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
10371	if s.DBParameterGroupFamily == nil {
10372		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
10373	}
10374	if s.Filters != nil {
10375		for i, v := range s.Filters {
10376			if v == nil {
10377				continue
10378			}
10379			if err := v.Validate(); err != nil {
10380				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10381			}
10382		}
10383	}
10384
10385	if invalidParams.Len() > 0 {
10386		return invalidParams
10387	}
10388	return nil
10389}
10390
10391// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
10392func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
10393	s.DBParameterGroupFamily = &v
10394	return s
10395}
10396
10397// SetFilters sets the Filters field's value.
10398func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
10399	s.Filters = v
10400	return s
10401}
10402
10403// SetMarker sets the Marker field's value.
10404func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
10405	s.Marker = &v
10406	return s
10407}
10408
10409// SetMaxRecords sets the MaxRecords field's value.
10410func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
10411	s.MaxRecords = &v
10412	return s
10413}
10414
10415type DescribeEngineDefaultClusterParametersOutput struct {
10416	_ struct{} `type:"structure"`
10417
10418	// Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters
10419	// operation.
10420	EngineDefaults *EngineDefaults `type:"structure"`
10421}
10422
10423// String returns the string representation
10424func (s DescribeEngineDefaultClusterParametersOutput) String() string {
10425	return awsutil.Prettify(s)
10426}
10427
10428// GoString returns the string representation
10429func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
10430	return s.String()
10431}
10432
10433// SetEngineDefaults sets the EngineDefaults field's value.
10434func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
10435	s.EngineDefaults = v
10436	return s
10437}
10438
10439// Represents the input to DescribeEventCategories.
10440type DescribeEventCategoriesInput struct {
10441	_ struct{} `type:"structure"`
10442
10443	// This parameter is not currently supported.
10444	Filters []*Filter `locationNameList:"Filter" type:"list"`
10445
10446	// The type of source that is generating the events.
10447	//
10448	// Valid values: db-instance, db-parameter-group, db-security-group
10449	SourceType *string `type:"string"`
10450}
10451
10452// String returns the string representation
10453func (s DescribeEventCategoriesInput) String() string {
10454	return awsutil.Prettify(s)
10455}
10456
10457// GoString returns the string representation
10458func (s DescribeEventCategoriesInput) GoString() string {
10459	return s.String()
10460}
10461
10462// Validate inspects the fields of the type to determine if they are valid.
10463func (s *DescribeEventCategoriesInput) Validate() error {
10464	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
10465	if s.Filters != nil {
10466		for i, v := range s.Filters {
10467			if v == nil {
10468				continue
10469			}
10470			if err := v.Validate(); err != nil {
10471				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10472			}
10473		}
10474	}
10475
10476	if invalidParams.Len() > 0 {
10477		return invalidParams
10478	}
10479	return nil
10480}
10481
10482// SetFilters sets the Filters field's value.
10483func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
10484	s.Filters = v
10485	return s
10486}
10487
10488// SetSourceType sets the SourceType field's value.
10489func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
10490	s.SourceType = &v
10491	return s
10492}
10493
10494// Represents the output of DescribeEventCategories.
10495type DescribeEventCategoriesOutput struct {
10496	_ struct{} `type:"structure"`
10497
10498	// A list of event category maps.
10499	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
10500}
10501
10502// String returns the string representation
10503func (s DescribeEventCategoriesOutput) String() string {
10504	return awsutil.Prettify(s)
10505}
10506
10507// GoString returns the string representation
10508func (s DescribeEventCategoriesOutput) GoString() string {
10509	return s.String()
10510}
10511
10512// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
10513func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
10514	s.EventCategoriesMapList = v
10515	return s
10516}
10517
10518// Represents the input to DescribeEventSubscriptions.
10519type DescribeEventSubscriptionsInput struct {
10520	_ struct{} `type:"structure"`
10521
10522	// This parameter is not currently supported.
10523	Filters []*Filter `locationNameList:"Filter" type:"list"`
10524
10525	// An optional pagination token provided by a previous request. If this parameter
10526	// is specified, the response includes only records beyond the marker, up to
10527	// the value specified by MaxRecords.
10528	Marker *string `type:"string"`
10529
10530	// The maximum number of records to include in the response. If more records
10531	// exist than the specified MaxRecords value, a pagination token (marker) is
10532	// included in the response so that the remaining results can be retrieved.
10533	//
10534	// Default: 100
10535	//
10536	// Constraints: Minimum 20, maximum 100.
10537	MaxRecords *int64 `type:"integer"`
10538
10539	// The name of the Amazon DocumentDB event notification subscription that you
10540	// want to describe.
10541	SubscriptionName *string `type:"string"`
10542}
10543
10544// String returns the string representation
10545func (s DescribeEventSubscriptionsInput) String() string {
10546	return awsutil.Prettify(s)
10547}
10548
10549// GoString returns the string representation
10550func (s DescribeEventSubscriptionsInput) GoString() string {
10551	return s.String()
10552}
10553
10554// Validate inspects the fields of the type to determine if they are valid.
10555func (s *DescribeEventSubscriptionsInput) Validate() error {
10556	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
10557	if s.Filters != nil {
10558		for i, v := range s.Filters {
10559			if v == nil {
10560				continue
10561			}
10562			if err := v.Validate(); err != nil {
10563				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10564			}
10565		}
10566	}
10567
10568	if invalidParams.Len() > 0 {
10569		return invalidParams
10570	}
10571	return nil
10572}
10573
10574// SetFilters sets the Filters field's value.
10575func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
10576	s.Filters = v
10577	return s
10578}
10579
10580// SetMarker sets the Marker field's value.
10581func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
10582	s.Marker = &v
10583	return s
10584}
10585
10586// SetMaxRecords sets the MaxRecords field's value.
10587func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
10588	s.MaxRecords = &v
10589	return s
10590}
10591
10592// SetSubscriptionName sets the SubscriptionName field's value.
10593func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
10594	s.SubscriptionName = &v
10595	return s
10596}
10597
10598// Represents the output of DescribeEventSubscriptions.
10599type DescribeEventSubscriptionsOutput struct {
10600	_ struct{} `type:"structure"`
10601
10602	// A list of event subscriptions.
10603	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
10604
10605	// An optional pagination token provided by a previous request. If this parameter
10606	// is specified, the response includes only records beyond the marker, up to
10607	// the value specified by MaxRecords.
10608	Marker *string `type:"string"`
10609}
10610
10611// String returns the string representation
10612func (s DescribeEventSubscriptionsOutput) String() string {
10613	return awsutil.Prettify(s)
10614}
10615
10616// GoString returns the string representation
10617func (s DescribeEventSubscriptionsOutput) GoString() string {
10618	return s.String()
10619}
10620
10621// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
10622func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
10623	s.EventSubscriptionsList = v
10624	return s
10625}
10626
10627// SetMarker sets the Marker field's value.
10628func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
10629	s.Marker = &v
10630	return s
10631}
10632
10633// Represents the input to DescribeEvents.
10634type DescribeEventsInput struct {
10635	_ struct{} `type:"structure"`
10636
10637	// The number of minutes to retrieve events for.
10638	//
10639	// Default: 60
10640	Duration *int64 `type:"integer"`
10641
10642	// The end of the time interval for which to retrieve events, specified in ISO
10643	// 8601 format.
10644	//
10645	// Example: 2009-07-08T18:00Z
10646	EndTime *time.Time `type:"timestamp"`
10647
10648	// A list of event categories that trigger notifications for an event notification
10649	// subscription.
10650	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
10651
10652	// This parameter is not currently supported.
10653	Filters []*Filter `locationNameList:"Filter" type:"list"`
10654
10655	// An optional pagination token provided by a previous request. If this parameter
10656	// is specified, the response includes only records beyond the marker, up to
10657	// the value specified by MaxRecords.
10658	Marker *string `type:"string"`
10659
10660	// The maximum number of records to include in the response. If more records
10661	// exist than the specified MaxRecords value, a pagination token (marker) is
10662	// included in the response so that the remaining results can be retrieved.
10663	//
10664	// Default: 100
10665	//
10666	// Constraints: Minimum 20, maximum 100.
10667	MaxRecords *int64 `type:"integer"`
10668
10669	// The identifier of the event source for which events are returned. If not
10670	// specified, then all sources are included in the response.
10671	//
10672	// Constraints:
10673	//
10674	//    * If SourceIdentifier is provided, SourceType must also be provided.
10675	//
10676	//    * If the source type is DBInstance, a DBInstanceIdentifier must be provided.
10677	//
10678	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
10679	//    provided.
10680	//
10681	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
10682	//    be provided.
10683	//
10684	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be provided.
10685	//
10686	//    * Cannot end with a hyphen or contain two consecutive hyphens.
10687	SourceIdentifier *string `type:"string"`
10688
10689	// The event source to retrieve events for. If no value is specified, all events
10690	// are returned.
10691	SourceType *string `type:"string" enum:"SourceType"`
10692
10693	// The beginning of the time interval to retrieve events for, specified in ISO
10694	// 8601 format.
10695	//
10696	// Example: 2009-07-08T18:00Z
10697	StartTime *time.Time `type:"timestamp"`
10698}
10699
10700// String returns the string representation
10701func (s DescribeEventsInput) String() string {
10702	return awsutil.Prettify(s)
10703}
10704
10705// GoString returns the string representation
10706func (s DescribeEventsInput) GoString() string {
10707	return s.String()
10708}
10709
10710// Validate inspects the fields of the type to determine if they are valid.
10711func (s *DescribeEventsInput) Validate() error {
10712	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
10713	if s.Filters != nil {
10714		for i, v := range s.Filters {
10715			if v == nil {
10716				continue
10717			}
10718			if err := v.Validate(); err != nil {
10719				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10720			}
10721		}
10722	}
10723
10724	if invalidParams.Len() > 0 {
10725		return invalidParams
10726	}
10727	return nil
10728}
10729
10730// SetDuration sets the Duration field's value.
10731func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
10732	s.Duration = &v
10733	return s
10734}
10735
10736// SetEndTime sets the EndTime field's value.
10737func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
10738	s.EndTime = &v
10739	return s
10740}
10741
10742// SetEventCategories sets the EventCategories field's value.
10743func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
10744	s.EventCategories = v
10745	return s
10746}
10747
10748// SetFilters sets the Filters field's value.
10749func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
10750	s.Filters = v
10751	return s
10752}
10753
10754// SetMarker sets the Marker field's value.
10755func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
10756	s.Marker = &v
10757	return s
10758}
10759
10760// SetMaxRecords sets the MaxRecords field's value.
10761func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
10762	s.MaxRecords = &v
10763	return s
10764}
10765
10766// SetSourceIdentifier sets the SourceIdentifier field's value.
10767func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
10768	s.SourceIdentifier = &v
10769	return s
10770}
10771
10772// SetSourceType sets the SourceType field's value.
10773func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
10774	s.SourceType = &v
10775	return s
10776}
10777
10778// SetStartTime sets the StartTime field's value.
10779func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
10780	s.StartTime = &v
10781	return s
10782}
10783
10784// Represents the output of DescribeEvents.
10785type DescribeEventsOutput struct {
10786	_ struct{} `type:"structure"`
10787
10788	// Detailed information about one or more events.
10789	Events []*Event `locationNameList:"Event" type:"list"`
10790
10791	// An optional pagination token provided by a previous request. If this parameter
10792	// is specified, the response includes only records beyond the marker, up to
10793	// the value specified by MaxRecords.
10794	Marker *string `type:"string"`
10795}
10796
10797// String returns the string representation
10798func (s DescribeEventsOutput) String() string {
10799	return awsutil.Prettify(s)
10800}
10801
10802// GoString returns the string representation
10803func (s DescribeEventsOutput) GoString() string {
10804	return s.String()
10805}
10806
10807// SetEvents sets the Events field's value.
10808func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
10809	s.Events = v
10810	return s
10811}
10812
10813// SetMarker sets the Marker field's value.
10814func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
10815	s.Marker = &v
10816	return s
10817}
10818
10819type DescribeGlobalClustersInput struct {
10820	_ struct{} `type:"structure"`
10821
10822	// A filter that specifies one or more global DB clusters to describe.
10823	//
10824	// Supported filters: db-cluster-id accepts cluster identifiers and cluster
10825	// Amazon Resource Names (ARNs). The results list will only include information
10826	// about the clusters identified by these ARNs.
10827	Filters []*Filter `locationNameList:"Filter" type:"list"`
10828
10829	// The user-supplied cluster identifier. If this parameter is specified, information
10830	// from only the specific cluster is returned. This parameter isn't case-sensitive.
10831	GlobalClusterIdentifier *string `min:"1" type:"string"`
10832
10833	// An optional pagination token provided by a previous DescribeGlobalClusters
10834	// request. If this parameter is specified, the response includes only records
10835	// beyond the marker, up to the value specified by MaxRecords.
10836	Marker *string `type:"string"`
10837
10838	// The maximum number of records to include in the response. If more records
10839	// exist than the specified MaxRecords value, a pagination token called a marker
10840	// is included in the response so that you can retrieve the remaining results.
10841	MaxRecords *int64 `type:"integer"`
10842}
10843
10844// String returns the string representation
10845func (s DescribeGlobalClustersInput) String() string {
10846	return awsutil.Prettify(s)
10847}
10848
10849// GoString returns the string representation
10850func (s DescribeGlobalClustersInput) GoString() string {
10851	return s.String()
10852}
10853
10854// Validate inspects the fields of the type to determine if they are valid.
10855func (s *DescribeGlobalClustersInput) Validate() error {
10856	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalClustersInput"}
10857	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
10858		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
10859	}
10860	if s.Filters != nil {
10861		for i, v := range s.Filters {
10862			if v == nil {
10863				continue
10864			}
10865			if err := v.Validate(); err != nil {
10866				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10867			}
10868		}
10869	}
10870
10871	if invalidParams.Len() > 0 {
10872		return invalidParams
10873	}
10874	return nil
10875}
10876
10877// SetFilters sets the Filters field's value.
10878func (s *DescribeGlobalClustersInput) SetFilters(v []*Filter) *DescribeGlobalClustersInput {
10879	s.Filters = v
10880	return s
10881}
10882
10883// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
10884func (s *DescribeGlobalClustersInput) SetGlobalClusterIdentifier(v string) *DescribeGlobalClustersInput {
10885	s.GlobalClusterIdentifier = &v
10886	return s
10887}
10888
10889// SetMarker sets the Marker field's value.
10890func (s *DescribeGlobalClustersInput) SetMarker(v string) *DescribeGlobalClustersInput {
10891	s.Marker = &v
10892	return s
10893}
10894
10895// SetMaxRecords sets the MaxRecords field's value.
10896func (s *DescribeGlobalClustersInput) SetMaxRecords(v int64) *DescribeGlobalClustersInput {
10897	s.MaxRecords = &v
10898	return s
10899}
10900
10901type DescribeGlobalClustersOutput struct {
10902	_ struct{} `type:"structure"`
10903
10904	GlobalClusters []*GlobalCluster `locationNameList:"GlobalClusterMember" type:"list"`
10905
10906	Marker *string `type:"string"`
10907}
10908
10909// String returns the string representation
10910func (s DescribeGlobalClustersOutput) String() string {
10911	return awsutil.Prettify(s)
10912}
10913
10914// GoString returns the string representation
10915func (s DescribeGlobalClustersOutput) GoString() string {
10916	return s.String()
10917}
10918
10919// SetGlobalClusters sets the GlobalClusters field's value.
10920func (s *DescribeGlobalClustersOutput) SetGlobalClusters(v []*GlobalCluster) *DescribeGlobalClustersOutput {
10921	s.GlobalClusters = v
10922	return s
10923}
10924
10925// SetMarker sets the Marker field's value.
10926func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalClustersOutput {
10927	s.Marker = &v
10928	return s
10929}
10930
10931// Represents the input to DescribeOrderableDBInstanceOptions.
10932type DescribeOrderableDBInstanceOptionsInput struct {
10933	_ struct{} `type:"structure"`
10934
10935	// The instance class filter value. Specify this parameter to show only the
10936	// available offerings that match the specified instance class.
10937	DBInstanceClass *string `type:"string"`
10938
10939	// The name of the engine to retrieve instance options for.
10940	//
10941	// Engine is a required field
10942	Engine *string `type:"string" required:"true"`
10943
10944	// The engine version filter value. Specify this parameter to show only the
10945	// available offerings that match the specified engine version.
10946	EngineVersion *string `type:"string"`
10947
10948	// This parameter is not currently supported.
10949	Filters []*Filter `locationNameList:"Filter" type:"list"`
10950
10951	// The license model filter value. Specify this parameter to show only the available
10952	// offerings that match the specified license model.
10953	LicenseModel *string `type:"string"`
10954
10955	// An optional pagination token provided by a previous request. If this parameter
10956	// is specified, the response includes only records beyond the marker, up to
10957	// the value specified by MaxRecords.
10958	Marker *string `type:"string"`
10959
10960	// The maximum number of records to include in the response. If more records
10961	// exist than the specified MaxRecords value, a pagination token (marker) is
10962	// included in the response so that the remaining results can be retrieved.
10963	//
10964	// Default: 100
10965	//
10966	// Constraints: Minimum 20, maximum 100.
10967	MaxRecords *int64 `type:"integer"`
10968
10969	// The virtual private cloud (VPC) filter value. Specify this parameter to show
10970	// only the available VPC or non-VPC offerings.
10971	Vpc *bool `type:"boolean"`
10972}
10973
10974// String returns the string representation
10975func (s DescribeOrderableDBInstanceOptionsInput) String() string {
10976	return awsutil.Prettify(s)
10977}
10978
10979// GoString returns the string representation
10980func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
10981	return s.String()
10982}
10983
10984// Validate inspects the fields of the type to determine if they are valid.
10985func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
10986	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
10987	if s.Engine == nil {
10988		invalidParams.Add(request.NewErrParamRequired("Engine"))
10989	}
10990	if s.Filters != nil {
10991		for i, v := range s.Filters {
10992			if v == nil {
10993				continue
10994			}
10995			if err := v.Validate(); err != nil {
10996				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10997			}
10998		}
10999	}
11000
11001	if invalidParams.Len() > 0 {
11002		return invalidParams
11003	}
11004	return nil
11005}
11006
11007// SetDBInstanceClass sets the DBInstanceClass field's value.
11008func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
11009	s.DBInstanceClass = &v
11010	return s
11011}
11012
11013// SetEngine sets the Engine field's value.
11014func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
11015	s.Engine = &v
11016	return s
11017}
11018
11019// SetEngineVersion sets the EngineVersion field's value.
11020func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
11021	s.EngineVersion = &v
11022	return s
11023}
11024
11025// SetFilters sets the Filters field's value.
11026func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
11027	s.Filters = v
11028	return s
11029}
11030
11031// SetLicenseModel sets the LicenseModel field's value.
11032func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
11033	s.LicenseModel = &v
11034	return s
11035}
11036
11037// SetMarker sets the Marker field's value.
11038func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
11039	s.Marker = &v
11040	return s
11041}
11042
11043// SetMaxRecords sets the MaxRecords field's value.
11044func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
11045	s.MaxRecords = &v
11046	return s
11047}
11048
11049// SetVpc sets the Vpc field's value.
11050func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
11051	s.Vpc = &v
11052	return s
11053}
11054
11055// Represents the output of DescribeOrderableDBInstanceOptions.
11056type DescribeOrderableDBInstanceOptionsOutput struct {
11057	_ struct{} `type:"structure"`
11058
11059	// An optional pagination token provided by a previous request. If this parameter
11060	// is specified, the response includes only records beyond the marker, up to
11061	// the value specified by MaxRecords.
11062	Marker *string `type:"string"`
11063
11064	// The options that are available for a particular orderable instance.
11065	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
11066}
11067
11068// String returns the string representation
11069func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
11070	return awsutil.Prettify(s)
11071}
11072
11073// GoString returns the string representation
11074func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
11075	return s.String()
11076}
11077
11078// SetMarker sets the Marker field's value.
11079func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
11080	s.Marker = &v
11081	return s
11082}
11083
11084// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
11085func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
11086	s.OrderableDBInstanceOptions = v
11087	return s
11088}
11089
11090// Represents the input to DescribePendingMaintenanceActions.
11091type DescribePendingMaintenanceActionsInput struct {
11092	_ struct{} `type:"structure"`
11093
11094	// A filter that specifies one or more resources to return pending maintenance
11095	// actions for.
11096	//
11097	// Supported filters:
11098	//
11099	//    * db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource
11100	//    Names (ARNs). The results list includes only pending maintenance actions
11101	//    for the clusters identified by these ARNs.
11102	//
11103	//    * db-instance-id - Accepts instance identifiers and instance ARNs. The
11104	//    results list includes only pending maintenance actions for the DB instances
11105	//    identified by these ARNs.
11106	Filters []*Filter `locationNameList:"Filter" type:"list"`
11107
11108	// An optional pagination token provided by a previous request. If this parameter
11109	// is specified, the response includes only records beyond the marker, up to
11110	// the value specified by MaxRecords.
11111	Marker *string `type:"string"`
11112
11113	// The maximum number of records to include in the response. If more records
11114	// exist than the specified MaxRecords value, a pagination token (marker) is
11115	// included in the response so that the remaining results can be retrieved.
11116	//
11117	// Default: 100
11118	//
11119	// Constraints: Minimum 20, maximum 100.
11120	MaxRecords *int64 `type:"integer"`
11121
11122	// The ARN of a resource to return pending maintenance actions for.
11123	ResourceIdentifier *string `type:"string"`
11124}
11125
11126// String returns the string representation
11127func (s DescribePendingMaintenanceActionsInput) String() string {
11128	return awsutil.Prettify(s)
11129}
11130
11131// GoString returns the string representation
11132func (s DescribePendingMaintenanceActionsInput) GoString() string {
11133	return s.String()
11134}
11135
11136// Validate inspects the fields of the type to determine if they are valid.
11137func (s *DescribePendingMaintenanceActionsInput) Validate() error {
11138	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
11139	if s.Filters != nil {
11140		for i, v := range s.Filters {
11141			if v == nil {
11142				continue
11143			}
11144			if err := v.Validate(); err != nil {
11145				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11146			}
11147		}
11148	}
11149
11150	if invalidParams.Len() > 0 {
11151		return invalidParams
11152	}
11153	return nil
11154}
11155
11156// SetFilters sets the Filters field's value.
11157func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
11158	s.Filters = v
11159	return s
11160}
11161
11162// SetMarker sets the Marker field's value.
11163func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
11164	s.Marker = &v
11165	return s
11166}
11167
11168// SetMaxRecords sets the MaxRecords field's value.
11169func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
11170	s.MaxRecords = &v
11171	return s
11172}
11173
11174// SetResourceIdentifier sets the ResourceIdentifier field's value.
11175func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
11176	s.ResourceIdentifier = &v
11177	return s
11178}
11179
11180// Represents the output of DescribePendingMaintenanceActions.
11181type DescribePendingMaintenanceActionsOutput struct {
11182	_ struct{} `type:"structure"`
11183
11184	// An optional pagination token provided by a previous request. If this parameter
11185	// is specified, the response includes only records beyond the marker, up to
11186	// the value specified by MaxRecords.
11187	Marker *string `type:"string"`
11188
11189	// The maintenance actions to be applied.
11190	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
11191}
11192
11193// String returns the string representation
11194func (s DescribePendingMaintenanceActionsOutput) String() string {
11195	return awsutil.Prettify(s)
11196}
11197
11198// GoString returns the string representation
11199func (s DescribePendingMaintenanceActionsOutput) GoString() string {
11200	return s.String()
11201}
11202
11203// SetMarker sets the Marker field's value.
11204func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
11205	s.Marker = &v
11206	return s
11207}
11208
11209// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
11210func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
11211	s.PendingMaintenanceActions = v
11212	return s
11213}
11214
11215// Network information for accessing a cluster or instance. Client programs
11216// must specify a valid endpoint to access these Amazon DocumentDB resources.
11217type Endpoint struct {
11218	_ struct{} `type:"structure"`
11219
11220	// Specifies the DNS address of the instance.
11221	Address *string `type:"string"`
11222
11223	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
11224	HostedZoneId *string `type:"string"`
11225
11226	// Specifies the port that the database engine is listening on.
11227	Port *int64 `type:"integer"`
11228}
11229
11230// String returns the string representation
11231func (s Endpoint) String() string {
11232	return awsutil.Prettify(s)
11233}
11234
11235// GoString returns the string representation
11236func (s Endpoint) GoString() string {
11237	return s.String()
11238}
11239
11240// SetAddress sets the Address field's value.
11241func (s *Endpoint) SetAddress(v string) *Endpoint {
11242	s.Address = &v
11243	return s
11244}
11245
11246// SetHostedZoneId sets the HostedZoneId field's value.
11247func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
11248	s.HostedZoneId = &v
11249	return s
11250}
11251
11252// SetPort sets the Port field's value.
11253func (s *Endpoint) SetPort(v int64) *Endpoint {
11254	s.Port = &v
11255	return s
11256}
11257
11258// Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters
11259// operation.
11260type EngineDefaults struct {
11261	_ struct{} `type:"structure"`
11262
11263	// The name of the cluster parameter group family to return the engine parameter
11264	// information for.
11265	DBParameterGroupFamily *string `type:"string"`
11266
11267	// An optional pagination token provided by a previous request. If this parameter
11268	// is specified, the response includes only records beyond the marker, up to
11269	// the value specified by MaxRecords.
11270	Marker *string `type:"string"`
11271
11272	// The parameters of a particular cluster parameter group family.
11273	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
11274}
11275
11276// String returns the string representation
11277func (s EngineDefaults) String() string {
11278	return awsutil.Prettify(s)
11279}
11280
11281// GoString returns the string representation
11282func (s EngineDefaults) GoString() string {
11283	return s.String()
11284}
11285
11286// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
11287func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
11288	s.DBParameterGroupFamily = &v
11289	return s
11290}
11291
11292// SetMarker sets the Marker field's value.
11293func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
11294	s.Marker = &v
11295	return s
11296}
11297
11298// SetParameters sets the Parameters field's value.
11299func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
11300	s.Parameters = v
11301	return s
11302}
11303
11304// Detailed information about an event.
11305type Event struct {
11306	_ struct{} `type:"structure"`
11307
11308	// Specifies the date and time of the event.
11309	Date *time.Time `type:"timestamp"`
11310
11311	// Specifies the category for the event.
11312	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
11313
11314	// Provides the text of this event.
11315	Message *string `type:"string"`
11316
11317	// The Amazon Resource Name (ARN) for the event.
11318	SourceArn *string `type:"string"`
11319
11320	// Provides the identifier for the source of the event.
11321	SourceIdentifier *string `type:"string"`
11322
11323	// Specifies the source type for this event.
11324	SourceType *string `type:"string" enum:"SourceType"`
11325}
11326
11327// String returns the string representation
11328func (s Event) String() string {
11329	return awsutil.Prettify(s)
11330}
11331
11332// GoString returns the string representation
11333func (s Event) GoString() string {
11334	return s.String()
11335}
11336
11337// SetDate sets the Date field's value.
11338func (s *Event) SetDate(v time.Time) *Event {
11339	s.Date = &v
11340	return s
11341}
11342
11343// SetEventCategories sets the EventCategories field's value.
11344func (s *Event) SetEventCategories(v []*string) *Event {
11345	s.EventCategories = v
11346	return s
11347}
11348
11349// SetMessage sets the Message field's value.
11350func (s *Event) SetMessage(v string) *Event {
11351	s.Message = &v
11352	return s
11353}
11354
11355// SetSourceArn sets the SourceArn field's value.
11356func (s *Event) SetSourceArn(v string) *Event {
11357	s.SourceArn = &v
11358	return s
11359}
11360
11361// SetSourceIdentifier sets the SourceIdentifier field's value.
11362func (s *Event) SetSourceIdentifier(v string) *Event {
11363	s.SourceIdentifier = &v
11364	return s
11365}
11366
11367// SetSourceType sets the SourceType field's value.
11368func (s *Event) SetSourceType(v string) *Event {
11369	s.SourceType = &v
11370	return s
11371}
11372
11373// An event source type, accompanied by one or more event category names.
11374type EventCategoriesMap struct {
11375	_ struct{} `type:"structure"`
11376
11377	// The event categories for the specified source type.
11378	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
11379
11380	// The source type that the returned categories belong to.
11381	SourceType *string `type:"string"`
11382}
11383
11384// String returns the string representation
11385func (s EventCategoriesMap) String() string {
11386	return awsutil.Prettify(s)
11387}
11388
11389// GoString returns the string representation
11390func (s EventCategoriesMap) GoString() string {
11391	return s.String()
11392}
11393
11394// SetEventCategories sets the EventCategories field's value.
11395func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
11396	s.EventCategories = v
11397	return s
11398}
11399
11400// SetSourceType sets the SourceType field's value.
11401func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
11402	s.SourceType = &v
11403	return s
11404}
11405
11406// Detailed information about an event to which you have subscribed.
11407type EventSubscription struct {
11408	_ struct{} `type:"structure"`
11409
11410	// The Amazon DocumentDB event notification subscription ID.
11411	CustSubscriptionId *string `type:"string"`
11412
11413	// The Amazon Web Services customer account that is associated with the Amazon
11414	// DocumentDB event notification subscription.
11415	CustomerAwsId *string `type:"string"`
11416
11417	// A Boolean value indicating whether the subscription is enabled. A value of
11418	// true indicates that the subscription is enabled.
11419	Enabled *bool `type:"boolean"`
11420
11421	// A list of event categories for the Amazon DocumentDB event notification subscription.
11422	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
11423
11424	// The Amazon Resource Name (ARN) for the event subscription.
11425	EventSubscriptionArn *string `type:"string"`
11426
11427	// The topic ARN of the Amazon DocumentDB event notification subscription.
11428	SnsTopicArn *string `type:"string"`
11429
11430	// A list of source IDs for the Amazon DocumentDB event notification subscription.
11431	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
11432
11433	// The source type for the Amazon DocumentDB event notification subscription.
11434	SourceType *string `type:"string"`
11435
11436	// The status of the Amazon DocumentDB event notification subscription.
11437	//
11438	// Constraints:
11439	//
11440	// Can be one of the following: creating, modifying, deleting, active, no-permission,
11441	// topic-not-exist
11442	//
11443	// The no-permission status indicates that Amazon DocumentDB no longer has permission
11444	// to post to the SNS topic. The topic-not-exist status indicates that the topic
11445	// was deleted after the subscription was created.
11446	Status *string `type:"string"`
11447
11448	// The time at which the Amazon DocumentDB event notification subscription was
11449	// created.
11450	SubscriptionCreationTime *string `type:"string"`
11451}
11452
11453// String returns the string representation
11454func (s EventSubscription) String() string {
11455	return awsutil.Prettify(s)
11456}
11457
11458// GoString returns the string representation
11459func (s EventSubscription) GoString() string {
11460	return s.String()
11461}
11462
11463// SetCustSubscriptionId sets the CustSubscriptionId field's value.
11464func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
11465	s.CustSubscriptionId = &v
11466	return s
11467}
11468
11469// SetCustomerAwsId sets the CustomerAwsId field's value.
11470func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
11471	s.CustomerAwsId = &v
11472	return s
11473}
11474
11475// SetEnabled sets the Enabled field's value.
11476func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
11477	s.Enabled = &v
11478	return s
11479}
11480
11481// SetEventCategoriesList sets the EventCategoriesList field's value.
11482func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
11483	s.EventCategoriesList = v
11484	return s
11485}
11486
11487// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
11488func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
11489	s.EventSubscriptionArn = &v
11490	return s
11491}
11492
11493// SetSnsTopicArn sets the SnsTopicArn field's value.
11494func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
11495	s.SnsTopicArn = &v
11496	return s
11497}
11498
11499// SetSourceIdsList sets the SourceIdsList field's value.
11500func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
11501	s.SourceIdsList = v
11502	return s
11503}
11504
11505// SetSourceType sets the SourceType field's value.
11506func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
11507	s.SourceType = &v
11508	return s
11509}
11510
11511// SetStatus sets the Status field's value.
11512func (s *EventSubscription) SetStatus(v string) *EventSubscription {
11513	s.Status = &v
11514	return s
11515}
11516
11517// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
11518func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
11519	s.SubscriptionCreationTime = &v
11520	return s
11521}
11522
11523// Represents the input to FailoverDBCluster.
11524type FailoverDBClusterInput struct {
11525	_ struct{} `type:"structure"`
11526
11527	// A cluster identifier to force a failover for. This parameter is not case
11528	// sensitive.
11529	//
11530	// Constraints:
11531	//
11532	//    * Must match the identifier of an existing DBCluster.
11533	DBClusterIdentifier *string `type:"string"`
11534
11535	// The name of the instance to promote to the primary instance.
11536	//
11537	// You must specify the instance identifier for an Amazon DocumentDB replica
11538	// in the cluster. For example, mydbcluster-replica1.
11539	TargetDBInstanceIdentifier *string `type:"string"`
11540}
11541
11542// String returns the string representation
11543func (s FailoverDBClusterInput) String() string {
11544	return awsutil.Prettify(s)
11545}
11546
11547// GoString returns the string representation
11548func (s FailoverDBClusterInput) GoString() string {
11549	return s.String()
11550}
11551
11552// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11553func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
11554	s.DBClusterIdentifier = &v
11555	return s
11556}
11557
11558// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
11559func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
11560	s.TargetDBInstanceIdentifier = &v
11561	return s
11562}
11563
11564type FailoverDBClusterOutput struct {
11565	_ struct{} `type:"structure"`
11566
11567	// Detailed information about a cluster.
11568	DBCluster *DBCluster `type:"structure"`
11569}
11570
11571// String returns the string representation
11572func (s FailoverDBClusterOutput) String() string {
11573	return awsutil.Prettify(s)
11574}
11575
11576// GoString returns the string representation
11577func (s FailoverDBClusterOutput) GoString() string {
11578	return s.String()
11579}
11580
11581// SetDBCluster sets the DBCluster field's value.
11582func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
11583	s.DBCluster = v
11584	return s
11585}
11586
11587// A named set of filter values, used to return a more specific list of results.
11588// You can use a filter to match a set of resources by specific criteria, such
11589// as IDs.
11590//
11591// Wildcards are not supported in filters.
11592type Filter struct {
11593	_ struct{} `type:"structure"`
11594
11595	// The name of the filter. Filter names are case sensitive.
11596	//
11597	// Name is a required field
11598	Name *string `type:"string" required:"true"`
11599
11600	// One or more filter values. Filter values are case sensitive.
11601	//
11602	// Values is a required field
11603	Values []*string `locationNameList:"Value" type:"list" required:"true"`
11604}
11605
11606// String returns the string representation
11607func (s Filter) String() string {
11608	return awsutil.Prettify(s)
11609}
11610
11611// GoString returns the string representation
11612func (s Filter) GoString() string {
11613	return s.String()
11614}
11615
11616// Validate inspects the fields of the type to determine if they are valid.
11617func (s *Filter) Validate() error {
11618	invalidParams := request.ErrInvalidParams{Context: "Filter"}
11619	if s.Name == nil {
11620		invalidParams.Add(request.NewErrParamRequired("Name"))
11621	}
11622	if s.Values == nil {
11623		invalidParams.Add(request.NewErrParamRequired("Values"))
11624	}
11625
11626	if invalidParams.Len() > 0 {
11627		return invalidParams
11628	}
11629	return nil
11630}
11631
11632// SetName sets the Name field's value.
11633func (s *Filter) SetName(v string) *Filter {
11634	s.Name = &v
11635	return s
11636}
11637
11638// SetValues sets the Values field's value.
11639func (s *Filter) SetValues(v []*string) *Filter {
11640	s.Values = v
11641	return s
11642}
11643
11644// A data type representing an Amazon DocumentDB global cluster.
11645type GlobalCluster struct {
11646	_ struct{} `type:"structure"`
11647
11648	// The default database name within the new global cluster.
11649	DatabaseName *string `type:"string"`
11650
11651	// The deletion protection setting for the new global cluster.
11652	DeletionProtection *bool `type:"boolean"`
11653
11654	// The Amazon DocumentDB database engine used by the global cluster.
11655	Engine *string `type:"string"`
11656
11657	// Indicates the database engine version.
11658	EngineVersion *string `type:"string"`
11659
11660	// The Amazon Resource Name (ARN) for the global cluster.
11661	GlobalClusterArn *string `type:"string"`
11662
11663	// Contains a user-supplied global cluster identifier. This identifier is the
11664	// unique key that identifies a global cluster.
11665	GlobalClusterIdentifier *string `min:"1" type:"string"`
11666
11667	// The list of cluster IDs for secondary clusters within the global cluster.
11668	// Currently limited to one item.
11669	GlobalClusterMembers []*GlobalClusterMember `locationNameList:"GlobalClusterMember" type:"list"`
11670
11671	// The Region-unique, immutable identifier for the global database cluster.
11672	// This identifier is found in AWS CloudTrail log entries whenever the AWS KMS
11673	// customer master key (CMK) for the cluster is accessed.
11674	GlobalClusterResourceId *string `type:"string"`
11675
11676	// Specifies the current state of this global cluster.
11677	Status *string `type:"string"`
11678
11679	// The storage encryption setting for the global cluster.
11680	StorageEncrypted *bool `type:"boolean"`
11681}
11682
11683// String returns the string representation
11684func (s GlobalCluster) String() string {
11685	return awsutil.Prettify(s)
11686}
11687
11688// GoString returns the string representation
11689func (s GlobalCluster) GoString() string {
11690	return s.String()
11691}
11692
11693// SetDatabaseName sets the DatabaseName field's value.
11694func (s *GlobalCluster) SetDatabaseName(v string) *GlobalCluster {
11695	s.DatabaseName = &v
11696	return s
11697}
11698
11699// SetDeletionProtection sets the DeletionProtection field's value.
11700func (s *GlobalCluster) SetDeletionProtection(v bool) *GlobalCluster {
11701	s.DeletionProtection = &v
11702	return s
11703}
11704
11705// SetEngine sets the Engine field's value.
11706func (s *GlobalCluster) SetEngine(v string) *GlobalCluster {
11707	s.Engine = &v
11708	return s
11709}
11710
11711// SetEngineVersion sets the EngineVersion field's value.
11712func (s *GlobalCluster) SetEngineVersion(v string) *GlobalCluster {
11713	s.EngineVersion = &v
11714	return s
11715}
11716
11717// SetGlobalClusterArn sets the GlobalClusterArn field's value.
11718func (s *GlobalCluster) SetGlobalClusterArn(v string) *GlobalCluster {
11719	s.GlobalClusterArn = &v
11720	return s
11721}
11722
11723// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
11724func (s *GlobalCluster) SetGlobalClusterIdentifier(v string) *GlobalCluster {
11725	s.GlobalClusterIdentifier = &v
11726	return s
11727}
11728
11729// SetGlobalClusterMembers sets the GlobalClusterMembers field's value.
11730func (s *GlobalCluster) SetGlobalClusterMembers(v []*GlobalClusterMember) *GlobalCluster {
11731	s.GlobalClusterMembers = v
11732	return s
11733}
11734
11735// SetGlobalClusterResourceId sets the GlobalClusterResourceId field's value.
11736func (s *GlobalCluster) SetGlobalClusterResourceId(v string) *GlobalCluster {
11737	s.GlobalClusterResourceId = &v
11738	return s
11739}
11740
11741// SetStatus sets the Status field's value.
11742func (s *GlobalCluster) SetStatus(v string) *GlobalCluster {
11743	s.Status = &v
11744	return s
11745}
11746
11747// SetStorageEncrypted sets the StorageEncrypted field's value.
11748func (s *GlobalCluster) SetStorageEncrypted(v bool) *GlobalCluster {
11749	s.StorageEncrypted = &v
11750	return s
11751}
11752
11753// A data structure with information about any primary and secondary clusters
11754// associated with an Amazon DocumentDB global clusters.
11755type GlobalClusterMember struct {
11756	_ struct{} `type:"structure"`
11757
11758	// The Amazon Resource Name (ARN) for each Amazon DocumentDB cluster.
11759	DBClusterArn *string `type:"string"`
11760
11761	// Specifies whether the Amazon DocumentDB cluster is the primary cluster (that
11762	// is, has read-write capability) for the Amazon DocumentDB global cluster with
11763	// which it is associated.
11764	IsWriter *bool `type:"boolean"`
11765
11766	// The Amazon Resource Name (ARN) for each read-only secondary cluster associated
11767	// with the Aurora global cluster.
11768	Readers []*string `type:"list"`
11769}
11770
11771// String returns the string representation
11772func (s GlobalClusterMember) String() string {
11773	return awsutil.Prettify(s)
11774}
11775
11776// GoString returns the string representation
11777func (s GlobalClusterMember) GoString() string {
11778	return s.String()
11779}
11780
11781// SetDBClusterArn sets the DBClusterArn field's value.
11782func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember {
11783	s.DBClusterArn = &v
11784	return s
11785}
11786
11787// SetIsWriter sets the IsWriter field's value.
11788func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember {
11789	s.IsWriter = &v
11790	return s
11791}
11792
11793// SetReaders sets the Readers field's value.
11794func (s *GlobalClusterMember) SetReaders(v []*string) *GlobalClusterMember {
11795	s.Readers = v
11796	return s
11797}
11798
11799// Represents the input to ListTagsForResource.
11800type ListTagsForResourceInput struct {
11801	_ struct{} `type:"structure"`
11802
11803	// This parameter is not currently supported.
11804	Filters []*Filter `locationNameList:"Filter" type:"list"`
11805
11806	// The Amazon DocumentDB resource with tags to be listed. This value is an Amazon
11807	// Resource Name (ARN).
11808	//
11809	// ResourceName is a required field
11810	ResourceName *string `type:"string" required:"true"`
11811}
11812
11813// String returns the string representation
11814func (s ListTagsForResourceInput) String() string {
11815	return awsutil.Prettify(s)
11816}
11817
11818// GoString returns the string representation
11819func (s ListTagsForResourceInput) GoString() string {
11820	return s.String()
11821}
11822
11823// Validate inspects the fields of the type to determine if they are valid.
11824func (s *ListTagsForResourceInput) Validate() error {
11825	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11826	if s.ResourceName == nil {
11827		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
11828	}
11829	if s.Filters != nil {
11830		for i, v := range s.Filters {
11831			if v == nil {
11832				continue
11833			}
11834			if err := v.Validate(); err != nil {
11835				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11836			}
11837		}
11838	}
11839
11840	if invalidParams.Len() > 0 {
11841		return invalidParams
11842	}
11843	return nil
11844}
11845
11846// SetFilters sets the Filters field's value.
11847func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
11848	s.Filters = v
11849	return s
11850}
11851
11852// SetResourceName sets the ResourceName field's value.
11853func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
11854	s.ResourceName = &v
11855	return s
11856}
11857
11858// Represents the output of ListTagsForResource.
11859type ListTagsForResourceOutput struct {
11860	_ struct{} `type:"structure"`
11861
11862	// A list of one or more tags.
11863	TagList []*Tag `locationNameList:"Tag" type:"list"`
11864}
11865
11866// String returns the string representation
11867func (s ListTagsForResourceOutput) String() string {
11868	return awsutil.Prettify(s)
11869}
11870
11871// GoString returns the string representation
11872func (s ListTagsForResourceOutput) GoString() string {
11873	return s.String()
11874}
11875
11876// SetTagList sets the TagList field's value.
11877func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
11878	s.TagList = v
11879	return s
11880}
11881
11882// Represents the input to ModifyDBCluster.
11883type ModifyDBClusterInput struct {
11884	_ struct{} `type:"structure"`
11885
11886	// A value that specifies whether the changes in this request and any pending
11887	// changes are asynchronously applied as soon as possible, regardless of the
11888	// PreferredMaintenanceWindow setting for the cluster. If this parameter is
11889	// set to false, changes to the cluster are applied during the next maintenance
11890	// window.
11891	//
11892	// The ApplyImmediately parameter affects only the NewDBClusterIdentifier and
11893	// MasterUserPassword values. If you set this parameter value to false, the
11894	// changes to the NewDBClusterIdentifier and MasterUserPassword values are applied
11895	// during the next maintenance window. All other changes are applied immediately,
11896	// regardless of the value of the ApplyImmediately parameter.
11897	//
11898	// Default: false
11899	ApplyImmediately *bool `type:"boolean"`
11900
11901	// The number of days for which automated backups are retained. You must specify
11902	// a minimum value of 1.
11903	//
11904	// Default: 1
11905	//
11906	// Constraints:
11907	//
11908	//    * Must be a value from 1 to 35.
11909	BackupRetentionPeriod *int64 `type:"integer"`
11910
11911	// The configuration setting for the log types to be enabled for export to Amazon
11912	// CloudWatch Logs for a specific instance or cluster. The EnableLogTypes and
11913	// DisableLogTypes arrays determine which logs are exported (or not exported)
11914	// to CloudWatch Logs.
11915	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
11916
11917	// The cluster identifier for the cluster that is being modified. This parameter
11918	// is not case sensitive.
11919	//
11920	// Constraints:
11921	//
11922	//    * Must match the identifier of an existing DBCluster.
11923	//
11924	// DBClusterIdentifier is a required field
11925	DBClusterIdentifier *string `type:"string" required:"true"`
11926
11927	// The name of the cluster parameter group to use for the cluster.
11928	DBClusterParameterGroupName *string `type:"string"`
11929
11930	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
11931	// the cluster cannot be deleted unless it is modified and DeletionProtection
11932	// is disabled. DeletionProtection protects clusters from being accidentally
11933	// deleted.
11934	DeletionProtection *bool `type:"boolean"`
11935
11936	// The version number of the database engine to which you want to upgrade. Modifying
11937	// engine version is not supported on Amazon DocumentDB.
11938	EngineVersion *string `type:"string"`
11939
11940	// The password for the master database user. This password can contain any
11941	// printable ASCII character except forward slash (/), double quote ("), or
11942	// the "at" symbol (@).
11943	//
11944	// Constraints: Must contain from 8 to 100 characters.
11945	MasterUserPassword *string `type:"string"`
11946
11947	// The new cluster identifier for the cluster when renaming a cluster. This
11948	// value is stored as a lowercase string.
11949	//
11950	// Constraints:
11951	//
11952	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
11953	//
11954	//    * The first character must be a letter.
11955	//
11956	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11957	//
11958	// Example: my-cluster2
11959	NewDBClusterIdentifier *string `type:"string"`
11960
11961	// The port number on which the cluster accepts connections.
11962	//
11963	// Constraints: Must be a value from 1150 to 65535.
11964	//
11965	// Default: The same port as the original cluster.
11966	Port *int64 `type:"integer"`
11967
11968	// The daily time range during which automated backups are created if automated
11969	// backups are enabled, using the BackupRetentionPeriod parameter.
11970	//
11971	// The default is a 30-minute window selected at random from an 8-hour block
11972	// of time for each Region.
11973	//
11974	// Constraints:
11975	//
11976	//    * Must be in the format hh24:mi-hh24:mi.
11977	//
11978	//    * Must be in Universal Coordinated Time (UTC).
11979	//
11980	//    * Must not conflict with the preferred maintenance window.
11981	//
11982	//    * Must be at least 30 minutes.
11983	PreferredBackupWindow *string `type:"string"`
11984
11985	// The weekly time range during which system maintenance can occur, in Universal
11986	// Coordinated Time (UTC).
11987	//
11988	// Format: ddd:hh24:mi-ddd:hh24:mi
11989	//
11990	// The default is a 30-minute window selected at random from an 8-hour block
11991	// of time for each Region, occurring on a random day of the week.
11992	//
11993	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
11994	//
11995	// Constraints: Minimum 30-minute window.
11996	PreferredMaintenanceWindow *string `type:"string"`
11997
11998	// A list of virtual private cloud (VPC) security groups that the cluster will
11999	// belong to.
12000	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
12001}
12002
12003// String returns the string representation
12004func (s ModifyDBClusterInput) String() string {
12005	return awsutil.Prettify(s)
12006}
12007
12008// GoString returns the string representation
12009func (s ModifyDBClusterInput) GoString() string {
12010	return s.String()
12011}
12012
12013// Validate inspects the fields of the type to determine if they are valid.
12014func (s *ModifyDBClusterInput) Validate() error {
12015	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
12016	if s.DBClusterIdentifier == nil {
12017		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
12018	}
12019
12020	if invalidParams.Len() > 0 {
12021		return invalidParams
12022	}
12023	return nil
12024}
12025
12026// SetApplyImmediately sets the ApplyImmediately field's value.
12027func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
12028	s.ApplyImmediately = &v
12029	return s
12030}
12031
12032// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
12033func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
12034	s.BackupRetentionPeriod = &v
12035	return s
12036}
12037
12038// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
12039func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
12040	s.CloudwatchLogsExportConfiguration = v
12041	return s
12042}
12043
12044// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
12045func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
12046	s.DBClusterIdentifier = &v
12047	return s
12048}
12049
12050// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
12051func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
12052	s.DBClusterParameterGroupName = &v
12053	return s
12054}
12055
12056// SetDeletionProtection sets the DeletionProtection field's value.
12057func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
12058	s.DeletionProtection = &v
12059	return s
12060}
12061
12062// SetEngineVersion sets the EngineVersion field's value.
12063func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
12064	s.EngineVersion = &v
12065	return s
12066}
12067
12068// SetMasterUserPassword sets the MasterUserPassword field's value.
12069func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
12070	s.MasterUserPassword = &v
12071	return s
12072}
12073
12074// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
12075func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
12076	s.NewDBClusterIdentifier = &v
12077	return s
12078}
12079
12080// SetPort sets the Port field's value.
12081func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
12082	s.Port = &v
12083	return s
12084}
12085
12086// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
12087func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
12088	s.PreferredBackupWindow = &v
12089	return s
12090}
12091
12092// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
12093func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
12094	s.PreferredMaintenanceWindow = &v
12095	return s
12096}
12097
12098// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
12099func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
12100	s.VpcSecurityGroupIds = v
12101	return s
12102}
12103
12104type ModifyDBClusterOutput struct {
12105	_ struct{} `type:"structure"`
12106
12107	// Detailed information about a cluster.
12108	DBCluster *DBCluster `type:"structure"`
12109}
12110
12111// String returns the string representation
12112func (s ModifyDBClusterOutput) String() string {
12113	return awsutil.Prettify(s)
12114}
12115
12116// GoString returns the string representation
12117func (s ModifyDBClusterOutput) GoString() string {
12118	return s.String()
12119}
12120
12121// SetDBCluster sets the DBCluster field's value.
12122func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
12123	s.DBCluster = v
12124	return s
12125}
12126
12127// Represents the input to ModifyDBClusterParameterGroup.
12128type ModifyDBClusterParameterGroupInput struct {
12129	_ struct{} `type:"structure"`
12130
12131	// The name of the cluster parameter group to modify.
12132	//
12133	// DBClusterParameterGroupName is a required field
12134	DBClusterParameterGroupName *string `type:"string" required:"true"`
12135
12136	// A list of parameters in the cluster parameter group to modify.
12137	//
12138	// Parameters is a required field
12139	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
12140}
12141
12142// String returns the string representation
12143func (s ModifyDBClusterParameterGroupInput) String() string {
12144	return awsutil.Prettify(s)
12145}
12146
12147// GoString returns the string representation
12148func (s ModifyDBClusterParameterGroupInput) GoString() string {
12149	return s.String()
12150}
12151
12152// Validate inspects the fields of the type to determine if they are valid.
12153func (s *ModifyDBClusterParameterGroupInput) Validate() error {
12154	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
12155	if s.DBClusterParameterGroupName == nil {
12156		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
12157	}
12158	if s.Parameters == nil {
12159		invalidParams.Add(request.NewErrParamRequired("Parameters"))
12160	}
12161
12162	if invalidParams.Len() > 0 {
12163		return invalidParams
12164	}
12165	return nil
12166}
12167
12168// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
12169func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
12170	s.DBClusterParameterGroupName = &v
12171	return s
12172}
12173
12174// SetParameters sets the Parameters field's value.
12175func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
12176	s.Parameters = v
12177	return s
12178}
12179
12180// Contains the name of a cluster parameter group.
12181type ModifyDBClusterParameterGroupOutput struct {
12182	_ struct{} `type:"structure"`
12183
12184	// The name of a cluster parameter group.
12185	//
12186	// Constraints:
12187	//
12188	//    * Must be from 1 to 255 letters or numbers.
12189	//
12190	//    * The first character must be a letter.
12191	//
12192	//    * Cannot end with a hyphen or contain two consecutive hyphens.
12193	//
12194	// This value is stored as a lowercase string.
12195	DBClusterParameterGroupName *string `type:"string"`
12196}
12197
12198// String returns the string representation
12199func (s ModifyDBClusterParameterGroupOutput) String() string {
12200	return awsutil.Prettify(s)
12201}
12202
12203// GoString returns the string representation
12204func (s ModifyDBClusterParameterGroupOutput) GoString() string {
12205	return s.String()
12206}
12207
12208// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
12209func (s *ModifyDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupOutput {
12210	s.DBClusterParameterGroupName = &v
12211	return s
12212}
12213
12214// Represents the input to ModifyDBClusterSnapshotAttribute.
12215type ModifyDBClusterSnapshotAttributeInput struct {
12216	_ struct{} `type:"structure"`
12217
12218	// The name of the cluster snapshot attribute to modify.
12219	//
12220	// To manage authorization for other accounts to copy or restore a manual cluster
12221	// snapshot, set this value to restore.
12222	//
12223	// AttributeName is a required field
12224	AttributeName *string `type:"string" required:"true"`
12225
12226	// The identifier for the cluster snapshot to modify the attributes for.
12227	//
12228	// DBClusterSnapshotIdentifier is a required field
12229	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
12230
12231	// A list of cluster snapshot attributes to add to the attribute specified by
12232	// AttributeName.
12233	//
12234	// To authorize other accounts to copy or restore a manual cluster snapshot,
12235	// set this list to include one or more account IDs. To make the manual cluster
12236	// snapshot restorable by any account, set it to all. Do not add the all value
12237	// for any manual cluster snapshots that contain private information that you
12238	// don't want to be available to all accounts.
12239	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
12240
12241	// A list of cluster snapshot attributes to remove from the attribute specified
12242	// by AttributeName.
12243	//
12244	// To remove authorization for other accounts to copy or restore a manual cluster
12245	// snapshot, set this list to include one or more account identifiers. To remove
12246	// authorization for any account to copy or restore the cluster snapshot, set
12247	// it to all . If you specify all, an account whose account ID is explicitly
12248	// added to the restore attribute can still copy or restore a manual cluster
12249	// snapshot.
12250	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
12251}
12252
12253// String returns the string representation
12254func (s ModifyDBClusterSnapshotAttributeInput) String() string {
12255	return awsutil.Prettify(s)
12256}
12257
12258// GoString returns the string representation
12259func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
12260	return s.String()
12261}
12262
12263// Validate inspects the fields of the type to determine if they are valid.
12264func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
12265	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
12266	if s.AttributeName == nil {
12267		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
12268	}
12269	if s.DBClusterSnapshotIdentifier == nil {
12270		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
12271	}
12272
12273	if invalidParams.Len() > 0 {
12274		return invalidParams
12275	}
12276	return nil
12277}
12278
12279// SetAttributeName sets the AttributeName field's value.
12280func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
12281	s.AttributeName = &v
12282	return s
12283}
12284
12285// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
12286func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
12287	s.DBClusterSnapshotIdentifier = &v
12288	return s
12289}
12290
12291// SetValuesToAdd sets the ValuesToAdd field's value.
12292func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
12293	s.ValuesToAdd = v
12294	return s
12295}
12296
12297// SetValuesToRemove sets the ValuesToRemove field's value.
12298func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
12299	s.ValuesToRemove = v
12300	return s
12301}
12302
12303type ModifyDBClusterSnapshotAttributeOutput struct {
12304	_ struct{} `type:"structure"`
12305
12306	// Detailed information about the attributes that are associated with a cluster
12307	// snapshot.
12308	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
12309}
12310
12311// String returns the string representation
12312func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
12313	return awsutil.Prettify(s)
12314}
12315
12316// GoString returns the string representation
12317func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
12318	return s.String()
12319}
12320
12321// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
12322func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
12323	s.DBClusterSnapshotAttributesResult = v
12324	return s
12325}
12326
12327// Represents the input to ModifyDBInstance.
12328type ModifyDBInstanceInput struct {
12329	_ struct{} `type:"structure"`
12330
12331	// Specifies whether the modifications in this request and any pending modifications
12332	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
12333	// setting for the instance.
12334	//
12335	// If this parameter is set to false, changes to the instance are applied during
12336	// the next maintenance window. Some parameter changes can cause an outage and
12337	// are applied on the next reboot.
12338	//
12339	// Default: false
12340	ApplyImmediately *bool `type:"boolean"`
12341
12342	// This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does
12343	// not perform minor version upgrades regardless of the value set.
12344	AutoMinorVersionUpgrade *bool `type:"boolean"`
12345
12346	// Indicates the certificate that needs to be associated with the instance.
12347	CACertificateIdentifier *string `type:"string"`
12348
12349	// The new compute and memory capacity of the instance; for example, db.r5.large.
12350	// Not all instance classes are available in all Regions.
12351	//
12352	// If you modify the instance class, an outage occurs during the change. The
12353	// change is applied during the next maintenance window, unless ApplyImmediately
12354	// is specified as true for this request.
12355	//
12356	// Default: Uses existing setting.
12357	DBInstanceClass *string `type:"string"`
12358
12359	// The instance identifier. This value is stored as a lowercase string.
12360	//
12361	// Constraints:
12362	//
12363	//    * Must match the identifier of an existing DBInstance.
12364	//
12365	// DBInstanceIdentifier is a required field
12366	DBInstanceIdentifier *string `type:"string" required:"true"`
12367
12368	// The new instance identifier for the instance when renaming an instance. When
12369	// you change the instance identifier, an instance reboot occurs immediately
12370	// if you set Apply Immediately to true. It occurs during the next maintenance
12371	// window if you set Apply Immediately to false. This value is stored as a lowercase
12372	// string.
12373	//
12374	// Constraints:
12375	//
12376	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
12377	//
12378	//    * The first character must be a letter.
12379	//
12380	//    * Cannot end with a hyphen or contain two consecutive hyphens.
12381	//
12382	// Example: mydbinstance
12383	NewDBInstanceIdentifier *string `type:"string"`
12384
12385	// The weekly time range (in UTC) during which system maintenance can occur,
12386	// which might result in an outage. Changing this parameter doesn't result in
12387	// an outage except in the following situation, and the change is asynchronously
12388	// applied as soon as possible. If there are pending actions that cause a reboot,
12389	// and the maintenance window is changed to include the current time, changing
12390	// this parameter causes a reboot of the instance. If you are moving this window
12391	// to the current time, there must be at least 30 minutes between the current
12392	// time and end of the window to ensure that pending changes are applied.
12393	//
12394	// Default: Uses existing setting.
12395	//
12396	// Format: ddd:hh24:mi-ddd:hh24:mi
12397	//
12398	// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
12399	//
12400	// Constraints: Must be at least 30 minutes.
12401	PreferredMaintenanceWindow *string `type:"string"`
12402
12403	// A value that specifies the order in which an Amazon DocumentDB replica is
12404	// promoted to the primary instance after a failure of the existing primary
12405	// instance.
12406	//
12407	// Default: 1
12408	//
12409	// Valid values: 0-15
12410	PromotionTier *int64 `type:"integer"`
12411}
12412
12413// String returns the string representation
12414func (s ModifyDBInstanceInput) String() string {
12415	return awsutil.Prettify(s)
12416}
12417
12418// GoString returns the string representation
12419func (s ModifyDBInstanceInput) GoString() string {
12420	return s.String()
12421}
12422
12423// Validate inspects the fields of the type to determine if they are valid.
12424func (s *ModifyDBInstanceInput) Validate() error {
12425	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
12426	if s.DBInstanceIdentifier == nil {
12427		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
12428	}
12429
12430	if invalidParams.Len() > 0 {
12431		return invalidParams
12432	}
12433	return nil
12434}
12435
12436// SetApplyImmediately sets the ApplyImmediately field's value.
12437func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
12438	s.ApplyImmediately = &v
12439	return s
12440}
12441
12442// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
12443func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
12444	s.AutoMinorVersionUpgrade = &v
12445	return s
12446}
12447
12448// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
12449func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
12450	s.CACertificateIdentifier = &v
12451	return s
12452}
12453
12454// SetDBInstanceClass sets the DBInstanceClass field's value.
12455func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
12456	s.DBInstanceClass = &v
12457	return s
12458}
12459
12460// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
12461func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
12462	s.DBInstanceIdentifier = &v
12463	return s
12464}
12465
12466// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
12467func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
12468	s.NewDBInstanceIdentifier = &v
12469	return s
12470}
12471
12472// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
12473func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
12474	s.PreferredMaintenanceWindow = &v
12475	return s
12476}
12477
12478// SetPromotionTier sets the PromotionTier field's value.
12479func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
12480	s.PromotionTier = &v
12481	return s
12482}
12483
12484type ModifyDBInstanceOutput struct {
12485	_ struct{} `type:"structure"`
12486
12487	// Detailed information about an instance.
12488	DBInstance *DBInstance `type:"structure"`
12489}
12490
12491// String returns the string representation
12492func (s ModifyDBInstanceOutput) String() string {
12493	return awsutil.Prettify(s)
12494}
12495
12496// GoString returns the string representation
12497func (s ModifyDBInstanceOutput) GoString() string {
12498	return s.String()
12499}
12500
12501// SetDBInstance sets the DBInstance field's value.
12502func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
12503	s.DBInstance = v
12504	return s
12505}
12506
12507// Represents the input to ModifyDBSubnetGroup.
12508type ModifyDBSubnetGroupInput struct {
12509	_ struct{} `type:"structure"`
12510
12511	// The description for the subnet group.
12512	DBSubnetGroupDescription *string `type:"string"`
12513
12514	// The name for the subnet group. This value is stored as a lowercase string.
12515	// You can't modify the default subnet group.
12516	//
12517	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
12518	// default.
12519	//
12520	// Example: mySubnetgroup
12521	//
12522	// DBSubnetGroupName is a required field
12523	DBSubnetGroupName *string `type:"string" required:"true"`
12524
12525	// The Amazon EC2 subnet IDs for the subnet group.
12526	//
12527	// SubnetIds is a required field
12528	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
12529}
12530
12531// String returns the string representation
12532func (s ModifyDBSubnetGroupInput) String() string {
12533	return awsutil.Prettify(s)
12534}
12535
12536// GoString returns the string representation
12537func (s ModifyDBSubnetGroupInput) GoString() string {
12538	return s.String()
12539}
12540
12541// Validate inspects the fields of the type to determine if they are valid.
12542func (s *ModifyDBSubnetGroupInput) Validate() error {
12543	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
12544	if s.DBSubnetGroupName == nil {
12545		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
12546	}
12547	if s.SubnetIds == nil {
12548		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
12549	}
12550
12551	if invalidParams.Len() > 0 {
12552		return invalidParams
12553	}
12554	return nil
12555}
12556
12557// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
12558func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
12559	s.DBSubnetGroupDescription = &v
12560	return s
12561}
12562
12563// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
12564func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
12565	s.DBSubnetGroupName = &v
12566	return s
12567}
12568
12569// SetSubnetIds sets the SubnetIds field's value.
12570func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
12571	s.SubnetIds = v
12572	return s
12573}
12574
12575type ModifyDBSubnetGroupOutput struct {
12576	_ struct{} `type:"structure"`
12577
12578	// Detailed information about a subnet group.
12579	DBSubnetGroup *DBSubnetGroup `type:"structure"`
12580}
12581
12582// String returns the string representation
12583func (s ModifyDBSubnetGroupOutput) String() string {
12584	return awsutil.Prettify(s)
12585}
12586
12587// GoString returns the string representation
12588func (s ModifyDBSubnetGroupOutput) GoString() string {
12589	return s.String()
12590}
12591
12592// SetDBSubnetGroup sets the DBSubnetGroup field's value.
12593func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
12594	s.DBSubnetGroup = v
12595	return s
12596}
12597
12598// Represents the input to ModifyEventSubscription.
12599type ModifyEventSubscriptionInput struct {
12600	_ struct{} `type:"structure"`
12601
12602	// A Boolean value; set to true to activate the subscription.
12603	Enabled *bool `type:"boolean"`
12604
12605	// A list of event categories for a SourceType that you want to subscribe to.
12606	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
12607
12608	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
12609	// The ARN is created by Amazon SNS when you create a topic and subscribe to
12610	// it.
12611	SnsTopicArn *string `type:"string"`
12612
12613	// The type of source that is generating the events. For example, if you want
12614	// to be notified of events generated by an instance, set this parameter to
12615	// db-instance. If this value is not specified, all events are returned.
12616	//
12617	// Valid values: db-instance, db-parameter-group, db-security-group
12618	SourceType *string `type:"string"`
12619
12620	// The name of the Amazon DocumentDB event notification subscription.
12621	//
12622	// SubscriptionName is a required field
12623	SubscriptionName *string `type:"string" required:"true"`
12624}
12625
12626// String returns the string representation
12627func (s ModifyEventSubscriptionInput) String() string {
12628	return awsutil.Prettify(s)
12629}
12630
12631// GoString returns the string representation
12632func (s ModifyEventSubscriptionInput) GoString() string {
12633	return s.String()
12634}
12635
12636// Validate inspects the fields of the type to determine if they are valid.
12637func (s *ModifyEventSubscriptionInput) Validate() error {
12638	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
12639	if s.SubscriptionName == nil {
12640		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
12641	}
12642
12643	if invalidParams.Len() > 0 {
12644		return invalidParams
12645	}
12646	return nil
12647}
12648
12649// SetEnabled sets the Enabled field's value.
12650func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
12651	s.Enabled = &v
12652	return s
12653}
12654
12655// SetEventCategories sets the EventCategories field's value.
12656func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
12657	s.EventCategories = v
12658	return s
12659}
12660
12661// SetSnsTopicArn sets the SnsTopicArn field's value.
12662func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
12663	s.SnsTopicArn = &v
12664	return s
12665}
12666
12667// SetSourceType sets the SourceType field's value.
12668func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
12669	s.SourceType = &v
12670	return s
12671}
12672
12673// SetSubscriptionName sets the SubscriptionName field's value.
12674func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
12675	s.SubscriptionName = &v
12676	return s
12677}
12678
12679type ModifyEventSubscriptionOutput struct {
12680	_ struct{} `type:"structure"`
12681
12682	// Detailed information about an event to which you have subscribed.
12683	EventSubscription *EventSubscription `type:"structure"`
12684}
12685
12686// String returns the string representation
12687func (s ModifyEventSubscriptionOutput) String() string {
12688	return awsutil.Prettify(s)
12689}
12690
12691// GoString returns the string representation
12692func (s ModifyEventSubscriptionOutput) GoString() string {
12693	return s.String()
12694}
12695
12696// SetEventSubscription sets the EventSubscription field's value.
12697func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
12698	s.EventSubscription = v
12699	return s
12700}
12701
12702// Represents the input to ModifyGlobalCluster.
12703type ModifyGlobalClusterInput struct {
12704	_ struct{} `type:"structure"`
12705
12706	// Indicates if the global cluster has deletion protection enabled. The global
12707	// cluster can't be deleted when deletion protection is enabled.
12708	DeletionProtection *bool `type:"boolean"`
12709
12710	// The identifier for the global cluster being modified. This parameter isn't
12711	// case-sensitive.
12712	//
12713	// Constraints:
12714	//
12715	//    * Must match the identifier of an existing global cluster.
12716	//
12717	// GlobalClusterIdentifier is a required field
12718	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
12719
12720	// The new identifier for a global cluster when you modify a global cluster.
12721	// This value is stored as a lowercase string.
12722	//
12723	//    * Must contain from 1 to 63 letters, numbers, or hyphens The first character
12724	//    must be a letter Can't end with a hyphen or contain two consecutive hyphens
12725	//
12726	// Example: my-cluster2
12727	NewGlobalClusterIdentifier *string `min:"1" type:"string"`
12728}
12729
12730// String returns the string representation
12731func (s ModifyGlobalClusterInput) String() string {
12732	return awsutil.Prettify(s)
12733}
12734
12735// GoString returns the string representation
12736func (s ModifyGlobalClusterInput) GoString() string {
12737	return s.String()
12738}
12739
12740// Validate inspects the fields of the type to determine if they are valid.
12741func (s *ModifyGlobalClusterInput) Validate() error {
12742	invalidParams := request.ErrInvalidParams{Context: "ModifyGlobalClusterInput"}
12743	if s.GlobalClusterIdentifier == nil {
12744		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
12745	}
12746	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
12747		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
12748	}
12749	if s.NewGlobalClusterIdentifier != nil && len(*s.NewGlobalClusterIdentifier) < 1 {
12750		invalidParams.Add(request.NewErrParamMinLen("NewGlobalClusterIdentifier", 1))
12751	}
12752
12753	if invalidParams.Len() > 0 {
12754		return invalidParams
12755	}
12756	return nil
12757}
12758
12759// SetDeletionProtection sets the DeletionProtection field's value.
12760func (s *ModifyGlobalClusterInput) SetDeletionProtection(v bool) *ModifyGlobalClusterInput {
12761	s.DeletionProtection = &v
12762	return s
12763}
12764
12765// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
12766func (s *ModifyGlobalClusterInput) SetGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
12767	s.GlobalClusterIdentifier = &v
12768	return s
12769}
12770
12771// SetNewGlobalClusterIdentifier sets the NewGlobalClusterIdentifier field's value.
12772func (s *ModifyGlobalClusterInput) SetNewGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
12773	s.NewGlobalClusterIdentifier = &v
12774	return s
12775}
12776
12777type ModifyGlobalClusterOutput struct {
12778	_ struct{} `type:"structure"`
12779
12780	// A data type representing an Amazon DocumentDB global cluster.
12781	GlobalCluster *GlobalCluster `type:"structure"`
12782}
12783
12784// String returns the string representation
12785func (s ModifyGlobalClusterOutput) String() string {
12786	return awsutil.Prettify(s)
12787}
12788
12789// GoString returns the string representation
12790func (s ModifyGlobalClusterOutput) GoString() string {
12791	return s.String()
12792}
12793
12794// SetGlobalCluster sets the GlobalCluster field's value.
12795func (s *ModifyGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *ModifyGlobalClusterOutput {
12796	s.GlobalCluster = v
12797	return s
12798}
12799
12800// The options that are available for an instance.
12801type OrderableDBInstanceOption struct {
12802	_ struct{} `type:"structure"`
12803
12804	// A list of Availability Zones for an instance.
12805	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
12806
12807	// The instance class for an instance.
12808	DBInstanceClass *string `type:"string"`
12809
12810	// The engine type of an instance.
12811	Engine *string `type:"string"`
12812
12813	// The engine version of an instance.
12814	EngineVersion *string `type:"string"`
12815
12816	// The license model for an instance.
12817	LicenseModel *string `type:"string"`
12818
12819	// Indicates whether an instance is in a virtual private cloud (VPC).
12820	Vpc *bool `type:"boolean"`
12821}
12822
12823// String returns the string representation
12824func (s OrderableDBInstanceOption) String() string {
12825	return awsutil.Prettify(s)
12826}
12827
12828// GoString returns the string representation
12829func (s OrderableDBInstanceOption) GoString() string {
12830	return s.String()
12831}
12832
12833// SetAvailabilityZones sets the AvailabilityZones field's value.
12834func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
12835	s.AvailabilityZones = v
12836	return s
12837}
12838
12839// SetDBInstanceClass sets the DBInstanceClass field's value.
12840func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
12841	s.DBInstanceClass = &v
12842	return s
12843}
12844
12845// SetEngine sets the Engine field's value.
12846func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
12847	s.Engine = &v
12848	return s
12849}
12850
12851// SetEngineVersion sets the EngineVersion field's value.
12852func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
12853	s.EngineVersion = &v
12854	return s
12855}
12856
12857// SetLicenseModel sets the LicenseModel field's value.
12858func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
12859	s.LicenseModel = &v
12860	return s
12861}
12862
12863// SetVpc sets the Vpc field's value.
12864func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
12865	s.Vpc = &v
12866	return s
12867}
12868
12869// Detailed information about an individual parameter.
12870type Parameter struct {
12871	_ struct{} `type:"structure"`
12872
12873	// Specifies the valid range of values for the parameter.
12874	AllowedValues *string `type:"string"`
12875
12876	// Indicates when to apply parameter updates.
12877	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
12878
12879	// Specifies the engine-specific parameters type.
12880	ApplyType *string `type:"string"`
12881
12882	// Specifies the valid data type for the parameter.
12883	DataType *string `type:"string"`
12884
12885	// Provides a description of the parameter.
12886	Description *string `type:"string"`
12887
12888	// Indicates whether (true) or not (false) the parameter can be modified. Some
12889	// parameters have security or operational implications that prevent them from
12890	// being changed.
12891	IsModifiable *bool `type:"boolean"`
12892
12893	// The earliest engine version to which the parameter can apply.
12894	MinimumEngineVersion *string `type:"string"`
12895
12896	// Specifies the name of the parameter.
12897	ParameterName *string `type:"string"`
12898
12899	// Specifies the value of the parameter.
12900	ParameterValue *string `type:"string"`
12901
12902	// Indicates the source of the parameter value.
12903	Source *string `type:"string"`
12904}
12905
12906// String returns the string representation
12907func (s Parameter) String() string {
12908	return awsutil.Prettify(s)
12909}
12910
12911// GoString returns the string representation
12912func (s Parameter) GoString() string {
12913	return s.String()
12914}
12915
12916// SetAllowedValues sets the AllowedValues field's value.
12917func (s *Parameter) SetAllowedValues(v string) *Parameter {
12918	s.AllowedValues = &v
12919	return s
12920}
12921
12922// SetApplyMethod sets the ApplyMethod field's value.
12923func (s *Parameter) SetApplyMethod(v string) *Parameter {
12924	s.ApplyMethod = &v
12925	return s
12926}
12927
12928// SetApplyType sets the ApplyType field's value.
12929func (s *Parameter) SetApplyType(v string) *Parameter {
12930	s.ApplyType = &v
12931	return s
12932}
12933
12934// SetDataType sets the DataType field's value.
12935func (s *Parameter) SetDataType(v string) *Parameter {
12936	s.DataType = &v
12937	return s
12938}
12939
12940// SetDescription sets the Description field's value.
12941func (s *Parameter) SetDescription(v string) *Parameter {
12942	s.Description = &v
12943	return s
12944}
12945
12946// SetIsModifiable sets the IsModifiable field's value.
12947func (s *Parameter) SetIsModifiable(v bool) *Parameter {
12948	s.IsModifiable = &v
12949	return s
12950}
12951
12952// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
12953func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
12954	s.MinimumEngineVersion = &v
12955	return s
12956}
12957
12958// SetParameterName sets the ParameterName field's value.
12959func (s *Parameter) SetParameterName(v string) *Parameter {
12960	s.ParameterName = &v
12961	return s
12962}
12963
12964// SetParameterValue sets the ParameterValue field's value.
12965func (s *Parameter) SetParameterValue(v string) *Parameter {
12966	s.ParameterValue = &v
12967	return s
12968}
12969
12970// SetSource sets the Source field's value.
12971func (s *Parameter) SetSource(v string) *Parameter {
12972	s.Source = &v
12973	return s
12974}
12975
12976// A list of the log types whose configuration is still pending. These log types
12977// are in the process of being activated or deactivated.
12978type PendingCloudwatchLogsExports struct {
12979	_ struct{} `type:"structure"`
12980
12981	// Log types that are in the process of being enabled. After they are enabled,
12982	// these log types are exported to Amazon CloudWatch Logs.
12983	LogTypesToDisable []*string `type:"list"`
12984
12985	// Log types that are in the process of being deactivated. After they are deactivated,
12986	// these log types aren't exported to CloudWatch Logs.
12987	LogTypesToEnable []*string `type:"list"`
12988}
12989
12990// String returns the string representation
12991func (s PendingCloudwatchLogsExports) String() string {
12992	return awsutil.Prettify(s)
12993}
12994
12995// GoString returns the string representation
12996func (s PendingCloudwatchLogsExports) GoString() string {
12997	return s.String()
12998}
12999
13000// SetLogTypesToDisable sets the LogTypesToDisable field's value.
13001func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
13002	s.LogTypesToDisable = v
13003	return s
13004}
13005
13006// SetLogTypesToEnable sets the LogTypesToEnable field's value.
13007func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
13008	s.LogTypesToEnable = v
13009	return s
13010}
13011
13012// Provides information about a pending maintenance action for a resource.
13013type PendingMaintenanceAction struct {
13014	_ struct{} `type:"structure"`
13015
13016	// The type of pending maintenance action that is available for the resource.
13017	Action *string `type:"string"`
13018
13019	// The date of the maintenance window when the action is applied. The maintenance
13020	// action is applied to the resource during its first maintenance window after
13021	// this date. If this date is specified, any next-maintenance opt-in requests
13022	// are ignored.
13023	AutoAppliedAfterDate *time.Time `type:"timestamp"`
13024
13025	// The effective date when the pending maintenance action is applied to the
13026	// resource.
13027	CurrentApplyDate *time.Time `type:"timestamp"`
13028
13029	// A description providing more detail about the maintenance action.
13030	Description *string `type:"string"`
13031
13032	// The date when the maintenance action is automatically applied. The maintenance
13033	// action is applied to the resource on this date regardless of the maintenance
13034	// window for the resource. If this date is specified, any immediate opt-in
13035	// requests are ignored.
13036	ForcedApplyDate *time.Time `type:"timestamp"`
13037
13038	// Indicates the type of opt-in request that has been received for the resource.
13039	OptInStatus *string `type:"string"`
13040}
13041
13042// String returns the string representation
13043func (s PendingMaintenanceAction) String() string {
13044	return awsutil.Prettify(s)
13045}
13046
13047// GoString returns the string representation
13048func (s PendingMaintenanceAction) GoString() string {
13049	return s.String()
13050}
13051
13052// SetAction sets the Action field's value.
13053func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
13054	s.Action = &v
13055	return s
13056}
13057
13058// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
13059func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
13060	s.AutoAppliedAfterDate = &v
13061	return s
13062}
13063
13064// SetCurrentApplyDate sets the CurrentApplyDate field's value.
13065func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
13066	s.CurrentApplyDate = &v
13067	return s
13068}
13069
13070// SetDescription sets the Description field's value.
13071func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
13072	s.Description = &v
13073	return s
13074}
13075
13076// SetForcedApplyDate sets the ForcedApplyDate field's value.
13077func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
13078	s.ForcedApplyDate = &v
13079	return s
13080}
13081
13082// SetOptInStatus sets the OptInStatus field's value.
13083func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
13084	s.OptInStatus = &v
13085	return s
13086}
13087
13088// One or more modified settings for an instance. These modified settings have
13089// been requested, but haven't been applied yet.
13090type PendingModifiedValues struct {
13091	_ struct{} `type:"structure"`
13092
13093	// Contains the new AllocatedStorage size for then instance that will be applied
13094	// or is currently being applied.
13095	AllocatedStorage *int64 `type:"integer"`
13096
13097	// Specifies the pending number of days for which automated backups are retained.
13098	BackupRetentionPeriod *int64 `type:"integer"`
13099
13100	// Specifies the identifier of the certificate authority (CA) certificate for
13101	// the DB instance.
13102	CACertificateIdentifier *string `type:"string"`
13103
13104	// Contains the new DBInstanceClass for the instance that will be applied or
13105	// is currently being applied.
13106	DBInstanceClass *string `type:"string"`
13107
13108	// Contains the new DBInstanceIdentifier for the instance that will be applied
13109	// or is currently being applied.
13110	DBInstanceIdentifier *string `type:"string"`
13111
13112	// The new subnet group for the instance.
13113	DBSubnetGroupName *string `type:"string"`
13114
13115	// Indicates the database engine version.
13116	EngineVersion *string `type:"string"`
13117
13118	// Specifies the new Provisioned IOPS value for the instance that will be applied
13119	// or is currently being applied.
13120	Iops *int64 `type:"integer"`
13121
13122	// The license model for the instance.
13123	//
13124	// Valid values: license-included, bring-your-own-license, general-public-license
13125	LicenseModel *string `type:"string"`
13126
13127	// Contains the pending or currently in-progress change of the master credentials
13128	// for the instance.
13129	MasterUserPassword *string `type:"string"`
13130
13131	// Indicates that the Single-AZ instance is to change to a Multi-AZ deployment.
13132	MultiAZ *bool `type:"boolean"`
13133
13134	// A list of the log types whose configuration is still pending. These log types
13135	// are in the process of being activated or deactivated.
13136	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
13137
13138	// Specifies the pending port for the instance.
13139	Port *int64 `type:"integer"`
13140
13141	// Specifies the storage type to be associated with the instance.
13142	StorageType *string `type:"string"`
13143}
13144
13145// String returns the string representation
13146func (s PendingModifiedValues) String() string {
13147	return awsutil.Prettify(s)
13148}
13149
13150// GoString returns the string representation
13151func (s PendingModifiedValues) GoString() string {
13152	return s.String()
13153}
13154
13155// SetAllocatedStorage sets the AllocatedStorage field's value.
13156func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
13157	s.AllocatedStorage = &v
13158	return s
13159}
13160
13161// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
13162func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
13163	s.BackupRetentionPeriod = &v
13164	return s
13165}
13166
13167// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
13168func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
13169	s.CACertificateIdentifier = &v
13170	return s
13171}
13172
13173// SetDBInstanceClass sets the DBInstanceClass field's value.
13174func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
13175	s.DBInstanceClass = &v
13176	return s
13177}
13178
13179// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13180func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
13181	s.DBInstanceIdentifier = &v
13182	return s
13183}
13184
13185// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
13186func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
13187	s.DBSubnetGroupName = &v
13188	return s
13189}
13190
13191// SetEngineVersion sets the EngineVersion field's value.
13192func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
13193	s.EngineVersion = &v
13194	return s
13195}
13196
13197// SetIops sets the Iops field's value.
13198func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
13199	s.Iops = &v
13200	return s
13201}
13202
13203// SetLicenseModel sets the LicenseModel field's value.
13204func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
13205	s.LicenseModel = &v
13206	return s
13207}
13208
13209// SetMasterUserPassword sets the MasterUserPassword field's value.
13210func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
13211	s.MasterUserPassword = &v
13212	return s
13213}
13214
13215// SetMultiAZ sets the MultiAZ field's value.
13216func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
13217	s.MultiAZ = &v
13218	return s
13219}
13220
13221// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
13222func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
13223	s.PendingCloudwatchLogsExports = v
13224	return s
13225}
13226
13227// SetPort sets the Port field's value.
13228func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
13229	s.Port = &v
13230	return s
13231}
13232
13233// SetStorageType sets the StorageType field's value.
13234func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
13235	s.StorageType = &v
13236	return s
13237}
13238
13239// Represents the input to RebootDBInstance.
13240type RebootDBInstanceInput struct {
13241	_ struct{} `type:"structure"`
13242
13243	// The instance identifier. This parameter is stored as a lowercase string.
13244	//
13245	// Constraints:
13246	//
13247	//    * Must match the identifier of an existing DBInstance.
13248	//
13249	// DBInstanceIdentifier is a required field
13250	DBInstanceIdentifier *string `type:"string" required:"true"`
13251
13252	// When true, the reboot is conducted through a Multi-AZ failover.
13253	//
13254	// Constraint: You can't specify true if the instance is not configured for
13255	// Multi-AZ.
13256	ForceFailover *bool `type:"boolean"`
13257}
13258
13259// String returns the string representation
13260func (s RebootDBInstanceInput) String() string {
13261	return awsutil.Prettify(s)
13262}
13263
13264// GoString returns the string representation
13265func (s RebootDBInstanceInput) GoString() string {
13266	return s.String()
13267}
13268
13269// Validate inspects the fields of the type to determine if they are valid.
13270func (s *RebootDBInstanceInput) Validate() error {
13271	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
13272	if s.DBInstanceIdentifier == nil {
13273		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
13274	}
13275
13276	if invalidParams.Len() > 0 {
13277		return invalidParams
13278	}
13279	return nil
13280}
13281
13282// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13283func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
13284	s.DBInstanceIdentifier = &v
13285	return s
13286}
13287
13288// SetForceFailover sets the ForceFailover field's value.
13289func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
13290	s.ForceFailover = &v
13291	return s
13292}
13293
13294type RebootDBInstanceOutput struct {
13295	_ struct{} `type:"structure"`
13296
13297	// Detailed information about an instance.
13298	DBInstance *DBInstance `type:"structure"`
13299}
13300
13301// String returns the string representation
13302func (s RebootDBInstanceOutput) String() string {
13303	return awsutil.Prettify(s)
13304}
13305
13306// GoString returns the string representation
13307func (s RebootDBInstanceOutput) GoString() string {
13308	return s.String()
13309}
13310
13311// SetDBInstance sets the DBInstance field's value.
13312func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
13313	s.DBInstance = v
13314	return s
13315}
13316
13317// Represents the input to RemoveFromGlobalCluster.
13318type RemoveFromGlobalClusterInput struct {
13319	_ struct{} `type:"structure"`
13320
13321	// The Amazon Resource Name (ARN) identifying the cluster that was detached
13322	// from the Amazon DocumentDB global cluster.
13323	//
13324	// DbClusterIdentifier is a required field
13325	DbClusterIdentifier *string `type:"string" required:"true"`
13326
13327	// The cluster identifier to detach from the Amazon DocumentDB global cluster.
13328	//
13329	// GlobalClusterIdentifier is a required field
13330	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
13331}
13332
13333// String returns the string representation
13334func (s RemoveFromGlobalClusterInput) String() string {
13335	return awsutil.Prettify(s)
13336}
13337
13338// GoString returns the string representation
13339func (s RemoveFromGlobalClusterInput) GoString() string {
13340	return s.String()
13341}
13342
13343// Validate inspects the fields of the type to determine if they are valid.
13344func (s *RemoveFromGlobalClusterInput) Validate() error {
13345	invalidParams := request.ErrInvalidParams{Context: "RemoveFromGlobalClusterInput"}
13346	if s.DbClusterIdentifier == nil {
13347		invalidParams.Add(request.NewErrParamRequired("DbClusterIdentifier"))
13348	}
13349	if s.GlobalClusterIdentifier == nil {
13350		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
13351	}
13352	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
13353		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
13354	}
13355
13356	if invalidParams.Len() > 0 {
13357		return invalidParams
13358	}
13359	return nil
13360}
13361
13362// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
13363func (s *RemoveFromGlobalClusterInput) SetDbClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
13364	s.DbClusterIdentifier = &v
13365	return s
13366}
13367
13368// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
13369func (s *RemoveFromGlobalClusterInput) SetGlobalClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
13370	s.GlobalClusterIdentifier = &v
13371	return s
13372}
13373
13374type RemoveFromGlobalClusterOutput struct {
13375	_ struct{} `type:"structure"`
13376
13377	// A data type representing an Amazon DocumentDB global cluster.
13378	GlobalCluster *GlobalCluster `type:"structure"`
13379}
13380
13381// String returns the string representation
13382func (s RemoveFromGlobalClusterOutput) String() string {
13383	return awsutil.Prettify(s)
13384}
13385
13386// GoString returns the string representation
13387func (s RemoveFromGlobalClusterOutput) GoString() string {
13388	return s.String()
13389}
13390
13391// SetGlobalCluster sets the GlobalCluster field's value.
13392func (s *RemoveFromGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *RemoveFromGlobalClusterOutput {
13393	s.GlobalCluster = v
13394	return s
13395}
13396
13397// Represents the input to RemoveSourceIdentifierFromSubscription.
13398type RemoveSourceIdentifierFromSubscriptionInput struct {
13399	_ struct{} `type:"structure"`
13400
13401	// The source identifier to be removed from the subscription, such as the instance
13402	// identifier for an instance, or the name of a security group.
13403	//
13404	// SourceIdentifier is a required field
13405	SourceIdentifier *string `type:"string" required:"true"`
13406
13407	// The name of the Amazon DocumentDB event notification subscription that you
13408	// want to remove a source identifier from.
13409	//
13410	// SubscriptionName is a required field
13411	SubscriptionName *string `type:"string" required:"true"`
13412}
13413
13414// String returns the string representation
13415func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
13416	return awsutil.Prettify(s)
13417}
13418
13419// GoString returns the string representation
13420func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
13421	return s.String()
13422}
13423
13424// Validate inspects the fields of the type to determine if they are valid.
13425func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
13426	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
13427	if s.SourceIdentifier == nil {
13428		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
13429	}
13430	if s.SubscriptionName == nil {
13431		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
13432	}
13433
13434	if invalidParams.Len() > 0 {
13435		return invalidParams
13436	}
13437	return nil
13438}
13439
13440// SetSourceIdentifier sets the SourceIdentifier field's value.
13441func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
13442	s.SourceIdentifier = &v
13443	return s
13444}
13445
13446// SetSubscriptionName sets the SubscriptionName field's value.
13447func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
13448	s.SubscriptionName = &v
13449	return s
13450}
13451
13452type RemoveSourceIdentifierFromSubscriptionOutput struct {
13453	_ struct{} `type:"structure"`
13454
13455	// Detailed information about an event to which you have subscribed.
13456	EventSubscription *EventSubscription `type:"structure"`
13457}
13458
13459// String returns the string representation
13460func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
13461	return awsutil.Prettify(s)
13462}
13463
13464// GoString returns the string representation
13465func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
13466	return s.String()
13467}
13468
13469// SetEventSubscription sets the EventSubscription field's value.
13470func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
13471	s.EventSubscription = v
13472	return s
13473}
13474
13475// Represents the input to RemoveTagsFromResource.
13476type RemoveTagsFromResourceInput struct {
13477	_ struct{} `type:"structure"`
13478
13479	// The Amazon DocumentDB resource that the tags are removed from. This value
13480	// is an Amazon Resource Name (ARN).
13481	//
13482	// ResourceName is a required field
13483	ResourceName *string `type:"string" required:"true"`
13484
13485	// The tag key (name) of the tag to be removed.
13486	//
13487	// TagKeys is a required field
13488	TagKeys []*string `type:"list" required:"true"`
13489}
13490
13491// String returns the string representation
13492func (s RemoveTagsFromResourceInput) String() string {
13493	return awsutil.Prettify(s)
13494}
13495
13496// GoString returns the string representation
13497func (s RemoveTagsFromResourceInput) GoString() string {
13498	return s.String()
13499}
13500
13501// Validate inspects the fields of the type to determine if they are valid.
13502func (s *RemoveTagsFromResourceInput) Validate() error {
13503	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
13504	if s.ResourceName == nil {
13505		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
13506	}
13507	if s.TagKeys == nil {
13508		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
13509	}
13510
13511	if invalidParams.Len() > 0 {
13512		return invalidParams
13513	}
13514	return nil
13515}
13516
13517// SetResourceName sets the ResourceName field's value.
13518func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
13519	s.ResourceName = &v
13520	return s
13521}
13522
13523// SetTagKeys sets the TagKeys field's value.
13524func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
13525	s.TagKeys = v
13526	return s
13527}
13528
13529type RemoveTagsFromResourceOutput struct {
13530	_ struct{} `type:"structure"`
13531}
13532
13533// String returns the string representation
13534func (s RemoveTagsFromResourceOutput) String() string {
13535	return awsutil.Prettify(s)
13536}
13537
13538// GoString returns the string representation
13539func (s RemoveTagsFromResourceOutput) GoString() string {
13540	return s.String()
13541}
13542
13543// Represents the input to ResetDBClusterParameterGroup.
13544type ResetDBClusterParameterGroupInput struct {
13545	_ struct{} `type:"structure"`
13546
13547	// The name of the cluster parameter group to reset.
13548	//
13549	// DBClusterParameterGroupName is a required field
13550	DBClusterParameterGroupName *string `type:"string" required:"true"`
13551
13552	// A list of parameter names in the cluster parameter group to reset to the
13553	// default values. You can't use this parameter if the ResetAllParameters parameter
13554	// is set to true.
13555	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
13556
13557	// A value that is set to true to reset all parameters in the cluster parameter
13558	// group to their default values, and false otherwise. You can't use this parameter
13559	// if there is a list of parameter names specified for the Parameters parameter.
13560	ResetAllParameters *bool `type:"boolean"`
13561}
13562
13563// String returns the string representation
13564func (s ResetDBClusterParameterGroupInput) String() string {
13565	return awsutil.Prettify(s)
13566}
13567
13568// GoString returns the string representation
13569func (s ResetDBClusterParameterGroupInput) GoString() string {
13570	return s.String()
13571}
13572
13573// Validate inspects the fields of the type to determine if they are valid.
13574func (s *ResetDBClusterParameterGroupInput) Validate() error {
13575	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
13576	if s.DBClusterParameterGroupName == nil {
13577		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
13578	}
13579
13580	if invalidParams.Len() > 0 {
13581		return invalidParams
13582	}
13583	return nil
13584}
13585
13586// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
13587func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
13588	s.DBClusterParameterGroupName = &v
13589	return s
13590}
13591
13592// SetParameters sets the Parameters field's value.
13593func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
13594	s.Parameters = v
13595	return s
13596}
13597
13598// SetResetAllParameters sets the ResetAllParameters field's value.
13599func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
13600	s.ResetAllParameters = &v
13601	return s
13602}
13603
13604// Contains the name of a cluster parameter group.
13605type ResetDBClusterParameterGroupOutput struct {
13606	_ struct{} `type:"structure"`
13607
13608	// The name of a cluster parameter group.
13609	//
13610	// Constraints:
13611	//
13612	//    * Must be from 1 to 255 letters or numbers.
13613	//
13614	//    * The first character must be a letter.
13615	//
13616	//    * Cannot end with a hyphen or contain two consecutive hyphens.
13617	//
13618	// This value is stored as a lowercase string.
13619	DBClusterParameterGroupName *string `type:"string"`
13620}
13621
13622// String returns the string representation
13623func (s ResetDBClusterParameterGroupOutput) String() string {
13624	return awsutil.Prettify(s)
13625}
13626
13627// GoString returns the string representation
13628func (s ResetDBClusterParameterGroupOutput) GoString() string {
13629	return s.String()
13630}
13631
13632// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
13633func (s *ResetDBClusterParameterGroupOutput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupOutput {
13634	s.DBClusterParameterGroupName = &v
13635	return s
13636}
13637
13638// Represents the output of ApplyPendingMaintenanceAction.
13639type ResourcePendingMaintenanceActions struct {
13640	_ struct{} `type:"structure"`
13641
13642	// A list that provides details about the pending maintenance actions for the
13643	// resource.
13644	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
13645
13646	// The Amazon Resource Name (ARN) of the resource that has pending maintenance
13647	// actions.
13648	ResourceIdentifier *string `type:"string"`
13649}
13650
13651// String returns the string representation
13652func (s ResourcePendingMaintenanceActions) String() string {
13653	return awsutil.Prettify(s)
13654}
13655
13656// GoString returns the string representation
13657func (s ResourcePendingMaintenanceActions) GoString() string {
13658	return s.String()
13659}
13660
13661// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
13662func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
13663	s.PendingMaintenanceActionDetails = v
13664	return s
13665}
13666
13667// SetResourceIdentifier sets the ResourceIdentifier field's value.
13668func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
13669	s.ResourceIdentifier = &v
13670	return s
13671}
13672
13673// Represents the input to RestoreDBClusterFromSnapshot.
13674type RestoreDBClusterFromSnapshotInput struct {
13675	_ struct{} `type:"structure"`
13676
13677	// Provides the list of Amazon EC2 Availability Zones that instances in the
13678	// restored DB cluster can be created in.
13679	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
13680
13681	// The name of the cluster to create from the snapshot or cluster snapshot.
13682	// This parameter isn't case sensitive.
13683	//
13684	// Constraints:
13685	//
13686	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
13687	//
13688	//    * The first character must be a letter.
13689	//
13690	//    * Cannot end with a hyphen or contain two consecutive hyphens.
13691	//
13692	// Example: my-snapshot-id
13693	//
13694	// DBClusterIdentifier is a required field
13695	DBClusterIdentifier *string `type:"string" required:"true"`
13696
13697	// The name of the subnet group to use for the new cluster.
13698	//
13699	// Constraints: If provided, must match the name of an existing DBSubnetGroup.
13700	//
13701	// Example: mySubnetgroup
13702	DBSubnetGroupName *string `type:"string"`
13703
13704	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
13705	// the cluster cannot be deleted unless it is modified and DeletionProtection
13706	// is disabled. DeletionProtection protects clusters from being accidentally
13707	// deleted.
13708	DeletionProtection *bool `type:"boolean"`
13709
13710	// A list of log types that must be enabled for exporting to Amazon CloudWatch
13711	// Logs.
13712	EnableCloudwatchLogsExports []*string `type:"list"`
13713
13714	// The database engine to use for the new cluster.
13715	//
13716	// Default: The same as source.
13717	//
13718	// Constraint: Must be compatible with the engine of the source.
13719	//
13720	// Engine is a required field
13721	Engine *string `type:"string" required:"true"`
13722
13723	// The version of the database engine to use for the new cluster.
13724	EngineVersion *string `type:"string"`
13725
13726	// The KMS key identifier to use when restoring an encrypted cluster from a
13727	// DB snapshot or cluster snapshot.
13728	//
13729	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
13730	// key. If you are restoring a cluster with the same account that owns the KMS
13731	// encryption key used to encrypt the new cluster, then you can use the KMS
13732	// key alias instead of the ARN for the KMS encryption key.
13733	//
13734	// If you do not specify a value for the KmsKeyId parameter, then the following
13735	// occurs:
13736	//
13737	//    * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted,
13738	//    then the restored cluster is encrypted using the KMS key that was used
13739	//    to encrypt the snapshot or the cluster snapshot.
13740	//
13741	//    * If the snapshot or the cluster snapshot in SnapshotIdentifier is not
13742	//    encrypted, then the restored DB cluster is not encrypted.
13743	KmsKeyId *string `type:"string"`
13744
13745	// The port number on which the new cluster accepts connections.
13746	//
13747	// Constraints: Must be a value from 1150 to 65535.
13748	//
13749	// Default: The same port as the original cluster.
13750	Port *int64 `type:"integer"`
13751
13752	// The identifier for the snapshot or cluster snapshot to restore from.
13753	//
13754	// You can use either the name or the Amazon Resource Name (ARN) to specify
13755	// a cluster snapshot. However, you can use only the ARN to specify a snapshot.
13756	//
13757	// Constraints:
13758	//
13759	//    * Must match the identifier of an existing snapshot.
13760	//
13761	// SnapshotIdentifier is a required field
13762	SnapshotIdentifier *string `type:"string" required:"true"`
13763
13764	// The tags to be assigned to the restored cluster.
13765	Tags []*Tag `locationNameList:"Tag" type:"list"`
13766
13767	// A list of virtual private cloud (VPC) security groups that the new cluster
13768	// will belong to.
13769	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
13770}
13771
13772// String returns the string representation
13773func (s RestoreDBClusterFromSnapshotInput) String() string {
13774	return awsutil.Prettify(s)
13775}
13776
13777// GoString returns the string representation
13778func (s RestoreDBClusterFromSnapshotInput) GoString() string {
13779	return s.String()
13780}
13781
13782// Validate inspects the fields of the type to determine if they are valid.
13783func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
13784	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
13785	if s.DBClusterIdentifier == nil {
13786		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
13787	}
13788	if s.Engine == nil {
13789		invalidParams.Add(request.NewErrParamRequired("Engine"))
13790	}
13791	if s.SnapshotIdentifier == nil {
13792		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
13793	}
13794
13795	if invalidParams.Len() > 0 {
13796		return invalidParams
13797	}
13798	return nil
13799}
13800
13801// SetAvailabilityZones sets the AvailabilityZones field's value.
13802func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
13803	s.AvailabilityZones = v
13804	return s
13805}
13806
13807// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
13808func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
13809	s.DBClusterIdentifier = &v
13810	return s
13811}
13812
13813// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
13814func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
13815	s.DBSubnetGroupName = &v
13816	return s
13817}
13818
13819// SetDeletionProtection sets the DeletionProtection field's value.
13820func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
13821	s.DeletionProtection = &v
13822	return s
13823}
13824
13825// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
13826func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
13827	s.EnableCloudwatchLogsExports = v
13828	return s
13829}
13830
13831// SetEngine sets the Engine field's value.
13832func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
13833	s.Engine = &v
13834	return s
13835}
13836
13837// SetEngineVersion sets the EngineVersion field's value.
13838func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
13839	s.EngineVersion = &v
13840	return s
13841}
13842
13843// SetKmsKeyId sets the KmsKeyId field's value.
13844func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
13845	s.KmsKeyId = &v
13846	return s
13847}
13848
13849// SetPort sets the Port field's value.
13850func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
13851	s.Port = &v
13852	return s
13853}
13854
13855// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
13856func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
13857	s.SnapshotIdentifier = &v
13858	return s
13859}
13860
13861// SetTags sets the Tags field's value.
13862func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
13863	s.Tags = v
13864	return s
13865}
13866
13867// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
13868func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
13869	s.VpcSecurityGroupIds = v
13870	return s
13871}
13872
13873type RestoreDBClusterFromSnapshotOutput struct {
13874	_ struct{} `type:"structure"`
13875
13876	// Detailed information about a cluster.
13877	DBCluster *DBCluster `type:"structure"`
13878}
13879
13880// String returns the string representation
13881func (s RestoreDBClusterFromSnapshotOutput) String() string {
13882	return awsutil.Prettify(s)
13883}
13884
13885// GoString returns the string representation
13886func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
13887	return s.String()
13888}
13889
13890// SetDBCluster sets the DBCluster field's value.
13891func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
13892	s.DBCluster = v
13893	return s
13894}
13895
13896// Represents the input to RestoreDBClusterToPointInTime.
13897type RestoreDBClusterToPointInTimeInput struct {
13898	_ struct{} `type:"structure"`
13899
13900	// The name of the new cluster to be created.
13901	//
13902	// Constraints:
13903	//
13904	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
13905	//
13906	//    * The first character must be a letter.
13907	//
13908	//    * Cannot end with a hyphen or contain two consecutive hyphens.
13909	//
13910	// DBClusterIdentifier is a required field
13911	DBClusterIdentifier *string `type:"string" required:"true"`
13912
13913	// The subnet group name to use for the new cluster.
13914	//
13915	// Constraints: If provided, must match the name of an existing DBSubnetGroup.
13916	//
13917	// Example: mySubnetgroup
13918	DBSubnetGroupName *string `type:"string"`
13919
13920	// Specifies whether this cluster can be deleted. If DeletionProtection is enabled,
13921	// the cluster cannot be deleted unless it is modified and DeletionProtection
13922	// is disabled. DeletionProtection protects clusters from being accidentally
13923	// deleted.
13924	DeletionProtection *bool `type:"boolean"`
13925
13926	// A list of log types that must be enabled for exporting to Amazon CloudWatch
13927	// Logs.
13928	EnableCloudwatchLogsExports []*string `type:"list"`
13929
13930	// The KMS key identifier to use when restoring an encrypted cluster from an
13931	// encrypted cluster.
13932	//
13933	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
13934	// key. If you are restoring a cluster with the same account that owns the KMS
13935	// encryption key used to encrypt the new cluster, then you can use the KMS
13936	// key alias instead of the ARN for the KMS encryption key.
13937	//
13938	// You can restore to a new cluster and encrypt the new cluster with an KMS
13939	// key that is different from the KMS key used to encrypt the source cluster.
13940	// The new DB cluster is encrypted with the KMS key identified by the KmsKeyId
13941	// parameter.
13942	//
13943	// If you do not specify a value for the KmsKeyId parameter, then the following
13944	// occurs:
13945	//
13946	//    * If the cluster is encrypted, then the restored cluster is encrypted
13947	//    using the KMS key that was used to encrypt the source cluster.
13948	//
13949	//    * If the cluster is not encrypted, then the restored cluster is not encrypted.
13950	//
13951	// If DBClusterIdentifier refers to a cluster that is not encrypted, then the
13952	// restore request is rejected.
13953	KmsKeyId *string `type:"string"`
13954
13955	// The port number on which the new cluster accepts connections.
13956	//
13957	// Constraints: Must be a value from 1150 to 65535.
13958	//
13959	// Default: The default port for the engine.
13960	Port *int64 `type:"integer"`
13961
13962	// The date and time to restore the cluster to.
13963	//
13964	// Valid values: A time in Universal Coordinated Time (UTC) format.
13965	//
13966	// Constraints:
13967	//
13968	//    * Must be before the latest restorable time for the instance.
13969	//
13970	//    * Must be specified if the UseLatestRestorableTime parameter is not provided.
13971	//
13972	//    * Cannot be specified if the UseLatestRestorableTime parameter is true.
13973	//
13974	//    * Cannot be specified if the RestoreType parameter is copy-on-write.
13975	//
13976	// Example: 2015-03-07T23:45:00Z
13977	RestoreToTime *time.Time `type:"timestamp"`
13978
13979	// The identifier of the source cluster from which to restore.
13980	//
13981	// Constraints:
13982	//
13983	//    * Must match the identifier of an existing DBCluster.
13984	//
13985	// SourceDBClusterIdentifier is a required field
13986	SourceDBClusterIdentifier *string `type:"string" required:"true"`
13987
13988	// The tags to be assigned to the restored cluster.
13989	Tags []*Tag `locationNameList:"Tag" type:"list"`
13990
13991	// A value that is set to true to restore the cluster to the latest restorable
13992	// backup time, and false otherwise.
13993	//
13994	// Default: false
13995	//
13996	// Constraints: Cannot be specified if the RestoreToTime parameter is provided.
13997	UseLatestRestorableTime *bool `type:"boolean"`
13998
13999	// A list of VPC security groups that the new cluster belongs to.
14000	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
14001}
14002
14003// String returns the string representation
14004func (s RestoreDBClusterToPointInTimeInput) String() string {
14005	return awsutil.Prettify(s)
14006}
14007
14008// GoString returns the string representation
14009func (s RestoreDBClusterToPointInTimeInput) GoString() string {
14010	return s.String()
14011}
14012
14013// Validate inspects the fields of the type to determine if they are valid.
14014func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
14015	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
14016	if s.DBClusterIdentifier == nil {
14017		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
14018	}
14019	if s.SourceDBClusterIdentifier == nil {
14020		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
14021	}
14022
14023	if invalidParams.Len() > 0 {
14024		return invalidParams
14025	}
14026	return nil
14027}
14028
14029// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14030func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
14031	s.DBClusterIdentifier = &v
14032	return s
14033}
14034
14035// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
14036func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
14037	s.DBSubnetGroupName = &v
14038	return s
14039}
14040
14041// SetDeletionProtection sets the DeletionProtection field's value.
14042func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
14043	s.DeletionProtection = &v
14044	return s
14045}
14046
14047// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
14048func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
14049	s.EnableCloudwatchLogsExports = v
14050	return s
14051}
14052
14053// SetKmsKeyId sets the KmsKeyId field's value.
14054func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
14055	s.KmsKeyId = &v
14056	return s
14057}
14058
14059// SetPort sets the Port field's value.
14060func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
14061	s.Port = &v
14062	return s
14063}
14064
14065// SetRestoreToTime sets the RestoreToTime field's value.
14066func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
14067	s.RestoreToTime = &v
14068	return s
14069}
14070
14071// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
14072func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
14073	s.SourceDBClusterIdentifier = &v
14074	return s
14075}
14076
14077// SetTags sets the Tags field's value.
14078func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
14079	s.Tags = v
14080	return s
14081}
14082
14083// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
14084func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
14085	s.UseLatestRestorableTime = &v
14086	return s
14087}
14088
14089// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
14090func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
14091	s.VpcSecurityGroupIds = v
14092	return s
14093}
14094
14095type RestoreDBClusterToPointInTimeOutput struct {
14096	_ struct{} `type:"structure"`
14097
14098	// Detailed information about a cluster.
14099	DBCluster *DBCluster `type:"structure"`
14100}
14101
14102// String returns the string representation
14103func (s RestoreDBClusterToPointInTimeOutput) String() string {
14104	return awsutil.Prettify(s)
14105}
14106
14107// GoString returns the string representation
14108func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
14109	return s.String()
14110}
14111
14112// SetDBCluster sets the DBCluster field's value.
14113func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
14114	s.DBCluster = v
14115	return s
14116}
14117
14118type StartDBClusterInput struct {
14119	_ struct{} `type:"structure"`
14120
14121	// The identifier of the cluster to restart. Example: docdb-2019-05-28-15-24-52
14122	//
14123	// DBClusterIdentifier is a required field
14124	DBClusterIdentifier *string `type:"string" required:"true"`
14125}
14126
14127// String returns the string representation
14128func (s StartDBClusterInput) String() string {
14129	return awsutil.Prettify(s)
14130}
14131
14132// GoString returns the string representation
14133func (s StartDBClusterInput) GoString() string {
14134	return s.String()
14135}
14136
14137// Validate inspects the fields of the type to determine if they are valid.
14138func (s *StartDBClusterInput) Validate() error {
14139	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
14140	if s.DBClusterIdentifier == nil {
14141		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
14142	}
14143
14144	if invalidParams.Len() > 0 {
14145		return invalidParams
14146	}
14147	return nil
14148}
14149
14150// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14151func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
14152	s.DBClusterIdentifier = &v
14153	return s
14154}
14155
14156type StartDBClusterOutput struct {
14157	_ struct{} `type:"structure"`
14158
14159	// Detailed information about a cluster.
14160	DBCluster *DBCluster `type:"structure"`
14161}
14162
14163// String returns the string representation
14164func (s StartDBClusterOutput) String() string {
14165	return awsutil.Prettify(s)
14166}
14167
14168// GoString returns the string representation
14169func (s StartDBClusterOutput) GoString() string {
14170	return s.String()
14171}
14172
14173// SetDBCluster sets the DBCluster field's value.
14174func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
14175	s.DBCluster = v
14176	return s
14177}
14178
14179type StopDBClusterInput struct {
14180	_ struct{} `type:"structure"`
14181
14182	// The identifier of the cluster to stop. Example: docdb-2019-05-28-15-24-52
14183	//
14184	// DBClusterIdentifier is a required field
14185	DBClusterIdentifier *string `type:"string" required:"true"`
14186}
14187
14188// String returns the string representation
14189func (s StopDBClusterInput) String() string {
14190	return awsutil.Prettify(s)
14191}
14192
14193// GoString returns the string representation
14194func (s StopDBClusterInput) GoString() string {
14195	return s.String()
14196}
14197
14198// Validate inspects the fields of the type to determine if they are valid.
14199func (s *StopDBClusterInput) Validate() error {
14200	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
14201	if s.DBClusterIdentifier == nil {
14202		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
14203	}
14204
14205	if invalidParams.Len() > 0 {
14206		return invalidParams
14207	}
14208	return nil
14209}
14210
14211// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14212func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
14213	s.DBClusterIdentifier = &v
14214	return s
14215}
14216
14217type StopDBClusterOutput struct {
14218	_ struct{} `type:"structure"`
14219
14220	// Detailed information about a cluster.
14221	DBCluster *DBCluster `type:"structure"`
14222}
14223
14224// String returns the string representation
14225func (s StopDBClusterOutput) String() string {
14226	return awsutil.Prettify(s)
14227}
14228
14229// GoString returns the string representation
14230func (s StopDBClusterOutput) GoString() string {
14231	return s.String()
14232}
14233
14234// SetDBCluster sets the DBCluster field's value.
14235func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
14236	s.DBCluster = v
14237	return s
14238}
14239
14240// Detailed information about a subnet.
14241type Subnet struct {
14242	_ struct{} `type:"structure"`
14243
14244	// Specifies the Availability Zone for the subnet.
14245	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
14246
14247	// Specifies the identifier of the subnet.
14248	SubnetIdentifier *string `type:"string"`
14249
14250	// Specifies the status of the subnet.
14251	SubnetStatus *string `type:"string"`
14252}
14253
14254// String returns the string representation
14255func (s Subnet) String() string {
14256	return awsutil.Prettify(s)
14257}
14258
14259// GoString returns the string representation
14260func (s Subnet) GoString() string {
14261	return s.String()
14262}
14263
14264// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
14265func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
14266	s.SubnetAvailabilityZone = v
14267	return s
14268}
14269
14270// SetSubnetIdentifier sets the SubnetIdentifier field's value.
14271func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
14272	s.SubnetIdentifier = &v
14273	return s
14274}
14275
14276// SetSubnetStatus sets the SubnetStatus field's value.
14277func (s *Subnet) SetSubnetStatus(v string) *Subnet {
14278	s.SubnetStatus = &v
14279	return s
14280}
14281
14282// Metadata assigned to an Amazon DocumentDB resource consisting of a key-value
14283// pair.
14284type Tag struct {
14285	_ struct{} `type:"structure"`
14286
14287	// The required name of the tag. The string value can be from 1 to 128 Unicode
14288	// characters in length and can't be prefixed with "aws:" or "rds:". The string
14289	// can contain only the set of Unicode letters, digits, white space, '_', '.',
14290	// '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
14291	Key *string `type:"string"`
14292
14293	// The optional value of the tag. The string value can be from 1 to 256 Unicode
14294	// characters in length and can't be prefixed with "aws:" or "rds:". The string
14295	// can contain only the set of Unicode letters, digits, white space, '_', '.',
14296	// '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
14297	Value *string `type:"string"`
14298}
14299
14300// String returns the string representation
14301func (s Tag) String() string {
14302	return awsutil.Prettify(s)
14303}
14304
14305// GoString returns the string representation
14306func (s Tag) GoString() string {
14307	return s.String()
14308}
14309
14310// SetKey sets the Key field's value.
14311func (s *Tag) SetKey(v string) *Tag {
14312	s.Key = &v
14313	return s
14314}
14315
14316// SetValue sets the Value field's value.
14317func (s *Tag) SetValue(v string) *Tag {
14318	s.Value = &v
14319	return s
14320}
14321
14322// The version of the database engine that an instance can be upgraded to.
14323type UpgradeTarget struct {
14324	_ struct{} `type:"structure"`
14325
14326	// A value that indicates whether the target version is applied to any source
14327	// DB instances that have AutoMinorVersionUpgrade set to true.
14328	AutoUpgrade *bool `type:"boolean"`
14329
14330	// The version of the database engine that an instance can be upgraded to.
14331	Description *string `type:"string"`
14332
14333	// The name of the upgrade target database engine.
14334	Engine *string `type:"string"`
14335
14336	// The version number of the upgrade target database engine.
14337	EngineVersion *string `type:"string"`
14338
14339	// A value that indicates whether a database engine is upgraded to a major version.
14340	IsMajorVersionUpgrade *bool `type:"boolean"`
14341}
14342
14343// String returns the string representation
14344func (s UpgradeTarget) String() string {
14345	return awsutil.Prettify(s)
14346}
14347
14348// GoString returns the string representation
14349func (s UpgradeTarget) GoString() string {
14350	return s.String()
14351}
14352
14353// SetAutoUpgrade sets the AutoUpgrade field's value.
14354func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
14355	s.AutoUpgrade = &v
14356	return s
14357}
14358
14359// SetDescription sets the Description field's value.
14360func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
14361	s.Description = &v
14362	return s
14363}
14364
14365// SetEngine sets the Engine field's value.
14366func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
14367	s.Engine = &v
14368	return s
14369}
14370
14371// SetEngineVersion sets the EngineVersion field's value.
14372func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
14373	s.EngineVersion = &v
14374	return s
14375}
14376
14377// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
14378func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
14379	s.IsMajorVersionUpgrade = &v
14380	return s
14381}
14382
14383// Used as a response element for queries on virtual private cloud (VPC) security
14384// group membership.
14385type VpcSecurityGroupMembership struct {
14386	_ struct{} `type:"structure"`
14387
14388	// The status of the VPC security group.
14389	Status *string `type:"string"`
14390
14391	// The name of the VPC security group.
14392	VpcSecurityGroupId *string `type:"string"`
14393}
14394
14395// String returns the string representation
14396func (s VpcSecurityGroupMembership) String() string {
14397	return awsutil.Prettify(s)
14398}
14399
14400// GoString returns the string representation
14401func (s VpcSecurityGroupMembership) GoString() string {
14402	return s.String()
14403}
14404
14405// SetStatus sets the Status field's value.
14406func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
14407	s.Status = &v
14408	return s
14409}
14410
14411// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
14412func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
14413	s.VpcSecurityGroupId = &v
14414	return s
14415}
14416
14417const (
14418	// ApplyMethodImmediate is a ApplyMethod enum value
14419	ApplyMethodImmediate = "immediate"
14420
14421	// ApplyMethodPendingReboot is a ApplyMethod enum value
14422	ApplyMethodPendingReboot = "pending-reboot"
14423)
14424
14425// ApplyMethod_Values returns all elements of the ApplyMethod enum
14426func ApplyMethod_Values() []string {
14427	return []string{
14428		ApplyMethodImmediate,
14429		ApplyMethodPendingReboot,
14430	}
14431}
14432
14433const (
14434	// SourceTypeDbInstance is a SourceType enum value
14435	SourceTypeDbInstance = "db-instance"
14436
14437	// SourceTypeDbParameterGroup is a SourceType enum value
14438	SourceTypeDbParameterGroup = "db-parameter-group"
14439
14440	// SourceTypeDbSecurityGroup is a SourceType enum value
14441	SourceTypeDbSecurityGroup = "db-security-group"
14442
14443	// SourceTypeDbSnapshot is a SourceType enum value
14444	SourceTypeDbSnapshot = "db-snapshot"
14445
14446	// SourceTypeDbCluster is a SourceType enum value
14447	SourceTypeDbCluster = "db-cluster"
14448
14449	// SourceTypeDbClusterSnapshot is a SourceType enum value
14450	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
14451)
14452
14453// SourceType_Values returns all elements of the SourceType enum
14454func SourceType_Values() []string {
14455	return []string{
14456		SourceTypeDbInstance,
14457		SourceTypeDbParameterGroup,
14458		SourceTypeDbSecurityGroup,
14459		SourceTypeDbSnapshot,
14460		SourceTypeDbCluster,
14461		SourceTypeDbClusterSnapshot,
14462	}
14463}
14464