1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package rds
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 opAddRoleToDBCluster = "AddRoleToDBCluster"
17
18// AddRoleToDBClusterRequest generates a "aws/request.Request" representing the
19// client's request for the AddRoleToDBCluster operation. The "output" return
20// value will be populated with the request's response once the request complets
21// successfuly.
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 AddRoleToDBCluster for more information on using the AddRoleToDBCluster
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 AddRoleToDBClusterRequest method.
34//    req, resp := client.AddRoleToDBClusterRequest(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/rds-2014-10-31/AddRoleToDBCluster
42func (c *RDS) AddRoleToDBClusterRequest(input *AddRoleToDBClusterInput) (req *request.Request, output *AddRoleToDBClusterOutput) {
43	op := &request.Operation{
44		Name:       opAddRoleToDBCluster,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AddRoleToDBClusterInput{}
51	}
52
53	output = &AddRoleToDBClusterOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
56	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
57	return
58}
59
60// AddRoleToDBCluster API operation for Amazon Relational Database Service.
61//
62// Associates an Identity and Access Management (IAM) role from an Aurora DB
63// cluster. For more information, see Authorizing Amazon Aurora to Access Other
64// AWS Services On Your Behalf (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Authorizing.AWSServices.html).
65//
66// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
67// with awserr.Error's Code and Message methods to get detailed information about
68// the error.
69//
70// See the AWS API reference guide for Amazon Relational Database Service's
71// API operation AddRoleToDBCluster for usage and error information.
72//
73// Returned Error Codes:
74//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
75//   DBClusterIdentifier does not refer to an existing DB cluster.
76//
77//   * ErrCodeDBClusterRoleAlreadyExistsFault "DBClusterRoleAlreadyExists"
78//   The specified IAM role Amazon Resource Name (ARN) is already associated with
79//   the specified DB cluster.
80//
81//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
82//   The DB cluster is not in a valid state.
83//
84//   * ErrCodeDBClusterRoleQuotaExceededFault "DBClusterRoleQuotaExceeded"
85//   You have exceeded the maximum number of IAM roles that can be associated
86//   with the specified DB cluster.
87//
88// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBCluster
89func (c *RDS) AddRoleToDBCluster(input *AddRoleToDBClusterInput) (*AddRoleToDBClusterOutput, error) {
90	req, out := c.AddRoleToDBClusterRequest(input)
91	return out, req.Send()
92}
93
94// AddRoleToDBClusterWithContext is the same as AddRoleToDBCluster with the addition of
95// the ability to pass a context and additional request options.
96//
97// See AddRoleToDBCluster for details on how to use this API operation.
98//
99// The context must be non-nil and will be used for request cancellation. If
100// the context is nil a panic will occur. In the future the SDK may create
101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
102// for more information on using Contexts.
103func (c *RDS) AddRoleToDBClusterWithContext(ctx aws.Context, input *AddRoleToDBClusterInput, opts ...request.Option) (*AddRoleToDBClusterOutput, error) {
104	req, out := c.AddRoleToDBClusterRequest(input)
105	req.SetContext(ctx)
106	req.ApplyOptions(opts...)
107	return out, req.Send()
108}
109
110const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription"
111
112// AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the
113// client's request for the AddSourceIdentifierToSubscription operation. The "output" return
114// value will be populated with the request's response once the request complets
115// successfuly.
116//
117// Use "Send" method on the returned Request to send the API call to the service.
118// the "output" return value is not valid until after Send returns without error.
119//
120// See AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription
121// API call, and error handling.
122//
123// This method is useful when you want to inject custom logic or configuration
124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
125//
126//
127//    // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method.
128//    req, resp := client.AddSourceIdentifierToSubscriptionRequest(params)
129//
130//    err := req.Send()
131//    if err == nil { // resp is now filled
132//        fmt.Println(resp)
133//    }
134//
135// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
136func (c *RDS) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) {
137	op := &request.Operation{
138		Name:       opAddSourceIdentifierToSubscription,
139		HTTPMethod: "POST",
140		HTTPPath:   "/",
141	}
142
143	if input == nil {
144		input = &AddSourceIdentifierToSubscriptionInput{}
145	}
146
147	output = &AddSourceIdentifierToSubscriptionOutput{}
148	req = c.newRequest(op, input, output)
149	return
150}
151
152// AddSourceIdentifierToSubscription API operation for Amazon Relational Database Service.
153//
154// Adds a source identifier to an existing RDS event notification subscription.
155//
156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
157// with awserr.Error's Code and Message methods to get detailed information about
158// the error.
159//
160// See the AWS API reference guide for Amazon Relational Database Service's
161// API operation AddSourceIdentifierToSubscription for usage and error information.
162//
163// Returned Error Codes:
164//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
165//   The subscription name does not exist.
166//
167//   * ErrCodeSourceNotFoundFault "SourceNotFound"
168//   The requested source could not be found.
169//
170// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
171func (c *RDS) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) {
172	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
173	return out, req.Send()
174}
175
176// AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of
177// the ability to pass a context and additional request options.
178//
179// See AddSourceIdentifierToSubscription for details on how to use this API operation.
180//
181// The context must be non-nil and will be used for request cancellation. If
182// the context is nil a panic will occur. In the future the SDK may create
183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
184// for more information on using Contexts.
185func (c *RDS) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) {
186	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
187	req.SetContext(ctx)
188	req.ApplyOptions(opts...)
189	return out, req.Send()
190}
191
192const opAddTagsToResource = "AddTagsToResource"
193
194// AddTagsToResourceRequest generates a "aws/request.Request" representing the
195// client's request for the AddTagsToResource operation. The "output" return
196// value will be populated with the request's response once the request complets
197// successfuly.
198//
199// Use "Send" method on the returned Request to send the API call to the service.
200// the "output" return value is not valid until after Send returns without error.
201//
202// See AddTagsToResource for more information on using the AddTagsToResource
203// API call, and error handling.
204//
205// This method is useful when you want to inject custom logic or configuration
206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
207//
208//
209//    // Example sending a request using the AddTagsToResourceRequest method.
210//    req, resp := client.AddTagsToResourceRequest(params)
211//
212//    err := req.Send()
213//    if err == nil { // resp is now filled
214//        fmt.Println(resp)
215//    }
216//
217// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
218func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
219	op := &request.Operation{
220		Name:       opAddTagsToResource,
221		HTTPMethod: "POST",
222		HTTPPath:   "/",
223	}
224
225	if input == nil {
226		input = &AddTagsToResourceInput{}
227	}
228
229	output = &AddTagsToResourceOutput{}
230	req = c.newRequest(op, input, output)
231	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
232	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
233	return
234}
235
236// AddTagsToResource API operation for Amazon Relational Database Service.
237//
238// Adds metadata tags to an Amazon RDS resource. These tags can also be used
239// with cost allocation reporting to track cost associated with Amazon RDS resources,
240// or used in a Condition statement in an IAM policy for Amazon RDS.
241//
242// For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources
243// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
244//
245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
246// with awserr.Error's Code and Message methods to get detailed information about
247// the error.
248//
249// See the AWS API reference guide for Amazon Relational Database Service's
250// API operation AddTagsToResource for usage and error information.
251//
252// Returned Error Codes:
253//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
254//   DBInstanceIdentifier does not refer to an existing DB instance.
255//
256//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
257//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
258//
259//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
260//   DBClusterIdentifier does not refer to an existing DB cluster.
261//
262// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
263func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
264	req, out := c.AddTagsToResourceRequest(input)
265	return out, req.Send()
266}
267
268// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
269// the ability to pass a context and additional request options.
270//
271// See AddTagsToResource for details on how to use this API operation.
272//
273// The context must be non-nil and will be used for request cancellation. If
274// the context is nil a panic will occur. In the future the SDK may create
275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
276// for more information on using Contexts.
277func (c *RDS) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
278	req, out := c.AddTagsToResourceRequest(input)
279	req.SetContext(ctx)
280	req.ApplyOptions(opts...)
281	return out, req.Send()
282}
283
284const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
285
286// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
287// client's request for the ApplyPendingMaintenanceAction operation. The "output" return
288// value will be populated with the request's response once the request complets
289// successfuly.
290//
291// Use "Send" method on the returned Request to send the API call to the service.
292// the "output" return value is not valid until after Send returns without error.
293//
294// See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
295// API call, and error handling.
296//
297// This method is useful when you want to inject custom logic or configuration
298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
299//
300//
301//    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
302//    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
303//
304//    err := req.Send()
305//    if err == nil { // resp is now filled
306//        fmt.Println(resp)
307//    }
308//
309// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
310func (c *RDS) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
311	op := &request.Operation{
312		Name:       opApplyPendingMaintenanceAction,
313		HTTPMethod: "POST",
314		HTTPPath:   "/",
315	}
316
317	if input == nil {
318		input = &ApplyPendingMaintenanceActionInput{}
319	}
320
321	output = &ApplyPendingMaintenanceActionOutput{}
322	req = c.newRequest(op, input, output)
323	return
324}
325
326// ApplyPendingMaintenanceAction API operation for Amazon Relational Database Service.
327//
328// Applies a pending maintenance action to a resource (for example, to a DB
329// instance).
330//
331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
332// with awserr.Error's Code and Message methods to get detailed information about
333// the error.
334//
335// See the AWS API reference guide for Amazon Relational Database Service's
336// API operation ApplyPendingMaintenanceAction for usage and error information.
337//
338// Returned Error Codes:
339//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
340//   The specified resource ID was not found.
341//
342// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
343func (c *RDS) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
344	req, out := c.ApplyPendingMaintenanceActionRequest(input)
345	return out, req.Send()
346}
347
348// ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
349// the ability to pass a context and additional request options.
350//
351// See ApplyPendingMaintenanceAction for details on how to use this API operation.
352//
353// The context must be non-nil and will be used for request cancellation. If
354// the context is nil a panic will occur. In the future the SDK may create
355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
356// for more information on using Contexts.
357func (c *RDS) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
358	req, out := c.ApplyPendingMaintenanceActionRequest(input)
359	req.SetContext(ctx)
360	req.ApplyOptions(opts...)
361	return out, req.Send()
362}
363
364const opAuthorizeDBSecurityGroupIngress = "AuthorizeDBSecurityGroupIngress"
365
366// AuthorizeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
367// client's request for the AuthorizeDBSecurityGroupIngress operation. The "output" return
368// value will be populated with the request's response once the request complets
369// successfuly.
370//
371// Use "Send" method on the returned Request to send the API call to the service.
372// the "output" return value is not valid until after Send returns without error.
373//
374// See AuthorizeDBSecurityGroupIngress for more information on using the AuthorizeDBSecurityGroupIngress
375// API call, and error handling.
376//
377// This method is useful when you want to inject custom logic or configuration
378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
379//
380//
381//    // Example sending a request using the AuthorizeDBSecurityGroupIngressRequest method.
382//    req, resp := client.AuthorizeDBSecurityGroupIngressRequest(params)
383//
384//    err := req.Send()
385//    if err == nil { // resp is now filled
386//        fmt.Println(resp)
387//    }
388//
389// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
390func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityGroupIngressInput) (req *request.Request, output *AuthorizeDBSecurityGroupIngressOutput) {
391	op := &request.Operation{
392		Name:       opAuthorizeDBSecurityGroupIngress,
393		HTTPMethod: "POST",
394		HTTPPath:   "/",
395	}
396
397	if input == nil {
398		input = &AuthorizeDBSecurityGroupIngressInput{}
399	}
400
401	output = &AuthorizeDBSecurityGroupIngressOutput{}
402	req = c.newRequest(op, input, output)
403	return
404}
405
406// AuthorizeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
407//
408// Enables ingress to a DBSecurityGroup using one of two forms of authorization.
409// First, EC2 or VPC security groups can be added to the DBSecurityGroup if
410// the application using the database is running on EC2 or VPC instances. Second,
411// IP ranges are available if the application accessing your database is running
412// on the Internet. Required parameters for this API are one of CIDR range,
413// EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName
414// or EC2SecurityGroupId for non-VPC).
415//
416// You can't authorize ingress from an EC2 security group in one AWS Region
417// to an Amazon RDS DB instance in another. You can't authorize ingress from
418// a VPC security group in one VPC to an Amazon RDS DB instance in another.
419//
420// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
421//
422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
423// with awserr.Error's Code and Message methods to get detailed information about
424// the error.
425//
426// See the AWS API reference guide for Amazon Relational Database Service's
427// API operation AuthorizeDBSecurityGroupIngress for usage and error information.
428//
429// Returned Error Codes:
430//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
431//   DBSecurityGroupName does not refer to an existing DB security group.
432//
433//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
434//   The state of the DB security group does not allow deletion.
435//
436//   * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists"
437//   The specified CIDRIP or EC2 security group is already authorized for the
438//   specified DB security group.
439//
440//   * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded"
441//   DB security group authorization quota has been reached.
442//
443// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
444func (c *RDS) AuthorizeDBSecurityGroupIngress(input *AuthorizeDBSecurityGroupIngressInput) (*AuthorizeDBSecurityGroupIngressOutput, error) {
445	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
446	return out, req.Send()
447}
448
449// AuthorizeDBSecurityGroupIngressWithContext is the same as AuthorizeDBSecurityGroupIngress with the addition of
450// the ability to pass a context and additional request options.
451//
452// See AuthorizeDBSecurityGroupIngress for details on how to use this API operation.
453//
454// The context must be non-nil and will be used for request cancellation. If
455// the context is nil a panic will occur. In the future the SDK may create
456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
457// for more information on using Contexts.
458func (c *RDS) AuthorizeDBSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeDBSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeDBSecurityGroupIngressOutput, error) {
459	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
460	req.SetContext(ctx)
461	req.ApplyOptions(opts...)
462	return out, req.Send()
463}
464
465const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
466
467// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
468// client's request for the CopyDBClusterParameterGroup operation. The "output" return
469// value will be populated with the request's response once the request complets
470// successfuly.
471//
472// Use "Send" method on the returned Request to send the API call to the service.
473// the "output" return value is not valid until after Send returns without error.
474//
475// See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
476// API call, and error handling.
477//
478// This method is useful when you want to inject custom logic or configuration
479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
480//
481//
482//    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
483//    req, resp := client.CopyDBClusterParameterGroupRequest(params)
484//
485//    err := req.Send()
486//    if err == nil { // resp is now filled
487//        fmt.Println(resp)
488//    }
489//
490// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
491func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
492	op := &request.Operation{
493		Name:       opCopyDBClusterParameterGroup,
494		HTTPMethod: "POST",
495		HTTPPath:   "/",
496	}
497
498	if input == nil {
499		input = &CopyDBClusterParameterGroupInput{}
500	}
501
502	output = &CopyDBClusterParameterGroupOutput{}
503	req = c.newRequest(op, input, output)
504	return
505}
506
507// CopyDBClusterParameterGroup API operation for Amazon Relational Database Service.
508//
509// Copies the specified DB cluster parameter group.
510//
511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
512// with awserr.Error's Code and Message methods to get detailed information about
513// the error.
514//
515// See the AWS API reference guide for Amazon Relational Database Service's
516// API operation CopyDBClusterParameterGroup for usage and error information.
517//
518// Returned Error Codes:
519//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
520//   DBParameterGroupName does not refer to an existing DB parameter group.
521//
522//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
523//   Request would result in user exceeding the allowed number of DB parameter
524//   groups.
525//
526//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
527//   A DB parameter group with the same name exists.
528//
529// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
530func (c *RDS) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
531	req, out := c.CopyDBClusterParameterGroupRequest(input)
532	return out, req.Send()
533}
534
535// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
536// the ability to pass a context and additional request options.
537//
538// See CopyDBClusterParameterGroup for details on how to use this API operation.
539//
540// The context must be non-nil and will be used for request cancellation. If
541// the context is nil a panic will occur. In the future the SDK may create
542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
543// for more information on using Contexts.
544func (c *RDS) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
545	req, out := c.CopyDBClusterParameterGroupRequest(input)
546	req.SetContext(ctx)
547	req.ApplyOptions(opts...)
548	return out, req.Send()
549}
550
551const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
552
553// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
554// client's request for the CopyDBClusterSnapshot operation. The "output" return
555// value will be populated with the request's response once the request complets
556// successfuly.
557//
558// Use "Send" method on the returned Request to send the API call to the service.
559// the "output" return value is not valid until after Send returns without error.
560//
561// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
562// API call, and error handling.
563//
564// This method is useful when you want to inject custom logic or configuration
565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
566//
567//
568//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
569//    req, resp := client.CopyDBClusterSnapshotRequest(params)
570//
571//    err := req.Send()
572//    if err == nil { // resp is now filled
573//        fmt.Println(resp)
574//    }
575//
576// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
577func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
578	op := &request.Operation{
579		Name:       opCopyDBClusterSnapshot,
580		HTTPMethod: "POST",
581		HTTPPath:   "/",
582	}
583
584	if input == nil {
585		input = &CopyDBClusterSnapshotInput{}
586	}
587
588	output = &CopyDBClusterSnapshotOutput{}
589	req = c.newRequest(op, input, output)
590	return
591}
592
593// CopyDBClusterSnapshot API operation for Amazon Relational Database Service.
594//
595// Copies a snapshot of a DB cluster.
596//
597// To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
598// must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
599//
600// You can copy an encrypted DB cluster snapshot from another AWS Region. In
601// that case, the AWS Region where you call the CopyDBClusterSnapshot action
602// is the destination AWS Region for the encrypted DB cluster snapshot to be
603// copied to. To copy an encrypted DB cluster snapshot from another AWS Region,
604// you must provide the following values:
605//
606//    * KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for
607//    the key to use to encrypt the copy of the DB cluster snapshot in the destination
608//    AWS Region.
609//
610//    * PreSignedUrl - A URL that contains a Signature Version 4 signed request
611//    for the CopyDBClusterSnapshot action to be called in the source AWS Region
612//    where the DB cluster snapshot is copied from. The pre-signed URL must
613//    be a valid request for the CopyDBClusterSnapshot API action that can be
614//    executed in the source AWS Region that contains the encrypted DB cluster
615//    snapshot to be copied.
616//
617// The pre-signed URL request must contain the following parameter values:
618//
619// KmsKeyId - The KMS key identifier for the key to use to encrypt the copy
620//    of the DB cluster snapshot in the destination AWS Region. This is the
621//    same identifier for both the CopyDBClusterSnapshot action that is called
622//    in the destination AWS Region, and the action contained in the pre-signed
623//    URL.
624//
625// DestinationRegion - The name of the AWS Region that the DB cluster snapshot
626//    will be created in.
627//
628// SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for
629//    the encrypted DB cluster snapshot to be copied. This identifier must be
630//    in the Amazon Resource Name (ARN) format for the source AWS Region. For
631//    example, if you are copying an encrypted DB cluster snapshot from the
632//    us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks
633//    like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
634//
635// To learn how to generate a Signature Version 4 signed request, see  Authenticating
636//    Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
637//    and  Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
638//
639//    * TargetDBClusterSnapshotIdentifier - The identifier for the new copy
640//    of the DB cluster snapshot in the destination AWS Region.
641//
642//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
643//    for the encrypted DB cluster snapshot to be copied. This identifier must
644//    be in the ARN format for the source AWS Region and is the same value as
645//    the SourceDBClusterSnapshotIdentifier in the pre-signed URL.
646//
647// To cancel the copy operation once it is in progress, delete the target DB
648// cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that
649// DB cluster snapshot is in "copying" status.
650//
651// For more information on copying encrypted DB cluster snapshots from one AWS
652// Region to another, see  Copying a DB Cluster Snapshot in the Same Account,
653// Either in the Same Region or Across Regions (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBClusterSnapshot.CrossRegion)
654// in the Amazon RDS User Guide.
655//
656// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
657// in the Amazon RDS User Guide.
658//
659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
660// with awserr.Error's Code and Message methods to get detailed information about
661// the error.
662//
663// See the AWS API reference guide for Amazon Relational Database Service's
664// API operation CopyDBClusterSnapshot for usage and error information.
665//
666// Returned Error Codes:
667//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
668//   User already has a DB cluster snapshot with the given identifier.
669//
670//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
671//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
672//
673//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
674//   The DB cluster is not in a valid state.
675//
676//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
677//   The supplied value is not a valid DB cluster snapshot state.
678//
679//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
680//   Request would result in user exceeding the allowed number of DB snapshots.
681//
682//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
683//   Error accessing KMS key.
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
686func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
687	req, out := c.CopyDBClusterSnapshotRequest(input)
688	return out, req.Send()
689}
690
691// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
692// the ability to pass a context and additional request options.
693//
694// See CopyDBClusterSnapshot for details on how to use this API operation.
695//
696// The context must be non-nil and will be used for request cancellation. If
697// the context is nil a panic will occur. In the future the SDK may create
698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
699// for more information on using Contexts.
700func (c *RDS) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
701	req, out := c.CopyDBClusterSnapshotRequest(input)
702	req.SetContext(ctx)
703	req.ApplyOptions(opts...)
704	return out, req.Send()
705}
706
707const opCopyDBParameterGroup = "CopyDBParameterGroup"
708
709// CopyDBParameterGroupRequest generates a "aws/request.Request" representing the
710// client's request for the CopyDBParameterGroup operation. The "output" return
711// value will be populated with the request's response once the request complets
712// successfuly.
713//
714// Use "Send" method on the returned Request to send the API call to the service.
715// the "output" return value is not valid until after Send returns without error.
716//
717// See CopyDBParameterGroup for more information on using the CopyDBParameterGroup
718// API call, and error handling.
719//
720// This method is useful when you want to inject custom logic or configuration
721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
722//
723//
724//    // Example sending a request using the CopyDBParameterGroupRequest method.
725//    req, resp := client.CopyDBParameterGroupRequest(params)
726//
727//    err := req.Send()
728//    if err == nil { // resp is now filled
729//        fmt.Println(resp)
730//    }
731//
732// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
733func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) {
734	op := &request.Operation{
735		Name:       opCopyDBParameterGroup,
736		HTTPMethod: "POST",
737		HTTPPath:   "/",
738	}
739
740	if input == nil {
741		input = &CopyDBParameterGroupInput{}
742	}
743
744	output = &CopyDBParameterGroupOutput{}
745	req = c.newRequest(op, input, output)
746	return
747}
748
749// CopyDBParameterGroup API operation for Amazon Relational Database Service.
750//
751// Copies the specified DB parameter group.
752//
753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
754// with awserr.Error's Code and Message methods to get detailed information about
755// the error.
756//
757// See the AWS API reference guide for Amazon Relational Database Service's
758// API operation CopyDBParameterGroup for usage and error information.
759//
760// Returned Error Codes:
761//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
762//   DBParameterGroupName does not refer to an existing DB parameter group.
763//
764//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
765//   A DB parameter group with the same name exists.
766//
767//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
768//   Request would result in user exceeding the allowed number of DB parameter
769//   groups.
770//
771// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
772func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) {
773	req, out := c.CopyDBParameterGroupRequest(input)
774	return out, req.Send()
775}
776
777// CopyDBParameterGroupWithContext is the same as CopyDBParameterGroup with the addition of
778// the ability to pass a context and additional request options.
779//
780// See CopyDBParameterGroup for details on how to use this API operation.
781//
782// The context must be non-nil and will be used for request cancellation. If
783// the context is nil a panic will occur. In the future the SDK may create
784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
785// for more information on using Contexts.
786func (c *RDS) CopyDBParameterGroupWithContext(ctx aws.Context, input *CopyDBParameterGroupInput, opts ...request.Option) (*CopyDBParameterGroupOutput, error) {
787	req, out := c.CopyDBParameterGroupRequest(input)
788	req.SetContext(ctx)
789	req.ApplyOptions(opts...)
790	return out, req.Send()
791}
792
793const opCopyDBSnapshot = "CopyDBSnapshot"
794
795// CopyDBSnapshotRequest generates a "aws/request.Request" representing the
796// client's request for the CopyDBSnapshot operation. The "output" return
797// value will be populated with the request's response once the request complets
798// successfuly.
799//
800// Use "Send" method on the returned Request to send the API call to the service.
801// the "output" return value is not valid until after Send returns without error.
802//
803// See CopyDBSnapshot for more information on using the CopyDBSnapshot
804// API call, and error handling.
805//
806// This method is useful when you want to inject custom logic or configuration
807// into the SDK's request lifecycle. Such as custom headers, or retry logic.
808//
809//
810//    // Example sending a request using the CopyDBSnapshotRequest method.
811//    req, resp := client.CopyDBSnapshotRequest(params)
812//
813//    err := req.Send()
814//    if err == nil { // resp is now filled
815//        fmt.Println(resp)
816//    }
817//
818// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
819func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Request, output *CopyDBSnapshotOutput) {
820	op := &request.Operation{
821		Name:       opCopyDBSnapshot,
822		HTTPMethod: "POST",
823		HTTPPath:   "/",
824	}
825
826	if input == nil {
827		input = &CopyDBSnapshotInput{}
828	}
829
830	output = &CopyDBSnapshotOutput{}
831	req = c.newRequest(op, input, output)
832	return
833}
834
835// CopyDBSnapshot API operation for Amazon Relational Database Service.
836//
837// Copies the specified DB snapshot. The source DB snapshot must be in the "available"
838// state.
839//
840// You can copy a snapshot from one AWS Region to another. In that case, the
841// AWS Region where you call the CopyDBSnapshot action is the destination AWS
842// Region for the DB snapshot copy.
843//
844// You can't copy an encrypted, shared DB snapshot from one AWS Region to another.
845//
846// For more information about copying snapshots, see Copying a DB Snapshot (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopyDBSnapshot.html)
847// in the Amazon RDS User Guide.
848//
849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
850// with awserr.Error's Code and Message methods to get detailed information about
851// the error.
852//
853// See the AWS API reference guide for Amazon Relational Database Service's
854// API operation CopyDBSnapshot for usage and error information.
855//
856// Returned Error Codes:
857//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
858//   DBSnapshotIdentifier is already used by an existing snapshot.
859//
860//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
861//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
862//
863//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
864//   The state of the DB snapshot does not allow deletion.
865//
866//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
867//   Request would result in user exceeding the allowed number of DB snapshots.
868//
869//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
870//   Error accessing KMS key.
871//
872// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
873func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, error) {
874	req, out := c.CopyDBSnapshotRequest(input)
875	return out, req.Send()
876}
877
878// CopyDBSnapshotWithContext is the same as CopyDBSnapshot with the addition of
879// the ability to pass a context and additional request options.
880//
881// See CopyDBSnapshot for details on how to use this API operation.
882//
883// The context must be non-nil and will be used for request cancellation. If
884// the context is nil a panic will occur. In the future the SDK may create
885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
886// for more information on using Contexts.
887func (c *RDS) CopyDBSnapshotWithContext(ctx aws.Context, input *CopyDBSnapshotInput, opts ...request.Option) (*CopyDBSnapshotOutput, error) {
888	req, out := c.CopyDBSnapshotRequest(input)
889	req.SetContext(ctx)
890	req.ApplyOptions(opts...)
891	return out, req.Send()
892}
893
894const opCopyOptionGroup = "CopyOptionGroup"
895
896// CopyOptionGroupRequest generates a "aws/request.Request" representing the
897// client's request for the CopyOptionGroup operation. The "output" return
898// value will be populated with the request's response once the request complets
899// successfuly.
900//
901// Use "Send" method on the returned Request to send the API call to the service.
902// the "output" return value is not valid until after Send returns without error.
903//
904// See CopyOptionGroup for more information on using the CopyOptionGroup
905// API call, and error handling.
906//
907// This method is useful when you want to inject custom logic or configuration
908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
909//
910//
911//    // Example sending a request using the CopyOptionGroupRequest method.
912//    req, resp := client.CopyOptionGroupRequest(params)
913//
914//    err := req.Send()
915//    if err == nil { // resp is now filled
916//        fmt.Println(resp)
917//    }
918//
919// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
920func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request.Request, output *CopyOptionGroupOutput) {
921	op := &request.Operation{
922		Name:       opCopyOptionGroup,
923		HTTPMethod: "POST",
924		HTTPPath:   "/",
925	}
926
927	if input == nil {
928		input = &CopyOptionGroupInput{}
929	}
930
931	output = &CopyOptionGroupOutput{}
932	req = c.newRequest(op, input, output)
933	return
934}
935
936// CopyOptionGroup API operation for Amazon Relational Database Service.
937//
938// Copies the specified option group.
939//
940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
941// with awserr.Error's Code and Message methods to get detailed information about
942// the error.
943//
944// See the AWS API reference guide for Amazon Relational Database Service's
945// API operation CopyOptionGroup for usage and error information.
946//
947// Returned Error Codes:
948//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
949//   The option group you are trying to create already exists.
950//
951//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
952//   The specified option group could not be found.
953//
954//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
955//   The quota of 20 option groups was exceeded for this AWS account.
956//
957// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
958func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutput, error) {
959	req, out := c.CopyOptionGroupRequest(input)
960	return out, req.Send()
961}
962
963// CopyOptionGroupWithContext is the same as CopyOptionGroup with the addition of
964// the ability to pass a context and additional request options.
965//
966// See CopyOptionGroup for details on how to use this API operation.
967//
968// The context must be non-nil and will be used for request cancellation. If
969// the context is nil a panic will occur. In the future the SDK may create
970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
971// for more information on using Contexts.
972func (c *RDS) CopyOptionGroupWithContext(ctx aws.Context, input *CopyOptionGroupInput, opts ...request.Option) (*CopyOptionGroupOutput, error) {
973	req, out := c.CopyOptionGroupRequest(input)
974	req.SetContext(ctx)
975	req.ApplyOptions(opts...)
976	return out, req.Send()
977}
978
979const opCreateDBCluster = "CreateDBCluster"
980
981// CreateDBClusterRequest generates a "aws/request.Request" representing the
982// client's request for the CreateDBCluster operation. The "output" return
983// value will be populated with the request's response once the request complets
984// successfuly.
985//
986// Use "Send" method on the returned Request to send the API call to the service.
987// the "output" return value is not valid until after Send returns without error.
988//
989// See CreateDBCluster for more information on using the CreateDBCluster
990// API call, and error handling.
991//
992// This method is useful when you want to inject custom logic or configuration
993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
994//
995//
996//    // Example sending a request using the CreateDBClusterRequest method.
997//    req, resp := client.CreateDBClusterRequest(params)
998//
999//    err := req.Send()
1000//    if err == nil { // resp is now filled
1001//        fmt.Println(resp)
1002//    }
1003//
1004// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1005func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
1006	op := &request.Operation{
1007		Name:       opCreateDBCluster,
1008		HTTPMethod: "POST",
1009		HTTPPath:   "/",
1010	}
1011
1012	if input == nil {
1013		input = &CreateDBClusterInput{}
1014	}
1015
1016	output = &CreateDBClusterOutput{}
1017	req = c.newRequest(op, input, output)
1018	return
1019}
1020
1021// CreateDBCluster API operation for Amazon Relational Database Service.
1022//
1023// Creates a new Amazon Aurora DB cluster.
1024//
1025// You can use the ReplicationSourceIdentifier parameter to create the DB cluster
1026// as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance.
1027// For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier
1028// is encrypted, you must also specify the PreSignedUrl parameter.
1029//
1030// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
1031// in the Amazon RDS User Guide.
1032//
1033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1034// with awserr.Error's Code and Message methods to get detailed information about
1035// the error.
1036//
1037// See the AWS API reference guide for Amazon Relational Database Service's
1038// API operation CreateDBCluster for usage and error information.
1039//
1040// Returned Error Codes:
1041//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
1042//   User already has a DB cluster with the given identifier.
1043//
1044//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
1045//   There is insufficient storage available for the current action. You may be
1046//   able to resolve this error by updating your subnet group to use different
1047//   Availability Zones that have more storage available.
1048//
1049//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
1050//   User attempted to create a new DB cluster and the user has already reached
1051//   the maximum allowed DB cluster quota.
1052//
1053//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1054//   Request would result in user exceeding the allowed amount of storage available
1055//   across all DB instances.
1056//
1057//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1058//   DBSubnetGroupName does not refer to an existing DB subnet group.
1059//
1060//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1061//   DB subnet group does not cover all Availability Zones after it is created
1062//   because users' change.
1063//
1064//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1065//   The DB cluster is not in a valid state.
1066//
1067//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1068//   The DB subnet group cannot be deleted because it is in use.
1069//
1070//   * ErrCodeInvalidSubnet "InvalidSubnet"
1071//   The requested subnet is invalid, or multiple subnets were requested that
1072//   are not all in a common VPC.
1073//
1074//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1075//   The specified DB instance is not in the available state.
1076//
1077//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
1078//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
1079//   group.
1080//
1081//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1082//   Error accessing KMS key.
1083//
1084//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1085//   DBClusterIdentifier does not refer to an existing DB cluster.
1086//
1087//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1088//   DBInstanceIdentifier does not refer to an existing DB instance.
1089//
1090//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1091//   Subnets in the DB subnet group should cover at least two Availability Zones
1092//   unless there is only one Availability Zone.
1093//
1094// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1095func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
1096	req, out := c.CreateDBClusterRequest(input)
1097	return out, req.Send()
1098}
1099
1100// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
1101// the ability to pass a context and additional request options.
1102//
1103// See CreateDBCluster for details on how to use this API operation.
1104//
1105// The context must be non-nil and will be used for request cancellation. If
1106// the context is nil a panic will occur. In the future the SDK may create
1107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1108// for more information on using Contexts.
1109func (c *RDS) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
1110	req, out := c.CreateDBClusterRequest(input)
1111	req.SetContext(ctx)
1112	req.ApplyOptions(opts...)
1113	return out, req.Send()
1114}
1115
1116const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
1117
1118// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1119// client's request for the CreateDBClusterParameterGroup operation. The "output" return
1120// value will be populated with the request's response once the request complets
1121// successfuly.
1122//
1123// Use "Send" method on the returned Request to send the API call to the service.
1124// the "output" return value is not valid until after Send returns without error.
1125//
1126// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
1127// API call, and error handling.
1128//
1129// This method is useful when you want to inject custom logic or configuration
1130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1131//
1132//
1133//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
1134//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
1135//
1136//    err := req.Send()
1137//    if err == nil { // resp is now filled
1138//        fmt.Println(resp)
1139//    }
1140//
1141// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1142func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
1143	op := &request.Operation{
1144		Name:       opCreateDBClusterParameterGroup,
1145		HTTPMethod: "POST",
1146		HTTPPath:   "/",
1147	}
1148
1149	if input == nil {
1150		input = &CreateDBClusterParameterGroupInput{}
1151	}
1152
1153	output = &CreateDBClusterParameterGroupOutput{}
1154	req = c.newRequest(op, input, output)
1155	return
1156}
1157
1158// CreateDBClusterParameterGroup API operation for Amazon Relational Database Service.
1159//
1160// Creates a new DB cluster parameter group.
1161//
1162// Parameters in a DB cluster parameter group apply to all of the instances
1163// in a DB cluster.
1164//
1165// A DB cluster parameter group is initially created with the default parameters
1166// for the database engine used by instances in the DB cluster. To provide custom
1167// values for any of the parameters, you must modify the group after creating
1168// it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
1169// parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
1170// When you associate a new DB cluster parameter group with a running DB cluster,
1171// you need to reboot the DB instances in the DB cluster without failover for
1172// the new DB cluster parameter group and associated settings to take effect.
1173//
1174// After you create a DB cluster parameter group, you should wait at least 5
1175// minutes before creating your first DB cluster that uses that DB cluster parameter
1176// group as the default parameter group. This allows Amazon RDS to fully complete
1177// the create action before the DB cluster parameter group is used as the default
1178// for a new DB cluster. This is especially important for parameters that are
1179// critical when creating the default database for a DB cluster, such as the
1180// character set for the default database defined by the character_set_database
1181// parameter. You can use the Parameter Groups option of the Amazon RDS console
1182// (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
1183// command to verify that your DB cluster parameter group has been created or
1184// modified.
1185//
1186// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
1187// in the Amazon RDS User Guide.
1188//
1189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1190// with awserr.Error's Code and Message methods to get detailed information about
1191// the error.
1192//
1193// See the AWS API reference guide for Amazon Relational Database Service's
1194// API operation CreateDBClusterParameterGroup for usage and error information.
1195//
1196// Returned Error Codes:
1197//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1198//   Request would result in user exceeding the allowed number of DB parameter
1199//   groups.
1200//
1201//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1202//   A DB parameter group with the same name exists.
1203//
1204// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1205func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
1206	req, out := c.CreateDBClusterParameterGroupRequest(input)
1207	return out, req.Send()
1208}
1209
1210// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
1211// the ability to pass a context and additional request options.
1212//
1213// See CreateDBClusterParameterGroup for details on how to use this API operation.
1214//
1215// The context must be non-nil and will be used for request cancellation. If
1216// the context is nil a panic will occur. In the future the SDK may create
1217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1218// for more information on using Contexts.
1219func (c *RDS) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
1220	req, out := c.CreateDBClusterParameterGroupRequest(input)
1221	req.SetContext(ctx)
1222	req.ApplyOptions(opts...)
1223	return out, req.Send()
1224}
1225
1226const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
1227
1228// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1229// client's request for the CreateDBClusterSnapshot operation. The "output" return
1230// value will be populated with the request's response once the request complets
1231// successfuly.
1232//
1233// Use "Send" method on the returned Request to send the API call to the service.
1234// the "output" return value is not valid until after Send returns without error.
1235//
1236// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
1237// API call, and error handling.
1238//
1239// This method is useful when you want to inject custom logic or configuration
1240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1241//
1242//
1243//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
1244//    req, resp := client.CreateDBClusterSnapshotRequest(params)
1245//
1246//    err := req.Send()
1247//    if err == nil { // resp is now filled
1248//        fmt.Println(resp)
1249//    }
1250//
1251// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1252func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
1253	op := &request.Operation{
1254		Name:       opCreateDBClusterSnapshot,
1255		HTTPMethod: "POST",
1256		HTTPPath:   "/",
1257	}
1258
1259	if input == nil {
1260		input = &CreateDBClusterSnapshotInput{}
1261	}
1262
1263	output = &CreateDBClusterSnapshotOutput{}
1264	req = c.newRequest(op, input, output)
1265	return
1266}
1267
1268// CreateDBClusterSnapshot API operation for Amazon Relational Database Service.
1269//
1270// Creates a snapshot of a DB cluster. For more information on Amazon Aurora,
1271// see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
1272// in the Amazon RDS User Guide.
1273//
1274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1275// with awserr.Error's Code and Message methods to get detailed information about
1276// the error.
1277//
1278// See the AWS API reference guide for Amazon Relational Database Service's
1279// API operation CreateDBClusterSnapshot for usage and error information.
1280//
1281// Returned Error Codes:
1282//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1283//   User already has a DB cluster snapshot with the given identifier.
1284//
1285//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1286//   The DB cluster is not in a valid state.
1287//
1288//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1289//   DBClusterIdentifier does not refer to an existing DB cluster.
1290//
1291//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1292//   Request would result in user exceeding the allowed number of DB snapshots.
1293//
1294//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1295//   The supplied value is not a valid DB cluster snapshot state.
1296//
1297// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1298func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
1299	req, out := c.CreateDBClusterSnapshotRequest(input)
1300	return out, req.Send()
1301}
1302
1303// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
1304// the ability to pass a context and additional request options.
1305//
1306// See CreateDBClusterSnapshot for details on how to use this API operation.
1307//
1308// The context must be non-nil and will be used for request cancellation. If
1309// the context is nil a panic will occur. In the future the SDK may create
1310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1311// for more information on using Contexts.
1312func (c *RDS) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
1313	req, out := c.CreateDBClusterSnapshotRequest(input)
1314	req.SetContext(ctx)
1315	req.ApplyOptions(opts...)
1316	return out, req.Send()
1317}
1318
1319const opCreateDBInstance = "CreateDBInstance"
1320
1321// CreateDBInstanceRequest generates a "aws/request.Request" representing the
1322// client's request for the CreateDBInstance operation. The "output" return
1323// value will be populated with the request's response once the request complets
1324// successfuly.
1325//
1326// Use "Send" method on the returned Request to send the API call to the service.
1327// the "output" return value is not valid until after Send returns without error.
1328//
1329// See CreateDBInstance for more information on using the CreateDBInstance
1330// API call, and error handling.
1331//
1332// This method is useful when you want to inject custom logic or configuration
1333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1334//
1335//
1336//    // Example sending a request using the CreateDBInstanceRequest method.
1337//    req, resp := client.CreateDBInstanceRequest(params)
1338//
1339//    err := req.Send()
1340//    if err == nil { // resp is now filled
1341//        fmt.Println(resp)
1342//    }
1343//
1344// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1345func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
1346	op := &request.Operation{
1347		Name:       opCreateDBInstance,
1348		HTTPMethod: "POST",
1349		HTTPPath:   "/",
1350	}
1351
1352	if input == nil {
1353		input = &CreateDBInstanceInput{}
1354	}
1355
1356	output = &CreateDBInstanceOutput{}
1357	req = c.newRequest(op, input, output)
1358	return
1359}
1360
1361// CreateDBInstance API operation for Amazon Relational Database Service.
1362//
1363// Creates a new DB instance.
1364//
1365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1366// with awserr.Error's Code and Message methods to get detailed information about
1367// the error.
1368//
1369// See the AWS API reference guide for Amazon Relational Database Service's
1370// API operation CreateDBInstance for usage and error information.
1371//
1372// Returned Error Codes:
1373//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1374//   User already has a DB instance with the given identifier.
1375//
1376//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1377//   Specified DB instance class is not available in the specified Availability
1378//   Zone.
1379//
1380//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1381//   DBParameterGroupName does not refer to an existing DB parameter group.
1382//
1383//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1384//   DBSecurityGroupName does not refer to an existing DB security group.
1385//
1386//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1387//   Request would result in user exceeding the allowed number of DB instances.
1388//
1389//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1390//   Request would result in user exceeding the allowed amount of storage available
1391//   across all DB instances.
1392//
1393//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1394//   DBSubnetGroupName does not refer to an existing DB subnet group.
1395//
1396//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1397//   Subnets in the DB subnet group should cover at least two Availability Zones
1398//   unless there is only one Availability Zone.
1399//
1400//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1401//   The DB cluster is not in a valid state.
1402//
1403//   * ErrCodeInvalidSubnet "InvalidSubnet"
1404//   The requested subnet is invalid, or multiple subnets were requested that
1405//   are not all in a common VPC.
1406//
1407//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1408//   DB subnet group does not cover all Availability Zones after it is created
1409//   because users' change.
1410//
1411//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1412//   Provisioned IOPS not available in the specified Availability Zone.
1413//
1414//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1415//   The specified option group could not be found.
1416//
1417//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1418//   DBClusterIdentifier does not refer to an existing DB cluster.
1419//
1420//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1421//   StorageType specified cannot be associated with the DB Instance.
1422//
1423//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
1424//   Specified CIDRIP or EC2 security group is not authorized for the specified
1425//   DB security group.
1426//
1427//   RDS may not also be authorized via IAM to perform necessary actions on your
1428//   behalf.
1429//
1430//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1431//   Error accessing KMS key.
1432//
1433//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1434//   Domain does not refer to an existing Active Directory Domain.
1435//
1436// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1437func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
1438	req, out := c.CreateDBInstanceRequest(input)
1439	return out, req.Send()
1440}
1441
1442// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
1443// the ability to pass a context and additional request options.
1444//
1445// See CreateDBInstance for details on how to use this API operation.
1446//
1447// The context must be non-nil and will be used for request cancellation. If
1448// the context is nil a panic will occur. In the future the SDK may create
1449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1450// for more information on using Contexts.
1451func (c *RDS) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
1452	req, out := c.CreateDBInstanceRequest(input)
1453	req.SetContext(ctx)
1454	req.ApplyOptions(opts...)
1455	return out, req.Send()
1456}
1457
1458const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica"
1459
1460// CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the
1461// client's request for the CreateDBInstanceReadReplica operation. The "output" return
1462// value will be populated with the request's response once the request complets
1463// successfuly.
1464//
1465// Use "Send" method on the returned Request to send the API call to the service.
1466// the "output" return value is not valid until after Send returns without error.
1467//
1468// See CreateDBInstanceReadReplica for more information on using the CreateDBInstanceReadReplica
1469// API call, and error handling.
1470//
1471// This method is useful when you want to inject custom logic or configuration
1472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1473//
1474//
1475//    // Example sending a request using the CreateDBInstanceReadReplicaRequest method.
1476//    req, resp := client.CreateDBInstanceReadReplicaRequest(params)
1477//
1478//    err := req.Send()
1479//    if err == nil { // resp is now filled
1480//        fmt.Println(resp)
1481//    }
1482//
1483// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
1484func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadReplicaInput) (req *request.Request, output *CreateDBInstanceReadReplicaOutput) {
1485	op := &request.Operation{
1486		Name:       opCreateDBInstanceReadReplica,
1487		HTTPMethod: "POST",
1488		HTTPPath:   "/",
1489	}
1490
1491	if input == nil {
1492		input = &CreateDBInstanceReadReplicaInput{}
1493	}
1494
1495	output = &CreateDBInstanceReadReplicaOutput{}
1496	req = c.newRequest(op, input, output)
1497	return
1498}
1499
1500// CreateDBInstanceReadReplica API operation for Amazon Relational Database Service.
1501//
1502// Creates a new DB instance that acts as a Read Replica for an existing source
1503// DB instance. You can create a Read Replica for a DB instance running MySQL,
1504// MariaDB, or PostgreSQL.
1505//
1506// Amazon Aurora does not support this action. You must call the CreateDBInstance
1507// action to create a DB instance for an Aurora DB cluster.
1508//
1509// All Read Replica DB instances are created as Single-AZ deployments with backups
1510// disabled. All other DB instance attributes (including DB security groups
1511// and DB parameter groups) are inherited from the source DB instance, except
1512// as specified below.
1513//
1514// The source DB instance must have backup retention enabled.
1515//
1516// For more information, see Working with PostgreSQL, MySQL, and MariaDB Read
1517// Replicas (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html).
1518//
1519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1520// with awserr.Error's Code and Message methods to get detailed information about
1521// the error.
1522//
1523// See the AWS API reference guide for Amazon Relational Database Service's
1524// API operation CreateDBInstanceReadReplica for usage and error information.
1525//
1526// Returned Error Codes:
1527//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1528//   User already has a DB instance with the given identifier.
1529//
1530//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1531//   Specified DB instance class is not available in the specified Availability
1532//   Zone.
1533//
1534//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1535//   DBParameterGroupName does not refer to an existing DB parameter group.
1536//
1537//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1538//   DBSecurityGroupName does not refer to an existing DB security group.
1539//
1540//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1541//   Request would result in user exceeding the allowed number of DB instances.
1542//
1543//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1544//   Request would result in user exceeding the allowed amount of storage available
1545//   across all DB instances.
1546//
1547//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1548//   DBInstanceIdentifier does not refer to an existing DB instance.
1549//
1550//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1551//   The specified DB instance is not in the available state.
1552//
1553//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1554//   DBSubnetGroupName does not refer to an existing DB subnet group.
1555//
1556//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1557//   Subnets in the DB subnet group should cover at least two Availability Zones
1558//   unless there is only one Availability Zone.
1559//
1560//   * ErrCodeInvalidSubnet "InvalidSubnet"
1561//   The requested subnet is invalid, or multiple subnets were requested that
1562//   are not all in a common VPC.
1563//
1564//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1565//   DB subnet group does not cover all Availability Zones after it is created
1566//   because users' change.
1567//
1568//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1569//   Provisioned IOPS not available in the specified Availability Zone.
1570//
1571//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1572//   The specified option group could not be found.
1573//
1574//   * ErrCodeDBSubnetGroupNotAllowedFault "DBSubnetGroupNotAllowedFault"
1575//   Indicates that the DBSubnetGroup should not be specified while creating read
1576//   replicas that lie in the same region as the source instance.
1577//
1578//   * ErrCodeInvalidDBSubnetGroupFault "InvalidDBSubnetGroupFault"
1579//   Indicates the DBSubnetGroup does not belong to the same VPC as that of an
1580//   existing cross region read replica of the same source instance.
1581//
1582//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1583//   StorageType specified cannot be associated with the DB Instance.
1584//
1585//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1586//   Error accessing KMS key.
1587//
1588// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
1589func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) {
1590	req, out := c.CreateDBInstanceReadReplicaRequest(input)
1591	return out, req.Send()
1592}
1593
1594// CreateDBInstanceReadReplicaWithContext is the same as CreateDBInstanceReadReplica with the addition of
1595// the ability to pass a context and additional request options.
1596//
1597// See CreateDBInstanceReadReplica for details on how to use this API operation.
1598//
1599// The context must be non-nil and will be used for request cancellation. If
1600// the context is nil a panic will occur. In the future the SDK may create
1601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1602// for more information on using Contexts.
1603func (c *RDS) CreateDBInstanceReadReplicaWithContext(ctx aws.Context, input *CreateDBInstanceReadReplicaInput, opts ...request.Option) (*CreateDBInstanceReadReplicaOutput, error) {
1604	req, out := c.CreateDBInstanceReadReplicaRequest(input)
1605	req.SetContext(ctx)
1606	req.ApplyOptions(opts...)
1607	return out, req.Send()
1608}
1609
1610const opCreateDBParameterGroup = "CreateDBParameterGroup"
1611
1612// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
1613// client's request for the CreateDBParameterGroup operation. The "output" return
1614// value will be populated with the request's response once the request complets
1615// successfuly.
1616//
1617// Use "Send" method on the returned Request to send the API call to the service.
1618// the "output" return value is not valid until after Send returns without error.
1619//
1620// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
1621// API call, and error handling.
1622//
1623// This method is useful when you want to inject custom logic or configuration
1624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1625//
1626//
1627//    // Example sending a request using the CreateDBParameterGroupRequest method.
1628//    req, resp := client.CreateDBParameterGroupRequest(params)
1629//
1630//    err := req.Send()
1631//    if err == nil { // resp is now filled
1632//        fmt.Println(resp)
1633//    }
1634//
1635// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
1636func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
1637	op := &request.Operation{
1638		Name:       opCreateDBParameterGroup,
1639		HTTPMethod: "POST",
1640		HTTPPath:   "/",
1641	}
1642
1643	if input == nil {
1644		input = &CreateDBParameterGroupInput{}
1645	}
1646
1647	output = &CreateDBParameterGroupOutput{}
1648	req = c.newRequest(op, input, output)
1649	return
1650}
1651
1652// CreateDBParameterGroup API operation for Amazon Relational Database Service.
1653//
1654// Creates a new DB parameter group.
1655//
1656// A DB parameter group is initially created with the default parameters for
1657// the database engine used by the DB instance. To provide custom values for
1658// any of the parameters, you must modify the group after creating it using
1659// ModifyDBParameterGroup. Once you've created a DB parameter group, you need
1660// to associate it with your DB instance using ModifyDBInstance. When you associate
1661// a new DB parameter group with a running DB instance, you need to reboot the
1662// DB instance without failover for the new DB parameter group and associated
1663// settings to take effect.
1664//
1665// After you create a DB parameter group, you should wait at least 5 minutes
1666// before creating your first DB instance that uses that DB parameter group
1667// as the default parameter group. This allows Amazon RDS to fully complete
1668// the create action before the parameter group is used as the default for a
1669// new DB instance. This is especially important for parameters that are critical
1670// when creating the default database for a DB instance, such as the character
1671// set for the default database defined by the character_set_database parameter.
1672// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
1673// or the DescribeDBParameters command to verify that your DB parameter group
1674// has been created or modified.
1675//
1676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1677// with awserr.Error's Code and Message methods to get detailed information about
1678// the error.
1679//
1680// See the AWS API reference guide for Amazon Relational Database Service's
1681// API operation CreateDBParameterGroup for usage and error information.
1682//
1683// Returned Error Codes:
1684//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1685//   Request would result in user exceeding the allowed number of DB parameter
1686//   groups.
1687//
1688//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1689//   A DB parameter group with the same name exists.
1690//
1691// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
1692func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
1693	req, out := c.CreateDBParameterGroupRequest(input)
1694	return out, req.Send()
1695}
1696
1697// CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
1698// the ability to pass a context and additional request options.
1699//
1700// See CreateDBParameterGroup for details on how to use this API operation.
1701//
1702// The context must be non-nil and will be used for request cancellation. If
1703// the context is nil a panic will occur. In the future the SDK may create
1704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1705// for more information on using Contexts.
1706func (c *RDS) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
1707	req, out := c.CreateDBParameterGroupRequest(input)
1708	req.SetContext(ctx)
1709	req.ApplyOptions(opts...)
1710	return out, req.Send()
1711}
1712
1713const opCreateDBSecurityGroup = "CreateDBSecurityGroup"
1714
1715// CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the
1716// client's request for the CreateDBSecurityGroup operation. The "output" return
1717// value will be populated with the request's response once the request complets
1718// successfuly.
1719//
1720// Use "Send" method on the returned Request to send the API call to the service.
1721// the "output" return value is not valid until after Send returns without error.
1722//
1723// See CreateDBSecurityGroup for more information on using the CreateDBSecurityGroup
1724// API call, and error handling.
1725//
1726// This method is useful when you want to inject custom logic or configuration
1727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1728//
1729//
1730//    // Example sending a request using the CreateDBSecurityGroupRequest method.
1731//    req, resp := client.CreateDBSecurityGroupRequest(params)
1732//
1733//    err := req.Send()
1734//    if err == nil { // resp is now filled
1735//        fmt.Println(resp)
1736//    }
1737//
1738// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
1739func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (req *request.Request, output *CreateDBSecurityGroupOutput) {
1740	op := &request.Operation{
1741		Name:       opCreateDBSecurityGroup,
1742		HTTPMethod: "POST",
1743		HTTPPath:   "/",
1744	}
1745
1746	if input == nil {
1747		input = &CreateDBSecurityGroupInput{}
1748	}
1749
1750	output = &CreateDBSecurityGroupOutput{}
1751	req = c.newRequest(op, input, output)
1752	return
1753}
1754
1755// CreateDBSecurityGroup API operation for Amazon Relational Database Service.
1756//
1757// Creates a new DB security group. DB security groups control access to a DB
1758// instance.
1759//
1760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1761// with awserr.Error's Code and Message methods to get detailed information about
1762// the error.
1763//
1764// See the AWS API reference guide for Amazon Relational Database Service's
1765// API operation CreateDBSecurityGroup for usage and error information.
1766//
1767// Returned Error Codes:
1768//   * ErrCodeDBSecurityGroupAlreadyExistsFault "DBSecurityGroupAlreadyExists"
1769//   A DB security group with the name specified in DBSecurityGroupName already
1770//   exists.
1771//
1772//   * ErrCodeDBSecurityGroupQuotaExceededFault "QuotaExceeded.DBSecurityGroup"
1773//   Request would result in user exceeding the allowed number of DB security
1774//   groups.
1775//
1776//   * ErrCodeDBSecurityGroupNotSupportedFault "DBSecurityGroupNotSupported"
1777//   A DB security group is not allowed for this action.
1778//
1779// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
1780func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateDBSecurityGroupOutput, error) {
1781	req, out := c.CreateDBSecurityGroupRequest(input)
1782	return out, req.Send()
1783}
1784
1785// CreateDBSecurityGroupWithContext is the same as CreateDBSecurityGroup with the addition of
1786// the ability to pass a context and additional request options.
1787//
1788// See CreateDBSecurityGroup for details on how to use this API operation.
1789//
1790// The context must be non-nil and will be used for request cancellation. If
1791// the context is nil a panic will occur. In the future the SDK may create
1792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1793// for more information on using Contexts.
1794func (c *RDS) CreateDBSecurityGroupWithContext(ctx aws.Context, input *CreateDBSecurityGroupInput, opts ...request.Option) (*CreateDBSecurityGroupOutput, error) {
1795	req, out := c.CreateDBSecurityGroupRequest(input)
1796	req.SetContext(ctx)
1797	req.ApplyOptions(opts...)
1798	return out, req.Send()
1799}
1800
1801const opCreateDBSnapshot = "CreateDBSnapshot"
1802
1803// CreateDBSnapshotRequest generates a "aws/request.Request" representing the
1804// client's request for the CreateDBSnapshot operation. The "output" return
1805// value will be populated with the request's response once the request complets
1806// successfuly.
1807//
1808// Use "Send" method on the returned Request to send the API call to the service.
1809// the "output" return value is not valid until after Send returns without error.
1810//
1811// See CreateDBSnapshot for more information on using the CreateDBSnapshot
1812// API call, and error handling.
1813//
1814// This method is useful when you want to inject custom logic or configuration
1815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1816//
1817//
1818//    // Example sending a request using the CreateDBSnapshotRequest method.
1819//    req, resp := client.CreateDBSnapshotRequest(params)
1820//
1821//    err := req.Send()
1822//    if err == nil { // resp is now filled
1823//        fmt.Println(resp)
1824//    }
1825//
1826// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
1827func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *request.Request, output *CreateDBSnapshotOutput) {
1828	op := &request.Operation{
1829		Name:       opCreateDBSnapshot,
1830		HTTPMethod: "POST",
1831		HTTPPath:   "/",
1832	}
1833
1834	if input == nil {
1835		input = &CreateDBSnapshotInput{}
1836	}
1837
1838	output = &CreateDBSnapshotOutput{}
1839	req = c.newRequest(op, input, output)
1840	return
1841}
1842
1843// CreateDBSnapshot API operation for Amazon Relational Database Service.
1844//
1845// Creates a DBSnapshot. The source DBInstance must be in "available" state.
1846//
1847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1848// with awserr.Error's Code and Message methods to get detailed information about
1849// the error.
1850//
1851// See the AWS API reference guide for Amazon Relational Database Service's
1852// API operation CreateDBSnapshot for usage and error information.
1853//
1854// Returned Error Codes:
1855//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1856//   DBSnapshotIdentifier is already used by an existing snapshot.
1857//
1858//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1859//   The specified DB instance is not in the available state.
1860//
1861//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1862//   DBInstanceIdentifier does not refer to an existing DB instance.
1863//
1864//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1865//   Request would result in user exceeding the allowed number of DB snapshots.
1866//
1867// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
1868func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotOutput, error) {
1869	req, out := c.CreateDBSnapshotRequest(input)
1870	return out, req.Send()
1871}
1872
1873// CreateDBSnapshotWithContext is the same as CreateDBSnapshot with the addition of
1874// the ability to pass a context and additional request options.
1875//
1876// See CreateDBSnapshot for details on how to use this API operation.
1877//
1878// The context must be non-nil and will be used for request cancellation. If
1879// the context is nil a panic will occur. In the future the SDK may create
1880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1881// for more information on using Contexts.
1882func (c *RDS) CreateDBSnapshotWithContext(ctx aws.Context, input *CreateDBSnapshotInput, opts ...request.Option) (*CreateDBSnapshotOutput, error) {
1883	req, out := c.CreateDBSnapshotRequest(input)
1884	req.SetContext(ctx)
1885	req.ApplyOptions(opts...)
1886	return out, req.Send()
1887}
1888
1889const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
1890
1891// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
1892// client's request for the CreateDBSubnetGroup operation. The "output" return
1893// value will be populated with the request's response once the request complets
1894// successfuly.
1895//
1896// Use "Send" method on the returned Request to send the API call to the service.
1897// the "output" return value is not valid until after Send returns without error.
1898//
1899// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
1900// API call, and error handling.
1901//
1902// This method is useful when you want to inject custom logic or configuration
1903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1904//
1905//
1906//    // Example sending a request using the CreateDBSubnetGroupRequest method.
1907//    req, resp := client.CreateDBSubnetGroupRequest(params)
1908//
1909//    err := req.Send()
1910//    if err == nil { // resp is now filled
1911//        fmt.Println(resp)
1912//    }
1913//
1914// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
1915func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
1916	op := &request.Operation{
1917		Name:       opCreateDBSubnetGroup,
1918		HTTPMethod: "POST",
1919		HTTPPath:   "/",
1920	}
1921
1922	if input == nil {
1923		input = &CreateDBSubnetGroupInput{}
1924	}
1925
1926	output = &CreateDBSubnetGroupOutput{}
1927	req = c.newRequest(op, input, output)
1928	return
1929}
1930
1931// CreateDBSubnetGroup API operation for Amazon Relational Database Service.
1932//
1933// Creates a new DB subnet group. DB subnet groups must contain at least one
1934// subnet in at least two AZs in the AWS Region.
1935//
1936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1937// with awserr.Error's Code and Message methods to get detailed information about
1938// the error.
1939//
1940// See the AWS API reference guide for Amazon Relational Database Service's
1941// API operation CreateDBSubnetGroup for usage and error information.
1942//
1943// Returned Error Codes:
1944//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
1945//   DBSubnetGroupName is already used by an existing DB subnet group.
1946//
1947//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
1948//   Request would result in user exceeding the allowed number of DB subnet groups.
1949//
1950//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
1951//   Request would result in user exceeding the allowed number of subnets in a
1952//   DB subnet groups.
1953//
1954//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1955//   Subnets in the DB subnet group should cover at least two Availability Zones
1956//   unless there is only one Availability Zone.
1957//
1958//   * ErrCodeInvalidSubnet "InvalidSubnet"
1959//   The requested subnet is invalid, or multiple subnets were requested that
1960//   are not all in a common VPC.
1961//
1962// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
1963func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
1964	req, out := c.CreateDBSubnetGroupRequest(input)
1965	return out, req.Send()
1966}
1967
1968// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
1969// the ability to pass a context and additional request options.
1970//
1971// See CreateDBSubnetGroup for details on how to use this API operation.
1972//
1973// The context must be non-nil and will be used for request cancellation. If
1974// the context is nil a panic will occur. In the future the SDK may create
1975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1976// for more information on using Contexts.
1977func (c *RDS) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
1978	req, out := c.CreateDBSubnetGroupRequest(input)
1979	req.SetContext(ctx)
1980	req.ApplyOptions(opts...)
1981	return out, req.Send()
1982}
1983
1984const opCreateEventSubscription = "CreateEventSubscription"
1985
1986// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
1987// client's request for the CreateEventSubscription operation. The "output" return
1988// value will be populated with the request's response once the request complets
1989// successfuly.
1990//
1991// Use "Send" method on the returned Request to send the API call to the service.
1992// the "output" return value is not valid until after Send returns without error.
1993//
1994// See CreateEventSubscription for more information on using the CreateEventSubscription
1995// API call, and error handling.
1996//
1997// This method is useful when you want to inject custom logic or configuration
1998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1999//
2000//
2001//    // Example sending a request using the CreateEventSubscriptionRequest method.
2002//    req, resp := client.CreateEventSubscriptionRequest(params)
2003//
2004//    err := req.Send()
2005//    if err == nil { // resp is now filled
2006//        fmt.Println(resp)
2007//    }
2008//
2009// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2010func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
2011	op := &request.Operation{
2012		Name:       opCreateEventSubscription,
2013		HTTPMethod: "POST",
2014		HTTPPath:   "/",
2015	}
2016
2017	if input == nil {
2018		input = &CreateEventSubscriptionInput{}
2019	}
2020
2021	output = &CreateEventSubscriptionOutput{}
2022	req = c.newRequest(op, input, output)
2023	return
2024}
2025
2026// CreateEventSubscription API operation for Amazon Relational Database Service.
2027//
2028// Creates an RDS event notification subscription. This action requires a topic
2029// ARN (Amazon Resource Name) created by either the RDS console, the SNS console,
2030// or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon
2031// SNS and subscribe to the topic. The ARN is displayed in the SNS console.
2032//
2033// You can specify the type of source (SourceType) you want to be notified of,
2034// provide a list of RDS sources (SourceIds) that triggers the events, and provide
2035// a list of event categories (EventCategories) for events you want to be notified
2036// of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1,
2037// mydbinstance2 and EventCategories = Availability, Backup.
2038//
2039// If you specify both the SourceType and SourceIds, such as SourceType = db-instance
2040// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
2041// events for the specified source. If you specify a SourceType but do not specify
2042// a SourceIdentifier, you receive notice of the events for that source type
2043// for all your RDS sources. If you do not specify either the SourceType nor
2044// the SourceIdentifier, you are notified of events generated from all RDS sources
2045// belonging to your customer account.
2046//
2047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2048// with awserr.Error's Code and Message methods to get detailed information about
2049// the error.
2050//
2051// See the AWS API reference guide for Amazon Relational Database Service's
2052// API operation CreateEventSubscription for usage and error information.
2053//
2054// Returned Error Codes:
2055//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
2056//   You have reached the maximum number of event subscriptions.
2057//
2058//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
2059//   The supplied subscription name already exists.
2060//
2061//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
2062//   SNS has responded that there is a problem with the SND topic specified.
2063//
2064//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
2065//   You do not have permission to publish to the SNS topic ARN.
2066//
2067//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
2068//   The SNS topic ARN does not exist.
2069//
2070//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
2071//   The supplied category does not exist.
2072//
2073//   * ErrCodeSourceNotFoundFault "SourceNotFound"
2074//   The requested source could not be found.
2075//
2076// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2077func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
2078	req, out := c.CreateEventSubscriptionRequest(input)
2079	return out, req.Send()
2080}
2081
2082// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
2083// the ability to pass a context and additional request options.
2084//
2085// See CreateEventSubscription for details on how to use this API operation.
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 *RDS) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
2092	req, out := c.CreateEventSubscriptionRequest(input)
2093	req.SetContext(ctx)
2094	req.ApplyOptions(opts...)
2095	return out, req.Send()
2096}
2097
2098const opCreateOptionGroup = "CreateOptionGroup"
2099
2100// CreateOptionGroupRequest generates a "aws/request.Request" representing the
2101// client's request for the CreateOptionGroup operation. The "output" return
2102// value will be populated with the request's response once the request complets
2103// successfuly.
2104//
2105// Use "Send" method on the returned Request to send the API call to the service.
2106// the "output" return value is not valid until after Send returns without error.
2107//
2108// See CreateOptionGroup for more information on using the CreateOptionGroup
2109// API call, and error handling.
2110//
2111// This method is useful when you want to inject custom logic or configuration
2112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2113//
2114//
2115//    // Example sending a request using the CreateOptionGroupRequest method.
2116//    req, resp := client.CreateOptionGroupRequest(params)
2117//
2118//    err := req.Send()
2119//    if err == nil { // resp is now filled
2120//        fmt.Println(resp)
2121//    }
2122//
2123// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2124func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *request.Request, output *CreateOptionGroupOutput) {
2125	op := &request.Operation{
2126		Name:       opCreateOptionGroup,
2127		HTTPMethod: "POST",
2128		HTTPPath:   "/",
2129	}
2130
2131	if input == nil {
2132		input = &CreateOptionGroupInput{}
2133	}
2134
2135	output = &CreateOptionGroupOutput{}
2136	req = c.newRequest(op, input, output)
2137	return
2138}
2139
2140// CreateOptionGroup API operation for Amazon Relational Database Service.
2141//
2142// Creates a new option group. You can create up to 20 option groups.
2143//
2144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2145// with awserr.Error's Code and Message methods to get detailed information about
2146// the error.
2147//
2148// See the AWS API reference guide for Amazon Relational Database Service's
2149// API operation CreateOptionGroup for usage and error information.
2150//
2151// Returned Error Codes:
2152//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
2153//   The option group you are trying to create already exists.
2154//
2155//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
2156//   The quota of 20 option groups was exceeded for this AWS account.
2157//
2158// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2159func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGroupOutput, error) {
2160	req, out := c.CreateOptionGroupRequest(input)
2161	return out, req.Send()
2162}
2163
2164// CreateOptionGroupWithContext is the same as CreateOptionGroup with the addition of
2165// the ability to pass a context and additional request options.
2166//
2167// See CreateOptionGroup for details on how to use this API operation.
2168//
2169// The context must be non-nil and will be used for request cancellation. If
2170// the context is nil a panic will occur. In the future the SDK may create
2171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2172// for more information on using Contexts.
2173func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionGroupInput, opts ...request.Option) (*CreateOptionGroupOutput, error) {
2174	req, out := c.CreateOptionGroupRequest(input)
2175	req.SetContext(ctx)
2176	req.ApplyOptions(opts...)
2177	return out, req.Send()
2178}
2179
2180const opDeleteDBCluster = "DeleteDBCluster"
2181
2182// DeleteDBClusterRequest generates a "aws/request.Request" representing the
2183// client's request for the DeleteDBCluster operation. The "output" return
2184// value will be populated with the request's response once the request complets
2185// successfuly.
2186//
2187// Use "Send" method on the returned Request to send the API call to the service.
2188// the "output" return value is not valid until after Send returns without error.
2189//
2190// See DeleteDBCluster for more information on using the DeleteDBCluster
2191// API call, and error handling.
2192//
2193// This method is useful when you want to inject custom logic or configuration
2194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2195//
2196//
2197//    // Example sending a request using the DeleteDBClusterRequest method.
2198//    req, resp := client.DeleteDBClusterRequest(params)
2199//
2200//    err := req.Send()
2201//    if err == nil { // resp is now filled
2202//        fmt.Println(resp)
2203//    }
2204//
2205// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
2206func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
2207	op := &request.Operation{
2208		Name:       opDeleteDBCluster,
2209		HTTPMethod: "POST",
2210		HTTPPath:   "/",
2211	}
2212
2213	if input == nil {
2214		input = &DeleteDBClusterInput{}
2215	}
2216
2217	output = &DeleteDBClusterOutput{}
2218	req = c.newRequest(op, input, output)
2219	return
2220}
2221
2222// DeleteDBCluster API operation for Amazon Relational Database Service.
2223//
2224// The DeleteDBCluster action deletes a previously provisioned DB cluster. When
2225// you delete a DB cluster, all automated backups for that DB cluster are deleted
2226// and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
2227// are not deleted.
2228//
2229// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)in the Amazon RDS User Guide.
2230//
2231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2232// with awserr.Error's Code and Message methods to get detailed information about
2233// the error.
2234//
2235// See the AWS API reference guide for Amazon Relational Database Service's
2236// API operation DeleteDBCluster for usage and error information.
2237//
2238// Returned Error Codes:
2239//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2240//   DBClusterIdentifier does not refer to an existing DB cluster.
2241//
2242//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2243//   The DB cluster is not in a valid state.
2244//
2245//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
2246//   User already has a DB cluster snapshot with the given identifier.
2247//
2248//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2249//   Request would result in user exceeding the allowed number of DB snapshots.
2250//
2251//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
2252//   The supplied value is not a valid DB cluster snapshot state.
2253//
2254// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
2255func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
2256	req, out := c.DeleteDBClusterRequest(input)
2257	return out, req.Send()
2258}
2259
2260// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
2261// the ability to pass a context and additional request options.
2262//
2263// See DeleteDBCluster for details on how to use this API operation.
2264//
2265// The context must be non-nil and will be used for request cancellation. If
2266// the context is nil a panic will occur. In the future the SDK may create
2267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2268// for more information on using Contexts.
2269func (c *RDS) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
2270	req, out := c.DeleteDBClusterRequest(input)
2271	req.SetContext(ctx)
2272	req.ApplyOptions(opts...)
2273	return out, req.Send()
2274}
2275
2276const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
2277
2278// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
2279// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
2280// value will be populated with the request's response once the request complets
2281// successfuly.
2282//
2283// Use "Send" method on the returned Request to send the API call to the service.
2284// the "output" return value is not valid until after Send returns without error.
2285//
2286// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
2287// API call, and error handling.
2288//
2289// This method is useful when you want to inject custom logic or configuration
2290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2291//
2292//
2293//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
2294//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
2295//
2296//    err := req.Send()
2297//    if err == nil { // resp is now filled
2298//        fmt.Println(resp)
2299//    }
2300//
2301// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
2302func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
2303	op := &request.Operation{
2304		Name:       opDeleteDBClusterParameterGroup,
2305		HTTPMethod: "POST",
2306		HTTPPath:   "/",
2307	}
2308
2309	if input == nil {
2310		input = &DeleteDBClusterParameterGroupInput{}
2311	}
2312
2313	output = &DeleteDBClusterParameterGroupOutput{}
2314	req = c.newRequest(op, input, output)
2315	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
2316	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2317	return
2318}
2319
2320// DeleteDBClusterParameterGroup API operation for Amazon Relational Database Service.
2321//
2322// Deletes a specified DB cluster parameter group. The DB cluster parameter
2323// group to be deleted can't be associated with any DB clusters.
2324//
2325// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
2326// in the Amazon RDS User Guide.
2327//
2328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2329// with awserr.Error's Code and Message methods to get detailed information about
2330// the error.
2331//
2332// See the AWS API reference guide for Amazon Relational Database Service's
2333// API operation DeleteDBClusterParameterGroup for usage and error information.
2334//
2335// Returned Error Codes:
2336//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
2337//   The DB parameter group is in use or is in an invalid state. If you are attempting
2338//   to delete the parameter group, you cannot delete it when the parameter group
2339//   is in this state.
2340//
2341//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2342//   DBParameterGroupName does not refer to an existing DB parameter group.
2343//
2344// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
2345func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
2346	req, out := c.DeleteDBClusterParameterGroupRequest(input)
2347	return out, req.Send()
2348}
2349
2350// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
2351// the ability to pass a context and additional request options.
2352//
2353// See DeleteDBClusterParameterGroup for details on how to use this API operation.
2354//
2355// The context must be non-nil and will be used for request cancellation. If
2356// the context is nil a panic will occur. In the future the SDK may create
2357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2358// for more information on using Contexts.
2359func (c *RDS) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
2360	req, out := c.DeleteDBClusterParameterGroupRequest(input)
2361	req.SetContext(ctx)
2362	req.ApplyOptions(opts...)
2363	return out, req.Send()
2364}
2365
2366const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
2367
2368// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
2369// client's request for the DeleteDBClusterSnapshot operation. The "output" return
2370// value will be populated with the request's response once the request complets
2371// successfuly.
2372//
2373// Use "Send" method on the returned Request to send the API call to the service.
2374// the "output" return value is not valid until after Send returns without error.
2375//
2376// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
2377// API call, and error handling.
2378//
2379// This method is useful when you want to inject custom logic or configuration
2380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2381//
2382//
2383//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
2384//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
2385//
2386//    err := req.Send()
2387//    if err == nil { // resp is now filled
2388//        fmt.Println(resp)
2389//    }
2390//
2391// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
2392func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
2393	op := &request.Operation{
2394		Name:       opDeleteDBClusterSnapshot,
2395		HTTPMethod: "POST",
2396		HTTPPath:   "/",
2397	}
2398
2399	if input == nil {
2400		input = &DeleteDBClusterSnapshotInput{}
2401	}
2402
2403	output = &DeleteDBClusterSnapshotOutput{}
2404	req = c.newRequest(op, input, output)
2405	return
2406}
2407
2408// DeleteDBClusterSnapshot API operation for Amazon Relational Database Service.
2409//
2410// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
2411// operation is terminated.
2412//
2413// The DB cluster snapshot must be in the available state to be deleted.
2414//
2415// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
2416// in the Amazon RDS User Guide.
2417//
2418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2419// with awserr.Error's Code and Message methods to get detailed information about
2420// the error.
2421//
2422// See the AWS API reference guide for Amazon Relational Database Service's
2423// API operation DeleteDBClusterSnapshot for usage and error information.
2424//
2425// Returned Error Codes:
2426//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
2427//   The supplied value is not a valid DB cluster snapshot state.
2428//
2429//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
2430//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
2431//
2432// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
2433func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
2434	req, out := c.DeleteDBClusterSnapshotRequest(input)
2435	return out, req.Send()
2436}
2437
2438// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
2439// the ability to pass a context and additional request options.
2440//
2441// See DeleteDBClusterSnapshot for details on how to use this API operation.
2442//
2443// The context must be non-nil and will be used for request cancellation. If
2444// the context is nil a panic will occur. In the future the SDK may create
2445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2446// for more information on using Contexts.
2447func (c *RDS) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
2448	req, out := c.DeleteDBClusterSnapshotRequest(input)
2449	req.SetContext(ctx)
2450	req.ApplyOptions(opts...)
2451	return out, req.Send()
2452}
2453
2454const opDeleteDBInstance = "DeleteDBInstance"
2455
2456// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
2457// client's request for the DeleteDBInstance operation. The "output" return
2458// value will be populated with the request's response once the request complets
2459// successfuly.
2460//
2461// Use "Send" method on the returned Request to send the API call to the service.
2462// the "output" return value is not valid until after Send returns without error.
2463//
2464// See DeleteDBInstance for more information on using the DeleteDBInstance
2465// API call, and error handling.
2466//
2467// This method is useful when you want to inject custom logic or configuration
2468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2469//
2470//
2471//    // Example sending a request using the DeleteDBInstanceRequest method.
2472//    req, resp := client.DeleteDBInstanceRequest(params)
2473//
2474//    err := req.Send()
2475//    if err == nil { // resp is now filled
2476//        fmt.Println(resp)
2477//    }
2478//
2479// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
2480func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
2481	op := &request.Operation{
2482		Name:       opDeleteDBInstance,
2483		HTTPMethod: "POST",
2484		HTTPPath:   "/",
2485	}
2486
2487	if input == nil {
2488		input = &DeleteDBInstanceInput{}
2489	}
2490
2491	output = &DeleteDBInstanceOutput{}
2492	req = c.newRequest(op, input, output)
2493	return
2494}
2495
2496// DeleteDBInstance API operation for Amazon Relational Database Service.
2497//
2498// The DeleteDBInstance action deletes a previously provisioned DB instance.
2499// When you delete a DB instance, all automated backups for that instance are
2500// deleted and can't be recovered. Manual DB snapshots of the DB instance to
2501// be deleted by DeleteDBInstance are not deleted.
2502//
2503// If you request a final DB snapshot the status of the Amazon RDS DB instance
2504// is deleting until the DB snapshot is created. The API action DescribeDBInstance
2505// is used to monitor the status of this operation. The action can't be canceled
2506// or reverted once submitted.
2507//
2508// Note that when a DB instance is in a failure state and has a status of failed,
2509// incompatible-restore, or incompatible-network, you can only delete it when
2510// the SkipFinalSnapshot parameter is set to true.
2511//
2512// If the specified DB instance is part of an Amazon Aurora DB cluster, you
2513// can't delete the DB instance if both of the following conditions are true:
2514//
2515//    * The DB cluster is a Read Replica of another Amazon Aurora DB cluster.
2516//
2517//    * The DB instance is the only instance in the DB cluster.
2518//
2519// To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster
2520// API action to promote the DB cluster so it's no longer a Read Replica. After
2521// the promotion completes, then call the DeleteDBInstance API action to delete
2522// the final instance in the DB cluster.
2523//
2524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2525// with awserr.Error's Code and Message methods to get detailed information about
2526// the error.
2527//
2528// See the AWS API reference guide for Amazon Relational Database Service's
2529// API operation DeleteDBInstance for usage and error information.
2530//
2531// Returned Error Codes:
2532//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2533//   DBInstanceIdentifier does not refer to an existing DB instance.
2534//
2535//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2536//   The specified DB instance is not in the available state.
2537//
2538//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
2539//   DBSnapshotIdentifier is already used by an existing snapshot.
2540//
2541//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2542//   Request would result in user exceeding the allowed number of DB snapshots.
2543//
2544//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2545//   The DB cluster is not in a valid state.
2546//
2547// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
2548func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
2549	req, out := c.DeleteDBInstanceRequest(input)
2550	return out, req.Send()
2551}
2552
2553// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
2554// the ability to pass a context and additional request options.
2555//
2556// See DeleteDBInstance for details on how to use this API operation.
2557//
2558// The context must be non-nil and will be used for request cancellation. If
2559// the context is nil a panic will occur. In the future the SDK may create
2560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2561// for more information on using Contexts.
2562func (c *RDS) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
2563	req, out := c.DeleteDBInstanceRequest(input)
2564	req.SetContext(ctx)
2565	req.ApplyOptions(opts...)
2566	return out, req.Send()
2567}
2568
2569const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
2570
2571// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
2572// client's request for the DeleteDBParameterGroup operation. The "output" return
2573// value will be populated with the request's response once the request complets
2574// successfuly.
2575//
2576// Use "Send" method on the returned Request to send the API call to the service.
2577// the "output" return value is not valid until after Send returns without error.
2578//
2579// See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
2580// API call, and error handling.
2581//
2582// This method is useful when you want to inject custom logic or configuration
2583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2584//
2585//
2586//    // Example sending a request using the DeleteDBParameterGroupRequest method.
2587//    req, resp := client.DeleteDBParameterGroupRequest(params)
2588//
2589//    err := req.Send()
2590//    if err == nil { // resp is now filled
2591//        fmt.Println(resp)
2592//    }
2593//
2594// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
2595func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
2596	op := &request.Operation{
2597		Name:       opDeleteDBParameterGroup,
2598		HTTPMethod: "POST",
2599		HTTPPath:   "/",
2600	}
2601
2602	if input == nil {
2603		input = &DeleteDBParameterGroupInput{}
2604	}
2605
2606	output = &DeleteDBParameterGroupOutput{}
2607	req = c.newRequest(op, input, output)
2608	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
2609	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2610	return
2611}
2612
2613// DeleteDBParameterGroup API operation for Amazon Relational Database Service.
2614//
2615// Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted
2616// can't be associated with any DB instances.
2617//
2618// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2619// with awserr.Error's Code and Message methods to get detailed information about
2620// the error.
2621//
2622// See the AWS API reference guide for Amazon Relational Database Service's
2623// API operation DeleteDBParameterGroup for usage and error information.
2624//
2625// Returned Error Codes:
2626//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
2627//   The DB parameter group is in use or is in an invalid state. If you are attempting
2628//   to delete the parameter group, you cannot delete it when the parameter group
2629//   is in this state.
2630//
2631//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2632//   DBParameterGroupName does not refer to an existing DB parameter group.
2633//
2634// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
2635func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
2636	req, out := c.DeleteDBParameterGroupRequest(input)
2637	return out, req.Send()
2638}
2639
2640// DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
2641// the ability to pass a context and additional request options.
2642//
2643// See DeleteDBParameterGroup for details on how to use this API operation.
2644//
2645// The context must be non-nil and will be used for request cancellation. If
2646// the context is nil a panic will occur. In the future the SDK may create
2647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2648// for more information on using Contexts.
2649func (c *RDS) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
2650	req, out := c.DeleteDBParameterGroupRequest(input)
2651	req.SetContext(ctx)
2652	req.ApplyOptions(opts...)
2653	return out, req.Send()
2654}
2655
2656const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup"
2657
2658// DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the
2659// client's request for the DeleteDBSecurityGroup operation. The "output" return
2660// value will be populated with the request's response once the request complets
2661// successfuly.
2662//
2663// Use "Send" method on the returned Request to send the API call to the service.
2664// the "output" return value is not valid until after Send returns without error.
2665//
2666// See DeleteDBSecurityGroup for more information on using the DeleteDBSecurityGroup
2667// API call, and error handling.
2668//
2669// This method is useful when you want to inject custom logic or configuration
2670// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2671//
2672//
2673//    // Example sending a request using the DeleteDBSecurityGroupRequest method.
2674//    req, resp := client.DeleteDBSecurityGroupRequest(params)
2675//
2676//    err := req.Send()
2677//    if err == nil { // resp is now filled
2678//        fmt.Println(resp)
2679//    }
2680//
2681// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
2682func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (req *request.Request, output *DeleteDBSecurityGroupOutput) {
2683	op := &request.Operation{
2684		Name:       opDeleteDBSecurityGroup,
2685		HTTPMethod: "POST",
2686		HTTPPath:   "/",
2687	}
2688
2689	if input == nil {
2690		input = &DeleteDBSecurityGroupInput{}
2691	}
2692
2693	output = &DeleteDBSecurityGroupOutput{}
2694	req = c.newRequest(op, input, output)
2695	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
2696	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2697	return
2698}
2699
2700// DeleteDBSecurityGroup API operation for Amazon Relational Database Service.
2701//
2702// Deletes a DB security group.
2703//
2704// The specified DB security group must not be associated with any DB instances.
2705//
2706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2707// with awserr.Error's Code and Message methods to get detailed information about
2708// the error.
2709//
2710// See the AWS API reference guide for Amazon Relational Database Service's
2711// API operation DeleteDBSecurityGroup for usage and error information.
2712//
2713// Returned Error Codes:
2714//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
2715//   The state of the DB security group does not allow deletion.
2716//
2717//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
2718//   DBSecurityGroupName does not refer to an existing DB security group.
2719//
2720// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
2721func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteDBSecurityGroupOutput, error) {
2722	req, out := c.DeleteDBSecurityGroupRequest(input)
2723	return out, req.Send()
2724}
2725
2726// DeleteDBSecurityGroupWithContext is the same as DeleteDBSecurityGroup with the addition of
2727// the ability to pass a context and additional request options.
2728//
2729// See DeleteDBSecurityGroup for details on how to use this API operation.
2730//
2731// The context must be non-nil and will be used for request cancellation. If
2732// the context is nil a panic will occur. In the future the SDK may create
2733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2734// for more information on using Contexts.
2735func (c *RDS) DeleteDBSecurityGroupWithContext(ctx aws.Context, input *DeleteDBSecurityGroupInput, opts ...request.Option) (*DeleteDBSecurityGroupOutput, error) {
2736	req, out := c.DeleteDBSecurityGroupRequest(input)
2737	req.SetContext(ctx)
2738	req.ApplyOptions(opts...)
2739	return out, req.Send()
2740}
2741
2742const opDeleteDBSnapshot = "DeleteDBSnapshot"
2743
2744// DeleteDBSnapshotRequest generates a "aws/request.Request" representing the
2745// client's request for the DeleteDBSnapshot operation. The "output" return
2746// value will be populated with the request's response once the request complets
2747// successfuly.
2748//
2749// Use "Send" method on the returned Request to send the API call to the service.
2750// the "output" return value is not valid until after Send returns without error.
2751//
2752// See DeleteDBSnapshot for more information on using the DeleteDBSnapshot
2753// API call, and error handling.
2754//
2755// This method is useful when you want to inject custom logic or configuration
2756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2757//
2758//
2759//    // Example sending a request using the DeleteDBSnapshotRequest method.
2760//    req, resp := client.DeleteDBSnapshotRequest(params)
2761//
2762//    err := req.Send()
2763//    if err == nil { // resp is now filled
2764//        fmt.Println(resp)
2765//    }
2766//
2767// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
2768func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *request.Request, output *DeleteDBSnapshotOutput) {
2769	op := &request.Operation{
2770		Name:       opDeleteDBSnapshot,
2771		HTTPMethod: "POST",
2772		HTTPPath:   "/",
2773	}
2774
2775	if input == nil {
2776		input = &DeleteDBSnapshotInput{}
2777	}
2778
2779	output = &DeleteDBSnapshotOutput{}
2780	req = c.newRequest(op, input, output)
2781	return
2782}
2783
2784// DeleteDBSnapshot API operation for Amazon Relational Database Service.
2785//
2786// Deletes a DBSnapshot. If the snapshot is being copied, the copy operation
2787// is terminated.
2788//
2789// The DBSnapshot must be in the available state to be deleted.
2790//
2791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2792// with awserr.Error's Code and Message methods to get detailed information about
2793// the error.
2794//
2795// See the AWS API reference guide for Amazon Relational Database Service's
2796// API operation DeleteDBSnapshot for usage and error information.
2797//
2798// Returned Error Codes:
2799//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
2800//   The state of the DB snapshot does not allow deletion.
2801//
2802//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
2803//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
2804//
2805// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
2806func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotOutput, error) {
2807	req, out := c.DeleteDBSnapshotRequest(input)
2808	return out, req.Send()
2809}
2810
2811// DeleteDBSnapshotWithContext is the same as DeleteDBSnapshot with the addition of
2812// the ability to pass a context and additional request options.
2813//
2814// See DeleteDBSnapshot for details on how to use this API operation.
2815//
2816// The context must be non-nil and will be used for request cancellation. If
2817// the context is nil a panic will occur. In the future the SDK may create
2818// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2819// for more information on using Contexts.
2820func (c *RDS) DeleteDBSnapshotWithContext(ctx aws.Context, input *DeleteDBSnapshotInput, opts ...request.Option) (*DeleteDBSnapshotOutput, error) {
2821	req, out := c.DeleteDBSnapshotRequest(input)
2822	req.SetContext(ctx)
2823	req.ApplyOptions(opts...)
2824	return out, req.Send()
2825}
2826
2827const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
2828
2829// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
2830// client's request for the DeleteDBSubnetGroup operation. The "output" return
2831// value will be populated with the request's response once the request complets
2832// successfuly.
2833//
2834// Use "Send" method on the returned Request to send the API call to the service.
2835// the "output" return value is not valid until after Send returns without error.
2836//
2837// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
2838// API call, and error handling.
2839//
2840// This method is useful when you want to inject custom logic or configuration
2841// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2842//
2843//
2844//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
2845//    req, resp := client.DeleteDBSubnetGroupRequest(params)
2846//
2847//    err := req.Send()
2848//    if err == nil { // resp is now filled
2849//        fmt.Println(resp)
2850//    }
2851//
2852// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
2853func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
2854	op := &request.Operation{
2855		Name:       opDeleteDBSubnetGroup,
2856		HTTPMethod: "POST",
2857		HTTPPath:   "/",
2858	}
2859
2860	if input == nil {
2861		input = &DeleteDBSubnetGroupInput{}
2862	}
2863
2864	output = &DeleteDBSubnetGroupOutput{}
2865	req = c.newRequest(op, input, output)
2866	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
2867	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2868	return
2869}
2870
2871// DeleteDBSubnetGroup API operation for Amazon Relational Database Service.
2872//
2873// Deletes a DB subnet group.
2874//
2875// The specified database subnet group must not be associated with any DB instances.
2876//
2877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2878// with awserr.Error's Code and Message methods to get detailed information about
2879// the error.
2880//
2881// See the AWS API reference guide for Amazon Relational Database Service's
2882// API operation DeleteDBSubnetGroup for usage and error information.
2883//
2884// Returned Error Codes:
2885//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
2886//   The DB subnet group cannot be deleted because it is in use.
2887//
2888//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
2889//   The DB subnet is not in the available state.
2890//
2891//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2892//   DBSubnetGroupName does not refer to an existing DB subnet group.
2893//
2894// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
2895func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
2896	req, out := c.DeleteDBSubnetGroupRequest(input)
2897	return out, req.Send()
2898}
2899
2900// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
2901// the ability to pass a context and additional request options.
2902//
2903// See DeleteDBSubnetGroup for details on how to use this API operation.
2904//
2905// The context must be non-nil and will be used for request cancellation. If
2906// the context is nil a panic will occur. In the future the SDK may create
2907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2908// for more information on using Contexts.
2909func (c *RDS) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
2910	req, out := c.DeleteDBSubnetGroupRequest(input)
2911	req.SetContext(ctx)
2912	req.ApplyOptions(opts...)
2913	return out, req.Send()
2914}
2915
2916const opDeleteEventSubscription = "DeleteEventSubscription"
2917
2918// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
2919// client's request for the DeleteEventSubscription operation. The "output" return
2920// value will be populated with the request's response once the request complets
2921// successfuly.
2922//
2923// Use "Send" method on the returned Request to send the API call to the service.
2924// the "output" return value is not valid until after Send returns without error.
2925//
2926// See DeleteEventSubscription for more information on using the DeleteEventSubscription
2927// API call, and error handling.
2928//
2929// This method is useful when you want to inject custom logic or configuration
2930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2931//
2932//
2933//    // Example sending a request using the DeleteEventSubscriptionRequest method.
2934//    req, resp := client.DeleteEventSubscriptionRequest(params)
2935//
2936//    err := req.Send()
2937//    if err == nil { // resp is now filled
2938//        fmt.Println(resp)
2939//    }
2940//
2941// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
2942func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
2943	op := &request.Operation{
2944		Name:       opDeleteEventSubscription,
2945		HTTPMethod: "POST",
2946		HTTPPath:   "/",
2947	}
2948
2949	if input == nil {
2950		input = &DeleteEventSubscriptionInput{}
2951	}
2952
2953	output = &DeleteEventSubscriptionOutput{}
2954	req = c.newRequest(op, input, output)
2955	return
2956}
2957
2958// DeleteEventSubscription API operation for Amazon Relational Database Service.
2959//
2960// Deletes an RDS event notification subscription.
2961//
2962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2963// with awserr.Error's Code and Message methods to get detailed information about
2964// the error.
2965//
2966// See the AWS API reference guide for Amazon Relational Database Service's
2967// API operation DeleteEventSubscription for usage and error information.
2968//
2969// Returned Error Codes:
2970//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
2971//   The subscription name does not exist.
2972//
2973//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
2974//   This error can occur if someone else is modifying a subscription. You should
2975//   retry the action.
2976//
2977// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
2978func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
2979	req, out := c.DeleteEventSubscriptionRequest(input)
2980	return out, req.Send()
2981}
2982
2983// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
2984// the ability to pass a context and additional request options.
2985//
2986// See DeleteEventSubscription for details on how to use this API operation.
2987//
2988// The context must be non-nil and will be used for request cancellation. If
2989// the context is nil a panic will occur. In the future the SDK may create
2990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2991// for more information on using Contexts.
2992func (c *RDS) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
2993	req, out := c.DeleteEventSubscriptionRequest(input)
2994	req.SetContext(ctx)
2995	req.ApplyOptions(opts...)
2996	return out, req.Send()
2997}
2998
2999const opDeleteOptionGroup = "DeleteOptionGroup"
3000
3001// DeleteOptionGroupRequest generates a "aws/request.Request" representing the
3002// client's request for the DeleteOptionGroup operation. The "output" return
3003// value will be populated with the request's response once the request complets
3004// successfuly.
3005//
3006// Use "Send" method on the returned Request to send the API call to the service.
3007// the "output" return value is not valid until after Send returns without error.
3008//
3009// See DeleteOptionGroup for more information on using the DeleteOptionGroup
3010// API call, and error handling.
3011//
3012// This method is useful when you want to inject custom logic or configuration
3013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3014//
3015//
3016//    // Example sending a request using the DeleteOptionGroupRequest method.
3017//    req, resp := client.DeleteOptionGroupRequest(params)
3018//
3019//    err := req.Send()
3020//    if err == nil { // resp is now filled
3021//        fmt.Println(resp)
3022//    }
3023//
3024// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
3025func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *request.Request, output *DeleteOptionGroupOutput) {
3026	op := &request.Operation{
3027		Name:       opDeleteOptionGroup,
3028		HTTPMethod: "POST",
3029		HTTPPath:   "/",
3030	}
3031
3032	if input == nil {
3033		input = &DeleteOptionGroupInput{}
3034	}
3035
3036	output = &DeleteOptionGroupOutput{}
3037	req = c.newRequest(op, input, output)
3038	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
3039	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
3040	return
3041}
3042
3043// DeleteOptionGroup API operation for Amazon Relational Database Service.
3044//
3045// Deletes an existing option group.
3046//
3047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3048// with awserr.Error's Code and Message methods to get detailed information about
3049// the error.
3050//
3051// See the AWS API reference guide for Amazon Relational Database Service's
3052// API operation DeleteOptionGroup for usage and error information.
3053//
3054// Returned Error Codes:
3055//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
3056//   The specified option group could not be found.
3057//
3058//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
3059//   The option group is not in the available state.
3060//
3061// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
3062func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGroupOutput, error) {
3063	req, out := c.DeleteOptionGroupRequest(input)
3064	return out, req.Send()
3065}
3066
3067// DeleteOptionGroupWithContext is the same as DeleteOptionGroup with the addition of
3068// the ability to pass a context and additional request options.
3069//
3070// See DeleteOptionGroup for details on how to use this API operation.
3071//
3072// The context must be non-nil and will be used for request cancellation. If
3073// the context is nil a panic will occur. In the future the SDK may create
3074// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3075// for more information on using Contexts.
3076func (c *RDS) DeleteOptionGroupWithContext(ctx aws.Context, input *DeleteOptionGroupInput, opts ...request.Option) (*DeleteOptionGroupOutput, error) {
3077	req, out := c.DeleteOptionGroupRequest(input)
3078	req.SetContext(ctx)
3079	req.ApplyOptions(opts...)
3080	return out, req.Send()
3081}
3082
3083const opDescribeAccountAttributes = "DescribeAccountAttributes"
3084
3085// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
3086// client's request for the DescribeAccountAttributes operation. The "output" return
3087// value will be populated with the request's response once the request complets
3088// successfuly.
3089//
3090// Use "Send" method on the returned Request to send the API call to the service.
3091// the "output" return value is not valid until after Send returns without error.
3092//
3093// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
3094// API call, and error handling.
3095//
3096// This method is useful when you want to inject custom logic or configuration
3097// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3098//
3099//
3100//    // Example sending a request using the DescribeAccountAttributesRequest method.
3101//    req, resp := client.DescribeAccountAttributesRequest(params)
3102//
3103//    err := req.Send()
3104//    if err == nil { // resp is now filled
3105//        fmt.Println(resp)
3106//    }
3107//
3108// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
3109func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
3110	op := &request.Operation{
3111		Name:       opDescribeAccountAttributes,
3112		HTTPMethod: "POST",
3113		HTTPPath:   "/",
3114	}
3115
3116	if input == nil {
3117		input = &DescribeAccountAttributesInput{}
3118	}
3119
3120	output = &DescribeAccountAttributesOutput{}
3121	req = c.newRequest(op, input, output)
3122	return
3123}
3124
3125// DescribeAccountAttributes API operation for Amazon Relational Database Service.
3126//
3127// Lists all of the attributes for a customer account. The attributes include
3128// Amazon RDS quotas for the account, such as the number of DB instances allowed.
3129// The description for a quota includes the quota name, current usage toward
3130// that quota, and the quota's maximum value.
3131//
3132// This command does not take any parameters.
3133//
3134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3135// with awserr.Error's Code and Message methods to get detailed information about
3136// the error.
3137//
3138// See the AWS API reference guide for Amazon Relational Database Service's
3139// API operation DescribeAccountAttributes for usage and error information.
3140// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
3141func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
3142	req, out := c.DescribeAccountAttributesRequest(input)
3143	return out, req.Send()
3144}
3145
3146// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
3147// the ability to pass a context and additional request options.
3148//
3149// See DescribeAccountAttributes for details on how to use this API operation.
3150//
3151// The context must be non-nil and will be used for request cancellation. If
3152// the context is nil a panic will occur. In the future the SDK may create
3153// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3154// for more information on using Contexts.
3155func (c *RDS) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
3156	req, out := c.DescribeAccountAttributesRequest(input)
3157	req.SetContext(ctx)
3158	req.ApplyOptions(opts...)
3159	return out, req.Send()
3160}
3161
3162const opDescribeCertificates = "DescribeCertificates"
3163
3164// DescribeCertificatesRequest generates a "aws/request.Request" representing the
3165// client's request for the DescribeCertificates operation. The "output" return
3166// value will be populated with the request's response once the request complets
3167// successfuly.
3168//
3169// Use "Send" method on the returned Request to send the API call to the service.
3170// the "output" return value is not valid until after Send returns without error.
3171//
3172// See DescribeCertificates for more information on using the DescribeCertificates
3173// API call, and error handling.
3174//
3175// This method is useful when you want to inject custom logic or configuration
3176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3177//
3178//
3179//    // Example sending a request using the DescribeCertificatesRequest method.
3180//    req, resp := client.DescribeCertificatesRequest(params)
3181//
3182//    err := req.Send()
3183//    if err == nil { // resp is now filled
3184//        fmt.Println(resp)
3185//    }
3186//
3187// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
3188func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
3189	op := &request.Operation{
3190		Name:       opDescribeCertificates,
3191		HTTPMethod: "POST",
3192		HTTPPath:   "/",
3193	}
3194
3195	if input == nil {
3196		input = &DescribeCertificatesInput{}
3197	}
3198
3199	output = &DescribeCertificatesOutput{}
3200	req = c.newRequest(op, input, output)
3201	return
3202}
3203
3204// DescribeCertificates API operation for Amazon Relational Database Service.
3205//
3206// Lists the set of CA certificates provided by Amazon RDS for this AWS account.
3207//
3208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3209// with awserr.Error's Code and Message methods to get detailed information about
3210// the error.
3211//
3212// See the AWS API reference guide for Amazon Relational Database Service's
3213// API operation DescribeCertificates for usage and error information.
3214//
3215// Returned Error Codes:
3216//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
3217//   CertificateIdentifier does not refer to an existing certificate.
3218//
3219// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
3220func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
3221	req, out := c.DescribeCertificatesRequest(input)
3222	return out, req.Send()
3223}
3224
3225// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
3226// the ability to pass a context and additional request options.
3227//
3228// See DescribeCertificates for details on how to use this API operation.
3229//
3230// The context must be non-nil and will be used for request cancellation. If
3231// the context is nil a panic will occur. In the future the SDK may create
3232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3233// for more information on using Contexts.
3234func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
3235	req, out := c.DescribeCertificatesRequest(input)
3236	req.SetContext(ctx)
3237	req.ApplyOptions(opts...)
3238	return out, req.Send()
3239}
3240
3241const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
3242
3243// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
3244// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
3245// value will be populated with the request's response once the request complets
3246// successfuly.
3247//
3248// Use "Send" method on the returned Request to send the API call to the service.
3249// the "output" return value is not valid until after Send returns without error.
3250//
3251// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
3252// API call, and error handling.
3253//
3254// This method is useful when you want to inject custom logic or configuration
3255// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3256//
3257//
3258//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
3259//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
3260//
3261//    err := req.Send()
3262//    if err == nil { // resp is now filled
3263//        fmt.Println(resp)
3264//    }
3265//
3266// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
3267func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
3268	op := &request.Operation{
3269		Name:       opDescribeDBClusterParameterGroups,
3270		HTTPMethod: "POST",
3271		HTTPPath:   "/",
3272	}
3273
3274	if input == nil {
3275		input = &DescribeDBClusterParameterGroupsInput{}
3276	}
3277
3278	output = &DescribeDBClusterParameterGroupsOutput{}
3279	req = c.newRequest(op, input, output)
3280	return
3281}
3282
3283// DescribeDBClusterParameterGroups API operation for Amazon Relational Database Service.
3284//
3285// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
3286// parameter is specified, the list will contain only the description of the
3287// specified DB cluster parameter group.
3288//
3289// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3290// in the Amazon RDS User Guide.
3291//
3292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3293// with awserr.Error's Code and Message methods to get detailed information about
3294// the error.
3295//
3296// See the AWS API reference guide for Amazon Relational Database Service's
3297// API operation DescribeDBClusterParameterGroups for usage and error information.
3298//
3299// Returned Error Codes:
3300//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3301//   DBParameterGroupName does not refer to an existing DB parameter group.
3302//
3303// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
3304func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
3305	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
3306	return out, req.Send()
3307}
3308
3309// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
3310// the ability to pass a context and additional request options.
3311//
3312// See DescribeDBClusterParameterGroups for details on how to use this API operation.
3313//
3314// The context must be non-nil and will be used for request cancellation. If
3315// the context is nil a panic will occur. In the future the SDK may create
3316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3317// for more information on using Contexts.
3318func (c *RDS) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
3319	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
3320	req.SetContext(ctx)
3321	req.ApplyOptions(opts...)
3322	return out, req.Send()
3323}
3324
3325const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
3326
3327// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
3328// client's request for the DescribeDBClusterParameters operation. The "output" return
3329// value will be populated with the request's response once the request complets
3330// successfuly.
3331//
3332// Use "Send" method on the returned Request to send the API call to the service.
3333// the "output" return value is not valid until after Send returns without error.
3334//
3335// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
3336// API call, and error handling.
3337//
3338// This method is useful when you want to inject custom logic or configuration
3339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3340//
3341//
3342//    // Example sending a request using the DescribeDBClusterParametersRequest method.
3343//    req, resp := client.DescribeDBClusterParametersRequest(params)
3344//
3345//    err := req.Send()
3346//    if err == nil { // resp is now filled
3347//        fmt.Println(resp)
3348//    }
3349//
3350// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
3351func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
3352	op := &request.Operation{
3353		Name:       opDescribeDBClusterParameters,
3354		HTTPMethod: "POST",
3355		HTTPPath:   "/",
3356	}
3357
3358	if input == nil {
3359		input = &DescribeDBClusterParametersInput{}
3360	}
3361
3362	output = &DescribeDBClusterParametersOutput{}
3363	req = c.newRequest(op, input, output)
3364	return
3365}
3366
3367// DescribeDBClusterParameters API operation for Amazon Relational Database Service.
3368//
3369// Returns the detailed parameter list for a particular DB cluster parameter
3370// group.
3371//
3372// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3373// in the Amazon RDS User Guide.
3374//
3375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3376// with awserr.Error's Code and Message methods to get detailed information about
3377// the error.
3378//
3379// See the AWS API reference guide for Amazon Relational Database Service's
3380// API operation DescribeDBClusterParameters for usage and error information.
3381//
3382// Returned Error Codes:
3383//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3384//   DBParameterGroupName does not refer to an existing DB parameter group.
3385//
3386// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
3387func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
3388	req, out := c.DescribeDBClusterParametersRequest(input)
3389	return out, req.Send()
3390}
3391
3392// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
3393// the ability to pass a context and additional request options.
3394//
3395// See DescribeDBClusterParameters for details on how to use this API operation.
3396//
3397// The context must be non-nil and will be used for request cancellation. If
3398// the context is nil a panic will occur. In the future the SDK may create
3399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3400// for more information on using Contexts.
3401func (c *RDS) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
3402	req, out := c.DescribeDBClusterParametersRequest(input)
3403	req.SetContext(ctx)
3404	req.ApplyOptions(opts...)
3405	return out, req.Send()
3406}
3407
3408const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
3409
3410// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
3411// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
3412// value will be populated with the request's response once the request complets
3413// successfuly.
3414//
3415// Use "Send" method on the returned Request to send the API call to the service.
3416// the "output" return value is not valid until after Send returns without error.
3417//
3418// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
3419// API call, and error handling.
3420//
3421// This method is useful when you want to inject custom logic or configuration
3422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3423//
3424//
3425//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
3426//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
3427//
3428//    err := req.Send()
3429//    if err == nil { // resp is now filled
3430//        fmt.Println(resp)
3431//    }
3432//
3433// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
3434func (c *RDS) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
3435	op := &request.Operation{
3436		Name:       opDescribeDBClusterSnapshotAttributes,
3437		HTTPMethod: "POST",
3438		HTTPPath:   "/",
3439	}
3440
3441	if input == nil {
3442		input = &DescribeDBClusterSnapshotAttributesInput{}
3443	}
3444
3445	output = &DescribeDBClusterSnapshotAttributesOutput{}
3446	req = c.newRequest(op, input, output)
3447	return
3448}
3449
3450// DescribeDBClusterSnapshotAttributes API operation for Amazon Relational Database Service.
3451//
3452// Returns a list of DB cluster snapshot attribute names and values for a manual
3453// DB cluster snapshot.
3454//
3455// When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
3456// returns the restore attribute and a list of IDs for the AWS accounts that
3457// are authorized to copy or restore the manual DB cluster snapshot. If all
3458// is included in the list of values for the restore attribute, then the manual
3459// DB cluster snapshot is public and can be copied or restored by all AWS accounts.
3460//
3461// To add or remove access for an AWS account to copy or restore a manual DB
3462// cluster snapshot, or to make the manual DB cluster snapshot public or private,
3463// use the ModifyDBClusterSnapshotAttribute API action.
3464//
3465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3466// with awserr.Error's Code and Message methods to get detailed information about
3467// the error.
3468//
3469// See the AWS API reference guide for Amazon Relational Database Service's
3470// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
3471//
3472// Returned Error Codes:
3473//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3474//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
3475//
3476// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
3477func (c *RDS) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
3478	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
3479	return out, req.Send()
3480}
3481
3482// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
3483// the ability to pass a context and additional request options.
3484//
3485// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
3486//
3487// The context must be non-nil and will be used for request cancellation. If
3488// the context is nil a panic will occur. In the future the SDK may create
3489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3490// for more information on using Contexts.
3491func (c *RDS) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
3492	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
3493	req.SetContext(ctx)
3494	req.ApplyOptions(opts...)
3495	return out, req.Send()
3496}
3497
3498const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
3499
3500// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
3501// client's request for the DescribeDBClusterSnapshots operation. The "output" return
3502// value will be populated with the request's response once the request complets
3503// successfuly.
3504//
3505// Use "Send" method on the returned Request to send the API call to the service.
3506// the "output" return value is not valid until after Send returns without error.
3507//
3508// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
3509// API call, and error handling.
3510//
3511// This method is useful when you want to inject custom logic or configuration
3512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3513//
3514//
3515//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
3516//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
3517//
3518//    err := req.Send()
3519//    if err == nil { // resp is now filled
3520//        fmt.Println(resp)
3521//    }
3522//
3523// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
3524func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
3525	op := &request.Operation{
3526		Name:       opDescribeDBClusterSnapshots,
3527		HTTPMethod: "POST",
3528		HTTPPath:   "/",
3529	}
3530
3531	if input == nil {
3532		input = &DescribeDBClusterSnapshotsInput{}
3533	}
3534
3535	output = &DescribeDBClusterSnapshotsOutput{}
3536	req = c.newRequest(op, input, output)
3537	return
3538}
3539
3540// DescribeDBClusterSnapshots API operation for Amazon Relational Database Service.
3541//
3542// Returns information about DB cluster snapshots. This API action supports
3543// pagination.
3544//
3545// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3546// in the Amazon RDS User Guide.
3547//
3548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3549// with awserr.Error's Code and Message methods to get detailed information about
3550// the error.
3551//
3552// See the AWS API reference guide for Amazon Relational Database Service's
3553// API operation DescribeDBClusterSnapshots for usage and error information.
3554//
3555// Returned Error Codes:
3556//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3557//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
3558//
3559// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
3560func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
3561	req, out := c.DescribeDBClusterSnapshotsRequest(input)
3562	return out, req.Send()
3563}
3564
3565// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
3566// the ability to pass a context and additional request options.
3567//
3568// See DescribeDBClusterSnapshots for details on how to use this API operation.
3569//
3570// The context must be non-nil and will be used for request cancellation. If
3571// the context is nil a panic will occur. In the future the SDK may create
3572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3573// for more information on using Contexts.
3574func (c *RDS) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
3575	req, out := c.DescribeDBClusterSnapshotsRequest(input)
3576	req.SetContext(ctx)
3577	req.ApplyOptions(opts...)
3578	return out, req.Send()
3579}
3580
3581const opDescribeDBClusters = "DescribeDBClusters"
3582
3583// DescribeDBClustersRequest generates a "aws/request.Request" representing the
3584// client's request for the DescribeDBClusters operation. The "output" return
3585// value will be populated with the request's response once the request complets
3586// successfuly.
3587//
3588// Use "Send" method on the returned Request to send the API call to the service.
3589// the "output" return value is not valid until after Send returns without error.
3590//
3591// See DescribeDBClusters for more information on using the DescribeDBClusters
3592// API call, and error handling.
3593//
3594// This method is useful when you want to inject custom logic or configuration
3595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3596//
3597//
3598//    // Example sending a request using the DescribeDBClustersRequest method.
3599//    req, resp := client.DescribeDBClustersRequest(params)
3600//
3601//    err := req.Send()
3602//    if err == nil { // resp is now filled
3603//        fmt.Println(resp)
3604//    }
3605//
3606// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
3607func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
3608	op := &request.Operation{
3609		Name:       opDescribeDBClusters,
3610		HTTPMethod: "POST",
3611		HTTPPath:   "/",
3612	}
3613
3614	if input == nil {
3615		input = &DescribeDBClustersInput{}
3616	}
3617
3618	output = &DescribeDBClustersOutput{}
3619	req = c.newRequest(op, input, output)
3620	return
3621}
3622
3623// DescribeDBClusters API operation for Amazon Relational Database Service.
3624//
3625// Returns information about provisioned Aurora DB clusters. This API supports
3626// pagination.
3627//
3628// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3629// in the Amazon RDS User Guide.
3630//
3631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3632// with awserr.Error's Code and Message methods to get detailed information about
3633// the error.
3634//
3635// See the AWS API reference guide for Amazon Relational Database Service's
3636// API operation DescribeDBClusters for usage and error information.
3637//
3638// Returned Error Codes:
3639//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3640//   DBClusterIdentifier does not refer to an existing DB cluster.
3641//
3642// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
3643func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
3644	req, out := c.DescribeDBClustersRequest(input)
3645	return out, req.Send()
3646}
3647
3648// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
3649// the ability to pass a context and additional request options.
3650//
3651// See DescribeDBClusters for details on how to use this API operation.
3652//
3653// The context must be non-nil and will be used for request cancellation. If
3654// the context is nil a panic will occur. In the future the SDK may create
3655// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3656// for more information on using Contexts.
3657func (c *RDS) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
3658	req, out := c.DescribeDBClustersRequest(input)
3659	req.SetContext(ctx)
3660	req.ApplyOptions(opts...)
3661	return out, req.Send()
3662}
3663
3664const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
3665
3666// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
3667// client's request for the DescribeDBEngineVersions operation. The "output" return
3668// value will be populated with the request's response once the request complets
3669// successfuly.
3670//
3671// Use "Send" method on the returned Request to send the API call to the service.
3672// the "output" return value is not valid until after Send returns without error.
3673//
3674// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
3675// API call, and error handling.
3676//
3677// This method is useful when you want to inject custom logic or configuration
3678// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3679//
3680//
3681//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
3682//    req, resp := client.DescribeDBEngineVersionsRequest(params)
3683//
3684//    err := req.Send()
3685//    if err == nil { // resp is now filled
3686//        fmt.Println(resp)
3687//    }
3688//
3689// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
3690func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
3691	op := &request.Operation{
3692		Name:       opDescribeDBEngineVersions,
3693		HTTPMethod: "POST",
3694		HTTPPath:   "/",
3695		Paginator: &request.Paginator{
3696			InputTokens:     []string{"Marker"},
3697			OutputTokens:    []string{"Marker"},
3698			LimitToken:      "MaxRecords",
3699			TruncationToken: "",
3700		},
3701	}
3702
3703	if input == nil {
3704		input = &DescribeDBEngineVersionsInput{}
3705	}
3706
3707	output = &DescribeDBEngineVersionsOutput{}
3708	req = c.newRequest(op, input, output)
3709	return
3710}
3711
3712// DescribeDBEngineVersions API operation for Amazon Relational Database Service.
3713//
3714// Returns a list of the available DB engines.
3715//
3716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3717// with awserr.Error's Code and Message methods to get detailed information about
3718// the error.
3719//
3720// See the AWS API reference guide for Amazon Relational Database Service's
3721// API operation DescribeDBEngineVersions for usage and error information.
3722// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
3723func (c *RDS) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
3724	req, out := c.DescribeDBEngineVersionsRequest(input)
3725	return out, req.Send()
3726}
3727
3728// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
3729// the ability to pass a context and additional request options.
3730//
3731// See DescribeDBEngineVersions for details on how to use this API operation.
3732//
3733// The context must be non-nil and will be used for request cancellation. If
3734// the context is nil a panic will occur. In the future the SDK may create
3735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3736// for more information on using Contexts.
3737func (c *RDS) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
3738	req, out := c.DescribeDBEngineVersionsRequest(input)
3739	req.SetContext(ctx)
3740	req.ApplyOptions(opts...)
3741	return out, req.Send()
3742}
3743
3744// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
3745// calling the "fn" function with the response data for each page. To stop
3746// iterating, return false from the fn function.
3747//
3748// See DescribeDBEngineVersions method for more information on how to use this operation.
3749//
3750// Note: This operation can generate multiple requests to a service.
3751//
3752//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
3753//    pageNum := 0
3754//    err := client.DescribeDBEngineVersionsPages(params,
3755//        func(page *DescribeDBEngineVersionsOutput, lastPage bool) bool {
3756//            pageNum++
3757//            fmt.Println(page)
3758//            return pageNum <= 3
3759//        })
3760//
3761func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
3762	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
3763}
3764
3765// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
3766// it takes a Context and allows setting request options on the pages.
3767//
3768// The context must be non-nil and will be used for request cancellation. If
3769// the context is nil a panic will occur. In the future the SDK may create
3770// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3771// for more information on using Contexts.
3772func (c *RDS) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
3773	p := request.Pagination{
3774		NewRequest: func() (*request.Request, error) {
3775			var inCpy *DescribeDBEngineVersionsInput
3776			if input != nil {
3777				tmp := *input
3778				inCpy = &tmp
3779			}
3780			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
3781			req.SetContext(ctx)
3782			req.ApplyOptions(opts...)
3783			return req, nil
3784		},
3785	}
3786
3787	cont := true
3788	for p.Next() && cont {
3789		cont = fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage())
3790	}
3791	return p.Err()
3792}
3793
3794const opDescribeDBInstances = "DescribeDBInstances"
3795
3796// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
3797// client's request for the DescribeDBInstances operation. The "output" return
3798// value will be populated with the request's response once the request complets
3799// successfuly.
3800//
3801// Use "Send" method on the returned Request to send the API call to the service.
3802// the "output" return value is not valid until after Send returns without error.
3803//
3804// See DescribeDBInstances for more information on using the DescribeDBInstances
3805// API call, and error handling.
3806//
3807// This method is useful when you want to inject custom logic or configuration
3808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3809//
3810//
3811//    // Example sending a request using the DescribeDBInstancesRequest method.
3812//    req, resp := client.DescribeDBInstancesRequest(params)
3813//
3814//    err := req.Send()
3815//    if err == nil { // resp is now filled
3816//        fmt.Println(resp)
3817//    }
3818//
3819// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
3820func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
3821	op := &request.Operation{
3822		Name:       opDescribeDBInstances,
3823		HTTPMethod: "POST",
3824		HTTPPath:   "/",
3825		Paginator: &request.Paginator{
3826			InputTokens:     []string{"Marker"},
3827			OutputTokens:    []string{"Marker"},
3828			LimitToken:      "MaxRecords",
3829			TruncationToken: "",
3830		},
3831	}
3832
3833	if input == nil {
3834		input = &DescribeDBInstancesInput{}
3835	}
3836
3837	output = &DescribeDBInstancesOutput{}
3838	req = c.newRequest(op, input, output)
3839	return
3840}
3841
3842// DescribeDBInstances API operation for Amazon Relational Database Service.
3843//
3844// Returns information about provisioned RDS instances. This API supports pagination.
3845//
3846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3847// with awserr.Error's Code and Message methods to get detailed information about
3848// the error.
3849//
3850// See the AWS API reference guide for Amazon Relational Database Service's
3851// API operation DescribeDBInstances for usage and error information.
3852//
3853// Returned Error Codes:
3854//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3855//   DBInstanceIdentifier does not refer to an existing DB instance.
3856//
3857// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
3858func (c *RDS) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
3859	req, out := c.DescribeDBInstancesRequest(input)
3860	return out, req.Send()
3861}
3862
3863// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
3864// the ability to pass a context and additional request options.
3865//
3866// See DescribeDBInstances for details on how to use this API operation.
3867//
3868// The context must be non-nil and will be used for request cancellation. If
3869// the context is nil a panic will occur. In the future the SDK may create
3870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3871// for more information on using Contexts.
3872func (c *RDS) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
3873	req, out := c.DescribeDBInstancesRequest(input)
3874	req.SetContext(ctx)
3875	req.ApplyOptions(opts...)
3876	return out, req.Send()
3877}
3878
3879// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
3880// calling the "fn" function with the response data for each page. To stop
3881// iterating, return false from the fn function.
3882//
3883// See DescribeDBInstances method for more information on how to use this operation.
3884//
3885// Note: This operation can generate multiple requests to a service.
3886//
3887//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
3888//    pageNum := 0
3889//    err := client.DescribeDBInstancesPages(params,
3890//        func(page *DescribeDBInstancesOutput, lastPage bool) bool {
3891//            pageNum++
3892//            fmt.Println(page)
3893//            return pageNum <= 3
3894//        })
3895//
3896func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
3897	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
3898}
3899
3900// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
3901// it takes a Context and allows setting request options on the pages.
3902//
3903// The context must be non-nil and will be used for request cancellation. If
3904// the context is nil a panic will occur. In the future the SDK may create
3905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3906// for more information on using Contexts.
3907func (c *RDS) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
3908	p := request.Pagination{
3909		NewRequest: func() (*request.Request, error) {
3910			var inCpy *DescribeDBInstancesInput
3911			if input != nil {
3912				tmp := *input
3913				inCpy = &tmp
3914			}
3915			req, _ := c.DescribeDBInstancesRequest(inCpy)
3916			req.SetContext(ctx)
3917			req.ApplyOptions(opts...)
3918			return req, nil
3919		},
3920	}
3921
3922	cont := true
3923	for p.Next() && cont {
3924		cont = fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage())
3925	}
3926	return p.Err()
3927}
3928
3929const opDescribeDBLogFiles = "DescribeDBLogFiles"
3930
3931// DescribeDBLogFilesRequest generates a "aws/request.Request" representing the
3932// client's request for the DescribeDBLogFiles operation. The "output" return
3933// value will be populated with the request's response once the request complets
3934// successfuly.
3935//
3936// Use "Send" method on the returned Request to send the API call to the service.
3937// the "output" return value is not valid until after Send returns without error.
3938//
3939// See DescribeDBLogFiles for more information on using the DescribeDBLogFiles
3940// API call, and error handling.
3941//
3942// This method is useful when you want to inject custom logic or configuration
3943// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3944//
3945//
3946//    // Example sending a request using the DescribeDBLogFilesRequest method.
3947//    req, resp := client.DescribeDBLogFilesRequest(params)
3948//
3949//    err := req.Send()
3950//    if err == nil { // resp is now filled
3951//        fmt.Println(resp)
3952//    }
3953//
3954// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
3955func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *request.Request, output *DescribeDBLogFilesOutput) {
3956	op := &request.Operation{
3957		Name:       opDescribeDBLogFiles,
3958		HTTPMethod: "POST",
3959		HTTPPath:   "/",
3960		Paginator: &request.Paginator{
3961			InputTokens:     []string{"Marker"},
3962			OutputTokens:    []string{"Marker"},
3963			LimitToken:      "MaxRecords",
3964			TruncationToken: "",
3965		},
3966	}
3967
3968	if input == nil {
3969		input = &DescribeDBLogFilesInput{}
3970	}
3971
3972	output = &DescribeDBLogFilesOutput{}
3973	req = c.newRequest(op, input, output)
3974	return
3975}
3976
3977// DescribeDBLogFiles API operation for Amazon Relational Database Service.
3978//
3979// Returns a list of DB log files for the DB instance.
3980//
3981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3982// with awserr.Error's Code and Message methods to get detailed information about
3983// the error.
3984//
3985// See the AWS API reference guide for Amazon Relational Database Service's
3986// API operation DescribeDBLogFiles for usage and error information.
3987//
3988// Returned Error Codes:
3989//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3990//   DBInstanceIdentifier does not refer to an existing DB instance.
3991//
3992// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
3993func (c *RDS) DescribeDBLogFiles(input *DescribeDBLogFilesInput) (*DescribeDBLogFilesOutput, error) {
3994	req, out := c.DescribeDBLogFilesRequest(input)
3995	return out, req.Send()
3996}
3997
3998// DescribeDBLogFilesWithContext is the same as DescribeDBLogFiles with the addition of
3999// the ability to pass a context and additional request options.
4000//
4001// See DescribeDBLogFiles for details on how to use this API operation.
4002//
4003// The context must be non-nil and will be used for request cancellation. If
4004// the context is nil a panic will occur. In the future the SDK may create
4005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4006// for more information on using Contexts.
4007func (c *RDS) DescribeDBLogFilesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, opts ...request.Option) (*DescribeDBLogFilesOutput, error) {
4008	req, out := c.DescribeDBLogFilesRequest(input)
4009	req.SetContext(ctx)
4010	req.ApplyOptions(opts...)
4011	return out, req.Send()
4012}
4013
4014// DescribeDBLogFilesPages iterates over the pages of a DescribeDBLogFiles operation,
4015// calling the "fn" function with the response data for each page. To stop
4016// iterating, return false from the fn function.
4017//
4018// See DescribeDBLogFiles method for more information on how to use this operation.
4019//
4020// Note: This operation can generate multiple requests to a service.
4021//
4022//    // Example iterating over at most 3 pages of a DescribeDBLogFiles operation.
4023//    pageNum := 0
4024//    err := client.DescribeDBLogFilesPages(params,
4025//        func(page *DescribeDBLogFilesOutput, lastPage bool) bool {
4026//            pageNum++
4027//            fmt.Println(page)
4028//            return pageNum <= 3
4029//        })
4030//
4031func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool) error {
4032	return c.DescribeDBLogFilesPagesWithContext(aws.BackgroundContext(), input, fn)
4033}
4034
4035// DescribeDBLogFilesPagesWithContext same as DescribeDBLogFilesPages except
4036// it takes a Context and allows setting request options on the pages.
4037//
4038// The context must be non-nil and will be used for request cancellation. If
4039// the context is nil a panic will occur. In the future the SDK may create
4040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4041// for more information on using Contexts.
4042func (c *RDS) DescribeDBLogFilesPagesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool, opts ...request.Option) error {
4043	p := request.Pagination{
4044		NewRequest: func() (*request.Request, error) {
4045			var inCpy *DescribeDBLogFilesInput
4046			if input != nil {
4047				tmp := *input
4048				inCpy = &tmp
4049			}
4050			req, _ := c.DescribeDBLogFilesRequest(inCpy)
4051			req.SetContext(ctx)
4052			req.ApplyOptions(opts...)
4053			return req, nil
4054		},
4055	}
4056
4057	cont := true
4058	for p.Next() && cont {
4059		cont = fn(p.Page().(*DescribeDBLogFilesOutput), !p.HasNextPage())
4060	}
4061	return p.Err()
4062}
4063
4064const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
4065
4066// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
4067// client's request for the DescribeDBParameterGroups operation. The "output" return
4068// value will be populated with the request's response once the request complets
4069// successfuly.
4070//
4071// Use "Send" method on the returned Request to send the API call to the service.
4072// the "output" return value is not valid until after Send returns without error.
4073//
4074// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
4075// API call, and error handling.
4076//
4077// This method is useful when you want to inject custom logic or configuration
4078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4079//
4080//
4081//    // Example sending a request using the DescribeDBParameterGroupsRequest method.
4082//    req, resp := client.DescribeDBParameterGroupsRequest(params)
4083//
4084//    err := req.Send()
4085//    if err == nil { // resp is now filled
4086//        fmt.Println(resp)
4087//    }
4088//
4089// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
4090func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
4091	op := &request.Operation{
4092		Name:       opDescribeDBParameterGroups,
4093		HTTPMethod: "POST",
4094		HTTPPath:   "/",
4095		Paginator: &request.Paginator{
4096			InputTokens:     []string{"Marker"},
4097			OutputTokens:    []string{"Marker"},
4098			LimitToken:      "MaxRecords",
4099			TruncationToken: "",
4100		},
4101	}
4102
4103	if input == nil {
4104		input = &DescribeDBParameterGroupsInput{}
4105	}
4106
4107	output = &DescribeDBParameterGroupsOutput{}
4108	req = c.newRequest(op, input, output)
4109	return
4110}
4111
4112// DescribeDBParameterGroups API operation for Amazon Relational Database Service.
4113//
4114// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
4115// is specified, the list will contain only the description of the specified
4116// DB parameter group.
4117//
4118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4119// with awserr.Error's Code and Message methods to get detailed information about
4120// the error.
4121//
4122// See the AWS API reference guide for Amazon Relational Database Service's
4123// API operation DescribeDBParameterGroups for usage and error information.
4124//
4125// Returned Error Codes:
4126//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4127//   DBParameterGroupName does not refer to an existing DB parameter group.
4128//
4129// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
4130func (c *RDS) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
4131	req, out := c.DescribeDBParameterGroupsRequest(input)
4132	return out, req.Send()
4133}
4134
4135// DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
4136// the ability to pass a context and additional request options.
4137//
4138// See DescribeDBParameterGroups for details on how to use this API operation.
4139//
4140// The context must be non-nil and will be used for request cancellation. If
4141// the context is nil a panic will occur. In the future the SDK may create
4142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4143// for more information on using Contexts.
4144func (c *RDS) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
4145	req, out := c.DescribeDBParameterGroupsRequest(input)
4146	req.SetContext(ctx)
4147	req.ApplyOptions(opts...)
4148	return out, req.Send()
4149}
4150
4151// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
4152// calling the "fn" function with the response data for each page. To stop
4153// iterating, return false from the fn function.
4154//
4155// See DescribeDBParameterGroups method for more information on how to use this operation.
4156//
4157// Note: This operation can generate multiple requests to a service.
4158//
4159//    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
4160//    pageNum := 0
4161//    err := client.DescribeDBParameterGroupsPages(params,
4162//        func(page *DescribeDBParameterGroupsOutput, lastPage bool) bool {
4163//            pageNum++
4164//            fmt.Println(page)
4165//            return pageNum <= 3
4166//        })
4167//
4168func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
4169	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
4170}
4171
4172// DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
4173// it takes a Context and allows setting request options on the pages.
4174//
4175// The context must be non-nil and will be used for request cancellation. If
4176// the context is nil a panic will occur. In the future the SDK may create
4177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4178// for more information on using Contexts.
4179func (c *RDS) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
4180	p := request.Pagination{
4181		NewRequest: func() (*request.Request, error) {
4182			var inCpy *DescribeDBParameterGroupsInput
4183			if input != nil {
4184				tmp := *input
4185				inCpy = &tmp
4186			}
4187			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
4188			req.SetContext(ctx)
4189			req.ApplyOptions(opts...)
4190			return req, nil
4191		},
4192	}
4193
4194	cont := true
4195	for p.Next() && cont {
4196		cont = fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage())
4197	}
4198	return p.Err()
4199}
4200
4201const opDescribeDBParameters = "DescribeDBParameters"
4202
4203// DescribeDBParametersRequest generates a "aws/request.Request" representing the
4204// client's request for the DescribeDBParameters operation. The "output" return
4205// value will be populated with the request's response once the request complets
4206// successfuly.
4207//
4208// Use "Send" method on the returned Request to send the API call to the service.
4209// the "output" return value is not valid until after Send returns without error.
4210//
4211// See DescribeDBParameters for more information on using the DescribeDBParameters
4212// API call, and error handling.
4213//
4214// This method is useful when you want to inject custom logic or configuration
4215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4216//
4217//
4218//    // Example sending a request using the DescribeDBParametersRequest method.
4219//    req, resp := client.DescribeDBParametersRequest(params)
4220//
4221//    err := req.Send()
4222//    if err == nil { // resp is now filled
4223//        fmt.Println(resp)
4224//    }
4225//
4226// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
4227func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
4228	op := &request.Operation{
4229		Name:       opDescribeDBParameters,
4230		HTTPMethod: "POST",
4231		HTTPPath:   "/",
4232		Paginator: &request.Paginator{
4233			InputTokens:     []string{"Marker"},
4234			OutputTokens:    []string{"Marker"},
4235			LimitToken:      "MaxRecords",
4236			TruncationToken: "",
4237		},
4238	}
4239
4240	if input == nil {
4241		input = &DescribeDBParametersInput{}
4242	}
4243
4244	output = &DescribeDBParametersOutput{}
4245	req = c.newRequest(op, input, output)
4246	return
4247}
4248
4249// DescribeDBParameters API operation for Amazon Relational Database Service.
4250//
4251// Returns the detailed parameter list for a particular DB parameter group.
4252//
4253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4254// with awserr.Error's Code and Message methods to get detailed information about
4255// the error.
4256//
4257// See the AWS API reference guide for Amazon Relational Database Service's
4258// API operation DescribeDBParameters for usage and error information.
4259//
4260// Returned Error Codes:
4261//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4262//   DBParameterGroupName does not refer to an existing DB parameter group.
4263//
4264// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
4265func (c *RDS) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
4266	req, out := c.DescribeDBParametersRequest(input)
4267	return out, req.Send()
4268}
4269
4270// DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
4271// the ability to pass a context and additional request options.
4272//
4273// See DescribeDBParameters for details on how to use this API operation.
4274//
4275// The context must be non-nil and will be used for request cancellation. If
4276// the context is nil a panic will occur. In the future the SDK may create
4277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4278// for more information on using Contexts.
4279func (c *RDS) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
4280	req, out := c.DescribeDBParametersRequest(input)
4281	req.SetContext(ctx)
4282	req.ApplyOptions(opts...)
4283	return out, req.Send()
4284}
4285
4286// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
4287// calling the "fn" function with the response data for each page. To stop
4288// iterating, return false from the fn function.
4289//
4290// See DescribeDBParameters method for more information on how to use this operation.
4291//
4292// Note: This operation can generate multiple requests to a service.
4293//
4294//    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
4295//    pageNum := 0
4296//    err := client.DescribeDBParametersPages(params,
4297//        func(page *DescribeDBParametersOutput, lastPage bool) bool {
4298//            pageNum++
4299//            fmt.Println(page)
4300//            return pageNum <= 3
4301//        })
4302//
4303func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
4304	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
4305}
4306
4307// DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
4308// it takes a Context and allows setting request options on the pages.
4309//
4310// The context must be non-nil and will be used for request cancellation. If
4311// the context is nil a panic will occur. In the future the SDK may create
4312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4313// for more information on using Contexts.
4314func (c *RDS) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
4315	p := request.Pagination{
4316		NewRequest: func() (*request.Request, error) {
4317			var inCpy *DescribeDBParametersInput
4318			if input != nil {
4319				tmp := *input
4320				inCpy = &tmp
4321			}
4322			req, _ := c.DescribeDBParametersRequest(inCpy)
4323			req.SetContext(ctx)
4324			req.ApplyOptions(opts...)
4325			return req, nil
4326		},
4327	}
4328
4329	cont := true
4330	for p.Next() && cont {
4331		cont = fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage())
4332	}
4333	return p.Err()
4334}
4335
4336const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups"
4337
4338// DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the
4339// client's request for the DescribeDBSecurityGroups operation. The "output" return
4340// value will be populated with the request's response once the request complets
4341// successfuly.
4342//
4343// Use "Send" method on the returned Request to send the API call to the service.
4344// the "output" return value is not valid until after Send returns without error.
4345//
4346// See DescribeDBSecurityGroups for more information on using the DescribeDBSecurityGroups
4347// API call, and error handling.
4348//
4349// This method is useful when you want to inject custom logic or configuration
4350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4351//
4352//
4353//    // Example sending a request using the DescribeDBSecurityGroupsRequest method.
4354//    req, resp := client.DescribeDBSecurityGroupsRequest(params)
4355//
4356//    err := req.Send()
4357//    if err == nil { // resp is now filled
4358//        fmt.Println(resp)
4359//    }
4360//
4361// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
4362func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInput) (req *request.Request, output *DescribeDBSecurityGroupsOutput) {
4363	op := &request.Operation{
4364		Name:       opDescribeDBSecurityGroups,
4365		HTTPMethod: "POST",
4366		HTTPPath:   "/",
4367		Paginator: &request.Paginator{
4368			InputTokens:     []string{"Marker"},
4369			OutputTokens:    []string{"Marker"},
4370			LimitToken:      "MaxRecords",
4371			TruncationToken: "",
4372		},
4373	}
4374
4375	if input == nil {
4376		input = &DescribeDBSecurityGroupsInput{}
4377	}
4378
4379	output = &DescribeDBSecurityGroupsOutput{}
4380	req = c.newRequest(op, input, output)
4381	return
4382}
4383
4384// DescribeDBSecurityGroups API operation for Amazon Relational Database Service.
4385//
4386// Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName
4387// is specified, the list will contain only the descriptions of the specified
4388// DB security group.
4389//
4390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4391// with awserr.Error's Code and Message methods to get detailed information about
4392// the error.
4393//
4394// See the AWS API reference guide for Amazon Relational Database Service's
4395// API operation DescribeDBSecurityGroups for usage and error information.
4396//
4397// Returned Error Codes:
4398//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
4399//   DBSecurityGroupName does not refer to an existing DB security group.
4400//
4401// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
4402func (c *RDS) DescribeDBSecurityGroups(input *DescribeDBSecurityGroupsInput) (*DescribeDBSecurityGroupsOutput, error) {
4403	req, out := c.DescribeDBSecurityGroupsRequest(input)
4404	return out, req.Send()
4405}
4406
4407// DescribeDBSecurityGroupsWithContext is the same as DescribeDBSecurityGroups with the addition of
4408// the ability to pass a context and additional request options.
4409//
4410// See DescribeDBSecurityGroups for details on how to use this API operation.
4411//
4412// The context must be non-nil and will be used for request cancellation. If
4413// the context is nil a panic will occur. In the future the SDK may create
4414// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4415// for more information on using Contexts.
4416func (c *RDS) DescribeDBSecurityGroupsWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, opts ...request.Option) (*DescribeDBSecurityGroupsOutput, error) {
4417	req, out := c.DescribeDBSecurityGroupsRequest(input)
4418	req.SetContext(ctx)
4419	req.ApplyOptions(opts...)
4420	return out, req.Send()
4421}
4422
4423// DescribeDBSecurityGroupsPages iterates over the pages of a DescribeDBSecurityGroups operation,
4424// calling the "fn" function with the response data for each page. To stop
4425// iterating, return false from the fn function.
4426//
4427// See DescribeDBSecurityGroups method for more information on how to use this operation.
4428//
4429// Note: This operation can generate multiple requests to a service.
4430//
4431//    // Example iterating over at most 3 pages of a DescribeDBSecurityGroups operation.
4432//    pageNum := 0
4433//    err := client.DescribeDBSecurityGroupsPages(params,
4434//        func(page *DescribeDBSecurityGroupsOutput, lastPage bool) bool {
4435//            pageNum++
4436//            fmt.Println(page)
4437//            return pageNum <= 3
4438//        })
4439//
4440func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool) error {
4441	return c.DescribeDBSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
4442}
4443
4444// DescribeDBSecurityGroupsPagesWithContext same as DescribeDBSecurityGroupsPages except
4445// it takes a Context and allows setting request options on the pages.
4446//
4447// The context must be non-nil and will be used for request cancellation. If
4448// the context is nil a panic will occur. In the future the SDK may create
4449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4450// for more information on using Contexts.
4451func (c *RDS) DescribeDBSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
4452	p := request.Pagination{
4453		NewRequest: func() (*request.Request, error) {
4454			var inCpy *DescribeDBSecurityGroupsInput
4455			if input != nil {
4456				tmp := *input
4457				inCpy = &tmp
4458			}
4459			req, _ := c.DescribeDBSecurityGroupsRequest(inCpy)
4460			req.SetContext(ctx)
4461			req.ApplyOptions(opts...)
4462			return req, nil
4463		},
4464	}
4465
4466	cont := true
4467	for p.Next() && cont {
4468		cont = fn(p.Page().(*DescribeDBSecurityGroupsOutput), !p.HasNextPage())
4469	}
4470	return p.Err()
4471}
4472
4473const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes"
4474
4475// DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the
4476// client's request for the DescribeDBSnapshotAttributes operation. The "output" return
4477// value will be populated with the request's response once the request complets
4478// successfuly.
4479//
4480// Use "Send" method on the returned Request to send the API call to the service.
4481// the "output" return value is not valid until after Send returns without error.
4482//
4483// See DescribeDBSnapshotAttributes for more information on using the DescribeDBSnapshotAttributes
4484// API call, and error handling.
4485//
4486// This method is useful when you want to inject custom logic or configuration
4487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4488//
4489//
4490//    // Example sending a request using the DescribeDBSnapshotAttributesRequest method.
4491//    req, resp := client.DescribeDBSnapshotAttributesRequest(params)
4492//
4493//    err := req.Send()
4494//    if err == nil { // resp is now filled
4495//        fmt.Println(resp)
4496//    }
4497//
4498// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
4499func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttributesInput) (req *request.Request, output *DescribeDBSnapshotAttributesOutput) {
4500	op := &request.Operation{
4501		Name:       opDescribeDBSnapshotAttributes,
4502		HTTPMethod: "POST",
4503		HTTPPath:   "/",
4504	}
4505
4506	if input == nil {
4507		input = &DescribeDBSnapshotAttributesInput{}
4508	}
4509
4510	output = &DescribeDBSnapshotAttributesOutput{}
4511	req = c.newRequest(op, input, output)
4512	return
4513}
4514
4515// DescribeDBSnapshotAttributes API operation for Amazon Relational Database Service.
4516//
4517// Returns a list of DB snapshot attribute names and values for a manual DB
4518// snapshot.
4519//
4520// When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes
4521// returns the restore attribute and a list of IDs for the AWS accounts that
4522// are authorized to copy or restore the manual DB snapshot. If all is included
4523// in the list of values for the restore attribute, then the manual DB snapshot
4524// is public and can be copied or restored by all AWS accounts.
4525//
4526// To add or remove access for an AWS account to copy or restore a manual DB
4527// snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute
4528// API action.
4529//
4530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4531// with awserr.Error's Code and Message methods to get detailed information about
4532// the error.
4533//
4534// See the AWS API reference guide for Amazon Relational Database Service's
4535// API operation DescribeDBSnapshotAttributes for usage and error information.
4536//
4537// Returned Error Codes:
4538//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4539//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
4540//
4541// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
4542func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesInput) (*DescribeDBSnapshotAttributesOutput, error) {
4543	req, out := c.DescribeDBSnapshotAttributesRequest(input)
4544	return out, req.Send()
4545}
4546
4547// DescribeDBSnapshotAttributesWithContext is the same as DescribeDBSnapshotAttributes with the addition of
4548// the ability to pass a context and additional request options.
4549//
4550// See DescribeDBSnapshotAttributes for details on how to use this API operation.
4551//
4552// The context must be non-nil and will be used for request cancellation. If
4553// the context is nil a panic will occur. In the future the SDK may create
4554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4555// for more information on using Contexts.
4556func (c *RDS) DescribeDBSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBSnapshotAttributesInput, opts ...request.Option) (*DescribeDBSnapshotAttributesOutput, error) {
4557	req, out := c.DescribeDBSnapshotAttributesRequest(input)
4558	req.SetContext(ctx)
4559	req.ApplyOptions(opts...)
4560	return out, req.Send()
4561}
4562
4563const opDescribeDBSnapshots = "DescribeDBSnapshots"
4564
4565// DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the
4566// client's request for the DescribeDBSnapshots operation. The "output" return
4567// value will be populated with the request's response once the request complets
4568// successfuly.
4569//
4570// Use "Send" method on the returned Request to send the API call to the service.
4571// the "output" return value is not valid until after Send returns without error.
4572//
4573// See DescribeDBSnapshots for more information on using the DescribeDBSnapshots
4574// API call, and error handling.
4575//
4576// This method is useful when you want to inject custom logic or configuration
4577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4578//
4579//
4580//    // Example sending a request using the DescribeDBSnapshotsRequest method.
4581//    req, resp := client.DescribeDBSnapshotsRequest(params)
4582//
4583//    err := req.Send()
4584//    if err == nil { // resp is now filled
4585//        fmt.Println(resp)
4586//    }
4587//
4588// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
4589func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req *request.Request, output *DescribeDBSnapshotsOutput) {
4590	op := &request.Operation{
4591		Name:       opDescribeDBSnapshots,
4592		HTTPMethod: "POST",
4593		HTTPPath:   "/",
4594		Paginator: &request.Paginator{
4595			InputTokens:     []string{"Marker"},
4596			OutputTokens:    []string{"Marker"},
4597			LimitToken:      "MaxRecords",
4598			TruncationToken: "",
4599		},
4600	}
4601
4602	if input == nil {
4603		input = &DescribeDBSnapshotsInput{}
4604	}
4605
4606	output = &DescribeDBSnapshotsOutput{}
4607	req = c.newRequest(op, input, output)
4608	return
4609}
4610
4611// DescribeDBSnapshots API operation for Amazon Relational Database Service.
4612//
4613// Returns information about DB snapshots. This API action supports pagination.
4614//
4615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4616// with awserr.Error's Code and Message methods to get detailed information about
4617// the error.
4618//
4619// See the AWS API reference guide for Amazon Relational Database Service's
4620// API operation DescribeDBSnapshots for usage and error information.
4621//
4622// Returned Error Codes:
4623//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4624//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
4625//
4626// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
4627func (c *RDS) DescribeDBSnapshots(input *DescribeDBSnapshotsInput) (*DescribeDBSnapshotsOutput, error) {
4628	req, out := c.DescribeDBSnapshotsRequest(input)
4629	return out, req.Send()
4630}
4631
4632// DescribeDBSnapshotsWithContext is the same as DescribeDBSnapshots with the addition of
4633// the ability to pass a context and additional request options.
4634//
4635// See DescribeDBSnapshots for details on how to use this API operation.
4636//
4637// The context must be non-nil and will be used for request cancellation. If
4638// the context is nil a panic will occur. In the future the SDK may create
4639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4640// for more information on using Contexts.
4641func (c *RDS) DescribeDBSnapshotsWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, opts ...request.Option) (*DescribeDBSnapshotsOutput, error) {
4642	req, out := c.DescribeDBSnapshotsRequest(input)
4643	req.SetContext(ctx)
4644	req.ApplyOptions(opts...)
4645	return out, req.Send()
4646}
4647
4648// DescribeDBSnapshotsPages iterates over the pages of a DescribeDBSnapshots operation,
4649// calling the "fn" function with the response data for each page. To stop
4650// iterating, return false from the fn function.
4651//
4652// See DescribeDBSnapshots method for more information on how to use this operation.
4653//
4654// Note: This operation can generate multiple requests to a service.
4655//
4656//    // Example iterating over at most 3 pages of a DescribeDBSnapshots operation.
4657//    pageNum := 0
4658//    err := client.DescribeDBSnapshotsPages(params,
4659//        func(page *DescribeDBSnapshotsOutput, lastPage bool) bool {
4660//            pageNum++
4661//            fmt.Println(page)
4662//            return pageNum <= 3
4663//        })
4664//
4665func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool) error {
4666	return c.DescribeDBSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
4667}
4668
4669// DescribeDBSnapshotsPagesWithContext same as DescribeDBSnapshotsPages except
4670// it takes a Context and allows setting request options on the pages.
4671//
4672// The context must be non-nil and will be used for request cancellation. If
4673// the context is nil a panic will occur. In the future the SDK may create
4674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4675// for more information on using Contexts.
4676func (c *RDS) DescribeDBSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool, opts ...request.Option) error {
4677	p := request.Pagination{
4678		NewRequest: func() (*request.Request, error) {
4679			var inCpy *DescribeDBSnapshotsInput
4680			if input != nil {
4681				tmp := *input
4682				inCpy = &tmp
4683			}
4684			req, _ := c.DescribeDBSnapshotsRequest(inCpy)
4685			req.SetContext(ctx)
4686			req.ApplyOptions(opts...)
4687			return req, nil
4688		},
4689	}
4690
4691	cont := true
4692	for p.Next() && cont {
4693		cont = fn(p.Page().(*DescribeDBSnapshotsOutput), !p.HasNextPage())
4694	}
4695	return p.Err()
4696}
4697
4698const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
4699
4700// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
4701// client's request for the DescribeDBSubnetGroups operation. The "output" return
4702// value will be populated with the request's response once the request complets
4703// successfuly.
4704//
4705// Use "Send" method on the returned Request to send the API call to the service.
4706// the "output" return value is not valid until after Send returns without error.
4707//
4708// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
4709// API call, and error handling.
4710//
4711// This method is useful when you want to inject custom logic or configuration
4712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4713//
4714//
4715//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
4716//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
4717//
4718//    err := req.Send()
4719//    if err == nil { // resp is now filled
4720//        fmt.Println(resp)
4721//    }
4722//
4723// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
4724func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
4725	op := &request.Operation{
4726		Name:       opDescribeDBSubnetGroups,
4727		HTTPMethod: "POST",
4728		HTTPPath:   "/",
4729		Paginator: &request.Paginator{
4730			InputTokens:     []string{"Marker"},
4731			OutputTokens:    []string{"Marker"},
4732			LimitToken:      "MaxRecords",
4733			TruncationToken: "",
4734		},
4735	}
4736
4737	if input == nil {
4738		input = &DescribeDBSubnetGroupsInput{}
4739	}
4740
4741	output = &DescribeDBSubnetGroupsOutput{}
4742	req = c.newRequest(op, input, output)
4743	return
4744}
4745
4746// DescribeDBSubnetGroups API operation for Amazon Relational Database Service.
4747//
4748// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
4749// the list will contain only the descriptions of the specified DBSubnetGroup.
4750//
4751// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
4752//
4753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4754// with awserr.Error's Code and Message methods to get detailed information about
4755// the error.
4756//
4757// See the AWS API reference guide for Amazon Relational Database Service's
4758// API operation DescribeDBSubnetGroups for usage and error information.
4759//
4760// Returned Error Codes:
4761//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4762//   DBSubnetGroupName does not refer to an existing DB subnet group.
4763//
4764// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
4765func (c *RDS) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
4766	req, out := c.DescribeDBSubnetGroupsRequest(input)
4767	return out, req.Send()
4768}
4769
4770// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
4771// the ability to pass a context and additional request options.
4772//
4773// See DescribeDBSubnetGroups for details on how to use this API operation.
4774//
4775// The context must be non-nil and will be used for request cancellation. If
4776// the context is nil a panic will occur. In the future the SDK may create
4777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4778// for more information on using Contexts.
4779func (c *RDS) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
4780	req, out := c.DescribeDBSubnetGroupsRequest(input)
4781	req.SetContext(ctx)
4782	req.ApplyOptions(opts...)
4783	return out, req.Send()
4784}
4785
4786// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
4787// calling the "fn" function with the response data for each page. To stop
4788// iterating, return false from the fn function.
4789//
4790// See DescribeDBSubnetGroups method for more information on how to use this operation.
4791//
4792// Note: This operation can generate multiple requests to a service.
4793//
4794//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
4795//    pageNum := 0
4796//    err := client.DescribeDBSubnetGroupsPages(params,
4797//        func(page *DescribeDBSubnetGroupsOutput, lastPage bool) bool {
4798//            pageNum++
4799//            fmt.Println(page)
4800//            return pageNum <= 3
4801//        })
4802//
4803func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
4804	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
4805}
4806
4807// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
4808// it takes a Context and allows setting request options on the pages.
4809//
4810// The context must be non-nil and will be used for request cancellation. If
4811// the context is nil a panic will occur. In the future the SDK may create
4812// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4813// for more information on using Contexts.
4814func (c *RDS) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
4815	p := request.Pagination{
4816		NewRequest: func() (*request.Request, error) {
4817			var inCpy *DescribeDBSubnetGroupsInput
4818			if input != nil {
4819				tmp := *input
4820				inCpy = &tmp
4821			}
4822			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
4823			req.SetContext(ctx)
4824			req.ApplyOptions(opts...)
4825			return req, nil
4826		},
4827	}
4828
4829	cont := true
4830	for p.Next() && cont {
4831		cont = fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage())
4832	}
4833	return p.Err()
4834}
4835
4836const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
4837
4838// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
4839// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
4840// value will be populated with the request's response once the request complets
4841// successfuly.
4842//
4843// Use "Send" method on the returned Request to send the API call to the service.
4844// the "output" return value is not valid until after Send returns without error.
4845//
4846// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
4847// API call, and error handling.
4848//
4849// This method is useful when you want to inject custom logic or configuration
4850// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4851//
4852//
4853//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
4854//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
4855//
4856//    err := req.Send()
4857//    if err == nil { // resp is now filled
4858//        fmt.Println(resp)
4859//    }
4860//
4861// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
4862func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
4863	op := &request.Operation{
4864		Name:       opDescribeEngineDefaultClusterParameters,
4865		HTTPMethod: "POST",
4866		HTTPPath:   "/",
4867	}
4868
4869	if input == nil {
4870		input = &DescribeEngineDefaultClusterParametersInput{}
4871	}
4872
4873	output = &DescribeEngineDefaultClusterParametersOutput{}
4874	req = c.newRequest(op, input, output)
4875	return
4876}
4877
4878// DescribeEngineDefaultClusterParameters API operation for Amazon Relational Database Service.
4879//
4880// Returns the default engine and system parameter information for the cluster
4881// database engine.
4882//
4883// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
4884// in the Amazon RDS User Guide.
4885//
4886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4887// with awserr.Error's Code and Message methods to get detailed information about
4888// the error.
4889//
4890// See the AWS API reference guide for Amazon Relational Database Service's
4891// API operation DescribeEngineDefaultClusterParameters for usage and error information.
4892// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
4893func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
4894	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
4895	return out, req.Send()
4896}
4897
4898// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
4899// the ability to pass a context and additional request options.
4900//
4901// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
4902//
4903// The context must be non-nil and will be used for request cancellation. If
4904// the context is nil a panic will occur. In the future the SDK may create
4905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4906// for more information on using Contexts.
4907func (c *RDS) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
4908	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
4909	req.SetContext(ctx)
4910	req.ApplyOptions(opts...)
4911	return out, req.Send()
4912}
4913
4914const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
4915
4916// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
4917// client's request for the DescribeEngineDefaultParameters operation. The "output" return
4918// value will be populated with the request's response once the request complets
4919// successfuly.
4920//
4921// Use "Send" method on the returned Request to send the API call to the service.
4922// the "output" return value is not valid until after Send returns without error.
4923//
4924// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
4925// API call, and error handling.
4926//
4927// This method is useful when you want to inject custom logic or configuration
4928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4929//
4930//
4931//    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
4932//    req, resp := client.DescribeEngineDefaultParametersRequest(params)
4933//
4934//    err := req.Send()
4935//    if err == nil { // resp is now filled
4936//        fmt.Println(resp)
4937//    }
4938//
4939// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
4940func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
4941	op := &request.Operation{
4942		Name:       opDescribeEngineDefaultParameters,
4943		HTTPMethod: "POST",
4944		HTTPPath:   "/",
4945		Paginator: &request.Paginator{
4946			InputTokens:     []string{"Marker"},
4947			OutputTokens:    []string{"EngineDefaults.Marker"},
4948			LimitToken:      "MaxRecords",
4949			TruncationToken: "",
4950		},
4951	}
4952
4953	if input == nil {
4954		input = &DescribeEngineDefaultParametersInput{}
4955	}
4956
4957	output = &DescribeEngineDefaultParametersOutput{}
4958	req = c.newRequest(op, input, output)
4959	return
4960}
4961
4962// DescribeEngineDefaultParameters API operation for Amazon Relational Database Service.
4963//
4964// Returns the default engine and system parameter information for the specified
4965// database engine.
4966//
4967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4968// with awserr.Error's Code and Message methods to get detailed information about
4969// the error.
4970//
4971// See the AWS API reference guide for Amazon Relational Database Service's
4972// API operation DescribeEngineDefaultParameters for usage and error information.
4973// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
4974func (c *RDS) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
4975	req, out := c.DescribeEngineDefaultParametersRequest(input)
4976	return out, req.Send()
4977}
4978
4979// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
4980// the ability to pass a context and additional request options.
4981//
4982// See DescribeEngineDefaultParameters for details on how to use this API operation.
4983//
4984// The context must be non-nil and will be used for request cancellation. If
4985// the context is nil a panic will occur. In the future the SDK may create
4986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4987// for more information on using Contexts.
4988func (c *RDS) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
4989	req, out := c.DescribeEngineDefaultParametersRequest(input)
4990	req.SetContext(ctx)
4991	req.ApplyOptions(opts...)
4992	return out, req.Send()
4993}
4994
4995// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
4996// calling the "fn" function with the response data for each page. To stop
4997// iterating, return false from the fn function.
4998//
4999// See DescribeEngineDefaultParameters method for more information on how to use this operation.
5000//
5001// Note: This operation can generate multiple requests to a service.
5002//
5003//    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
5004//    pageNum := 0
5005//    err := client.DescribeEngineDefaultParametersPages(params,
5006//        func(page *DescribeEngineDefaultParametersOutput, lastPage bool) bool {
5007//            pageNum++
5008//            fmt.Println(page)
5009//            return pageNum <= 3
5010//        })
5011//
5012func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
5013	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
5014}
5015
5016// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
5017// it takes a Context and allows setting request options on the pages.
5018//
5019// The context must be non-nil and will be used for request cancellation. If
5020// the context is nil a panic will occur. In the future the SDK may create
5021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5022// for more information on using Contexts.
5023func (c *RDS) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
5024	p := request.Pagination{
5025		NewRequest: func() (*request.Request, error) {
5026			var inCpy *DescribeEngineDefaultParametersInput
5027			if input != nil {
5028				tmp := *input
5029				inCpy = &tmp
5030			}
5031			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
5032			req.SetContext(ctx)
5033			req.ApplyOptions(opts...)
5034			return req, nil
5035		},
5036	}
5037
5038	cont := true
5039	for p.Next() && cont {
5040		cont = fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage())
5041	}
5042	return p.Err()
5043}
5044
5045const opDescribeEventCategories = "DescribeEventCategories"
5046
5047// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
5048// client's request for the DescribeEventCategories operation. The "output" return
5049// value will be populated with the request's response once the request complets
5050// successfuly.
5051//
5052// Use "Send" method on the returned Request to send the API call to the service.
5053// the "output" return value is not valid until after Send returns without error.
5054//
5055// See DescribeEventCategories for more information on using the DescribeEventCategories
5056// API call, and error handling.
5057//
5058// This method is useful when you want to inject custom logic or configuration
5059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5060//
5061//
5062//    // Example sending a request using the DescribeEventCategoriesRequest method.
5063//    req, resp := client.DescribeEventCategoriesRequest(params)
5064//
5065//    err := req.Send()
5066//    if err == nil { // resp is now filled
5067//        fmt.Println(resp)
5068//    }
5069//
5070// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
5071func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
5072	op := &request.Operation{
5073		Name:       opDescribeEventCategories,
5074		HTTPMethod: "POST",
5075		HTTPPath:   "/",
5076	}
5077
5078	if input == nil {
5079		input = &DescribeEventCategoriesInput{}
5080	}
5081
5082	output = &DescribeEventCategoriesOutput{}
5083	req = c.newRequest(op, input, output)
5084	return
5085}
5086
5087// DescribeEventCategories API operation for Amazon Relational Database Service.
5088//
5089// Displays a list of categories for all event source types, or, if specified,
5090// for a specified source type. You can see a list of the event categories and
5091// source types in the  Events (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
5092// topic in the Amazon RDS User Guide.
5093//
5094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5095// with awserr.Error's Code and Message methods to get detailed information about
5096// the error.
5097//
5098// See the AWS API reference guide for Amazon Relational Database Service's
5099// API operation DescribeEventCategories for usage and error information.
5100// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
5101func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
5102	req, out := c.DescribeEventCategoriesRequest(input)
5103	return out, req.Send()
5104}
5105
5106// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
5107// the ability to pass a context and additional request options.
5108//
5109// See DescribeEventCategories for details on how to use this API operation.
5110//
5111// The context must be non-nil and will be used for request cancellation. If
5112// the context is nil a panic will occur. In the future the SDK may create
5113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5114// for more information on using Contexts.
5115func (c *RDS) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
5116	req, out := c.DescribeEventCategoriesRequest(input)
5117	req.SetContext(ctx)
5118	req.ApplyOptions(opts...)
5119	return out, req.Send()
5120}
5121
5122const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
5123
5124// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
5125// client's request for the DescribeEventSubscriptions operation. The "output" return
5126// value will be populated with the request's response once the request complets
5127// successfuly.
5128//
5129// Use "Send" method on the returned Request to send the API call to the service.
5130// the "output" return value is not valid until after Send returns without error.
5131//
5132// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
5133// API call, and error handling.
5134//
5135// This method is useful when you want to inject custom logic or configuration
5136// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5137//
5138//
5139//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
5140//    req, resp := client.DescribeEventSubscriptionsRequest(params)
5141//
5142//    err := req.Send()
5143//    if err == nil { // resp is now filled
5144//        fmt.Println(resp)
5145//    }
5146//
5147// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
5148func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
5149	op := &request.Operation{
5150		Name:       opDescribeEventSubscriptions,
5151		HTTPMethod: "POST",
5152		HTTPPath:   "/",
5153		Paginator: &request.Paginator{
5154			InputTokens:     []string{"Marker"},
5155			OutputTokens:    []string{"Marker"},
5156			LimitToken:      "MaxRecords",
5157			TruncationToken: "",
5158		},
5159	}
5160
5161	if input == nil {
5162		input = &DescribeEventSubscriptionsInput{}
5163	}
5164
5165	output = &DescribeEventSubscriptionsOutput{}
5166	req = c.newRequest(op, input, output)
5167	return
5168}
5169
5170// DescribeEventSubscriptions API operation for Amazon Relational Database Service.
5171//
5172// Lists all the subscription descriptions for a customer account. The description
5173// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
5174// SourceID, CreationTime, and Status.
5175//
5176// If you specify a SubscriptionName, lists the description for that subscription.
5177//
5178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5179// with awserr.Error's Code and Message methods to get detailed information about
5180// the error.
5181//
5182// See the AWS API reference guide for Amazon Relational Database Service's
5183// API operation DescribeEventSubscriptions for usage and error information.
5184//
5185// Returned Error Codes:
5186//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
5187//   The subscription name does not exist.
5188//
5189// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
5190func (c *RDS) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
5191	req, out := c.DescribeEventSubscriptionsRequest(input)
5192	return out, req.Send()
5193}
5194
5195// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
5196// the ability to pass a context and additional request options.
5197//
5198// See DescribeEventSubscriptions for details on how to use this API operation.
5199//
5200// The context must be non-nil and will be used for request cancellation. If
5201// the context is nil a panic will occur. In the future the SDK may create
5202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5203// for more information on using Contexts.
5204func (c *RDS) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
5205	req, out := c.DescribeEventSubscriptionsRequest(input)
5206	req.SetContext(ctx)
5207	req.ApplyOptions(opts...)
5208	return out, req.Send()
5209}
5210
5211// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
5212// calling the "fn" function with the response data for each page. To stop
5213// iterating, return false from the fn function.
5214//
5215// See DescribeEventSubscriptions method for more information on how to use this operation.
5216//
5217// Note: This operation can generate multiple requests to a service.
5218//
5219//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
5220//    pageNum := 0
5221//    err := client.DescribeEventSubscriptionsPages(params,
5222//        func(page *DescribeEventSubscriptionsOutput, lastPage bool) bool {
5223//            pageNum++
5224//            fmt.Println(page)
5225//            return pageNum <= 3
5226//        })
5227//
5228func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
5229	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
5230}
5231
5232// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
5233// it takes a Context and allows setting request options on the pages.
5234//
5235// The context must be non-nil and will be used for request cancellation. If
5236// the context is nil a panic will occur. In the future the SDK may create
5237// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5238// for more information on using Contexts.
5239func (c *RDS) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
5240	p := request.Pagination{
5241		NewRequest: func() (*request.Request, error) {
5242			var inCpy *DescribeEventSubscriptionsInput
5243			if input != nil {
5244				tmp := *input
5245				inCpy = &tmp
5246			}
5247			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
5248			req.SetContext(ctx)
5249			req.ApplyOptions(opts...)
5250			return req, nil
5251		},
5252	}
5253
5254	cont := true
5255	for p.Next() && cont {
5256		cont = fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage())
5257	}
5258	return p.Err()
5259}
5260
5261const opDescribeEvents = "DescribeEvents"
5262
5263// DescribeEventsRequest generates a "aws/request.Request" representing the
5264// client's request for the DescribeEvents operation. The "output" return
5265// value will be populated with the request's response once the request complets
5266// successfuly.
5267//
5268// Use "Send" method on the returned Request to send the API call to the service.
5269// the "output" return value is not valid until after Send returns without error.
5270//
5271// See DescribeEvents for more information on using the DescribeEvents
5272// API call, and error handling.
5273//
5274// This method is useful when you want to inject custom logic or configuration
5275// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5276//
5277//
5278//    // Example sending a request using the DescribeEventsRequest method.
5279//    req, resp := client.DescribeEventsRequest(params)
5280//
5281//    err := req.Send()
5282//    if err == nil { // resp is now filled
5283//        fmt.Println(resp)
5284//    }
5285//
5286// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
5287func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
5288	op := &request.Operation{
5289		Name:       opDescribeEvents,
5290		HTTPMethod: "POST",
5291		HTTPPath:   "/",
5292		Paginator: &request.Paginator{
5293			InputTokens:     []string{"Marker"},
5294			OutputTokens:    []string{"Marker"},
5295			LimitToken:      "MaxRecords",
5296			TruncationToken: "",
5297		},
5298	}
5299
5300	if input == nil {
5301		input = &DescribeEventsInput{}
5302	}
5303
5304	output = &DescribeEventsOutput{}
5305	req = c.newRequest(op, input, output)
5306	return
5307}
5308
5309// DescribeEvents API operation for Amazon Relational Database Service.
5310//
5311// Returns events related to DB instances, DB security groups, DB snapshots,
5312// and DB parameter groups for the past 14 days. Events specific to a particular
5313// DB instance, DB security group, database snapshot, or DB parameter group
5314// can be obtained by providing the name as a parameter. By default, the past
5315// hour of events are returned.
5316//
5317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5318// with awserr.Error's Code and Message methods to get detailed information about
5319// the error.
5320//
5321// See the AWS API reference guide for Amazon Relational Database Service's
5322// API operation DescribeEvents for usage and error information.
5323// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
5324func (c *RDS) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
5325	req, out := c.DescribeEventsRequest(input)
5326	return out, req.Send()
5327}
5328
5329// DescribeEventsWithContext is the same as DescribeEvents with the addition of
5330// the ability to pass a context and additional request options.
5331//
5332// See DescribeEvents for details on how to use this API operation.
5333//
5334// The context must be non-nil and will be used for request cancellation. If
5335// the context is nil a panic will occur. In the future the SDK may create
5336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5337// for more information on using Contexts.
5338func (c *RDS) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
5339	req, out := c.DescribeEventsRequest(input)
5340	req.SetContext(ctx)
5341	req.ApplyOptions(opts...)
5342	return out, req.Send()
5343}
5344
5345// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
5346// calling the "fn" function with the response data for each page. To stop
5347// iterating, return false from the fn function.
5348//
5349// See DescribeEvents method for more information on how to use this operation.
5350//
5351// Note: This operation can generate multiple requests to a service.
5352//
5353//    // Example iterating over at most 3 pages of a DescribeEvents operation.
5354//    pageNum := 0
5355//    err := client.DescribeEventsPages(params,
5356//        func(page *DescribeEventsOutput, lastPage bool) bool {
5357//            pageNum++
5358//            fmt.Println(page)
5359//            return pageNum <= 3
5360//        })
5361//
5362func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
5363	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
5364}
5365
5366// DescribeEventsPagesWithContext same as DescribeEventsPages except
5367// it takes a Context and allows setting request options on the pages.
5368//
5369// The context must be non-nil and will be used for request cancellation. If
5370// the context is nil a panic will occur. In the future the SDK may create
5371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5372// for more information on using Contexts.
5373func (c *RDS) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
5374	p := request.Pagination{
5375		NewRequest: func() (*request.Request, error) {
5376			var inCpy *DescribeEventsInput
5377			if input != nil {
5378				tmp := *input
5379				inCpy = &tmp
5380			}
5381			req, _ := c.DescribeEventsRequest(inCpy)
5382			req.SetContext(ctx)
5383			req.ApplyOptions(opts...)
5384			return req, nil
5385		},
5386	}
5387
5388	cont := true
5389	for p.Next() && cont {
5390		cont = fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage())
5391	}
5392	return p.Err()
5393}
5394
5395const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions"
5396
5397// DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the
5398// client's request for the DescribeOptionGroupOptions operation. The "output" return
5399// value will be populated with the request's response once the request complets
5400// successfuly.
5401//
5402// Use "Send" method on the returned Request to send the API call to the service.
5403// the "output" return value is not valid until after Send returns without error.
5404//
5405// See DescribeOptionGroupOptions for more information on using the DescribeOptionGroupOptions
5406// API call, and error handling.
5407//
5408// This method is useful when you want to inject custom logic or configuration
5409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5410//
5411//
5412//    // Example sending a request using the DescribeOptionGroupOptionsRequest method.
5413//    req, resp := client.DescribeOptionGroupOptionsRequest(params)
5414//
5415//    err := req.Send()
5416//    if err == nil { // resp is now filled
5417//        fmt.Println(resp)
5418//    }
5419//
5420// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
5421func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) {
5422	op := &request.Operation{
5423		Name:       opDescribeOptionGroupOptions,
5424		HTTPMethod: "POST",
5425		HTTPPath:   "/",
5426		Paginator: &request.Paginator{
5427			InputTokens:     []string{"Marker"},
5428			OutputTokens:    []string{"Marker"},
5429			LimitToken:      "MaxRecords",
5430			TruncationToken: "",
5431		},
5432	}
5433
5434	if input == nil {
5435		input = &DescribeOptionGroupOptionsInput{}
5436	}
5437
5438	output = &DescribeOptionGroupOptionsOutput{}
5439	req = c.newRequest(op, input, output)
5440	return
5441}
5442
5443// DescribeOptionGroupOptions API operation for Amazon Relational Database Service.
5444//
5445// Describes all available options.
5446//
5447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5448// with awserr.Error's Code and Message methods to get detailed information about
5449// the error.
5450//
5451// See the AWS API reference guide for Amazon Relational Database Service's
5452// API operation DescribeOptionGroupOptions for usage and error information.
5453// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
5454func (c *RDS) DescribeOptionGroupOptions(input *DescribeOptionGroupOptionsInput) (*DescribeOptionGroupOptionsOutput, error) {
5455	req, out := c.DescribeOptionGroupOptionsRequest(input)
5456	return out, req.Send()
5457}
5458
5459// DescribeOptionGroupOptionsWithContext is the same as DescribeOptionGroupOptions with the addition of
5460// the ability to pass a context and additional request options.
5461//
5462// See DescribeOptionGroupOptions for details on how to use this API operation.
5463//
5464// The context must be non-nil and will be used for request cancellation. If
5465// the context is nil a panic will occur. In the future the SDK may create
5466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5467// for more information on using Contexts.
5468func (c *RDS) DescribeOptionGroupOptionsWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, opts ...request.Option) (*DescribeOptionGroupOptionsOutput, error) {
5469	req, out := c.DescribeOptionGroupOptionsRequest(input)
5470	req.SetContext(ctx)
5471	req.ApplyOptions(opts...)
5472	return out, req.Send()
5473}
5474
5475// DescribeOptionGroupOptionsPages iterates over the pages of a DescribeOptionGroupOptions operation,
5476// calling the "fn" function with the response data for each page. To stop
5477// iterating, return false from the fn function.
5478//
5479// See DescribeOptionGroupOptions method for more information on how to use this operation.
5480//
5481// Note: This operation can generate multiple requests to a service.
5482//
5483//    // Example iterating over at most 3 pages of a DescribeOptionGroupOptions operation.
5484//    pageNum := 0
5485//    err := client.DescribeOptionGroupOptionsPages(params,
5486//        func(page *DescribeOptionGroupOptionsOutput, lastPage bool) bool {
5487//            pageNum++
5488//            fmt.Println(page)
5489//            return pageNum <= 3
5490//        })
5491//
5492func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool) error {
5493	return c.DescribeOptionGroupOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
5494}
5495
5496// DescribeOptionGroupOptionsPagesWithContext same as DescribeOptionGroupOptionsPages except
5497// it takes a Context and allows setting request options on the pages.
5498//
5499// The context must be non-nil and will be used for request cancellation. If
5500// the context is nil a panic will occur. In the future the SDK may create
5501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5502// for more information on using Contexts.
5503func (c *RDS) DescribeOptionGroupOptionsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool, opts ...request.Option) error {
5504	p := request.Pagination{
5505		NewRequest: func() (*request.Request, error) {
5506			var inCpy *DescribeOptionGroupOptionsInput
5507			if input != nil {
5508				tmp := *input
5509				inCpy = &tmp
5510			}
5511			req, _ := c.DescribeOptionGroupOptionsRequest(inCpy)
5512			req.SetContext(ctx)
5513			req.ApplyOptions(opts...)
5514			return req, nil
5515		},
5516	}
5517
5518	cont := true
5519	for p.Next() && cont {
5520		cont = fn(p.Page().(*DescribeOptionGroupOptionsOutput), !p.HasNextPage())
5521	}
5522	return p.Err()
5523}
5524
5525const opDescribeOptionGroups = "DescribeOptionGroups"
5526
5527// DescribeOptionGroupsRequest generates a "aws/request.Request" representing the
5528// client's request for the DescribeOptionGroups operation. The "output" return
5529// value will be populated with the request's response once the request complets
5530// successfuly.
5531//
5532// Use "Send" method on the returned Request to send the API call to the service.
5533// the "output" return value is not valid until after Send returns without error.
5534//
5535// See DescribeOptionGroups for more information on using the DescribeOptionGroups
5536// API call, and error handling.
5537//
5538// This method is useful when you want to inject custom logic or configuration
5539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5540//
5541//
5542//    // Example sending a request using the DescribeOptionGroupsRequest method.
5543//    req, resp := client.DescribeOptionGroupsRequest(params)
5544//
5545//    err := req.Send()
5546//    if err == nil { // resp is now filled
5547//        fmt.Println(resp)
5548//    }
5549//
5550// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
5551func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req *request.Request, output *DescribeOptionGroupsOutput) {
5552	op := &request.Operation{
5553		Name:       opDescribeOptionGroups,
5554		HTTPMethod: "POST",
5555		HTTPPath:   "/",
5556		Paginator: &request.Paginator{
5557			InputTokens:     []string{"Marker"},
5558			OutputTokens:    []string{"Marker"},
5559			LimitToken:      "MaxRecords",
5560			TruncationToken: "",
5561		},
5562	}
5563
5564	if input == nil {
5565		input = &DescribeOptionGroupsInput{}
5566	}
5567
5568	output = &DescribeOptionGroupsOutput{}
5569	req = c.newRequest(op, input, output)
5570	return
5571}
5572
5573// DescribeOptionGroups API operation for Amazon Relational Database Service.
5574//
5575// Describes the available option groups.
5576//
5577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5578// with awserr.Error's Code and Message methods to get detailed information about
5579// the error.
5580//
5581// See the AWS API reference guide for Amazon Relational Database Service's
5582// API operation DescribeOptionGroups for usage and error information.
5583//
5584// Returned Error Codes:
5585//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
5586//   The specified option group could not be found.
5587//
5588// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
5589func (c *RDS) DescribeOptionGroups(input *DescribeOptionGroupsInput) (*DescribeOptionGroupsOutput, error) {
5590	req, out := c.DescribeOptionGroupsRequest(input)
5591	return out, req.Send()
5592}
5593
5594// DescribeOptionGroupsWithContext is the same as DescribeOptionGroups with the addition of
5595// the ability to pass a context and additional request options.
5596//
5597// See DescribeOptionGroups for details on how to use this API operation.
5598//
5599// The context must be non-nil and will be used for request cancellation. If
5600// the context is nil a panic will occur. In the future the SDK may create
5601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5602// for more information on using Contexts.
5603func (c *RDS) DescribeOptionGroupsWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, opts ...request.Option) (*DescribeOptionGroupsOutput, error) {
5604	req, out := c.DescribeOptionGroupsRequest(input)
5605	req.SetContext(ctx)
5606	req.ApplyOptions(opts...)
5607	return out, req.Send()
5608}
5609
5610// DescribeOptionGroupsPages iterates over the pages of a DescribeOptionGroups operation,
5611// calling the "fn" function with the response data for each page. To stop
5612// iterating, return false from the fn function.
5613//
5614// See DescribeOptionGroups method for more information on how to use this operation.
5615//
5616// Note: This operation can generate multiple requests to a service.
5617//
5618//    // Example iterating over at most 3 pages of a DescribeOptionGroups operation.
5619//    pageNum := 0
5620//    err := client.DescribeOptionGroupsPages(params,
5621//        func(page *DescribeOptionGroupsOutput, lastPage bool) bool {
5622//            pageNum++
5623//            fmt.Println(page)
5624//            return pageNum <= 3
5625//        })
5626//
5627func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool) error {
5628	return c.DescribeOptionGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
5629}
5630
5631// DescribeOptionGroupsPagesWithContext same as DescribeOptionGroupsPages except
5632// it takes a Context and allows setting request options on the pages.
5633//
5634// The context must be non-nil and will be used for request cancellation. If
5635// the context is nil a panic will occur. In the future the SDK may create
5636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5637// for more information on using Contexts.
5638func (c *RDS) DescribeOptionGroupsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool, opts ...request.Option) error {
5639	p := request.Pagination{
5640		NewRequest: func() (*request.Request, error) {
5641			var inCpy *DescribeOptionGroupsInput
5642			if input != nil {
5643				tmp := *input
5644				inCpy = &tmp
5645			}
5646			req, _ := c.DescribeOptionGroupsRequest(inCpy)
5647			req.SetContext(ctx)
5648			req.ApplyOptions(opts...)
5649			return req, nil
5650		},
5651	}
5652
5653	cont := true
5654	for p.Next() && cont {
5655		cont = fn(p.Page().(*DescribeOptionGroupsOutput), !p.HasNextPage())
5656	}
5657	return p.Err()
5658}
5659
5660const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
5661
5662// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
5663// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
5664// value will be populated with the request's response once the request complets
5665// successfuly.
5666//
5667// Use "Send" method on the returned Request to send the API call to the service.
5668// the "output" return value is not valid until after Send returns without error.
5669//
5670// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
5671// API call, and error handling.
5672//
5673// This method is useful when you want to inject custom logic or configuration
5674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5675//
5676//
5677//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
5678//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
5679//
5680//    err := req.Send()
5681//    if err == nil { // resp is now filled
5682//        fmt.Println(resp)
5683//    }
5684//
5685// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
5686func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
5687	op := &request.Operation{
5688		Name:       opDescribeOrderableDBInstanceOptions,
5689		HTTPMethod: "POST",
5690		HTTPPath:   "/",
5691		Paginator: &request.Paginator{
5692			InputTokens:     []string{"Marker"},
5693			OutputTokens:    []string{"Marker"},
5694			LimitToken:      "MaxRecords",
5695			TruncationToken: "",
5696		},
5697	}
5698
5699	if input == nil {
5700		input = &DescribeOrderableDBInstanceOptionsInput{}
5701	}
5702
5703	output = &DescribeOrderableDBInstanceOptionsOutput{}
5704	req = c.newRequest(op, input, output)
5705	return
5706}
5707
5708// DescribeOrderableDBInstanceOptions API operation for Amazon Relational Database Service.
5709//
5710// Returns a list of orderable DB instance options for the specified engine.
5711//
5712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5713// with awserr.Error's Code and Message methods to get detailed information about
5714// the error.
5715//
5716// See the AWS API reference guide for Amazon Relational Database Service's
5717// API operation DescribeOrderableDBInstanceOptions for usage and error information.
5718// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
5719func (c *RDS) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
5720	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
5721	return out, req.Send()
5722}
5723
5724// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
5725// the ability to pass a context and additional request options.
5726//
5727// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
5728//
5729// The context must be non-nil and will be used for request cancellation. If
5730// the context is nil a panic will occur. In the future the SDK may create
5731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5732// for more information on using Contexts.
5733func (c *RDS) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
5734	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
5735	req.SetContext(ctx)
5736	req.ApplyOptions(opts...)
5737	return out, req.Send()
5738}
5739
5740// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
5741// calling the "fn" function with the response data for each page. To stop
5742// iterating, return false from the fn function.
5743//
5744// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
5745//
5746// Note: This operation can generate multiple requests to a service.
5747//
5748//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
5749//    pageNum := 0
5750//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
5751//        func(page *DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
5752//            pageNum++
5753//            fmt.Println(page)
5754//            return pageNum <= 3
5755//        })
5756//
5757func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
5758	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
5759}
5760
5761// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
5762// it takes a Context and allows setting request options on the pages.
5763//
5764// The context must be non-nil and will be used for request cancellation. If
5765// the context is nil a panic will occur. In the future the SDK may create
5766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5767// for more information on using Contexts.
5768func (c *RDS) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
5769	p := request.Pagination{
5770		NewRequest: func() (*request.Request, error) {
5771			var inCpy *DescribeOrderableDBInstanceOptionsInput
5772			if input != nil {
5773				tmp := *input
5774				inCpy = &tmp
5775			}
5776			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
5777			req.SetContext(ctx)
5778			req.ApplyOptions(opts...)
5779			return req, nil
5780		},
5781	}
5782
5783	cont := true
5784	for p.Next() && cont {
5785		cont = fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage())
5786	}
5787	return p.Err()
5788}
5789
5790const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
5791
5792// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
5793// client's request for the DescribePendingMaintenanceActions operation. The "output" return
5794// value will be populated with the request's response once the request complets
5795// successfuly.
5796//
5797// Use "Send" method on the returned Request to send the API call to the service.
5798// the "output" return value is not valid until after Send returns without error.
5799//
5800// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
5801// API call, and error handling.
5802//
5803// This method is useful when you want to inject custom logic or configuration
5804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5805//
5806//
5807//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
5808//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
5809//
5810//    err := req.Send()
5811//    if err == nil { // resp is now filled
5812//        fmt.Println(resp)
5813//    }
5814//
5815// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
5816func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
5817	op := &request.Operation{
5818		Name:       opDescribePendingMaintenanceActions,
5819		HTTPMethod: "POST",
5820		HTTPPath:   "/",
5821	}
5822
5823	if input == nil {
5824		input = &DescribePendingMaintenanceActionsInput{}
5825	}
5826
5827	output = &DescribePendingMaintenanceActionsOutput{}
5828	req = c.newRequest(op, input, output)
5829	return
5830}
5831
5832// DescribePendingMaintenanceActions API operation for Amazon Relational Database Service.
5833//
5834// Returns a list of resources (for example, DB instances) that have at least
5835// one pending maintenance action.
5836//
5837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5838// with awserr.Error's Code and Message methods to get detailed information about
5839// the error.
5840//
5841// See the AWS API reference guide for Amazon Relational Database Service's
5842// API operation DescribePendingMaintenanceActions for usage and error information.
5843//
5844// Returned Error Codes:
5845//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
5846//   The specified resource ID was not found.
5847//
5848// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
5849func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
5850	req, out := c.DescribePendingMaintenanceActionsRequest(input)
5851	return out, req.Send()
5852}
5853
5854// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
5855// the ability to pass a context and additional request options.
5856//
5857// See DescribePendingMaintenanceActions for details on how to use this API operation.
5858//
5859// The context must be non-nil and will be used for request cancellation. If
5860// the context is nil a panic will occur. In the future the SDK may create
5861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5862// for more information on using Contexts.
5863func (c *RDS) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
5864	req, out := c.DescribePendingMaintenanceActionsRequest(input)
5865	req.SetContext(ctx)
5866	req.ApplyOptions(opts...)
5867	return out, req.Send()
5868}
5869
5870const opDescribeReservedDBInstances = "DescribeReservedDBInstances"
5871
5872// DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the
5873// client's request for the DescribeReservedDBInstances operation. The "output" return
5874// value will be populated with the request's response once the request complets
5875// successfuly.
5876//
5877// Use "Send" method on the returned Request to send the API call to the service.
5878// the "output" return value is not valid until after Send returns without error.
5879//
5880// See DescribeReservedDBInstances for more information on using the DescribeReservedDBInstances
5881// API call, and error handling.
5882//
5883// This method is useful when you want to inject custom logic or configuration
5884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5885//
5886//
5887//    // Example sending a request using the DescribeReservedDBInstancesRequest method.
5888//    req, resp := client.DescribeReservedDBInstancesRequest(params)
5889//
5890//    err := req.Send()
5891//    if err == nil { // resp is now filled
5892//        fmt.Println(resp)
5893//    }
5894//
5895// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
5896func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstancesInput) (req *request.Request, output *DescribeReservedDBInstancesOutput) {
5897	op := &request.Operation{
5898		Name:       opDescribeReservedDBInstances,
5899		HTTPMethod: "POST",
5900		HTTPPath:   "/",
5901		Paginator: &request.Paginator{
5902			InputTokens:     []string{"Marker"},
5903			OutputTokens:    []string{"Marker"},
5904			LimitToken:      "MaxRecords",
5905			TruncationToken: "",
5906		},
5907	}
5908
5909	if input == nil {
5910		input = &DescribeReservedDBInstancesInput{}
5911	}
5912
5913	output = &DescribeReservedDBInstancesOutput{}
5914	req = c.newRequest(op, input, output)
5915	return
5916}
5917
5918// DescribeReservedDBInstances API operation for Amazon Relational Database Service.
5919//
5920// Returns information about reserved DB instances for this account, or about
5921// a specified reserved DB instance.
5922//
5923// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5924// with awserr.Error's Code and Message methods to get detailed information about
5925// the error.
5926//
5927// See the AWS API reference guide for Amazon Relational Database Service's
5928// API operation DescribeReservedDBInstances for usage and error information.
5929//
5930// Returned Error Codes:
5931//   * ErrCodeReservedDBInstanceNotFoundFault "ReservedDBInstanceNotFound"
5932//   The specified reserved DB Instance not found.
5933//
5934// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
5935func (c *RDS) DescribeReservedDBInstances(input *DescribeReservedDBInstancesInput) (*DescribeReservedDBInstancesOutput, error) {
5936	req, out := c.DescribeReservedDBInstancesRequest(input)
5937	return out, req.Send()
5938}
5939
5940// DescribeReservedDBInstancesWithContext is the same as DescribeReservedDBInstances with the addition of
5941// the ability to pass a context and additional request options.
5942//
5943// See DescribeReservedDBInstances for details on how to use this API operation.
5944//
5945// The context must be non-nil and will be used for request cancellation. If
5946// the context is nil a panic will occur. In the future the SDK may create
5947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5948// for more information on using Contexts.
5949func (c *RDS) DescribeReservedDBInstancesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, opts ...request.Option) (*DescribeReservedDBInstancesOutput, error) {
5950	req, out := c.DescribeReservedDBInstancesRequest(input)
5951	req.SetContext(ctx)
5952	req.ApplyOptions(opts...)
5953	return out, req.Send()
5954}
5955
5956// DescribeReservedDBInstancesPages iterates over the pages of a DescribeReservedDBInstances operation,
5957// calling the "fn" function with the response data for each page. To stop
5958// iterating, return false from the fn function.
5959//
5960// See DescribeReservedDBInstances method for more information on how to use this operation.
5961//
5962// Note: This operation can generate multiple requests to a service.
5963//
5964//    // Example iterating over at most 3 pages of a DescribeReservedDBInstances operation.
5965//    pageNum := 0
5966//    err := client.DescribeReservedDBInstancesPages(params,
5967//        func(page *DescribeReservedDBInstancesOutput, lastPage bool) bool {
5968//            pageNum++
5969//            fmt.Println(page)
5970//            return pageNum <= 3
5971//        })
5972//
5973func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool) error {
5974	return c.DescribeReservedDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
5975}
5976
5977// DescribeReservedDBInstancesPagesWithContext same as DescribeReservedDBInstancesPages except
5978// it takes a Context and allows setting request options on the pages.
5979//
5980// The context must be non-nil and will be used for request cancellation. If
5981// the context is nil a panic will occur. In the future the SDK may create
5982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5983// for more information on using Contexts.
5984func (c *RDS) DescribeReservedDBInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool, opts ...request.Option) error {
5985	p := request.Pagination{
5986		NewRequest: func() (*request.Request, error) {
5987			var inCpy *DescribeReservedDBInstancesInput
5988			if input != nil {
5989				tmp := *input
5990				inCpy = &tmp
5991			}
5992			req, _ := c.DescribeReservedDBInstancesRequest(inCpy)
5993			req.SetContext(ctx)
5994			req.ApplyOptions(opts...)
5995			return req, nil
5996		},
5997	}
5998
5999	cont := true
6000	for p.Next() && cont {
6001		cont = fn(p.Page().(*DescribeReservedDBInstancesOutput), !p.HasNextPage())
6002	}
6003	return p.Err()
6004}
6005
6006const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOfferings"
6007
6008// DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the
6009// client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return
6010// value will be populated with the request's response once the request complets
6011// successfuly.
6012//
6013// Use "Send" method on the returned Request to send the API call to the service.
6014// the "output" return value is not valid until after Send returns without error.
6015//
6016// See DescribeReservedDBInstancesOfferings for more information on using the DescribeReservedDBInstancesOfferings
6017// API call, and error handling.
6018//
6019// This method is useful when you want to inject custom logic or configuration
6020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6021//
6022//
6023//    // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method.
6024//    req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params)
6025//
6026//    err := req.Send()
6027//    if err == nil { // resp is now filled
6028//        fmt.Println(resp)
6029//    }
6030//
6031// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
6032func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReservedDBInstancesOfferingsInput) (req *request.Request, output *DescribeReservedDBInstancesOfferingsOutput) {
6033	op := &request.Operation{
6034		Name:       opDescribeReservedDBInstancesOfferings,
6035		HTTPMethod: "POST",
6036		HTTPPath:   "/",
6037		Paginator: &request.Paginator{
6038			InputTokens:     []string{"Marker"},
6039			OutputTokens:    []string{"Marker"},
6040			LimitToken:      "MaxRecords",
6041			TruncationToken: "",
6042		},
6043	}
6044
6045	if input == nil {
6046		input = &DescribeReservedDBInstancesOfferingsInput{}
6047	}
6048
6049	output = &DescribeReservedDBInstancesOfferingsOutput{}
6050	req = c.newRequest(op, input, output)
6051	return
6052}
6053
6054// DescribeReservedDBInstancesOfferings API operation for Amazon Relational Database Service.
6055//
6056// Lists available reserved DB instance offerings.
6057//
6058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6059// with awserr.Error's Code and Message methods to get detailed information about
6060// the error.
6061//
6062// See the AWS API reference guide for Amazon Relational Database Service's
6063// API operation DescribeReservedDBInstancesOfferings for usage and error information.
6064//
6065// Returned Error Codes:
6066//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
6067//   Specified offering does not exist.
6068//
6069// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
6070func (c *RDS) DescribeReservedDBInstancesOfferings(input *DescribeReservedDBInstancesOfferingsInput) (*DescribeReservedDBInstancesOfferingsOutput, error) {
6071	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
6072	return out, req.Send()
6073}
6074
6075// DescribeReservedDBInstancesOfferingsWithContext is the same as DescribeReservedDBInstancesOfferings with the addition of
6076// the ability to pass a context and additional request options.
6077//
6078// See DescribeReservedDBInstancesOfferings for details on how to use this API operation.
6079//
6080// The context must be non-nil and will be used for request cancellation. If
6081// the context is nil a panic will occur. In the future the SDK may create
6082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6083// for more information on using Contexts.
6084func (c *RDS) DescribeReservedDBInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedDBInstancesOfferingsOutput, error) {
6085	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
6086	req.SetContext(ctx)
6087	req.ApplyOptions(opts...)
6088	return out, req.Send()
6089}
6090
6091// DescribeReservedDBInstancesOfferingsPages iterates over the pages of a DescribeReservedDBInstancesOfferings operation,
6092// calling the "fn" function with the response data for each page. To stop
6093// iterating, return false from the fn function.
6094//
6095// See DescribeReservedDBInstancesOfferings method for more information on how to use this operation.
6096//
6097// Note: This operation can generate multiple requests to a service.
6098//
6099//    // Example iterating over at most 3 pages of a DescribeReservedDBInstancesOfferings operation.
6100//    pageNum := 0
6101//    err := client.DescribeReservedDBInstancesOfferingsPages(params,
6102//        func(page *DescribeReservedDBInstancesOfferingsOutput, lastPage bool) bool {
6103//            pageNum++
6104//            fmt.Println(page)
6105//            return pageNum <= 3
6106//        })
6107//
6108func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool) error {
6109	return c.DescribeReservedDBInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
6110}
6111
6112// DescribeReservedDBInstancesOfferingsPagesWithContext same as DescribeReservedDBInstancesOfferingsPages except
6113// it takes a Context and allows setting request options on the pages.
6114//
6115// The context must be non-nil and will be used for request cancellation. If
6116// the context is nil a panic will occur. In the future the SDK may create
6117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6118// for more information on using Contexts.
6119func (c *RDS) DescribeReservedDBInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
6120	p := request.Pagination{
6121		NewRequest: func() (*request.Request, error) {
6122			var inCpy *DescribeReservedDBInstancesOfferingsInput
6123			if input != nil {
6124				tmp := *input
6125				inCpy = &tmp
6126			}
6127			req, _ := c.DescribeReservedDBInstancesOfferingsRequest(inCpy)
6128			req.SetContext(ctx)
6129			req.ApplyOptions(opts...)
6130			return req, nil
6131		},
6132	}
6133
6134	cont := true
6135	for p.Next() && cont {
6136		cont = fn(p.Page().(*DescribeReservedDBInstancesOfferingsOutput), !p.HasNextPage())
6137	}
6138	return p.Err()
6139}
6140
6141const opDescribeSourceRegions = "DescribeSourceRegions"
6142
6143// DescribeSourceRegionsRequest generates a "aws/request.Request" representing the
6144// client's request for the DescribeSourceRegions operation. The "output" return
6145// value will be populated with the request's response once the request complets
6146// successfuly.
6147//
6148// Use "Send" method on the returned Request to send the API call to the service.
6149// the "output" return value is not valid until after Send returns without error.
6150//
6151// See DescribeSourceRegions for more information on using the DescribeSourceRegions
6152// API call, and error handling.
6153//
6154// This method is useful when you want to inject custom logic or configuration
6155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6156//
6157//
6158//    // Example sending a request using the DescribeSourceRegionsRequest method.
6159//    req, resp := client.DescribeSourceRegionsRequest(params)
6160//
6161//    err := req.Send()
6162//    if err == nil { // resp is now filled
6163//        fmt.Println(resp)
6164//    }
6165//
6166// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
6167func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (req *request.Request, output *DescribeSourceRegionsOutput) {
6168	op := &request.Operation{
6169		Name:       opDescribeSourceRegions,
6170		HTTPMethod: "POST",
6171		HTTPPath:   "/",
6172	}
6173
6174	if input == nil {
6175		input = &DescribeSourceRegionsInput{}
6176	}
6177
6178	output = &DescribeSourceRegionsOutput{}
6179	req = c.newRequest(op, input, output)
6180	return
6181}
6182
6183// DescribeSourceRegions API operation for Amazon Relational Database Service.
6184//
6185// Returns a list of the source AWS Regions where the current AWS Region can
6186// create a Read Replica or copy a DB snapshot from. This API action supports
6187// pagination.
6188//
6189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6190// with awserr.Error's Code and Message methods to get detailed information about
6191// the error.
6192//
6193// See the AWS API reference guide for Amazon Relational Database Service's
6194// API operation DescribeSourceRegions for usage and error information.
6195// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
6196func (c *RDS) DescribeSourceRegions(input *DescribeSourceRegionsInput) (*DescribeSourceRegionsOutput, error) {
6197	req, out := c.DescribeSourceRegionsRequest(input)
6198	return out, req.Send()
6199}
6200
6201// DescribeSourceRegionsWithContext is the same as DescribeSourceRegions with the addition of
6202// the ability to pass a context and additional request options.
6203//
6204// See DescribeSourceRegions for details on how to use this API operation.
6205//
6206// The context must be non-nil and will be used for request cancellation. If
6207// the context is nil a panic will occur. In the future the SDK may create
6208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6209// for more information on using Contexts.
6210func (c *RDS) DescribeSourceRegionsWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, opts ...request.Option) (*DescribeSourceRegionsOutput, error) {
6211	req, out := c.DescribeSourceRegionsRequest(input)
6212	req.SetContext(ctx)
6213	req.ApplyOptions(opts...)
6214	return out, req.Send()
6215}
6216
6217const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
6218
6219// DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
6220// client's request for the DescribeValidDBInstanceModifications operation. The "output" return
6221// value will be populated with the request's response once the request complets
6222// successfuly.
6223//
6224// Use "Send" method on the returned Request to send the API call to the service.
6225// the "output" return value is not valid until after Send returns without error.
6226//
6227// See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
6228// API call, and error handling.
6229//
6230// This method is useful when you want to inject custom logic or configuration
6231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6232//
6233//
6234//    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
6235//    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
6236//
6237//    err := req.Send()
6238//    if err == nil { // resp is now filled
6239//        fmt.Println(resp)
6240//    }
6241//
6242// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
6243func (c *RDS) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
6244	op := &request.Operation{
6245		Name:       opDescribeValidDBInstanceModifications,
6246		HTTPMethod: "POST",
6247		HTTPPath:   "/",
6248	}
6249
6250	if input == nil {
6251		input = &DescribeValidDBInstanceModificationsInput{}
6252	}
6253
6254	output = &DescribeValidDBInstanceModificationsOutput{}
6255	req = c.newRequest(op, input, output)
6256	return
6257}
6258
6259// DescribeValidDBInstanceModifications API operation for Amazon Relational Database Service.
6260//
6261// You can call DescribeValidDBInstanceModifications to learn what modifications
6262// you can make to your DB instance. You can use this information when you call
6263// ModifyDBInstance.
6264//
6265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6266// with awserr.Error's Code and Message methods to get detailed information about
6267// the error.
6268//
6269// See the AWS API reference guide for Amazon Relational Database Service's
6270// API operation DescribeValidDBInstanceModifications for usage and error information.
6271//
6272// Returned Error Codes:
6273//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6274//   DBInstanceIdentifier does not refer to an existing DB instance.
6275//
6276//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
6277//   The specified DB instance is not in the available state.
6278//
6279// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
6280func (c *RDS) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
6281	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
6282	return out, req.Send()
6283}
6284
6285// DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
6286// the ability to pass a context and additional request options.
6287//
6288// See DescribeValidDBInstanceModifications for details on how to use this API operation.
6289//
6290// The context must be non-nil and will be used for request cancellation. If
6291// the context is nil a panic will occur. In the future the SDK may create
6292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6293// for more information on using Contexts.
6294func (c *RDS) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
6295	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
6296	req.SetContext(ctx)
6297	req.ApplyOptions(opts...)
6298	return out, req.Send()
6299}
6300
6301const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion"
6302
6303// DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the
6304// client's request for the DownloadDBLogFilePortion operation. The "output" return
6305// value will be populated with the request's response once the request complets
6306// successfuly.
6307//
6308// Use "Send" method on the returned Request to send the API call to the service.
6309// the "output" return value is not valid until after Send returns without error.
6310//
6311// See DownloadDBLogFilePortion for more information on using the DownloadDBLogFilePortion
6312// API call, and error handling.
6313//
6314// This method is useful when you want to inject custom logic or configuration
6315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6316//
6317//
6318//    // Example sending a request using the DownloadDBLogFilePortionRequest method.
6319//    req, resp := client.DownloadDBLogFilePortionRequest(params)
6320//
6321//    err := req.Send()
6322//    if err == nil { // resp is now filled
6323//        fmt.Println(resp)
6324//    }
6325//
6326// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
6327func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInput) (req *request.Request, output *DownloadDBLogFilePortionOutput) {
6328	op := &request.Operation{
6329		Name:       opDownloadDBLogFilePortion,
6330		HTTPMethod: "POST",
6331		HTTPPath:   "/",
6332		Paginator: &request.Paginator{
6333			InputTokens:     []string{"Marker"},
6334			OutputTokens:    []string{"Marker"},
6335			LimitToken:      "NumberOfLines",
6336			TruncationToken: "AdditionalDataPending",
6337		},
6338	}
6339
6340	if input == nil {
6341		input = &DownloadDBLogFilePortionInput{}
6342	}
6343
6344	output = &DownloadDBLogFilePortionOutput{}
6345	req = c.newRequest(op, input, output)
6346	return
6347}
6348
6349// DownloadDBLogFilePortion API operation for Amazon Relational Database Service.
6350//
6351// Downloads all or a portion of the specified log file, up to 1 MB in size.
6352//
6353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6354// with awserr.Error's Code and Message methods to get detailed information about
6355// the error.
6356//
6357// See the AWS API reference guide for Amazon Relational Database Service's
6358// API operation DownloadDBLogFilePortion for usage and error information.
6359//
6360// Returned Error Codes:
6361//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6362//   DBInstanceIdentifier does not refer to an existing DB instance.
6363//
6364//   * ErrCodeDBLogFileNotFoundFault "DBLogFileNotFoundFault"
6365//   LogFileName does not refer to an existing DB log file.
6366//
6367// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
6368func (c *RDS) DownloadDBLogFilePortion(input *DownloadDBLogFilePortionInput) (*DownloadDBLogFilePortionOutput, error) {
6369	req, out := c.DownloadDBLogFilePortionRequest(input)
6370	return out, req.Send()
6371}
6372
6373// DownloadDBLogFilePortionWithContext is the same as DownloadDBLogFilePortion with the addition of
6374// the ability to pass a context and additional request options.
6375//
6376// See DownloadDBLogFilePortion for details on how to use this API operation.
6377//
6378// The context must be non-nil and will be used for request cancellation. If
6379// the context is nil a panic will occur. In the future the SDK may create
6380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6381// for more information on using Contexts.
6382func (c *RDS) DownloadDBLogFilePortionWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, opts ...request.Option) (*DownloadDBLogFilePortionOutput, error) {
6383	req, out := c.DownloadDBLogFilePortionRequest(input)
6384	req.SetContext(ctx)
6385	req.ApplyOptions(opts...)
6386	return out, req.Send()
6387}
6388
6389// DownloadDBLogFilePortionPages iterates over the pages of a DownloadDBLogFilePortion operation,
6390// calling the "fn" function with the response data for each page. To stop
6391// iterating, return false from the fn function.
6392//
6393// See DownloadDBLogFilePortion method for more information on how to use this operation.
6394//
6395// Note: This operation can generate multiple requests to a service.
6396//
6397//    // Example iterating over at most 3 pages of a DownloadDBLogFilePortion operation.
6398//    pageNum := 0
6399//    err := client.DownloadDBLogFilePortionPages(params,
6400//        func(page *DownloadDBLogFilePortionOutput, lastPage bool) bool {
6401//            pageNum++
6402//            fmt.Println(page)
6403//            return pageNum <= 3
6404//        })
6405//
6406func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool) error {
6407	return c.DownloadDBLogFilePortionPagesWithContext(aws.BackgroundContext(), input, fn)
6408}
6409
6410// DownloadDBLogFilePortionPagesWithContext same as DownloadDBLogFilePortionPages except
6411// it takes a Context and allows setting request options on the pages.
6412//
6413// The context must be non-nil and will be used for request cancellation. If
6414// the context is nil a panic will occur. In the future the SDK may create
6415// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6416// for more information on using Contexts.
6417func (c *RDS) DownloadDBLogFilePortionPagesWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool, opts ...request.Option) error {
6418	p := request.Pagination{
6419		NewRequest: func() (*request.Request, error) {
6420			var inCpy *DownloadDBLogFilePortionInput
6421			if input != nil {
6422				tmp := *input
6423				inCpy = &tmp
6424			}
6425			req, _ := c.DownloadDBLogFilePortionRequest(inCpy)
6426			req.SetContext(ctx)
6427			req.ApplyOptions(opts...)
6428			return req, nil
6429		},
6430	}
6431
6432	cont := true
6433	for p.Next() && cont {
6434		cont = fn(p.Page().(*DownloadDBLogFilePortionOutput), !p.HasNextPage())
6435	}
6436	return p.Err()
6437}
6438
6439const opFailoverDBCluster = "FailoverDBCluster"
6440
6441// FailoverDBClusterRequest generates a "aws/request.Request" representing the
6442// client's request for the FailoverDBCluster operation. The "output" return
6443// value will be populated with the request's response once the request complets
6444// successfuly.
6445//
6446// Use "Send" method on the returned Request to send the API call to the service.
6447// the "output" return value is not valid until after Send returns without error.
6448//
6449// See FailoverDBCluster for more information on using the FailoverDBCluster
6450// API call, and error handling.
6451//
6452// This method is useful when you want to inject custom logic or configuration
6453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6454//
6455//
6456//    // Example sending a request using the FailoverDBClusterRequest method.
6457//    req, resp := client.FailoverDBClusterRequest(params)
6458//
6459//    err := req.Send()
6460//    if err == nil { // resp is now filled
6461//        fmt.Println(resp)
6462//    }
6463//
6464// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
6465func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
6466	op := &request.Operation{
6467		Name:       opFailoverDBCluster,
6468		HTTPMethod: "POST",
6469		HTTPPath:   "/",
6470	}
6471
6472	if input == nil {
6473		input = &FailoverDBClusterInput{}
6474	}
6475
6476	output = &FailoverDBClusterOutput{}
6477	req = c.newRequest(op, input, output)
6478	return
6479}
6480
6481// FailoverDBCluster API operation for Amazon Relational Database Service.
6482//
6483// Forces a failover for a DB cluster.
6484//
6485// A failover for a DB cluster promotes one of the Aurora Replicas (read-only
6486// instances) in the DB cluster to be the primary instance (the cluster writer).
6487//
6488// Amazon Aurora will automatically fail over to an Aurora Replica, if one exists,
6489// when the primary instance fails. You can force a failover when you want to
6490// simulate a failure of a primary instance for testing. Because each instance
6491// in a DB cluster has its own endpoint address, you will need to clean up and
6492// re-establish any existing connections that use those endpoint addresses when
6493// the failover is complete.
6494//
6495// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
6496// in the Amazon RDS User Guide.
6497//
6498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6499// with awserr.Error's Code and Message methods to get detailed information about
6500// the error.
6501//
6502// See the AWS API reference guide for Amazon Relational Database Service's
6503// API operation FailoverDBCluster for usage and error information.
6504//
6505// Returned Error Codes:
6506//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6507//   DBClusterIdentifier does not refer to an existing DB cluster.
6508//
6509//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
6510//   The DB cluster is not in a valid state.
6511//
6512//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
6513//   The specified DB instance is not in the available state.
6514//
6515// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
6516func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
6517	req, out := c.FailoverDBClusterRequest(input)
6518	return out, req.Send()
6519}
6520
6521// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
6522// the ability to pass a context and additional request options.
6523//
6524// See FailoverDBCluster for details on how to use this API operation.
6525//
6526// The context must be non-nil and will be used for request cancellation. If
6527// the context is nil a panic will occur. In the future the SDK may create
6528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6529// for more information on using Contexts.
6530func (c *RDS) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
6531	req, out := c.FailoverDBClusterRequest(input)
6532	req.SetContext(ctx)
6533	req.ApplyOptions(opts...)
6534	return out, req.Send()
6535}
6536
6537const opListTagsForResource = "ListTagsForResource"
6538
6539// ListTagsForResourceRequest generates a "aws/request.Request" representing the
6540// client's request for the ListTagsForResource operation. The "output" return
6541// value will be populated with the request's response once the request complets
6542// successfuly.
6543//
6544// Use "Send" method on the returned Request to send the API call to the service.
6545// the "output" return value is not valid until after Send returns without error.
6546//
6547// See ListTagsForResource for more information on using the ListTagsForResource
6548// API call, and error handling.
6549//
6550// This method is useful when you want to inject custom logic or configuration
6551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6552//
6553//
6554//    // Example sending a request using the ListTagsForResourceRequest method.
6555//    req, resp := client.ListTagsForResourceRequest(params)
6556//
6557//    err := req.Send()
6558//    if err == nil { // resp is now filled
6559//        fmt.Println(resp)
6560//    }
6561//
6562// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
6563func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
6564	op := &request.Operation{
6565		Name:       opListTagsForResource,
6566		HTTPMethod: "POST",
6567		HTTPPath:   "/",
6568	}
6569
6570	if input == nil {
6571		input = &ListTagsForResourceInput{}
6572	}
6573
6574	output = &ListTagsForResourceOutput{}
6575	req = c.newRequest(op, input, output)
6576	return
6577}
6578
6579// ListTagsForResource API operation for Amazon Relational Database Service.
6580//
6581// Lists all tags on an Amazon RDS resource.
6582//
6583// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
6584// Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
6585//
6586// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6587// with awserr.Error's Code and Message methods to get detailed information about
6588// the error.
6589//
6590// See the AWS API reference guide for Amazon Relational Database Service's
6591// API operation ListTagsForResource for usage and error information.
6592//
6593// Returned Error Codes:
6594//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6595//   DBInstanceIdentifier does not refer to an existing DB instance.
6596//
6597//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
6598//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
6599//
6600//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6601//   DBClusterIdentifier does not refer to an existing DB cluster.
6602//
6603// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
6604func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
6605	req, out := c.ListTagsForResourceRequest(input)
6606	return out, req.Send()
6607}
6608
6609// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
6610// the ability to pass a context and additional request options.
6611//
6612// See ListTagsForResource for details on how to use this API operation.
6613//
6614// The context must be non-nil and will be used for request cancellation. If
6615// the context is nil a panic will occur. In the future the SDK may create
6616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6617// for more information on using Contexts.
6618func (c *RDS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
6619	req, out := c.ListTagsForResourceRequest(input)
6620	req.SetContext(ctx)
6621	req.ApplyOptions(opts...)
6622	return out, req.Send()
6623}
6624
6625const opModifyDBCluster = "ModifyDBCluster"
6626
6627// ModifyDBClusterRequest generates a "aws/request.Request" representing the
6628// client's request for the ModifyDBCluster operation. The "output" return
6629// value will be populated with the request's response once the request complets
6630// successfuly.
6631//
6632// Use "Send" method on the returned Request to send the API call to the service.
6633// the "output" return value is not valid until after Send returns without error.
6634//
6635// See ModifyDBCluster for more information on using the ModifyDBCluster
6636// API call, and error handling.
6637//
6638// This method is useful when you want to inject custom logic or configuration
6639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6640//
6641//
6642//    // Example sending a request using the ModifyDBClusterRequest method.
6643//    req, resp := client.ModifyDBClusterRequest(params)
6644//
6645//    err := req.Send()
6646//    if err == nil { // resp is now filled
6647//        fmt.Println(resp)
6648//    }
6649//
6650// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
6651func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
6652	op := &request.Operation{
6653		Name:       opModifyDBCluster,
6654		HTTPMethod: "POST",
6655		HTTPPath:   "/",
6656	}
6657
6658	if input == nil {
6659		input = &ModifyDBClusterInput{}
6660	}
6661
6662	output = &ModifyDBClusterOutput{}
6663	req = c.newRequest(op, input, output)
6664	return
6665}
6666
6667// ModifyDBCluster API operation for Amazon Relational Database Service.
6668//
6669// Modify a setting for an Amazon Aurora DB cluster. You can change one or more
6670// database configuration parameters by specifying these parameters and the
6671// new values in the request. For more information on Amazon Aurora, see Aurora
6672// on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
6673// in the Amazon RDS User Guide.
6674//
6675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6676// with awserr.Error's Code and Message methods to get detailed information about
6677// the error.
6678//
6679// See the AWS API reference guide for Amazon Relational Database Service's
6680// API operation ModifyDBCluster for usage and error information.
6681//
6682// Returned Error Codes:
6683//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6684//   DBClusterIdentifier does not refer to an existing DB cluster.
6685//
6686//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
6687//   The DB cluster is not in a valid state.
6688//
6689//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
6690//   Request would result in user exceeding the allowed amount of storage available
6691//   across all DB instances.
6692//
6693//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
6694//   DBSubnetGroupName does not refer to an existing DB subnet group.
6695//
6696//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
6697//   DB subnet group does not cover all Availability Zones after it is created
6698//   because users' change.
6699//
6700//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
6701//   The DB subnet group cannot be deleted because it is in use.
6702//
6703//   * ErrCodeInvalidSubnet "InvalidSubnet"
6704//   The requested subnet is invalid, or multiple subnets were requested that
6705//   are not all in a common VPC.
6706//
6707//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
6708//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
6709//   group.
6710//
6711//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
6712//   The state of the DB security group does not allow deletion.
6713//
6714//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
6715//   The specified DB instance is not in the available state.
6716//
6717//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
6718//   User already has a DB cluster with the given identifier.
6719//
6720// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
6721func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
6722	req, out := c.ModifyDBClusterRequest(input)
6723	return out, req.Send()
6724}
6725
6726// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
6727// the ability to pass a context and additional request options.
6728//
6729// See ModifyDBCluster for details on how to use this API operation.
6730//
6731// The context must be non-nil and will be used for request cancellation. If
6732// the context is nil a panic will occur. In the future the SDK may create
6733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6734// for more information on using Contexts.
6735func (c *RDS) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
6736	req, out := c.ModifyDBClusterRequest(input)
6737	req.SetContext(ctx)
6738	req.ApplyOptions(opts...)
6739	return out, req.Send()
6740}
6741
6742const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
6743
6744// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
6745// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
6746// value will be populated with the request's response once the request complets
6747// successfuly.
6748//
6749// Use "Send" method on the returned Request to send the API call to the service.
6750// the "output" return value is not valid until after Send returns without error.
6751//
6752// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
6753// API call, and error handling.
6754//
6755// This method is useful when you want to inject custom logic or configuration
6756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6757//
6758//
6759//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
6760//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
6761//
6762//    err := req.Send()
6763//    if err == nil { // resp is now filled
6764//        fmt.Println(resp)
6765//    }
6766//
6767// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
6768func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
6769	op := &request.Operation{
6770		Name:       opModifyDBClusterParameterGroup,
6771		HTTPMethod: "POST",
6772		HTTPPath:   "/",
6773	}
6774
6775	if input == nil {
6776		input = &ModifyDBClusterParameterGroupInput{}
6777	}
6778
6779	output = &DBClusterParameterGroupNameMessage{}
6780	req = c.newRequest(op, input, output)
6781	return
6782}
6783
6784// ModifyDBClusterParameterGroup API operation for Amazon Relational Database Service.
6785//
6786// Modifies the parameters of a DB cluster parameter group. To modify more than
6787// one parameter, submit a list of the following: ParameterName, ParameterValue,
6788// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
6789//
6790// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
6791// in the Amazon RDS User Guide.
6792//
6793// Changes to dynamic parameters are applied immediately. Changes to static
6794// parameters require a reboot without failover to the DB cluster associated
6795// with the parameter group before the change can take effect.
6796//
6797// After you create a DB cluster parameter group, you should wait at least 5
6798// minutes before creating your first DB cluster that uses that DB cluster parameter
6799// group as the default parameter group. This allows Amazon RDS to fully complete
6800// the create action before the parameter group is used as the default for a
6801// new DB cluster. This is especially important for parameters that are critical
6802// when creating the default database for a DB cluster, such as the character
6803// set for the default database defined by the character_set_database parameter.
6804// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
6805// or the DescribeDBClusterParameters command to verify that your DB cluster
6806// parameter group has been created or modified.
6807//
6808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6809// with awserr.Error's Code and Message methods to get detailed information about
6810// the error.
6811//
6812// See the AWS API reference guide for Amazon Relational Database Service's
6813// API operation ModifyDBClusterParameterGroup for usage and error information.
6814//
6815// Returned Error Codes:
6816//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
6817//   DBParameterGroupName does not refer to an existing DB parameter group.
6818//
6819//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
6820//   The DB parameter group is in use or is in an invalid state. If you are attempting
6821//   to delete the parameter group, you cannot delete it when the parameter group
6822//   is in this state.
6823//
6824// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
6825func (c *RDS) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
6826	req, out := c.ModifyDBClusterParameterGroupRequest(input)
6827	return out, req.Send()
6828}
6829
6830// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
6831// the ability to pass a context and additional request options.
6832//
6833// See ModifyDBClusterParameterGroup for details on how to use this API operation.
6834//
6835// The context must be non-nil and will be used for request cancellation. If
6836// the context is nil a panic will occur. In the future the SDK may create
6837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6838// for more information on using Contexts.
6839func (c *RDS) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
6840	req, out := c.ModifyDBClusterParameterGroupRequest(input)
6841	req.SetContext(ctx)
6842	req.ApplyOptions(opts...)
6843	return out, req.Send()
6844}
6845
6846const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
6847
6848// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
6849// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
6850// value will be populated with the request's response once the request complets
6851// successfuly.
6852//
6853// Use "Send" method on the returned Request to send the API call to the service.
6854// the "output" return value is not valid until after Send returns without error.
6855//
6856// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
6857// API call, and error handling.
6858//
6859// This method is useful when you want to inject custom logic or configuration
6860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6861//
6862//
6863//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
6864//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
6865//
6866//    err := req.Send()
6867//    if err == nil { // resp is now filled
6868//        fmt.Println(resp)
6869//    }
6870//
6871// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
6872func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
6873	op := &request.Operation{
6874		Name:       opModifyDBClusterSnapshotAttribute,
6875		HTTPMethod: "POST",
6876		HTTPPath:   "/",
6877	}
6878
6879	if input == nil {
6880		input = &ModifyDBClusterSnapshotAttributeInput{}
6881	}
6882
6883	output = &ModifyDBClusterSnapshotAttributeOutput{}
6884	req = c.newRequest(op, input, output)
6885	return
6886}
6887
6888// ModifyDBClusterSnapshotAttribute API operation for Amazon Relational Database Service.
6889//
6890// Adds an attribute and values to, or removes an attribute and values from,
6891// a manual DB cluster snapshot.
6892//
6893// To share a manual DB cluster snapshot with other AWS accounts, specify restore
6894// as the AttributeName and use the ValuesToAdd parameter to add a list of IDs
6895// of the AWS accounts that are authorized to restore the manual DB cluster
6896// snapshot. Use the value all to make the manual DB cluster snapshot public,
6897// which means that it can be copied or restored by all AWS accounts. Do not
6898// add the all value for any manual DB cluster snapshots that contain private
6899// information that you don't want available to all AWS accounts. If a manual
6900// DB cluster snapshot is encrypted, it can be shared, but only by specifying
6901// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't
6902// use all as a value for that parameter in this case.
6903//
6904// To view which AWS accounts have access to copy or restore a manual DB cluster
6905// snapshot, or whether a manual DB cluster snapshot public or private, use
6906// the DescribeDBClusterSnapshotAttributes API action.
6907//
6908// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6909// with awserr.Error's Code and Message methods to get detailed information about
6910// the error.
6911//
6912// See the AWS API reference guide for Amazon Relational Database Service's
6913// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
6914//
6915// Returned Error Codes:
6916//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
6917//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
6918//
6919//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
6920//   The supplied value is not a valid DB cluster snapshot state.
6921//
6922//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
6923//   You have exceeded the maximum number of accounts that you can share a manual
6924//   DB snapshot with.
6925//
6926// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
6927func (c *RDS) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
6928	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
6929	return out, req.Send()
6930}
6931
6932// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
6933// the ability to pass a context and additional request options.
6934//
6935// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
6936//
6937// The context must be non-nil and will be used for request cancellation. If
6938// the context is nil a panic will occur. In the future the SDK may create
6939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6940// for more information on using Contexts.
6941func (c *RDS) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
6942	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
6943	req.SetContext(ctx)
6944	req.ApplyOptions(opts...)
6945	return out, req.Send()
6946}
6947
6948const opModifyDBInstance = "ModifyDBInstance"
6949
6950// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
6951// client's request for the ModifyDBInstance operation. The "output" return
6952// value will be populated with the request's response once the request complets
6953// successfuly.
6954//
6955// Use "Send" method on the returned Request to send the API call to the service.
6956// the "output" return value is not valid until after Send returns without error.
6957//
6958// See ModifyDBInstance for more information on using the ModifyDBInstance
6959// API call, and error handling.
6960//
6961// This method is useful when you want to inject custom logic or configuration
6962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6963//
6964//
6965//    // Example sending a request using the ModifyDBInstanceRequest method.
6966//    req, resp := client.ModifyDBInstanceRequest(params)
6967//
6968//    err := req.Send()
6969//    if err == nil { // resp is now filled
6970//        fmt.Println(resp)
6971//    }
6972//
6973// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
6974func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
6975	op := &request.Operation{
6976		Name:       opModifyDBInstance,
6977		HTTPMethod: "POST",
6978		HTTPPath:   "/",
6979	}
6980
6981	if input == nil {
6982		input = &ModifyDBInstanceInput{}
6983	}
6984
6985	output = &ModifyDBInstanceOutput{}
6986	req = c.newRequest(op, input, output)
6987	return
6988}
6989
6990// ModifyDBInstance API operation for Amazon Relational Database Service.
6991//
6992// Modifies settings for a DB instance. You can change one or more database
6993// configuration parameters by specifying these parameters and the new values
6994// in the request. To learn what modifications you can make to your DB instance,
6995// call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
6996//
6997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6998// with awserr.Error's Code and Message methods to get detailed information about
6999// the error.
7000//
7001// See the AWS API reference guide for Amazon Relational Database Service's
7002// API operation ModifyDBInstance for usage and error information.
7003//
7004// Returned Error Codes:
7005//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
7006//   The specified DB instance is not in the available state.
7007//
7008//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
7009//   The state of the DB security group does not allow deletion.
7010//
7011//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
7012//   User already has a DB instance with the given identifier.
7013//
7014//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
7015//   DBInstanceIdentifier does not refer to an existing DB instance.
7016//
7017//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
7018//   DBSecurityGroupName does not refer to an existing DB security group.
7019//
7020//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
7021//   DBParameterGroupName does not refer to an existing DB parameter group.
7022//
7023//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
7024//   Specified DB instance class is not available in the specified Availability
7025//   Zone.
7026//
7027//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
7028//   Request would result in user exceeding the allowed amount of storage available
7029//   across all DB instances.
7030//
7031//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
7032//   DB subnet group does not cover all Availability Zones after it is created
7033//   because users' change.
7034//
7035//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
7036//   Provisioned IOPS not available in the specified Availability Zone.
7037//
7038//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
7039//   The specified option group could not be found.
7040//
7041//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
7042//   The DB upgrade failed because a resource the DB depends on could not be modified.
7043//
7044//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
7045//   StorageType specified cannot be associated with the DB Instance.
7046//
7047//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
7048//   Specified CIDRIP or EC2 security group is not authorized for the specified
7049//   DB security group.
7050//
7051//   RDS may not also be authorized via IAM to perform necessary actions on your
7052//   behalf.
7053//
7054//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
7055//   CertificateIdentifier does not refer to an existing certificate.
7056//
7057//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
7058//   Domain does not refer to an existing Active Directory Domain.
7059//
7060// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
7061func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
7062	req, out := c.ModifyDBInstanceRequest(input)
7063	return out, req.Send()
7064}
7065
7066// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
7067// the ability to pass a context and additional request options.
7068//
7069// See ModifyDBInstance for details on how to use this API operation.
7070//
7071// The context must be non-nil and will be used for request cancellation. If
7072// the context is nil a panic will occur. In the future the SDK may create
7073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7074// for more information on using Contexts.
7075func (c *RDS) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
7076	req, out := c.ModifyDBInstanceRequest(input)
7077	req.SetContext(ctx)
7078	req.ApplyOptions(opts...)
7079	return out, req.Send()
7080}
7081
7082const opModifyDBParameterGroup = "ModifyDBParameterGroup"
7083
7084// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
7085// client's request for the ModifyDBParameterGroup operation. The "output" return
7086// value will be populated with the request's response once the request complets
7087// successfuly.
7088//
7089// Use "Send" method on the returned Request to send the API call to the service.
7090// the "output" return value is not valid until after Send returns without error.
7091//
7092// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
7093// API call, and error handling.
7094//
7095// This method is useful when you want to inject custom logic or configuration
7096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7097//
7098//
7099//    // Example sending a request using the ModifyDBParameterGroupRequest method.
7100//    req, resp := client.ModifyDBParameterGroupRequest(params)
7101//
7102//    err := req.Send()
7103//    if err == nil { // resp is now filled
7104//        fmt.Println(resp)
7105//    }
7106//
7107// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
7108func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
7109	op := &request.Operation{
7110		Name:       opModifyDBParameterGroup,
7111		HTTPMethod: "POST",
7112		HTTPPath:   "/",
7113	}
7114
7115	if input == nil {
7116		input = &ModifyDBParameterGroupInput{}
7117	}
7118
7119	output = &DBParameterGroupNameMessage{}
7120	req = c.newRequest(op, input, output)
7121	return
7122}
7123
7124// ModifyDBParameterGroup API operation for Amazon Relational Database Service.
7125//
7126// Modifies the parameters of a DB parameter group. To modify more than one
7127// parameter, submit a list of the following: ParameterName, ParameterValue,
7128// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
7129//
7130// Changes to dynamic parameters are applied immediately. Changes to static
7131// parameters require a reboot without failover to the DB instance associated
7132// with the parameter group before the change can take effect.
7133//
7134// After you modify a DB parameter group, you should wait at least 5 minutes
7135// before creating your first DB instance that uses that DB parameter group
7136// as the default parameter group. This allows Amazon RDS to fully complete
7137// the modify action before the parameter group is used as the default for a
7138// new DB instance. This is especially important for parameters that are critical
7139// when creating the default database for a DB instance, such as the character
7140// set for the default database defined by the character_set_database parameter.
7141// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
7142// or the DescribeDBParameters command to verify that your DB parameter group
7143// has been created or modified.
7144//
7145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7146// with awserr.Error's Code and Message methods to get detailed information about
7147// the error.
7148//
7149// See the AWS API reference guide for Amazon Relational Database Service's
7150// API operation ModifyDBParameterGroup for usage and error information.
7151//
7152// Returned Error Codes:
7153//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
7154//   DBParameterGroupName does not refer to an existing DB parameter group.
7155//
7156//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
7157//   The DB parameter group is in use or is in an invalid state. If you are attempting
7158//   to delete the parameter group, you cannot delete it when the parameter group
7159//   is in this state.
7160//
7161// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
7162func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
7163	req, out := c.ModifyDBParameterGroupRequest(input)
7164	return out, req.Send()
7165}
7166
7167// ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
7168// the ability to pass a context and additional request options.
7169//
7170// See ModifyDBParameterGroup for details on how to use this API operation.
7171//
7172// The context must be non-nil and will be used for request cancellation. If
7173// the context is nil a panic will occur. In the future the SDK may create
7174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7175// for more information on using Contexts.
7176func (c *RDS) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
7177	req, out := c.ModifyDBParameterGroupRequest(input)
7178	req.SetContext(ctx)
7179	req.ApplyOptions(opts...)
7180	return out, req.Send()
7181}
7182
7183const opModifyDBSnapshot = "ModifyDBSnapshot"
7184
7185// ModifyDBSnapshotRequest generates a "aws/request.Request" representing the
7186// client's request for the ModifyDBSnapshot operation. The "output" return
7187// value will be populated with the request's response once the request complets
7188// successfuly.
7189//
7190// Use "Send" method on the returned Request to send the API call to the service.
7191// the "output" return value is not valid until after Send returns without error.
7192//
7193// See ModifyDBSnapshot for more information on using the ModifyDBSnapshot
7194// API call, and error handling.
7195//
7196// This method is useful when you want to inject custom logic or configuration
7197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7198//
7199//
7200//    // Example sending a request using the ModifyDBSnapshotRequest method.
7201//    req, resp := client.ModifyDBSnapshotRequest(params)
7202//
7203//    err := req.Send()
7204//    if err == nil { // resp is now filled
7205//        fmt.Println(resp)
7206//    }
7207//
7208// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
7209func (c *RDS) ModifyDBSnapshotRequest(input *ModifyDBSnapshotInput) (req *request.Request, output *ModifyDBSnapshotOutput) {
7210	op := &request.Operation{
7211		Name:       opModifyDBSnapshot,
7212		HTTPMethod: "POST",
7213		HTTPPath:   "/",
7214	}
7215
7216	if input == nil {
7217		input = &ModifyDBSnapshotInput{}
7218	}
7219
7220	output = &ModifyDBSnapshotOutput{}
7221	req = c.newRequest(op, input, output)
7222	return
7223}
7224
7225// ModifyDBSnapshot API operation for Amazon Relational Database Service.
7226//
7227// Updates a manual DB snapshot, which can be encrypted or not encrypted, with
7228// a new engine version.
7229//
7230// Amazon RDS supports upgrading DB snapshots for MySQL and Oracle.
7231//
7232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7233// with awserr.Error's Code and Message methods to get detailed information about
7234// the error.
7235//
7236// See the AWS API reference guide for Amazon Relational Database Service's
7237// API operation ModifyDBSnapshot for usage and error information.
7238//
7239// Returned Error Codes:
7240//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
7241//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
7242//
7243// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
7244func (c *RDS) ModifyDBSnapshot(input *ModifyDBSnapshotInput) (*ModifyDBSnapshotOutput, error) {
7245	req, out := c.ModifyDBSnapshotRequest(input)
7246	return out, req.Send()
7247}
7248
7249// ModifyDBSnapshotWithContext is the same as ModifyDBSnapshot with the addition of
7250// the ability to pass a context and additional request options.
7251//
7252// See ModifyDBSnapshot for details on how to use this API operation.
7253//
7254// The context must be non-nil and will be used for request cancellation. If
7255// the context is nil a panic will occur. In the future the SDK may create
7256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7257// for more information on using Contexts.
7258func (c *RDS) ModifyDBSnapshotWithContext(ctx aws.Context, input *ModifyDBSnapshotInput, opts ...request.Option) (*ModifyDBSnapshotOutput, error) {
7259	req, out := c.ModifyDBSnapshotRequest(input)
7260	req.SetContext(ctx)
7261	req.ApplyOptions(opts...)
7262	return out, req.Send()
7263}
7264
7265const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute"
7266
7267// ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the
7268// client's request for the ModifyDBSnapshotAttribute operation. The "output" return
7269// value will be populated with the request's response once the request complets
7270// successfuly.
7271//
7272// Use "Send" method on the returned Request to send the API call to the service.
7273// the "output" return value is not valid until after Send returns without error.
7274//
7275// See ModifyDBSnapshotAttribute for more information on using the ModifyDBSnapshotAttribute
7276// API call, and error handling.
7277//
7278// This method is useful when you want to inject custom logic or configuration
7279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7280//
7281//
7282//    // Example sending a request using the ModifyDBSnapshotAttributeRequest method.
7283//    req, resp := client.ModifyDBSnapshotAttributeRequest(params)
7284//
7285//    err := req.Send()
7286//    if err == nil { // resp is now filled
7287//        fmt.Println(resp)
7288//    }
7289//
7290// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
7291func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeInput) (req *request.Request, output *ModifyDBSnapshotAttributeOutput) {
7292	op := &request.Operation{
7293		Name:       opModifyDBSnapshotAttribute,
7294		HTTPMethod: "POST",
7295		HTTPPath:   "/",
7296	}
7297
7298	if input == nil {
7299		input = &ModifyDBSnapshotAttributeInput{}
7300	}
7301
7302	output = &ModifyDBSnapshotAttributeOutput{}
7303	req = c.newRequest(op, input, output)
7304	return
7305}
7306
7307// ModifyDBSnapshotAttribute API operation for Amazon Relational Database Service.
7308//
7309// Adds an attribute and values to, or removes an attribute and values from,
7310// a manual DB snapshot.
7311//
7312// To share a manual DB snapshot with other AWS accounts, specify restore as
7313// the AttributeName and use the ValuesToAdd parameter to add a list of IDs
7314// of the AWS accounts that are authorized to restore the manual DB snapshot.
7315// Uses the value all to make the manual DB snapshot public, which means it
7316// can be copied or restored by all AWS accounts. Do not add the all value for
7317// any manual DB snapshots that contain private information that you don't want
7318// available to all AWS accounts. If the manual DB snapshot is encrypted, it
7319// can be shared, but only by specifying a list of authorized AWS account IDs
7320// for the ValuesToAdd parameter. You can't use all as a value for that parameter
7321// in this case.
7322//
7323// To view which AWS accounts have access to copy or restore a manual DB snapshot,
7324// or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes
7325// API action.
7326//
7327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7328// with awserr.Error's Code and Message methods to get detailed information about
7329// the error.
7330//
7331// See the AWS API reference guide for Amazon Relational Database Service's
7332// API operation ModifyDBSnapshotAttribute for usage and error information.
7333//
7334// Returned Error Codes:
7335//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
7336//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
7337//
7338//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
7339//   The state of the DB snapshot does not allow deletion.
7340//
7341//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
7342//   You have exceeded the maximum number of accounts that you can share a manual
7343//   DB snapshot with.
7344//
7345// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
7346func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) (*ModifyDBSnapshotAttributeOutput, error) {
7347	req, out := c.ModifyDBSnapshotAttributeRequest(input)
7348	return out, req.Send()
7349}
7350
7351// ModifyDBSnapshotAttributeWithContext is the same as ModifyDBSnapshotAttribute with the addition of
7352// the ability to pass a context and additional request options.
7353//
7354// See ModifyDBSnapshotAttribute for details on how to use this API operation.
7355//
7356// The context must be non-nil and will be used for request cancellation. If
7357// the context is nil a panic will occur. In the future the SDK may create
7358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7359// for more information on using Contexts.
7360func (c *RDS) ModifyDBSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBSnapshotAttributeInput, opts ...request.Option) (*ModifyDBSnapshotAttributeOutput, error) {
7361	req, out := c.ModifyDBSnapshotAttributeRequest(input)
7362	req.SetContext(ctx)
7363	req.ApplyOptions(opts...)
7364	return out, req.Send()
7365}
7366
7367const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
7368
7369// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
7370// client's request for the ModifyDBSubnetGroup operation. The "output" return
7371// value will be populated with the request's response once the request complets
7372// successfuly.
7373//
7374// Use "Send" method on the returned Request to send the API call to the service.
7375// the "output" return value is not valid until after Send returns without error.
7376//
7377// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
7378// API call, and error handling.
7379//
7380// This method is useful when you want to inject custom logic or configuration
7381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7382//
7383//
7384//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
7385//    req, resp := client.ModifyDBSubnetGroupRequest(params)
7386//
7387//    err := req.Send()
7388//    if err == nil { // resp is now filled
7389//        fmt.Println(resp)
7390//    }
7391//
7392// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
7393func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
7394	op := &request.Operation{
7395		Name:       opModifyDBSubnetGroup,
7396		HTTPMethod: "POST",
7397		HTTPPath:   "/",
7398	}
7399
7400	if input == nil {
7401		input = &ModifyDBSubnetGroupInput{}
7402	}
7403
7404	output = &ModifyDBSubnetGroupOutput{}
7405	req = c.newRequest(op, input, output)
7406	return
7407}
7408
7409// ModifyDBSubnetGroup API operation for Amazon Relational Database Service.
7410//
7411// Modifies an existing DB subnet group. DB subnet groups must contain at least
7412// one subnet in at least two AZs in the AWS Region.
7413//
7414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7415// with awserr.Error's Code and Message methods to get detailed information about
7416// the error.
7417//
7418// See the AWS API reference guide for Amazon Relational Database Service's
7419// API operation ModifyDBSubnetGroup for usage and error information.
7420//
7421// Returned Error Codes:
7422//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
7423//   DBSubnetGroupName does not refer to an existing DB subnet group.
7424//
7425//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
7426//   Request would result in user exceeding the allowed number of subnets in a
7427//   DB subnet groups.
7428//
7429//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
7430//   The DB subnet is already in use in the Availability Zone.
7431//
7432//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
7433//   Subnets in the DB subnet group should cover at least two Availability Zones
7434//   unless there is only one Availability Zone.
7435//
7436//   * ErrCodeInvalidSubnet "InvalidSubnet"
7437//   The requested subnet is invalid, or multiple subnets were requested that
7438//   are not all in a common VPC.
7439//
7440// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
7441func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
7442	req, out := c.ModifyDBSubnetGroupRequest(input)
7443	return out, req.Send()
7444}
7445
7446// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
7447// the ability to pass a context and additional request options.
7448//
7449// See ModifyDBSubnetGroup for details on how to use this API operation.
7450//
7451// The context must be non-nil and will be used for request cancellation. If
7452// the context is nil a panic will occur. In the future the SDK may create
7453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7454// for more information on using Contexts.
7455func (c *RDS) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
7456	req, out := c.ModifyDBSubnetGroupRequest(input)
7457	req.SetContext(ctx)
7458	req.ApplyOptions(opts...)
7459	return out, req.Send()
7460}
7461
7462const opModifyEventSubscription = "ModifyEventSubscription"
7463
7464// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
7465// client's request for the ModifyEventSubscription operation. The "output" return
7466// value will be populated with the request's response once the request complets
7467// successfuly.
7468//
7469// Use "Send" method on the returned Request to send the API call to the service.
7470// the "output" return value is not valid until after Send returns without error.
7471//
7472// See ModifyEventSubscription for more information on using the ModifyEventSubscription
7473// API call, and error handling.
7474//
7475// This method is useful when you want to inject custom logic or configuration
7476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7477//
7478//
7479//    // Example sending a request using the ModifyEventSubscriptionRequest method.
7480//    req, resp := client.ModifyEventSubscriptionRequest(params)
7481//
7482//    err := req.Send()
7483//    if err == nil { // resp is now filled
7484//        fmt.Println(resp)
7485//    }
7486//
7487// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
7488func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
7489	op := &request.Operation{
7490		Name:       opModifyEventSubscription,
7491		HTTPMethod: "POST",
7492		HTTPPath:   "/",
7493	}
7494
7495	if input == nil {
7496		input = &ModifyEventSubscriptionInput{}
7497	}
7498
7499	output = &ModifyEventSubscriptionOutput{}
7500	req = c.newRequest(op, input, output)
7501	return
7502}
7503
7504// ModifyEventSubscription API operation for Amazon Relational Database Service.
7505//
7506// Modifies an existing RDS event notification subscription. Note that you can't
7507// modify the source identifiers using this call; to change source identifiers
7508// for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
7509// calls.
7510//
7511// You can see a list of the event categories for a given SourceType in the
7512// Events (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
7513// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
7514// action.
7515//
7516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7517// with awserr.Error's Code and Message methods to get detailed information about
7518// the error.
7519//
7520// See the AWS API reference guide for Amazon Relational Database Service's
7521// API operation ModifyEventSubscription for usage and error information.
7522//
7523// Returned Error Codes:
7524//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
7525//   You have reached the maximum number of event subscriptions.
7526//
7527//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
7528//   The subscription name does not exist.
7529//
7530//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
7531//   SNS has responded that there is a problem with the SND topic specified.
7532//
7533//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
7534//   You do not have permission to publish to the SNS topic ARN.
7535//
7536//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
7537//   The SNS topic ARN does not exist.
7538//
7539//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
7540//   The supplied category does not exist.
7541//
7542// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
7543func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
7544	req, out := c.ModifyEventSubscriptionRequest(input)
7545	return out, req.Send()
7546}
7547
7548// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
7549// the ability to pass a context and additional request options.
7550//
7551// See ModifyEventSubscription for details on how to use this API operation.
7552//
7553// The context must be non-nil and will be used for request cancellation. If
7554// the context is nil a panic will occur. In the future the SDK may create
7555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7556// for more information on using Contexts.
7557func (c *RDS) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
7558	req, out := c.ModifyEventSubscriptionRequest(input)
7559	req.SetContext(ctx)
7560	req.ApplyOptions(opts...)
7561	return out, req.Send()
7562}
7563
7564const opModifyOptionGroup = "ModifyOptionGroup"
7565
7566// ModifyOptionGroupRequest generates a "aws/request.Request" representing the
7567// client's request for the ModifyOptionGroup operation. The "output" return
7568// value will be populated with the request's response once the request complets
7569// successfuly.
7570//
7571// Use "Send" method on the returned Request to send the API call to the service.
7572// the "output" return value is not valid until after Send returns without error.
7573//
7574// See ModifyOptionGroup for more information on using the ModifyOptionGroup
7575// API call, and error handling.
7576//
7577// This method is useful when you want to inject custom logic or configuration
7578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7579//
7580//
7581//    // Example sending a request using the ModifyOptionGroupRequest method.
7582//    req, resp := client.ModifyOptionGroupRequest(params)
7583//
7584//    err := req.Send()
7585//    if err == nil { // resp is now filled
7586//        fmt.Println(resp)
7587//    }
7588//
7589// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
7590func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *request.Request, output *ModifyOptionGroupOutput) {
7591	op := &request.Operation{
7592		Name:       opModifyOptionGroup,
7593		HTTPMethod: "POST",
7594		HTTPPath:   "/",
7595	}
7596
7597	if input == nil {
7598		input = &ModifyOptionGroupInput{}
7599	}
7600
7601	output = &ModifyOptionGroupOutput{}
7602	req = c.newRequest(op, input, output)
7603	return
7604}
7605
7606// ModifyOptionGroup API operation for Amazon Relational Database Service.
7607//
7608// Modifies an existing option group.
7609//
7610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7611// with awserr.Error's Code and Message methods to get detailed information about
7612// the error.
7613//
7614// See the AWS API reference guide for Amazon Relational Database Service's
7615// API operation ModifyOptionGroup for usage and error information.
7616//
7617// Returned Error Codes:
7618//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
7619//   The option group is not in the available state.
7620//
7621//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
7622//   The specified option group could not be found.
7623//
7624// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
7625func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGroupOutput, error) {
7626	req, out := c.ModifyOptionGroupRequest(input)
7627	return out, req.Send()
7628}
7629
7630// ModifyOptionGroupWithContext is the same as ModifyOptionGroup with the addition of
7631// the ability to pass a context and additional request options.
7632//
7633// See ModifyOptionGroup for details on how to use this API operation.
7634//
7635// The context must be non-nil and will be used for request cancellation. If
7636// the context is nil a panic will occur. In the future the SDK may create
7637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7638// for more information on using Contexts.
7639func (c *RDS) ModifyOptionGroupWithContext(ctx aws.Context, input *ModifyOptionGroupInput, opts ...request.Option) (*ModifyOptionGroupOutput, error) {
7640	req, out := c.ModifyOptionGroupRequest(input)
7641	req.SetContext(ctx)
7642	req.ApplyOptions(opts...)
7643	return out, req.Send()
7644}
7645
7646const opPromoteReadReplica = "PromoteReadReplica"
7647
7648// PromoteReadReplicaRequest generates a "aws/request.Request" representing the
7649// client's request for the PromoteReadReplica operation. The "output" return
7650// value will be populated with the request's response once the request complets
7651// successfuly.
7652//
7653// Use "Send" method on the returned Request to send the API call to the service.
7654// the "output" return value is not valid until after Send returns without error.
7655//
7656// See PromoteReadReplica for more information on using the PromoteReadReplica
7657// API call, and error handling.
7658//
7659// This method is useful when you want to inject custom logic or configuration
7660// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7661//
7662//
7663//    // Example sending a request using the PromoteReadReplicaRequest method.
7664//    req, resp := client.PromoteReadReplicaRequest(params)
7665//
7666//    err := req.Send()
7667//    if err == nil { // resp is now filled
7668//        fmt.Println(resp)
7669//    }
7670//
7671// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
7672func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *request.Request, output *PromoteReadReplicaOutput) {
7673	op := &request.Operation{
7674		Name:       opPromoteReadReplica,
7675		HTTPMethod: "POST",
7676		HTTPPath:   "/",
7677	}
7678
7679	if input == nil {
7680		input = &PromoteReadReplicaInput{}
7681	}
7682
7683	output = &PromoteReadReplicaOutput{}
7684	req = c.newRequest(op, input, output)
7685	return
7686}
7687
7688// PromoteReadReplica API operation for Amazon Relational Database Service.
7689//
7690// Promotes a Read Replica DB instance to a standalone DB instance.
7691//
7692// We recommend that you enable automated backups on your Read Replica before
7693// promoting the Read Replica. This ensures that no backup is taken during the
7694// promotion process. Once the instance is promoted to a primary instance, backups
7695// are taken based on your backup settings.
7696//
7697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7698// with awserr.Error's Code and Message methods to get detailed information about
7699// the error.
7700//
7701// See the AWS API reference guide for Amazon Relational Database Service's
7702// API operation PromoteReadReplica for usage and error information.
7703//
7704// Returned Error Codes:
7705//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
7706//   The specified DB instance is not in the available state.
7707//
7708//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
7709//   DBInstanceIdentifier does not refer to an existing DB instance.
7710//
7711// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
7712func (c *RDS) PromoteReadReplica(input *PromoteReadReplicaInput) (*PromoteReadReplicaOutput, error) {
7713	req, out := c.PromoteReadReplicaRequest(input)
7714	return out, req.Send()
7715}
7716
7717// PromoteReadReplicaWithContext is the same as PromoteReadReplica with the addition of
7718// the ability to pass a context and additional request options.
7719//
7720// See PromoteReadReplica for details on how to use this API operation.
7721//
7722// The context must be non-nil and will be used for request cancellation. If
7723// the context is nil a panic will occur. In the future the SDK may create
7724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7725// for more information on using Contexts.
7726func (c *RDS) PromoteReadReplicaWithContext(ctx aws.Context, input *PromoteReadReplicaInput, opts ...request.Option) (*PromoteReadReplicaOutput, error) {
7727	req, out := c.PromoteReadReplicaRequest(input)
7728	req.SetContext(ctx)
7729	req.ApplyOptions(opts...)
7730	return out, req.Send()
7731}
7732
7733const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
7734
7735// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
7736// client's request for the PromoteReadReplicaDBCluster operation. The "output" return
7737// value will be populated with the request's response once the request complets
7738// successfuly.
7739//
7740// Use "Send" method on the returned Request to send the API call to the service.
7741// the "output" return value is not valid until after Send returns without error.
7742//
7743// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
7744// API call, and error handling.
7745//
7746// This method is useful when you want to inject custom logic or configuration
7747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7748//
7749//
7750//    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
7751//    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
7752//
7753//    err := req.Send()
7754//    if err == nil { // resp is now filled
7755//        fmt.Println(resp)
7756//    }
7757//
7758// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
7759func (c *RDS) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
7760	op := &request.Operation{
7761		Name:       opPromoteReadReplicaDBCluster,
7762		HTTPMethod: "POST",
7763		HTTPPath:   "/",
7764	}
7765
7766	if input == nil {
7767		input = &PromoteReadReplicaDBClusterInput{}
7768	}
7769
7770	output = &PromoteReadReplicaDBClusterOutput{}
7771	req = c.newRequest(op, input, output)
7772	return
7773}
7774
7775// PromoteReadReplicaDBCluster API operation for Amazon Relational Database Service.
7776//
7777// Promotes a Read Replica DB cluster to a standalone DB cluster.
7778//
7779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7780// with awserr.Error's Code and Message methods to get detailed information about
7781// the error.
7782//
7783// See the AWS API reference guide for Amazon Relational Database Service's
7784// API operation PromoteReadReplicaDBCluster for usage and error information.
7785//
7786// Returned Error Codes:
7787//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
7788//   DBClusterIdentifier does not refer to an existing DB cluster.
7789//
7790//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
7791//   The DB cluster is not in a valid state.
7792//
7793// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
7794func (c *RDS) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
7795	req, out := c.PromoteReadReplicaDBClusterRequest(input)
7796	return out, req.Send()
7797}
7798
7799// PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
7800// the ability to pass a context and additional request options.
7801//
7802// See PromoteReadReplicaDBCluster for details on how to use this API operation.
7803//
7804// The context must be non-nil and will be used for request cancellation. If
7805// the context is nil a panic will occur. In the future the SDK may create
7806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7807// for more information on using Contexts.
7808func (c *RDS) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
7809	req, out := c.PromoteReadReplicaDBClusterRequest(input)
7810	req.SetContext(ctx)
7811	req.ApplyOptions(opts...)
7812	return out, req.Send()
7813}
7814
7815const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOffering"
7816
7817// PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the
7818// client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return
7819// value will be populated with the request's response once the request complets
7820// successfuly.
7821//
7822// Use "Send" method on the returned Request to send the API call to the service.
7823// the "output" return value is not valid until after Send returns without error.
7824//
7825// See PurchaseReservedDBInstancesOffering for more information on using the PurchaseReservedDBInstancesOffering
7826// API call, and error handling.
7827//
7828// This method is useful when you want to inject custom logic or configuration
7829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7830//
7831//
7832//    // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method.
7833//    req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params)
7834//
7835//    err := req.Send()
7836//    if err == nil { // resp is now filled
7837//        fmt.Println(resp)
7838//    }
7839//
7840// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
7841func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReservedDBInstancesOfferingInput) (req *request.Request, output *PurchaseReservedDBInstancesOfferingOutput) {
7842	op := &request.Operation{
7843		Name:       opPurchaseReservedDBInstancesOffering,
7844		HTTPMethod: "POST",
7845		HTTPPath:   "/",
7846	}
7847
7848	if input == nil {
7849		input = &PurchaseReservedDBInstancesOfferingInput{}
7850	}
7851
7852	output = &PurchaseReservedDBInstancesOfferingOutput{}
7853	req = c.newRequest(op, input, output)
7854	return
7855}
7856
7857// PurchaseReservedDBInstancesOffering API operation for Amazon Relational Database Service.
7858//
7859// Purchases a reserved DB instance offering.
7860//
7861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7862// with awserr.Error's Code and Message methods to get detailed information about
7863// the error.
7864//
7865// See the AWS API reference guide for Amazon Relational Database Service's
7866// API operation PurchaseReservedDBInstancesOffering for usage and error information.
7867//
7868// Returned Error Codes:
7869//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
7870//   Specified offering does not exist.
7871//
7872//   * ErrCodeReservedDBInstanceAlreadyExistsFault "ReservedDBInstanceAlreadyExists"
7873//   User already has a reservation with the given identifier.
7874//
7875//   * ErrCodeReservedDBInstanceQuotaExceededFault "ReservedDBInstanceQuotaExceeded"
7876//   Request would exceed the user's DB Instance quota.
7877//
7878// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
7879func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInstancesOfferingInput) (*PurchaseReservedDBInstancesOfferingOutput, error) {
7880	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
7881	return out, req.Send()
7882}
7883
7884// PurchaseReservedDBInstancesOfferingWithContext is the same as PurchaseReservedDBInstancesOffering with the addition of
7885// the ability to pass a context and additional request options.
7886//
7887// See PurchaseReservedDBInstancesOffering for details on how to use this API operation.
7888//
7889// The context must be non-nil and will be used for request cancellation. If
7890// the context is nil a panic will occur. In the future the SDK may create
7891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7892// for more information on using Contexts.
7893func (c *RDS) PurchaseReservedDBInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedDBInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedDBInstancesOfferingOutput, error) {
7894	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
7895	req.SetContext(ctx)
7896	req.ApplyOptions(opts...)
7897	return out, req.Send()
7898}
7899
7900const opRebootDBInstance = "RebootDBInstance"
7901
7902// RebootDBInstanceRequest generates a "aws/request.Request" representing the
7903// client's request for the RebootDBInstance operation. The "output" return
7904// value will be populated with the request's response once the request complets
7905// successfuly.
7906//
7907// Use "Send" method on the returned Request to send the API call to the service.
7908// the "output" return value is not valid until after Send returns without error.
7909//
7910// See RebootDBInstance for more information on using the RebootDBInstance
7911// API call, and error handling.
7912//
7913// This method is useful when you want to inject custom logic or configuration
7914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7915//
7916//
7917//    // Example sending a request using the RebootDBInstanceRequest method.
7918//    req, resp := client.RebootDBInstanceRequest(params)
7919//
7920//    err := req.Send()
7921//    if err == nil { // resp is now filled
7922//        fmt.Println(resp)
7923//    }
7924//
7925// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
7926func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
7927	op := &request.Operation{
7928		Name:       opRebootDBInstance,
7929		HTTPMethod: "POST",
7930		HTTPPath:   "/",
7931	}
7932
7933	if input == nil {
7934		input = &RebootDBInstanceInput{}
7935	}
7936
7937	output = &RebootDBInstanceOutput{}
7938	req = c.newRequest(op, input, output)
7939	return
7940}
7941
7942// RebootDBInstance API operation for Amazon Relational Database Service.
7943//
7944// You might need to reboot your DB instance, usually for maintenance reasons.
7945// For example, if you make certain modifications, or if you change the DB parameter
7946// group associated with the DB instance, you must reboot the instance for the
7947// changes to take effect.
7948//
7949// Rebooting a DB instance restarts the database engine service. Rebooting a
7950// DB instance results in a momentary outage, during which the DB instance status
7951// is set to rebooting.
7952//
7953// For more information about rebooting, see Rebooting a DB Instance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html).
7954//
7955// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7956// with awserr.Error's Code and Message methods to get detailed information about
7957// the error.
7958//
7959// See the AWS API reference guide for Amazon Relational Database Service's
7960// API operation RebootDBInstance for usage and error information.
7961//
7962// Returned Error Codes:
7963//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
7964//   The specified DB instance is not in the available state.
7965//
7966//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
7967//   DBInstanceIdentifier does not refer to an existing DB instance.
7968//
7969// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
7970func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
7971	req, out := c.RebootDBInstanceRequest(input)
7972	return out, req.Send()
7973}
7974
7975// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
7976// the ability to pass a context and additional request options.
7977//
7978// See RebootDBInstance for details on how to use this API operation.
7979//
7980// The context must be non-nil and will be used for request cancellation. If
7981// the context is nil a panic will occur. In the future the SDK may create
7982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7983// for more information on using Contexts.
7984func (c *RDS) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
7985	req, out := c.RebootDBInstanceRequest(input)
7986	req.SetContext(ctx)
7987	req.ApplyOptions(opts...)
7988	return out, req.Send()
7989}
7990
7991const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
7992
7993// RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
7994// client's request for the RemoveRoleFromDBCluster operation. The "output" return
7995// value will be populated with the request's response once the request complets
7996// successfuly.
7997//
7998// Use "Send" method on the returned Request to send the API call to the service.
7999// the "output" return value is not valid until after Send returns without error.
8000//
8001// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
8002// API call, and error handling.
8003//
8004// This method is useful when you want to inject custom logic or configuration
8005// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8006//
8007//
8008//    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
8009//    req, resp := client.RemoveRoleFromDBClusterRequest(params)
8010//
8011//    err := req.Send()
8012//    if err == nil { // resp is now filled
8013//        fmt.Println(resp)
8014//    }
8015//
8016// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
8017func (c *RDS) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
8018	op := &request.Operation{
8019		Name:       opRemoveRoleFromDBCluster,
8020		HTTPMethod: "POST",
8021		HTTPPath:   "/",
8022	}
8023
8024	if input == nil {
8025		input = &RemoveRoleFromDBClusterInput{}
8026	}
8027
8028	output = &RemoveRoleFromDBClusterOutput{}
8029	req = c.newRequest(op, input, output)
8030	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
8031	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
8032	return
8033}
8034
8035// RemoveRoleFromDBCluster API operation for Amazon Relational Database Service.
8036//
8037// Disassociates an Identity and Access Management (IAM) role from an Aurora
8038// DB cluster. For more information, see Authorizing Amazon Aurora to Access
8039// Other AWS Services On Your Behalf (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Authorizing.AWSServices.html).
8040//
8041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8042// with awserr.Error's Code and Message methods to get detailed information about
8043// the error.
8044//
8045// See the AWS API reference guide for Amazon Relational Database Service's
8046// API operation RemoveRoleFromDBCluster for usage and error information.
8047//
8048// Returned Error Codes:
8049//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8050//   DBClusterIdentifier does not refer to an existing DB cluster.
8051//
8052//   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
8053//   The specified IAM role Amazon Resource Name (ARN) is not associated with
8054//   the specified DB cluster.
8055//
8056//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
8057//   The DB cluster is not in a valid state.
8058//
8059// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
8060func (c *RDS) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
8061	req, out := c.RemoveRoleFromDBClusterRequest(input)
8062	return out, req.Send()
8063}
8064
8065// RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
8066// the ability to pass a context and additional request options.
8067//
8068// See RemoveRoleFromDBCluster for details on how to use this API operation.
8069//
8070// The context must be non-nil and will be used for request cancellation. If
8071// the context is nil a panic will occur. In the future the SDK may create
8072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8073// for more information on using Contexts.
8074func (c *RDS) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
8075	req, out := c.RemoveRoleFromDBClusterRequest(input)
8076	req.SetContext(ctx)
8077	req.ApplyOptions(opts...)
8078	return out, req.Send()
8079}
8080
8081const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
8082
8083// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
8084// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
8085// value will be populated with the request's response once the request complets
8086// successfuly.
8087//
8088// Use "Send" method on the returned Request to send the API call to the service.
8089// the "output" return value is not valid until after Send returns without error.
8090//
8091// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
8092// API call, and error handling.
8093//
8094// This method is useful when you want to inject custom logic or configuration
8095// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8096//
8097//
8098//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
8099//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
8100//
8101//    err := req.Send()
8102//    if err == nil { // resp is now filled
8103//        fmt.Println(resp)
8104//    }
8105//
8106// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
8107func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
8108	op := &request.Operation{
8109		Name:       opRemoveSourceIdentifierFromSubscription,
8110		HTTPMethod: "POST",
8111		HTTPPath:   "/",
8112	}
8113
8114	if input == nil {
8115		input = &RemoveSourceIdentifierFromSubscriptionInput{}
8116	}
8117
8118	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
8119	req = c.newRequest(op, input, output)
8120	return
8121}
8122
8123// RemoveSourceIdentifierFromSubscription API operation for Amazon Relational Database Service.
8124//
8125// Removes a source identifier from an existing RDS event notification subscription.
8126//
8127// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8128// with awserr.Error's Code and Message methods to get detailed information about
8129// the error.
8130//
8131// See the AWS API reference guide for Amazon Relational Database Service's
8132// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
8133//
8134// Returned Error Codes:
8135//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
8136//   The subscription name does not exist.
8137//
8138//   * ErrCodeSourceNotFoundFault "SourceNotFound"
8139//   The requested source could not be found.
8140//
8141// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
8142func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
8143	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
8144	return out, req.Send()
8145}
8146
8147// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
8148// the ability to pass a context and additional request options.
8149//
8150// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
8151//
8152// The context must be non-nil and will be used for request cancellation. If
8153// the context is nil a panic will occur. In the future the SDK may create
8154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8155// for more information on using Contexts.
8156func (c *RDS) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
8157	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
8158	req.SetContext(ctx)
8159	req.ApplyOptions(opts...)
8160	return out, req.Send()
8161}
8162
8163const opRemoveTagsFromResource = "RemoveTagsFromResource"
8164
8165// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
8166// client's request for the RemoveTagsFromResource operation. The "output" return
8167// value will be populated with the request's response once the request complets
8168// successfuly.
8169//
8170// Use "Send" method on the returned Request to send the API call to the service.
8171// the "output" return value is not valid until after Send returns without error.
8172//
8173// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
8174// API call, and error handling.
8175//
8176// This method is useful when you want to inject custom logic or configuration
8177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8178//
8179//
8180//    // Example sending a request using the RemoveTagsFromResourceRequest method.
8181//    req, resp := client.RemoveTagsFromResourceRequest(params)
8182//
8183//    err := req.Send()
8184//    if err == nil { // resp is now filled
8185//        fmt.Println(resp)
8186//    }
8187//
8188// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
8189func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
8190	op := &request.Operation{
8191		Name:       opRemoveTagsFromResource,
8192		HTTPMethod: "POST",
8193		HTTPPath:   "/",
8194	}
8195
8196	if input == nil {
8197		input = &RemoveTagsFromResourceInput{}
8198	}
8199
8200	output = &RemoveTagsFromResourceOutput{}
8201	req = c.newRequest(op, input, output)
8202	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
8203	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
8204	return
8205}
8206
8207// RemoveTagsFromResource API operation for Amazon Relational Database Service.
8208//
8209// Removes metadata tags from an Amazon RDS resource.
8210//
8211// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
8212// Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
8213//
8214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8215// with awserr.Error's Code and Message methods to get detailed information about
8216// the error.
8217//
8218// See the AWS API reference guide for Amazon Relational Database Service's
8219// API operation RemoveTagsFromResource for usage and error information.
8220//
8221// Returned Error Codes:
8222//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
8223//   DBInstanceIdentifier does not refer to an existing DB instance.
8224//
8225//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
8226//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
8227//
8228//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8229//   DBClusterIdentifier does not refer to an existing DB cluster.
8230//
8231// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
8232func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
8233	req, out := c.RemoveTagsFromResourceRequest(input)
8234	return out, req.Send()
8235}
8236
8237// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
8238// the ability to pass a context and additional request options.
8239//
8240// See RemoveTagsFromResource for details on how to use this API operation.
8241//
8242// The context must be non-nil and will be used for request cancellation. If
8243// the context is nil a panic will occur. In the future the SDK may create
8244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8245// for more information on using Contexts.
8246func (c *RDS) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
8247	req, out := c.RemoveTagsFromResourceRequest(input)
8248	req.SetContext(ctx)
8249	req.ApplyOptions(opts...)
8250	return out, req.Send()
8251}
8252
8253const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
8254
8255// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
8256// client's request for the ResetDBClusterParameterGroup operation. The "output" return
8257// value will be populated with the request's response once the request complets
8258// successfuly.
8259//
8260// Use "Send" method on the returned Request to send the API call to the service.
8261// the "output" return value is not valid until after Send returns without error.
8262//
8263// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
8264// API call, and error handling.
8265//
8266// This method is useful when you want to inject custom logic or configuration
8267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8268//
8269//
8270//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
8271//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
8272//
8273//    err := req.Send()
8274//    if err == nil { // resp is now filled
8275//        fmt.Println(resp)
8276//    }
8277//
8278// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
8279func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
8280	op := &request.Operation{
8281		Name:       opResetDBClusterParameterGroup,
8282		HTTPMethod: "POST",
8283		HTTPPath:   "/",
8284	}
8285
8286	if input == nil {
8287		input = &ResetDBClusterParameterGroupInput{}
8288	}
8289
8290	output = &DBClusterParameterGroupNameMessage{}
8291	req = c.newRequest(op, input, output)
8292	return
8293}
8294
8295// ResetDBClusterParameterGroup API operation for Amazon Relational Database Service.
8296//
8297// Modifies the parameters of a DB cluster parameter group to the default value.
8298// To reset specific parameters submit a list of the following: ParameterName
8299// and ApplyMethod. To reset the entire DB cluster parameter group, specify
8300// the DBClusterParameterGroupName and ResetAllParameters parameters.
8301//
8302// When resetting the entire group, dynamic parameters are updated immediately
8303// and static parameters are set to pending-reboot to take effect on the next
8304// DB instance restart or RebootDBInstance request. You must call RebootDBInstance
8305// for every DB instance in your DB cluster that you want the updated static
8306// parameter to apply to.
8307//
8308// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
8309// in the Amazon RDS User Guide.
8310//
8311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8312// with awserr.Error's Code and Message methods to get detailed information about
8313// the error.
8314//
8315// See the AWS API reference guide for Amazon Relational Database Service's
8316// API operation ResetDBClusterParameterGroup for usage and error information.
8317//
8318// Returned Error Codes:
8319//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
8320//   The DB parameter group is in use or is in an invalid state. If you are attempting
8321//   to delete the parameter group, you cannot delete it when the parameter group
8322//   is in this state.
8323//
8324//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
8325//   DBParameterGroupName does not refer to an existing DB parameter group.
8326//
8327// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
8328func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
8329	req, out := c.ResetDBClusterParameterGroupRequest(input)
8330	return out, req.Send()
8331}
8332
8333// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
8334// the ability to pass a context and additional request options.
8335//
8336// See ResetDBClusterParameterGroup for details on how to use this API operation.
8337//
8338// The context must be non-nil and will be used for request cancellation. If
8339// the context is nil a panic will occur. In the future the SDK may create
8340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8341// for more information on using Contexts.
8342func (c *RDS) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
8343	req, out := c.ResetDBClusterParameterGroupRequest(input)
8344	req.SetContext(ctx)
8345	req.ApplyOptions(opts...)
8346	return out, req.Send()
8347}
8348
8349const opResetDBParameterGroup = "ResetDBParameterGroup"
8350
8351// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
8352// client's request for the ResetDBParameterGroup operation. The "output" return
8353// value will be populated with the request's response once the request complets
8354// successfuly.
8355//
8356// Use "Send" method on the returned Request to send the API call to the service.
8357// the "output" return value is not valid until after Send returns without error.
8358//
8359// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
8360// API call, and error handling.
8361//
8362// This method is useful when you want to inject custom logic or configuration
8363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8364//
8365//
8366//    // Example sending a request using the ResetDBParameterGroupRequest method.
8367//    req, resp := client.ResetDBParameterGroupRequest(params)
8368//
8369//    err := req.Send()
8370//    if err == nil { // resp is now filled
8371//        fmt.Println(resp)
8372//    }
8373//
8374// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
8375func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
8376	op := &request.Operation{
8377		Name:       opResetDBParameterGroup,
8378		HTTPMethod: "POST",
8379		HTTPPath:   "/",
8380	}
8381
8382	if input == nil {
8383		input = &ResetDBParameterGroupInput{}
8384	}
8385
8386	output = &DBParameterGroupNameMessage{}
8387	req = c.newRequest(op, input, output)
8388	return
8389}
8390
8391// ResetDBParameterGroup API operation for Amazon Relational Database Service.
8392//
8393// Modifies the parameters of a DB parameter group to the engine/system default
8394// value. To reset specific parameters, provide a list of the following: ParameterName
8395// and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
8396// name and ResetAllParameters parameters. When resetting the entire group,
8397// dynamic parameters are updated immediately and static parameters are set
8398// to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
8399// request.
8400//
8401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8402// with awserr.Error's Code and Message methods to get detailed information about
8403// the error.
8404//
8405// See the AWS API reference guide for Amazon Relational Database Service's
8406// API operation ResetDBParameterGroup for usage and error information.
8407//
8408// Returned Error Codes:
8409//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
8410//   The DB parameter group is in use or is in an invalid state. If you are attempting
8411//   to delete the parameter group, you cannot delete it when the parameter group
8412//   is in this state.
8413//
8414//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
8415//   DBParameterGroupName does not refer to an existing DB parameter group.
8416//
8417// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
8418func (c *RDS) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
8419	req, out := c.ResetDBParameterGroupRequest(input)
8420	return out, req.Send()
8421}
8422
8423// ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
8424// the ability to pass a context and additional request options.
8425//
8426// See ResetDBParameterGroup for details on how to use this API operation.
8427//
8428// The context must be non-nil and will be used for request cancellation. If
8429// the context is nil a panic will occur. In the future the SDK may create
8430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8431// for more information on using Contexts.
8432func (c *RDS) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
8433	req, out := c.ResetDBParameterGroupRequest(input)
8434	req.SetContext(ctx)
8435	req.ApplyOptions(opts...)
8436	return out, req.Send()
8437}
8438
8439const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3"
8440
8441// RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the
8442// client's request for the RestoreDBClusterFromS3 operation. The "output" return
8443// value will be populated with the request's response once the request complets
8444// successfuly.
8445//
8446// Use "Send" method on the returned Request to send the API call to the service.
8447// the "output" return value is not valid until after Send returns without error.
8448//
8449// See RestoreDBClusterFromS3 for more information on using the RestoreDBClusterFromS3
8450// API call, and error handling.
8451//
8452// This method is useful when you want to inject custom logic or configuration
8453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8454//
8455//
8456//    // Example sending a request using the RestoreDBClusterFromS3Request method.
8457//    req, resp := client.RestoreDBClusterFromS3Request(params)
8458//
8459//    err := req.Send()
8460//    if err == nil { // resp is now filled
8461//        fmt.Println(resp)
8462//    }
8463//
8464// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
8465func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) (req *request.Request, output *RestoreDBClusterFromS3Output) {
8466	op := &request.Operation{
8467		Name:       opRestoreDBClusterFromS3,
8468		HTTPMethod: "POST",
8469		HTTPPath:   "/",
8470	}
8471
8472	if input == nil {
8473		input = &RestoreDBClusterFromS3Input{}
8474	}
8475
8476	output = &RestoreDBClusterFromS3Output{}
8477	req = c.newRequest(op, input, output)
8478	return
8479}
8480
8481// RestoreDBClusterFromS3 API operation for Amazon Relational Database Service.
8482//
8483// Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket.
8484// Amazon RDS must be authorized to access the Amazon S3 bucket and the data
8485// must be created using the Percona XtraBackup utility as described in Migrating
8486// Data from MySQL by Using an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Migrate.MySQL.html#Aurora.Migrate.MySQL.S3).
8487//
8488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8489// with awserr.Error's Code and Message methods to get detailed information about
8490// the error.
8491//
8492// See the AWS API reference guide for Amazon Relational Database Service's
8493// API operation RestoreDBClusterFromS3 for usage and error information.
8494//
8495// Returned Error Codes:
8496//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
8497//   User already has a DB cluster with the given identifier.
8498//
8499//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
8500//   User attempted to create a new DB cluster and the user has already reached
8501//   the maximum allowed DB cluster quota.
8502//
8503//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
8504//   Request would result in user exceeding the allowed amount of storage available
8505//   across all DB instances.
8506//
8507//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
8508//   DBSubnetGroupName does not refer to an existing DB subnet group.
8509//
8510//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
8511//   DB subnet group does not cover all Availability Zones after it is created
8512//   because users' change.
8513//
8514//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
8515//   The DB cluster is not in a valid state.
8516//
8517//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
8518//   The DB subnet group cannot be deleted because it is in use.
8519//
8520//   * ErrCodeInvalidSubnet "InvalidSubnet"
8521//   The requested subnet is invalid, or multiple subnets were requested that
8522//   are not all in a common VPC.
8523//
8524//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
8525//   The specified Amazon S3 bucket name could not be found or Amazon RDS is not
8526//   authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName
8527//   and S3IngestionRoleArn values and try again.
8528//
8529//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
8530//   DBClusterParameterGroupName does not refer to an existing DB Cluster parameter
8531//   group.
8532//
8533//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
8534//   Error accessing KMS key.
8535//
8536//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8537//   DBClusterIdentifier does not refer to an existing DB cluster.
8538//
8539//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
8540//   There is insufficient storage available for the current action. You may be
8541//   able to resolve this error by updating your subnet group to use different
8542//   Availability Zones that have more storage available.
8543//
8544// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
8545func (c *RDS) RestoreDBClusterFromS3(input *RestoreDBClusterFromS3Input) (*RestoreDBClusterFromS3Output, error) {
8546	req, out := c.RestoreDBClusterFromS3Request(input)
8547	return out, req.Send()
8548}
8549
8550// RestoreDBClusterFromS3WithContext is the same as RestoreDBClusterFromS3 with the addition of
8551// the ability to pass a context and additional request options.
8552//
8553// See RestoreDBClusterFromS3 for details on how to use this API operation.
8554//
8555// The context must be non-nil and will be used for request cancellation. If
8556// the context is nil a panic will occur. In the future the SDK may create
8557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8558// for more information on using Contexts.
8559func (c *RDS) RestoreDBClusterFromS3WithContext(ctx aws.Context, input *RestoreDBClusterFromS3Input, opts ...request.Option) (*RestoreDBClusterFromS3Output, error) {
8560	req, out := c.RestoreDBClusterFromS3Request(input)
8561	req.SetContext(ctx)
8562	req.ApplyOptions(opts...)
8563	return out, req.Send()
8564}
8565
8566const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
8567
8568// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
8569// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
8570// value will be populated with the request's response once the request complets
8571// successfuly.
8572//
8573// Use "Send" method on the returned Request to send the API call to the service.
8574// the "output" return value is not valid until after Send returns without error.
8575//
8576// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
8577// API call, and error handling.
8578//
8579// This method is useful when you want to inject custom logic or configuration
8580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8581//
8582//
8583//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
8584//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
8585//
8586//    err := req.Send()
8587//    if err == nil { // resp is now filled
8588//        fmt.Println(resp)
8589//    }
8590//
8591// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
8592func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
8593	op := &request.Operation{
8594		Name:       opRestoreDBClusterFromSnapshot,
8595		HTTPMethod: "POST",
8596		HTTPPath:   "/",
8597	}
8598
8599	if input == nil {
8600		input = &RestoreDBClusterFromSnapshotInput{}
8601	}
8602
8603	output = &RestoreDBClusterFromSnapshotOutput{}
8604	req = c.newRequest(op, input, output)
8605	return
8606}
8607
8608// RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service.
8609//
8610// Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
8611//
8612// If a DB snapshot is specified, the target DB cluster is created from the
8613// source DB snapshot with a default configuration and default security group.
8614//
8615// If a DB cluster snapshot is specified, the target DB cluster is created from
8616// the source DB cluster restore point with the same configuration as the original
8617// source DB cluster, except that the new DB cluster is created with the default
8618// security group.
8619//
8620// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
8621// in the Amazon RDS User Guide.
8622//
8623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8624// with awserr.Error's Code and Message methods to get detailed information about
8625// the error.
8626//
8627// See the AWS API reference guide for Amazon Relational Database Service's
8628// API operation RestoreDBClusterFromSnapshot for usage and error information.
8629//
8630// Returned Error Codes:
8631//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
8632//   User already has a DB cluster with the given identifier.
8633//
8634//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
8635//   User attempted to create a new DB cluster and the user has already reached
8636//   the maximum allowed DB cluster quota.
8637//
8638//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
8639//   Request would result in user exceeding the allowed amount of storage available
8640//   across all DB instances.
8641//
8642//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
8643//   DBSubnetGroupName does not refer to an existing DB subnet group.
8644//
8645//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
8646//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
8647//
8648//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
8649//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
8650//
8651//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
8652//   The DB cluster does not have enough capacity for the current operation.
8653//
8654//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
8655//   There is insufficient storage available for the current action. You may be
8656//   able to resolve this error by updating your subnet group to use different
8657//   Availability Zones that have more storage available.
8658//
8659//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
8660//   The state of the DB snapshot does not allow deletion.
8661//
8662//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
8663//   The supplied value is not a valid DB cluster snapshot state.
8664//
8665//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
8666//   Request would result in user exceeding the allowed amount of storage available
8667//   across all DB instances.
8668//
8669//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
8670//   DB subnet group does not cover all Availability Zones after it is created
8671//   because users' change.
8672//
8673//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
8674//   Cannot restore from vpc backup to non-vpc DB instance.
8675//
8676//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
8677//   DBSubnetGroupName does not refer to an existing DB subnet group.
8678//
8679//   * ErrCodeInvalidSubnet "InvalidSubnet"
8680//   The requested subnet is invalid, or multiple subnets were requested that
8681//   are not all in a common VPC.
8682//
8683//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
8684//   The specified option group could not be found.
8685//
8686//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
8687//   Error accessing KMS key.
8688//
8689// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
8690func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
8691	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
8692	return out, req.Send()
8693}
8694
8695// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
8696// the ability to pass a context and additional request options.
8697//
8698// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
8699//
8700// The context must be non-nil and will be used for request cancellation. If
8701// the context is nil a panic will occur. In the future the SDK may create
8702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8703// for more information on using Contexts.
8704func (c *RDS) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
8705	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
8706	req.SetContext(ctx)
8707	req.ApplyOptions(opts...)
8708	return out, req.Send()
8709}
8710
8711const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
8712
8713// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
8714// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
8715// value will be populated with the request's response once the request complets
8716// successfuly.
8717//
8718// Use "Send" method on the returned Request to send the API call to the service.
8719// the "output" return value is not valid until after Send returns without error.
8720//
8721// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
8722// API call, and error handling.
8723//
8724// This method is useful when you want to inject custom logic or configuration
8725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8726//
8727//
8728//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
8729//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
8730//
8731//    err := req.Send()
8732//    if err == nil { // resp is now filled
8733//        fmt.Println(resp)
8734//    }
8735//
8736// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
8737func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
8738	op := &request.Operation{
8739		Name:       opRestoreDBClusterToPointInTime,
8740		HTTPMethod: "POST",
8741		HTTPPath:   "/",
8742	}
8743
8744	if input == nil {
8745		input = &RestoreDBClusterToPointInTimeInput{}
8746	}
8747
8748	output = &RestoreDBClusterToPointInTimeOutput{}
8749	req = c.newRequest(op, input, output)
8750	return
8751}
8752
8753// RestoreDBClusterToPointInTime API operation for Amazon Relational Database Service.
8754//
8755// Restores a DB cluster to an arbitrary point in time. Users can restore to
8756// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
8757// days. The target DB cluster is created from the source DB cluster with the
8758// same configuration as the original DB cluster, except that the new DB cluster
8759// is created with the default DB security group.
8760//
8761// This action only restores the DB cluster, not the DB instances for that DB
8762// cluster. You must invoke the CreateDBInstance action to create DB instances
8763// for the restored DB cluster, specifying the identifier of the restored DB
8764// cluster in DBClusterIdentifier. You can create DB instances only after the
8765// RestoreDBClusterToPointInTime action has completed and the DB cluster is
8766// available.
8767//
8768// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
8769// in the Amazon RDS User Guide.
8770//
8771// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8772// with awserr.Error's Code and Message methods to get detailed information about
8773// the error.
8774//
8775// See the AWS API reference guide for Amazon Relational Database Service's
8776// API operation RestoreDBClusterToPointInTime for usage and error information.
8777//
8778// Returned Error Codes:
8779//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
8780//   User already has a DB cluster with the given identifier.
8781//
8782//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8783//   DBClusterIdentifier does not refer to an existing DB cluster.
8784//
8785//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
8786//   User attempted to create a new DB cluster and the user has already reached
8787//   the maximum allowed DB cluster quota.
8788//
8789//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
8790//   DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.
8791//
8792//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
8793//   DBSubnetGroupName does not refer to an existing DB subnet group.
8794//
8795//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
8796//   The DB cluster does not have enough capacity for the current operation.
8797//
8798//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
8799//   There is insufficient storage available for the current action. You may be
8800//   able to resolve this error by updating your subnet group to use different
8801//   Availability Zones that have more storage available.
8802//
8803//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
8804//   The supplied value is not a valid DB cluster snapshot state.
8805//
8806//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
8807//   The DB cluster is not in a valid state.
8808//
8809//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
8810//   The state of the DB snapshot does not allow deletion.
8811//
8812//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
8813//   Cannot restore from vpc backup to non-vpc DB instance.
8814//
8815//   * ErrCodeInvalidSubnet "InvalidSubnet"
8816//   The requested subnet is invalid, or multiple subnets were requested that
8817//   are not all in a common VPC.
8818//
8819//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
8820//   DB subnet group does not cover all Availability Zones after it is created
8821//   because users' change.
8822//
8823//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
8824//   Error accessing KMS key.
8825//
8826//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
8827//   The specified option group could not be found.
8828//
8829//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
8830//   Request would result in user exceeding the allowed amount of storage available
8831//   across all DB instances.
8832//
8833// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
8834func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
8835	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
8836	return out, req.Send()
8837}
8838
8839// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
8840// the ability to pass a context and additional request options.
8841//
8842// See RestoreDBClusterToPointInTime for details on how to use this API operation.
8843//
8844// The context must be non-nil and will be used for request cancellation. If
8845// the context is nil a panic will occur. In the future the SDK may create
8846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8847// for more information on using Contexts.
8848func (c *RDS) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
8849	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
8850	req.SetContext(ctx)
8851	req.ApplyOptions(opts...)
8852	return out, req.Send()
8853}
8854
8855const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot"
8856
8857// RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the
8858// client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return
8859// value will be populated with the request's response once the request complets
8860// successfuly.
8861//
8862// Use "Send" method on the returned Request to send the API call to the service.
8863// the "output" return value is not valid until after Send returns without error.
8864//
8865// See RestoreDBInstanceFromDBSnapshot for more information on using the RestoreDBInstanceFromDBSnapshot
8866// API call, and error handling.
8867//
8868// This method is useful when you want to inject custom logic or configuration
8869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8870//
8871//
8872//    // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method.
8873//    req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params)
8874//
8875//    err := req.Send()
8876//    if err == nil { // resp is now filled
8877//        fmt.Println(resp)
8878//    }
8879//
8880// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
8881func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFromDBSnapshotInput) (req *request.Request, output *RestoreDBInstanceFromDBSnapshotOutput) {
8882	op := &request.Operation{
8883		Name:       opRestoreDBInstanceFromDBSnapshot,
8884		HTTPMethod: "POST",
8885		HTTPPath:   "/",
8886	}
8887
8888	if input == nil {
8889		input = &RestoreDBInstanceFromDBSnapshotInput{}
8890	}
8891
8892	output = &RestoreDBInstanceFromDBSnapshotOutput{}
8893	req = c.newRequest(op, input, output)
8894	return
8895}
8896
8897// RestoreDBInstanceFromDBSnapshot API operation for Amazon Relational Database Service.
8898//
8899// Creates a new DB instance from a DB snapshot. The target database is created
8900// from the source database restore point with the most of original configuration
8901// with the default security group and the default DB parameter group. By default,
8902// the new DB instance is created as a single-AZ deployment except when the
8903// instance is a SQL Server instance that has an option group that is associated
8904// with mirroring; in this case, the instance becomes a mirrored AZ deployment
8905// and not a single-AZ deployment.
8906//
8907// If your intent is to replace your original DB instance with the new, restored
8908// DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot
8909// action. RDS does not allow two DB instances with the same name. Once you
8910// have renamed your original DB instance with a different identifier, then
8911// you can pass the original name of the DB instance as the DBInstanceIdentifier
8912// in the call to the RestoreDBInstanceFromDBSnapshot action. The result is
8913// that you will replace the original DB instance with the DB instance created
8914// from the snapshot.
8915//
8916// If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
8917// must be the ARN of the shared DB snapshot.
8918//
8919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8920// with awserr.Error's Code and Message methods to get detailed information about
8921// the error.
8922//
8923// See the AWS API reference guide for Amazon Relational Database Service's
8924// API operation RestoreDBInstanceFromDBSnapshot for usage and error information.
8925//
8926// Returned Error Codes:
8927//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
8928//   User already has a DB instance with the given identifier.
8929//
8930//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
8931//   DBSnapshotIdentifier does not refer to an existing DB snapshot.
8932//
8933//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
8934//   Request would result in user exceeding the allowed number of DB instances.
8935//
8936//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
8937//   Specified DB instance class is not available in the specified Availability
8938//   Zone.
8939//
8940//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
8941//   The state of the DB snapshot does not allow deletion.
8942//
8943//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
8944//   Request would result in user exceeding the allowed amount of storage available
8945//   across all DB instances.
8946//
8947//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
8948//   DB subnet group does not cover all Availability Zones after it is created
8949//   because users' change.
8950//
8951//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
8952//   Cannot restore from vpc backup to non-vpc DB instance.
8953//
8954//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
8955//   DBSubnetGroupName does not refer to an existing DB subnet group.
8956//
8957//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
8958//   Subnets in the DB subnet group should cover at least two Availability Zones
8959//   unless there is only one Availability Zone.
8960//
8961//   * ErrCodeInvalidSubnet "InvalidSubnet"
8962//   The requested subnet is invalid, or multiple subnets were requested that
8963//   are not all in a common VPC.
8964//
8965//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
8966//   Provisioned IOPS not available in the specified Availability Zone.
8967//
8968//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
8969//   The specified option group could not be found.
8970//
8971//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
8972//   StorageType specified cannot be associated with the DB Instance.
8973//
8974//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
8975//   Specified CIDRIP or EC2 security group is not authorized for the specified
8976//   DB security group.
8977//
8978//   RDS may not also be authorized via IAM to perform necessary actions on your
8979//   behalf.
8980//
8981//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
8982//   Error accessing KMS key.
8983//
8984//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
8985//   DBSecurityGroupName does not refer to an existing DB security group.
8986//
8987//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
8988//   Domain does not refer to an existing Active Directory Domain.
8989//
8990// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
8991func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
8992	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
8993	return out, req.Send()
8994}
8995
8996// RestoreDBInstanceFromDBSnapshotWithContext is the same as RestoreDBInstanceFromDBSnapshot with the addition of
8997// the ability to pass a context and additional request options.
8998//
8999// See RestoreDBInstanceFromDBSnapshot for details on how to use this API operation.
9000//
9001// The context must be non-nil and will be used for request cancellation. If
9002// the context is nil a panic will occur. In the future the SDK may create
9003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9004// for more information on using Contexts.
9005func (c *RDS) RestoreDBInstanceFromDBSnapshotWithContext(ctx aws.Context, input *RestoreDBInstanceFromDBSnapshotInput, opts ...request.Option) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
9006	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
9007	req.SetContext(ctx)
9008	req.ApplyOptions(opts...)
9009	return out, req.Send()
9010}
9011
9012const opRestoreDBInstanceFromS3 = "RestoreDBInstanceFromS3"
9013
9014// RestoreDBInstanceFromS3Request generates a "aws/request.Request" representing the
9015// client's request for the RestoreDBInstanceFromS3 operation. The "output" return
9016// value will be populated with the request's response once the request complets
9017// successfuly.
9018//
9019// Use "Send" method on the returned Request to send the API call to the service.
9020// the "output" return value is not valid until after Send returns without error.
9021//
9022// See RestoreDBInstanceFromS3 for more information on using the RestoreDBInstanceFromS3
9023// API call, and error handling.
9024//
9025// This method is useful when you want to inject custom logic or configuration
9026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9027//
9028//
9029//    // Example sending a request using the RestoreDBInstanceFromS3Request method.
9030//    req, resp := client.RestoreDBInstanceFromS3Request(params)
9031//
9032//    err := req.Send()
9033//    if err == nil { // resp is now filled
9034//        fmt.Println(resp)
9035//    }
9036//
9037// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
9038func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input) (req *request.Request, output *RestoreDBInstanceFromS3Output) {
9039	op := &request.Operation{
9040		Name:       opRestoreDBInstanceFromS3,
9041		HTTPMethod: "POST",
9042		HTTPPath:   "/",
9043	}
9044
9045	if input == nil {
9046		input = &RestoreDBInstanceFromS3Input{}
9047	}
9048
9049	output = &RestoreDBInstanceFromS3Output{}
9050	req = c.newRequest(op, input, output)
9051	return
9052}
9053
9054// RestoreDBInstanceFromS3 API operation for Amazon Relational Database Service.
9055//
9056// Amazon Relational Database Service (Amazon RDS) supports importing MySQL
9057// databases by using backup files. You can create a backup of your on-premises
9058// database, store it on Amazon Simple Storage Service (Amazon S3), and then
9059// restore the backup file onto a new Amazon RDS DB instance running MySQL.
9060// For more information, see Importing Data into an Amazon RDS MySQL DB Instance
9061// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html).
9062//
9063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9064// with awserr.Error's Code and Message methods to get detailed information about
9065// the error.
9066//
9067// See the AWS API reference guide for Amazon Relational Database Service's
9068// API operation RestoreDBInstanceFromS3 for usage and error information.
9069//
9070// Returned Error Codes:
9071//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
9072//   User already has a DB instance with the given identifier.
9073//
9074//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
9075//   Specified DB instance class is not available in the specified Availability
9076//   Zone.
9077//
9078//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
9079//   DBParameterGroupName does not refer to an existing DB parameter group.
9080//
9081//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
9082//   DBSecurityGroupName does not refer to an existing DB security group.
9083//
9084//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
9085//   Request would result in user exceeding the allowed number of DB instances.
9086//
9087//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9088//   Request would result in user exceeding the allowed amount of storage available
9089//   across all DB instances.
9090//
9091//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9092//   DBSubnetGroupName does not refer to an existing DB subnet group.
9093//
9094//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
9095//   Subnets in the DB subnet group should cover at least two Availability Zones
9096//   unless there is only one Availability Zone.
9097//
9098//   * ErrCodeInvalidSubnet "InvalidSubnet"
9099//   The requested subnet is invalid, or multiple subnets were requested that
9100//   are not all in a common VPC.
9101//
9102//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9103//   DB subnet group does not cover all Availability Zones after it is created
9104//   because users' change.
9105//
9106//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
9107//   The specified Amazon S3 bucket name could not be found or Amazon RDS is not
9108//   authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName
9109//   and S3IngestionRoleArn values and try again.
9110//
9111//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
9112//   Provisioned IOPS not available in the specified Availability Zone.
9113//
9114//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
9115//   The specified option group could not be found.
9116//
9117//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
9118//   StorageType specified cannot be associated with the DB Instance.
9119//
9120//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9121//   Specified CIDRIP or EC2 security group is not authorized for the specified
9122//   DB security group.
9123//
9124//   RDS may not also be authorized via IAM to perform necessary actions on your
9125//   behalf.
9126//
9127//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
9128//   Error accessing KMS key.
9129//
9130// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
9131func (c *RDS) RestoreDBInstanceFromS3(input *RestoreDBInstanceFromS3Input) (*RestoreDBInstanceFromS3Output, error) {
9132	req, out := c.RestoreDBInstanceFromS3Request(input)
9133	return out, req.Send()
9134}
9135
9136// RestoreDBInstanceFromS3WithContext is the same as RestoreDBInstanceFromS3 with the addition of
9137// the ability to pass a context and additional request options.
9138//
9139// See RestoreDBInstanceFromS3 for details on how to use this API operation.
9140//
9141// The context must be non-nil and will be used for request cancellation. If
9142// the context is nil a panic will occur. In the future the SDK may create
9143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9144// for more information on using Contexts.
9145func (c *RDS) RestoreDBInstanceFromS3WithContext(ctx aws.Context, input *RestoreDBInstanceFromS3Input, opts ...request.Option) (*RestoreDBInstanceFromS3Output, error) {
9146	req, out := c.RestoreDBInstanceFromS3Request(input)
9147	req.SetContext(ctx)
9148	req.ApplyOptions(opts...)
9149	return out, req.Send()
9150}
9151
9152const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime"
9153
9154// RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the
9155// client's request for the RestoreDBInstanceToPointInTime operation. The "output" return
9156// value will be populated with the request's response once the request complets
9157// successfuly.
9158//
9159// Use "Send" method on the returned Request to send the API call to the service.
9160// the "output" return value is not valid until after Send returns without error.
9161//
9162// See RestoreDBInstanceToPointInTime for more information on using the RestoreDBInstanceToPointInTime
9163// API call, and error handling.
9164//
9165// This method is useful when you want to inject custom logic or configuration
9166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9167//
9168//
9169//    // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method.
9170//    req, resp := client.RestoreDBInstanceToPointInTimeRequest(params)
9171//
9172//    err := req.Send()
9173//    if err == nil { // resp is now filled
9174//        fmt.Println(resp)
9175//    }
9176//
9177// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
9178func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPointInTimeInput) (req *request.Request, output *RestoreDBInstanceToPointInTimeOutput) {
9179	op := &request.Operation{
9180		Name:       opRestoreDBInstanceToPointInTime,
9181		HTTPMethod: "POST",
9182		HTTPPath:   "/",
9183	}
9184
9185	if input == nil {
9186		input = &RestoreDBInstanceToPointInTimeInput{}
9187	}
9188
9189	output = &RestoreDBInstanceToPointInTimeOutput{}
9190	req = c.newRequest(op, input, output)
9191	return
9192}
9193
9194// RestoreDBInstanceToPointInTime API operation for Amazon Relational Database Service.
9195//
9196// Restores a DB instance to an arbitrary point in time. You can restore to
9197// any point in time before the time identified by the LatestRestorableTime
9198// property. You can restore to a point up to the number of days specified by
9199// the BackupRetentionPeriod property.
9200//
9201// The target database is created with most of the original configuration, but
9202// in a system-selected availability zone, with the default security group,
9203// the default subnet group, and the default DB parameter group. By default,
9204// the new DB instance is created as a single-AZ deployment except when the
9205// instance is a SQL Server instance that has an option group that is associated
9206// with mirroring; in this case, the instance becomes a mirrored deployment
9207// and not a single-AZ deployment.
9208//
9209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9210// with awserr.Error's Code and Message methods to get detailed information about
9211// the error.
9212//
9213// See the AWS API reference guide for Amazon Relational Database Service's
9214// API operation RestoreDBInstanceToPointInTime for usage and error information.
9215//
9216// Returned Error Codes:
9217//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
9218//   User already has a DB instance with the given identifier.
9219//
9220//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9221//   DBInstanceIdentifier does not refer to an existing DB instance.
9222//
9223//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
9224//   Request would result in user exceeding the allowed number of DB instances.
9225//
9226//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
9227//   Specified DB instance class is not available in the specified Availability
9228//   Zone.
9229//
9230//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9231//   The specified DB instance is not in the available state.
9232//
9233//   * ErrCodePointInTimeRestoreNotEnabledFault "PointInTimeRestoreNotEnabled"
9234//   SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod
9235//   equal to 0.
9236//
9237//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9238//   Request would result in user exceeding the allowed amount of storage available
9239//   across all DB instances.
9240//
9241//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9242//   DB subnet group does not cover all Availability Zones after it is created
9243//   because users' change.
9244//
9245//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
9246//   Cannot restore from vpc backup to non-vpc DB instance.
9247//
9248//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9249//   DBSubnetGroupName does not refer to an existing DB subnet group.
9250//
9251//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
9252//   Subnets in the DB subnet group should cover at least two Availability Zones
9253//   unless there is only one Availability Zone.
9254//
9255//   * ErrCodeInvalidSubnet "InvalidSubnet"
9256//   The requested subnet is invalid, or multiple subnets were requested that
9257//   are not all in a common VPC.
9258//
9259//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
9260//   Provisioned IOPS not available in the specified Availability Zone.
9261//
9262//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
9263//   The specified option group could not be found.
9264//
9265//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
9266//   StorageType specified cannot be associated with the DB Instance.
9267//
9268//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9269//   Specified CIDRIP or EC2 security group is not authorized for the specified
9270//   DB security group.
9271//
9272//   RDS may not also be authorized via IAM to perform necessary actions on your
9273//   behalf.
9274//
9275//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
9276//   Error accessing KMS key.
9277//
9278//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
9279//   DBSecurityGroupName does not refer to an existing DB security group.
9280//
9281//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
9282//   Domain does not refer to an existing Active Directory Domain.
9283//
9284// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
9285func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) {
9286	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
9287	return out, req.Send()
9288}
9289
9290// RestoreDBInstanceToPointInTimeWithContext is the same as RestoreDBInstanceToPointInTime with the addition of
9291// the ability to pass a context and additional request options.
9292//
9293// See RestoreDBInstanceToPointInTime for details on how to use this API operation.
9294//
9295// The context must be non-nil and will be used for request cancellation. If
9296// the context is nil a panic will occur. In the future the SDK may create
9297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9298// for more information on using Contexts.
9299func (c *RDS) RestoreDBInstanceToPointInTimeWithContext(ctx aws.Context, input *RestoreDBInstanceToPointInTimeInput, opts ...request.Option) (*RestoreDBInstanceToPointInTimeOutput, error) {
9300	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
9301	req.SetContext(ctx)
9302	req.ApplyOptions(opts...)
9303	return out, req.Send()
9304}
9305
9306const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress"
9307
9308// RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
9309// client's request for the RevokeDBSecurityGroupIngress operation. The "output" return
9310// value will be populated with the request's response once the request complets
9311// successfuly.
9312//
9313// Use "Send" method on the returned Request to send the API call to the service.
9314// the "output" return value is not valid until after Send returns without error.
9315//
9316// See RevokeDBSecurityGroupIngress for more information on using the RevokeDBSecurityGroupIngress
9317// API call, and error handling.
9318//
9319// This method is useful when you want to inject custom logic or configuration
9320// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9321//
9322//
9323//    // Example sending a request using the RevokeDBSecurityGroupIngressRequest method.
9324//    req, resp := client.RevokeDBSecurityGroupIngressRequest(params)
9325//
9326//    err := req.Send()
9327//    if err == nil { // resp is now filled
9328//        fmt.Println(resp)
9329//    }
9330//
9331// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
9332func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIngressInput) (req *request.Request, output *RevokeDBSecurityGroupIngressOutput) {
9333	op := &request.Operation{
9334		Name:       opRevokeDBSecurityGroupIngress,
9335		HTTPMethod: "POST",
9336		HTTPPath:   "/",
9337	}
9338
9339	if input == nil {
9340		input = &RevokeDBSecurityGroupIngressInput{}
9341	}
9342
9343	output = &RevokeDBSecurityGroupIngressOutput{}
9344	req = c.newRequest(op, input, output)
9345	return
9346}
9347
9348// RevokeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
9349//
9350// Revokes ingress from a DBSecurityGroup for previously authorized IP ranges
9351// or EC2 or VPC Security Groups. Required parameters for this API are one of
9352// CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
9353// EC2SecurityGroupName or EC2SecurityGroupId).
9354//
9355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9356// with awserr.Error's Code and Message methods to get detailed information about
9357// the error.
9358//
9359// See the AWS API reference guide for Amazon Relational Database Service's
9360// API operation RevokeDBSecurityGroupIngress for usage and error information.
9361//
9362// Returned Error Codes:
9363//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
9364//   DBSecurityGroupName does not refer to an existing DB security group.
9365//
9366//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9367//   Specified CIDRIP or EC2 security group is not authorized for the specified
9368//   DB security group.
9369//
9370//   RDS may not also be authorized via IAM to perform necessary actions on your
9371//   behalf.
9372//
9373//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
9374//   The state of the DB security group does not allow deletion.
9375//
9376// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
9377func (c *RDS) RevokeDBSecurityGroupIngress(input *RevokeDBSecurityGroupIngressInput) (*RevokeDBSecurityGroupIngressOutput, error) {
9378	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
9379	return out, req.Send()
9380}
9381
9382// RevokeDBSecurityGroupIngressWithContext is the same as RevokeDBSecurityGroupIngress with the addition of
9383// the ability to pass a context and additional request options.
9384//
9385// See RevokeDBSecurityGroupIngress for details on how to use this API operation.
9386//
9387// The context must be non-nil and will be used for request cancellation. If
9388// the context is nil a panic will occur. In the future the SDK may create
9389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9390// for more information on using Contexts.
9391func (c *RDS) RevokeDBSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeDBSecurityGroupIngressInput, opts ...request.Option) (*RevokeDBSecurityGroupIngressOutput, error) {
9392	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
9393	req.SetContext(ctx)
9394	req.ApplyOptions(opts...)
9395	return out, req.Send()
9396}
9397
9398const opStartDBInstance = "StartDBInstance"
9399
9400// StartDBInstanceRequest generates a "aws/request.Request" representing the
9401// client's request for the StartDBInstance operation. The "output" return
9402// value will be populated with the request's response once the request complets
9403// successfuly.
9404//
9405// Use "Send" method on the returned Request to send the API call to the service.
9406// the "output" return value is not valid until after Send returns without error.
9407//
9408// See StartDBInstance for more information on using the StartDBInstance
9409// API call, and error handling.
9410//
9411// This method is useful when you want to inject custom logic or configuration
9412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9413//
9414//
9415//    // Example sending a request using the StartDBInstanceRequest method.
9416//    req, resp := client.StartDBInstanceRequest(params)
9417//
9418//    err := req.Send()
9419//    if err == nil { // resp is now filled
9420//        fmt.Println(resp)
9421//    }
9422//
9423// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
9424func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request.Request, output *StartDBInstanceOutput) {
9425	op := &request.Operation{
9426		Name:       opStartDBInstance,
9427		HTTPMethod: "POST",
9428		HTTPPath:   "/",
9429	}
9430
9431	if input == nil {
9432		input = &StartDBInstanceInput{}
9433	}
9434
9435	output = &StartDBInstanceOutput{}
9436	req = c.newRequest(op, input, output)
9437	return
9438}
9439
9440// StartDBInstance API operation for Amazon Relational Database Service.
9441//
9442// Starts a DB instance that was stopped using the AWS console, the stop-db-instance
9443// AWS CLI command, or the StopDBInstance action. For more information, see
9444// Stopping and Starting a DB instance in the AWS RDS user guide.
9445//
9446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9447// with awserr.Error's Code and Message methods to get detailed information about
9448// the error.
9449//
9450// See the AWS API reference guide for Amazon Relational Database Service's
9451// API operation StartDBInstance for usage and error information.
9452//
9453// Returned Error Codes:
9454//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9455//   DBInstanceIdentifier does not refer to an existing DB instance.
9456//
9457//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9458//   The specified DB instance is not in the available state.
9459//
9460//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
9461//   Specified DB instance class is not available in the specified Availability
9462//   Zone.
9463//
9464//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9465//   DBSubnetGroupName does not refer to an existing DB subnet group.
9466//
9467//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
9468//   Subnets in the DB subnet group should cover at least two Availability Zones
9469//   unless there is only one Availability Zone.
9470//
9471//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9472//   The DB cluster is not in a valid state.
9473//
9474//   * ErrCodeInvalidSubnet "InvalidSubnet"
9475//   The requested subnet is invalid, or multiple subnets were requested that
9476//   are not all in a common VPC.
9477//
9478//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9479//   DB subnet group does not cover all Availability Zones after it is created
9480//   because users' change.
9481//
9482//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9483//   DBClusterIdentifier does not refer to an existing DB cluster.
9484//
9485//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9486//   Specified CIDRIP or EC2 security group is not authorized for the specified
9487//   DB security group.
9488//
9489//   RDS may not also be authorized via IAM to perform necessary actions on your
9490//   behalf.
9491//
9492//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
9493//   Error accessing KMS key.
9494//
9495// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
9496func (c *RDS) StartDBInstance(input *StartDBInstanceInput) (*StartDBInstanceOutput, error) {
9497	req, out := c.StartDBInstanceRequest(input)
9498	return out, req.Send()
9499}
9500
9501// StartDBInstanceWithContext is the same as StartDBInstance with the addition of
9502// the ability to pass a context and additional request options.
9503//
9504// See StartDBInstance for details on how to use this API operation.
9505//
9506// The context must be non-nil and will be used for request cancellation. If
9507// the context is nil a panic will occur. In the future the SDK may create
9508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9509// for more information on using Contexts.
9510func (c *RDS) StartDBInstanceWithContext(ctx aws.Context, input *StartDBInstanceInput, opts ...request.Option) (*StartDBInstanceOutput, error) {
9511	req, out := c.StartDBInstanceRequest(input)
9512	req.SetContext(ctx)
9513	req.ApplyOptions(opts...)
9514	return out, req.Send()
9515}
9516
9517const opStopDBInstance = "StopDBInstance"
9518
9519// StopDBInstanceRequest generates a "aws/request.Request" representing the
9520// client's request for the StopDBInstance operation. The "output" return
9521// value will be populated with the request's response once the request complets
9522// successfuly.
9523//
9524// Use "Send" method on the returned Request to send the API call to the service.
9525// the "output" return value is not valid until after Send returns without error.
9526//
9527// See StopDBInstance for more information on using the StopDBInstance
9528// API call, and error handling.
9529//
9530// This method is useful when you want to inject custom logic or configuration
9531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9532//
9533//
9534//    // Example sending a request using the StopDBInstanceRequest method.
9535//    req, resp := client.StopDBInstanceRequest(params)
9536//
9537//    err := req.Send()
9538//    if err == nil { // resp is now filled
9539//        fmt.Println(resp)
9540//    }
9541//
9542// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
9543func (c *RDS) StopDBInstanceRequest(input *StopDBInstanceInput) (req *request.Request, output *StopDBInstanceOutput) {
9544	op := &request.Operation{
9545		Name:       opStopDBInstance,
9546		HTTPMethod: "POST",
9547		HTTPPath:   "/",
9548	}
9549
9550	if input == nil {
9551		input = &StopDBInstanceInput{}
9552	}
9553
9554	output = &StopDBInstanceOutput{}
9555	req = c.newRequest(op, input, output)
9556	return
9557}
9558
9559// StopDBInstance API operation for Amazon Relational Database Service.
9560//
9561// Stops a DB instance. When you stop a DB instance, Amazon RDS retains the
9562// DB instance's metadata, including its endpoint, DB parameter group, and option
9563// group membership. Amazon RDS also retains the transaction logs so you can
9564// do a point-in-time restore if necessary. For more information, see Stopping
9565// and Starting a DB instance in the AWS RDS user guide.
9566//
9567// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9568// with awserr.Error's Code and Message methods to get detailed information about
9569// the error.
9570//
9571// See the AWS API reference guide for Amazon Relational Database Service's
9572// API operation StopDBInstance for usage and error information.
9573//
9574// Returned Error Codes:
9575//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9576//   DBInstanceIdentifier does not refer to an existing DB instance.
9577//
9578//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9579//   The specified DB instance is not in the available state.
9580//
9581//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
9582//   DBSnapshotIdentifier is already used by an existing snapshot.
9583//
9584//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
9585//   Request would result in user exceeding the allowed number of DB snapshots.
9586//
9587//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9588//   The DB cluster is not in a valid state.
9589//
9590// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
9591func (c *RDS) StopDBInstance(input *StopDBInstanceInput) (*StopDBInstanceOutput, error) {
9592	req, out := c.StopDBInstanceRequest(input)
9593	return out, req.Send()
9594}
9595
9596// StopDBInstanceWithContext is the same as StopDBInstance with the addition of
9597// the ability to pass a context and additional request options.
9598//
9599// See StopDBInstance for details on how to use this API operation.
9600//
9601// The context must be non-nil and will be used for request cancellation. If
9602// the context is nil a panic will occur. In the future the SDK may create
9603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9604// for more information on using Contexts.
9605func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceInput, opts ...request.Option) (*StopDBInstanceOutput, error) {
9606	req, out := c.StopDBInstanceRequest(input)
9607	req.SetContext(ctx)
9608	req.ApplyOptions(opts...)
9609	return out, req.Send()
9610}
9611
9612// Describes a quota for an AWS account, for example, the number of DB instances
9613// allowed.
9614// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AccountQuota
9615type AccountQuota struct {
9616	_ struct{} `type:"structure"`
9617
9618	// The name of the Amazon RDS quota for this AWS account.
9619	AccountQuotaName *string `type:"string"`
9620
9621	// The maximum allowed value for the quota.
9622	Max *int64 `type:"long"`
9623
9624	// The amount currently used toward the quota maximum.
9625	Used *int64 `type:"long"`
9626}
9627
9628// String returns the string representation
9629func (s AccountQuota) String() string {
9630	return awsutil.Prettify(s)
9631}
9632
9633// GoString returns the string representation
9634func (s AccountQuota) GoString() string {
9635	return s.String()
9636}
9637
9638// SetAccountQuotaName sets the AccountQuotaName field's value.
9639func (s *AccountQuota) SetAccountQuotaName(v string) *AccountQuota {
9640	s.AccountQuotaName = &v
9641	return s
9642}
9643
9644// SetMax sets the Max field's value.
9645func (s *AccountQuota) SetMax(v int64) *AccountQuota {
9646	s.Max = &v
9647	return s
9648}
9649
9650// SetUsed sets the Used field's value.
9651func (s *AccountQuota) SetUsed(v int64) *AccountQuota {
9652	s.Used = &v
9653	return s
9654}
9655
9656// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBClusterMessage
9657type AddRoleToDBClusterInput struct {
9658	_ struct{} `type:"structure"`
9659
9660	// The name of the DB cluster to associate the IAM role with.
9661	//
9662	// DBClusterIdentifier is a required field
9663	DBClusterIdentifier *string `type:"string" required:"true"`
9664
9665	// The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora
9666	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
9667	//
9668	// RoleArn is a required field
9669	RoleArn *string `type:"string" required:"true"`
9670}
9671
9672// String returns the string representation
9673func (s AddRoleToDBClusterInput) String() string {
9674	return awsutil.Prettify(s)
9675}
9676
9677// GoString returns the string representation
9678func (s AddRoleToDBClusterInput) GoString() string {
9679	return s.String()
9680}
9681
9682// Validate inspects the fields of the type to determine if they are valid.
9683func (s *AddRoleToDBClusterInput) Validate() error {
9684	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
9685	if s.DBClusterIdentifier == nil {
9686		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
9687	}
9688	if s.RoleArn == nil {
9689		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
9690	}
9691
9692	if invalidParams.Len() > 0 {
9693		return invalidParams
9694	}
9695	return nil
9696}
9697
9698// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
9699func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
9700	s.DBClusterIdentifier = &v
9701	return s
9702}
9703
9704// SetRoleArn sets the RoleArn field's value.
9705func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
9706	s.RoleArn = &v
9707	return s
9708}
9709
9710// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBClusterOutput
9711type AddRoleToDBClusterOutput struct {
9712	_ struct{} `type:"structure"`
9713}
9714
9715// String returns the string representation
9716func (s AddRoleToDBClusterOutput) String() string {
9717	return awsutil.Prettify(s)
9718}
9719
9720// GoString returns the string representation
9721func (s AddRoleToDBClusterOutput) GoString() string {
9722	return s.String()
9723}
9724
9725// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscriptionMessage
9726type AddSourceIdentifierToSubscriptionInput struct {
9727	_ struct{} `type:"structure"`
9728
9729	// The identifier of the event source to be added.
9730	//
9731	// Constraints:
9732	//
9733	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
9734	//    be supplied.
9735	//
9736	//    * If the source type is a DB security group, a DBSecurityGroupName must
9737	//    be supplied.
9738	//
9739	//    * If the source type is a DB parameter group, a DBParameterGroupName must
9740	//    be supplied.
9741	//
9742	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
9743	//    supplied.
9744	//
9745	// SourceIdentifier is a required field
9746	SourceIdentifier *string `type:"string" required:"true"`
9747
9748	// The name of the RDS event notification subscription you want to add a source
9749	// identifier to.
9750	//
9751	// SubscriptionName is a required field
9752	SubscriptionName *string `type:"string" required:"true"`
9753}
9754
9755// String returns the string representation
9756func (s AddSourceIdentifierToSubscriptionInput) String() string {
9757	return awsutil.Prettify(s)
9758}
9759
9760// GoString returns the string representation
9761func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
9762	return s.String()
9763}
9764
9765// Validate inspects the fields of the type to determine if they are valid.
9766func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
9767	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
9768	if s.SourceIdentifier == nil {
9769		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
9770	}
9771	if s.SubscriptionName == nil {
9772		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
9773	}
9774
9775	if invalidParams.Len() > 0 {
9776		return invalidParams
9777	}
9778	return nil
9779}
9780
9781// SetSourceIdentifier sets the SourceIdentifier field's value.
9782func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
9783	s.SourceIdentifier = &v
9784	return s
9785}
9786
9787// SetSubscriptionName sets the SubscriptionName field's value.
9788func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
9789	s.SubscriptionName = &v
9790	return s
9791}
9792
9793// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscriptionResult
9794type AddSourceIdentifierToSubscriptionOutput struct {
9795	_ struct{} `type:"structure"`
9796
9797	// Contains the results of a successful invocation of the DescribeEventSubscriptions
9798	// action.
9799	EventSubscription *EventSubscription `type:"structure"`
9800}
9801
9802// String returns the string representation
9803func (s AddSourceIdentifierToSubscriptionOutput) String() string {
9804	return awsutil.Prettify(s)
9805}
9806
9807// GoString returns the string representation
9808func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
9809	return s.String()
9810}
9811
9812// SetEventSubscription sets the EventSubscription field's value.
9813func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
9814	s.EventSubscription = v
9815	return s
9816}
9817
9818// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResourceMessage
9819type AddTagsToResourceInput struct {
9820	_ struct{} `type:"structure"`
9821
9822	// The Amazon RDS resource that the tags are added to. This value is an Amazon
9823	// Resource Name (ARN). For information about creating an ARN, see  Constructing
9824	// an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
9825	//
9826	// ResourceName is a required field
9827	ResourceName *string `type:"string" required:"true"`
9828
9829	// The tags to be assigned to the Amazon RDS resource.
9830	//
9831	// Tags is a required field
9832	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
9833}
9834
9835// String returns the string representation
9836func (s AddTagsToResourceInput) String() string {
9837	return awsutil.Prettify(s)
9838}
9839
9840// GoString returns the string representation
9841func (s AddTagsToResourceInput) GoString() string {
9842	return s.String()
9843}
9844
9845// Validate inspects the fields of the type to determine if they are valid.
9846func (s *AddTagsToResourceInput) Validate() error {
9847	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
9848	if s.ResourceName == nil {
9849		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
9850	}
9851	if s.Tags == nil {
9852		invalidParams.Add(request.NewErrParamRequired("Tags"))
9853	}
9854
9855	if invalidParams.Len() > 0 {
9856		return invalidParams
9857	}
9858	return nil
9859}
9860
9861// SetResourceName sets the ResourceName field's value.
9862func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
9863	s.ResourceName = &v
9864	return s
9865}
9866
9867// SetTags sets the Tags field's value.
9868func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
9869	s.Tags = v
9870	return s
9871}
9872
9873// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResourceOutput
9874type AddTagsToResourceOutput struct {
9875	_ struct{} `type:"structure"`
9876}
9877
9878// String returns the string representation
9879func (s AddTagsToResourceOutput) String() string {
9880	return awsutil.Prettify(s)
9881}
9882
9883// GoString returns the string representation
9884func (s AddTagsToResourceOutput) GoString() string {
9885	return s.String()
9886}
9887
9888// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceActionMessage
9889type ApplyPendingMaintenanceActionInput struct {
9890	_ struct{} `type:"structure"`
9891
9892	// The pending maintenance action to apply to this resource.
9893	//
9894	// Valid values: system-update, db-upgrade
9895	//
9896	// ApplyAction is a required field
9897	ApplyAction *string `type:"string" required:"true"`
9898
9899	// A value that specifies the type of opt-in request, or undoes an opt-in request.
9900	// An opt-in request of type immediate can't be undone.
9901	//
9902	// Valid values:
9903	//
9904	//    * immediate - Apply the maintenance action immediately.
9905	//
9906	//    * next-maintenance - Apply the maintenance action during the next maintenance
9907	//    window for the resource.
9908	//
9909	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
9910	//
9911	// OptInType is a required field
9912	OptInType *string `type:"string" required:"true"`
9913
9914	// The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance
9915	// action applies to. For information about creating an ARN, see  Constructing
9916	// an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
9917	//
9918	// ResourceIdentifier is a required field
9919	ResourceIdentifier *string `type:"string" required:"true"`
9920}
9921
9922// String returns the string representation
9923func (s ApplyPendingMaintenanceActionInput) String() string {
9924	return awsutil.Prettify(s)
9925}
9926
9927// GoString returns the string representation
9928func (s ApplyPendingMaintenanceActionInput) GoString() string {
9929	return s.String()
9930}
9931
9932// Validate inspects the fields of the type to determine if they are valid.
9933func (s *ApplyPendingMaintenanceActionInput) Validate() error {
9934	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
9935	if s.ApplyAction == nil {
9936		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
9937	}
9938	if s.OptInType == nil {
9939		invalidParams.Add(request.NewErrParamRequired("OptInType"))
9940	}
9941	if s.ResourceIdentifier == nil {
9942		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
9943	}
9944
9945	if invalidParams.Len() > 0 {
9946		return invalidParams
9947	}
9948	return nil
9949}
9950
9951// SetApplyAction sets the ApplyAction field's value.
9952func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
9953	s.ApplyAction = &v
9954	return s
9955}
9956
9957// SetOptInType sets the OptInType field's value.
9958func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
9959	s.OptInType = &v
9960	return s
9961}
9962
9963// SetResourceIdentifier sets the ResourceIdentifier field's value.
9964func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
9965	s.ResourceIdentifier = &v
9966	return s
9967}
9968
9969// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceActionResult
9970type ApplyPendingMaintenanceActionOutput struct {
9971	_ struct{} `type:"structure"`
9972
9973	// Describes the pending maintenance actions for a resource.
9974	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
9975}
9976
9977// String returns the string representation
9978func (s ApplyPendingMaintenanceActionOutput) String() string {
9979	return awsutil.Prettify(s)
9980}
9981
9982// GoString returns the string representation
9983func (s ApplyPendingMaintenanceActionOutput) GoString() string {
9984	return s.String()
9985}
9986
9987// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
9988func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
9989	s.ResourcePendingMaintenanceActions = v
9990	return s
9991}
9992
9993// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngressMessage
9994type AuthorizeDBSecurityGroupIngressInput struct {
9995	_ struct{} `type:"structure"`
9996
9997	// The IP range to authorize.
9998	CIDRIP *string `type:"string"`
9999
10000	// The name of the DB security group to add authorization to.
10001	//
10002	// DBSecurityGroupName is a required field
10003	DBSecurityGroupName *string `type:"string" required:"true"`
10004
10005	// Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
10006	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
10007	// or EC2SecurityGroupId must be provided.
10008	EC2SecurityGroupId *string `type:"string"`
10009
10010	// Name of the EC2 security group to authorize. For VPC DB security groups,
10011	// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
10012	// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
10013	EC2SecurityGroupName *string `type:"string"`
10014
10015	// AWS account number of the owner of the EC2 security group specified in the
10016	// EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable
10017	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
10018	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
10019	// must be provided.
10020	EC2SecurityGroupOwnerId *string `type:"string"`
10021}
10022
10023// String returns the string representation
10024func (s AuthorizeDBSecurityGroupIngressInput) String() string {
10025	return awsutil.Prettify(s)
10026}
10027
10028// GoString returns the string representation
10029func (s AuthorizeDBSecurityGroupIngressInput) GoString() string {
10030	return s.String()
10031}
10032
10033// Validate inspects the fields of the type to determine if they are valid.
10034func (s *AuthorizeDBSecurityGroupIngressInput) Validate() error {
10035	invalidParams := request.ErrInvalidParams{Context: "AuthorizeDBSecurityGroupIngressInput"}
10036	if s.DBSecurityGroupName == nil {
10037		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
10038	}
10039
10040	if invalidParams.Len() > 0 {
10041		return invalidParams
10042	}
10043	return nil
10044}
10045
10046// SetCIDRIP sets the CIDRIP field's value.
10047func (s *AuthorizeDBSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeDBSecurityGroupIngressInput {
10048	s.CIDRIP = &v
10049	return s
10050}
10051
10052// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
10053func (s *AuthorizeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
10054	s.DBSecurityGroupName = &v
10055	return s
10056}
10057
10058// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
10059func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *AuthorizeDBSecurityGroupIngressInput {
10060	s.EC2SecurityGroupId = &v
10061	return s
10062}
10063
10064// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
10065func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
10066	s.EC2SecurityGroupName = &v
10067	return s
10068}
10069
10070// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
10071func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeDBSecurityGroupIngressInput {
10072	s.EC2SecurityGroupOwnerId = &v
10073	return s
10074}
10075
10076// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngressResult
10077type AuthorizeDBSecurityGroupIngressOutput struct {
10078	_ struct{} `type:"structure"`
10079
10080	// Contains the details for an Amazon RDS DB security group.
10081	//
10082	// This data type is used as a response element in the DescribeDBSecurityGroups
10083	// action.
10084	DBSecurityGroup *DBSecurityGroup `type:"structure"`
10085}
10086
10087// String returns the string representation
10088func (s AuthorizeDBSecurityGroupIngressOutput) String() string {
10089	return awsutil.Prettify(s)
10090}
10091
10092// GoString returns the string representation
10093func (s AuthorizeDBSecurityGroupIngressOutput) GoString() string {
10094	return s.String()
10095}
10096
10097// SetDBSecurityGroup sets the DBSecurityGroup field's value.
10098func (s *AuthorizeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *AuthorizeDBSecurityGroupIngressOutput {
10099	s.DBSecurityGroup = v
10100	return s
10101}
10102
10103// Contains Availability Zone information.
10104//
10105// This data type is used as an element in the following data type:
10106//
10107//    * OrderableDBInstanceOption
10108// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AvailabilityZone
10109type AvailabilityZone struct {
10110	_ struct{} `type:"structure"`
10111
10112	// The name of the availability zone.
10113	Name *string `type:"string"`
10114}
10115
10116// String returns the string representation
10117func (s AvailabilityZone) String() string {
10118	return awsutil.Prettify(s)
10119}
10120
10121// GoString returns the string representation
10122func (s AvailabilityZone) GoString() string {
10123	return s.String()
10124}
10125
10126// SetName sets the Name field's value.
10127func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
10128	s.Name = &v
10129	return s
10130}
10131
10132// A CA certificate for an AWS account.
10133// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Certificate
10134type Certificate struct {
10135	_ struct{} `type:"structure"`
10136
10137	// The Amazon Resource Name (ARN) for the certificate.
10138	CertificateArn *string `type:"string"`
10139
10140	// The unique key that identifies a certificate.
10141	CertificateIdentifier *string `type:"string"`
10142
10143	// The type of the certificate.
10144	CertificateType *string `type:"string"`
10145
10146	// The thumbprint of the certificate.
10147	Thumbprint *string `type:"string"`
10148
10149	// The starting date from which the certificate is valid.
10150	ValidFrom *time.Time `type:"timestamp" timestampFormat:"iso8601"`
10151
10152	// The final date that the certificate continues to be valid.
10153	ValidTill *time.Time `type:"timestamp" timestampFormat:"iso8601"`
10154}
10155
10156// String returns the string representation
10157func (s Certificate) String() string {
10158	return awsutil.Prettify(s)
10159}
10160
10161// GoString returns the string representation
10162func (s Certificate) GoString() string {
10163	return s.String()
10164}
10165
10166// SetCertificateArn sets the CertificateArn field's value.
10167func (s *Certificate) SetCertificateArn(v string) *Certificate {
10168	s.CertificateArn = &v
10169	return s
10170}
10171
10172// SetCertificateIdentifier sets the CertificateIdentifier field's value.
10173func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
10174	s.CertificateIdentifier = &v
10175	return s
10176}
10177
10178// SetCertificateType sets the CertificateType field's value.
10179func (s *Certificate) SetCertificateType(v string) *Certificate {
10180	s.CertificateType = &v
10181	return s
10182}
10183
10184// SetThumbprint sets the Thumbprint field's value.
10185func (s *Certificate) SetThumbprint(v string) *Certificate {
10186	s.Thumbprint = &v
10187	return s
10188}
10189
10190// SetValidFrom sets the ValidFrom field's value.
10191func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
10192	s.ValidFrom = &v
10193	return s
10194}
10195
10196// SetValidTill sets the ValidTill field's value.
10197func (s *Certificate) SetValidTill(v time.Time) *Certificate {
10198	s.ValidTill = &v
10199	return s
10200}
10201
10202// This data type is used as a response element in the action DescribeDBEngineVersions.
10203// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CharacterSet
10204type CharacterSet struct {
10205	_ struct{} `type:"structure"`
10206
10207	// The description of the character set.
10208	CharacterSetDescription *string `type:"string"`
10209
10210	// The name of the character set.
10211	CharacterSetName *string `type:"string"`
10212}
10213
10214// String returns the string representation
10215func (s CharacterSet) String() string {
10216	return awsutil.Prettify(s)
10217}
10218
10219// GoString returns the string representation
10220func (s CharacterSet) GoString() string {
10221	return s.String()
10222}
10223
10224// SetCharacterSetDescription sets the CharacterSetDescription field's value.
10225func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
10226	s.CharacterSetDescription = &v
10227	return s
10228}
10229
10230// SetCharacterSetName sets the CharacterSetName field's value.
10231func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
10232	s.CharacterSetName = &v
10233	return s
10234}
10235
10236// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroupMessage
10237type CopyDBClusterParameterGroupInput struct {
10238	_ struct{} `type:"structure"`
10239
10240	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
10241	// group. For information about creating an ARN, see  Constructing an RDS Amazon
10242	// Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
10243	//
10244	// Constraints:
10245	//
10246	//    * Must specify a valid DB cluster parameter group.
10247	//
10248	//    * If the source DB cluster parameter group is in the same AWS Region as
10249	//    the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group,
10250	//    or a valid ARN.
10251	//
10252	//    * If the source DB parameter group is in a different AWS Region than the
10253	//    copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
10254	//
10255	// SourceDBClusterParameterGroupIdentifier is a required field
10256	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
10257
10258	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
10259	Tags []*Tag `locationNameList:"Tag" type:"list"`
10260
10261	// A description for the copied DB cluster parameter group.
10262	//
10263	// TargetDBClusterParameterGroupDescription is a required field
10264	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
10265
10266	// The identifier for the copied DB cluster parameter group.
10267	//
10268	// Constraints:
10269	//
10270	//    * Cannot be null, empty, or blank
10271	//
10272	//    * Must contain from 1 to 255 letters, numbers, or hyphens
10273	//
10274	//    * First character must be a letter
10275	//
10276	//    * Cannot end with a hyphen or contain two consecutive hyphens
10277	//
10278	// Example: my-cluster-param-group1
10279	//
10280	// TargetDBClusterParameterGroupIdentifier is a required field
10281	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
10282}
10283
10284// String returns the string representation
10285func (s CopyDBClusterParameterGroupInput) String() string {
10286	return awsutil.Prettify(s)
10287}
10288
10289// GoString returns the string representation
10290func (s CopyDBClusterParameterGroupInput) GoString() string {
10291	return s.String()
10292}
10293
10294// Validate inspects the fields of the type to determine if they are valid.
10295func (s *CopyDBClusterParameterGroupInput) Validate() error {
10296	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
10297	if s.SourceDBClusterParameterGroupIdentifier == nil {
10298		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
10299	}
10300	if s.TargetDBClusterParameterGroupDescription == nil {
10301		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
10302	}
10303	if s.TargetDBClusterParameterGroupIdentifier == nil {
10304		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
10305	}
10306
10307	if invalidParams.Len() > 0 {
10308		return invalidParams
10309	}
10310	return nil
10311}
10312
10313// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
10314func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
10315	s.SourceDBClusterParameterGroupIdentifier = &v
10316	return s
10317}
10318
10319// SetTags sets the Tags field's value.
10320func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
10321	s.Tags = v
10322	return s
10323}
10324
10325// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
10326func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
10327	s.TargetDBClusterParameterGroupDescription = &v
10328	return s
10329}
10330
10331// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
10332func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
10333	s.TargetDBClusterParameterGroupIdentifier = &v
10334	return s
10335}
10336
10337// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroupResult
10338type CopyDBClusterParameterGroupOutput struct {
10339	_ struct{} `type:"structure"`
10340
10341	// Contains the details of an Amazon RDS DB cluster parameter group.
10342	//
10343	// This data type is used as a response element in the DescribeDBClusterParameterGroups
10344	// action.
10345	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
10346}
10347
10348// String returns the string representation
10349func (s CopyDBClusterParameterGroupOutput) String() string {
10350	return awsutil.Prettify(s)
10351}
10352
10353// GoString returns the string representation
10354func (s CopyDBClusterParameterGroupOutput) GoString() string {
10355	return s.String()
10356}
10357
10358// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
10359func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
10360	s.DBClusterParameterGroup = v
10361	return s
10362}
10363
10364// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshotMessage
10365type CopyDBClusterSnapshotInput struct {
10366	_ struct{} `type:"structure"`
10367
10368	// True to copy all tags from the source DB cluster snapshot to the target DB
10369	// cluster snapshot, and otherwise false. The default is false.
10370	CopyTags *bool `type:"boolean"`
10371
10372	// DestinationRegion is used for presigning the request to a given region.
10373	DestinationRegion *string `type:"string"`
10374
10375	// The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key
10376	// ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key
10377	// alias for the KMS encryption key.
10378	//
10379	// If you copy an unencrypted DB cluster snapshot and specify a value for the
10380	// KmsKeyId parameter, Amazon RDS encrypts the target DB cluster snapshot using
10381	// the specified KMS encryption key.
10382	//
10383	// If you copy an encrypted DB cluster snapshot from your AWS account, you can
10384	// specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
10385	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
10386	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
10387	//
10388	// If you copy an encrypted DB cluster snapshot that is shared from another
10389	// AWS account, then you must specify a value for KmsKeyId.
10390	//
10391	// To copy an encrypted DB cluster snapshot to another AWS Region, you must
10392	// set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the
10393	// DB cluster snapshot in the destination AWS Region. KMS encryption keys are
10394	// specific to the AWS Region that they are created in, and you can't use encryption
10395	// keys from one AWS Region in another AWS Region.
10396	KmsKeyId *string `type:"string"`
10397
10398	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
10399	// API action in the AWS Region that contains the source DB cluster snapshot
10400	// to copy. The PreSignedUrl parameter must be used when copying an encrypted
10401	// DB cluster snapshot from another AWS Region.
10402	//
10403	// The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot
10404	// API action that can be executed in the source AWS Region that contains the
10405	// encrypted DB cluster snapshot to be copied. The pre-signed URL request must
10406	// contain the following parameter values:
10407	//
10408	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
10409	//    the copy of the DB cluster snapshot in the destination AWS Region. This
10410	//    is the same identifier for both the CopyDBClusterSnapshot action that
10411	//    is called in the destination AWS Region, and the action contained in the
10412	//    pre-signed URL.
10413	//
10414	//    * DestinationRegion - The name of the AWS Region that the DB cluster snapshot
10415	//    will be created in.
10416	//
10417	//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
10418	//    for the encrypted DB cluster snapshot to be copied. This identifier must
10419	//    be in the Amazon Resource Name (ARN) format for the source AWS Region.
10420	//    For example, if you are copying an encrypted DB cluster snapshot from
10421	//    the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
10422	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
10423	//
10424	// To learn how to generate a Signature Version 4 signed request, see  Authenticating
10425	// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
10426	// and  Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
10427	PreSignedUrl *string `type:"string"`
10428
10429	// The identifier of the DB cluster snapshot to copy. This parameter is not
10430	// case-sensitive.
10431	//
10432	// You can't copy an encrypted, shared DB cluster snapshot from one AWS Region
10433	// to another.
10434	//
10435	// Constraints:
10436	//
10437	//    * Must specify a valid system snapshot in the "available" state.
10438	//
10439	//    * If the source snapshot is in the same AWS Region as the copy, specify
10440	//    a valid DB snapshot identifier.
10441	//
10442	//    * If the source snapshot is in a different AWS Region than the copy, specify
10443	//    a valid DB cluster snapshot ARN. For more information, go to  Copying
10444	//    a DB Snapshot or DB Cluster Snapshot (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html).
10445	//
10446	// Example: my-cluster-snapshot1
10447	//
10448	// SourceDBClusterSnapshotIdentifier is a required field
10449	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
10450
10451	// SourceRegion is the source region where the resource exists. This is not
10452	// sent over the wire and is only used for presigning. This value should always
10453	// have the same region as the source ARN.
10454	SourceRegion *string `type:"string" ignore:"true"`
10455
10456	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
10457	Tags []*Tag `locationNameList:"Tag" type:"list"`
10458
10459	// The identifier of the new DB cluster snapshot to create from the source DB
10460	// cluster snapshot. This parameter is not case-sensitive.
10461	//
10462	// Constraints:
10463	//
10464	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
10465	//
10466	//    * First character must be a letter.
10467	//
10468	//    * Cannot end with a hyphen or contain two consecutive hyphens.
10469	//
10470	// Example: my-cluster-snapshot2
10471	//
10472	// TargetDBClusterSnapshotIdentifier is a required field
10473	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
10474}
10475
10476// String returns the string representation
10477func (s CopyDBClusterSnapshotInput) String() string {
10478	return awsutil.Prettify(s)
10479}
10480
10481// GoString returns the string representation
10482func (s CopyDBClusterSnapshotInput) GoString() string {
10483	return s.String()
10484}
10485
10486// Validate inspects the fields of the type to determine if they are valid.
10487func (s *CopyDBClusterSnapshotInput) Validate() error {
10488	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
10489	if s.SourceDBClusterSnapshotIdentifier == nil {
10490		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
10491	}
10492	if s.TargetDBClusterSnapshotIdentifier == nil {
10493		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
10494	}
10495
10496	if invalidParams.Len() > 0 {
10497		return invalidParams
10498	}
10499	return nil
10500}
10501
10502// SetCopyTags sets the CopyTags field's value.
10503func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
10504	s.CopyTags = &v
10505	return s
10506}
10507
10508// SetDestinationRegion sets the DestinationRegion field's value.
10509func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
10510	s.DestinationRegion = &v
10511	return s
10512}
10513
10514// SetKmsKeyId sets the KmsKeyId field's value.
10515func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
10516	s.KmsKeyId = &v
10517	return s
10518}
10519
10520// SetPreSignedUrl sets the PreSignedUrl field's value.
10521func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
10522	s.PreSignedUrl = &v
10523	return s
10524}
10525
10526// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
10527func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
10528	s.SourceDBClusterSnapshotIdentifier = &v
10529	return s
10530}
10531
10532// SetSourceRegion sets the SourceRegion field's value.
10533func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
10534	s.SourceRegion = &v
10535	return s
10536}
10537
10538// SetTags sets the Tags field's value.
10539func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
10540	s.Tags = v
10541	return s
10542}
10543
10544// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
10545func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
10546	s.TargetDBClusterSnapshotIdentifier = &v
10547	return s
10548}
10549
10550// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshotResult
10551type CopyDBClusterSnapshotOutput struct {
10552	_ struct{} `type:"structure"`
10553
10554	// Contains the details for an Amazon RDS DB cluster snapshot
10555	//
10556	// This data type is used as a response element in the DescribeDBClusterSnapshots
10557	// action.
10558	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
10559}
10560
10561// String returns the string representation
10562func (s CopyDBClusterSnapshotOutput) String() string {
10563	return awsutil.Prettify(s)
10564}
10565
10566// GoString returns the string representation
10567func (s CopyDBClusterSnapshotOutput) GoString() string {
10568	return s.String()
10569}
10570
10571// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
10572func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
10573	s.DBClusterSnapshot = v
10574	return s
10575}
10576
10577// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroupMessage
10578type CopyDBParameterGroupInput struct {
10579	_ struct{} `type:"structure"`
10580
10581	// The identifier or ARN for the source DB parameter group. For information
10582	// about creating an ARN, see  Constructing an RDS Amazon Resource Name (ARN)
10583	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
10584	//
10585	// Constraints:
10586	//
10587	//    * Must specify a valid DB parameter group.
10588	//
10589	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
10590	//    or a valid ARN.
10591	//
10592	// SourceDBParameterGroupIdentifier is a required field
10593	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
10594
10595	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
10596	Tags []*Tag `locationNameList:"Tag" type:"list"`
10597
10598	// A description for the copied DB parameter group.
10599	//
10600	// TargetDBParameterGroupDescription is a required field
10601	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
10602
10603	// The identifier for the copied DB parameter group.
10604	//
10605	// Constraints:
10606	//
10607	//    * Cannot be null, empty, or blank
10608	//
10609	//    * Must contain from 1 to 255 letters, numbers, or hyphens
10610	//
10611	//    * First character must be a letter
10612	//
10613	//    * Cannot end with a hyphen or contain two consecutive hyphens
10614	//
10615	// Example: my-db-parameter-group
10616	//
10617	// TargetDBParameterGroupIdentifier is a required field
10618	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
10619}
10620
10621// String returns the string representation
10622func (s CopyDBParameterGroupInput) String() string {
10623	return awsutil.Prettify(s)
10624}
10625
10626// GoString returns the string representation
10627func (s CopyDBParameterGroupInput) GoString() string {
10628	return s.String()
10629}
10630
10631// Validate inspects the fields of the type to determine if they are valid.
10632func (s *CopyDBParameterGroupInput) Validate() error {
10633	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
10634	if s.SourceDBParameterGroupIdentifier == nil {
10635		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
10636	}
10637	if s.TargetDBParameterGroupDescription == nil {
10638		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
10639	}
10640	if s.TargetDBParameterGroupIdentifier == nil {
10641		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
10642	}
10643
10644	if invalidParams.Len() > 0 {
10645		return invalidParams
10646	}
10647	return nil
10648}
10649
10650// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
10651func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
10652	s.SourceDBParameterGroupIdentifier = &v
10653	return s
10654}
10655
10656// SetTags sets the Tags field's value.
10657func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
10658	s.Tags = v
10659	return s
10660}
10661
10662// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
10663func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
10664	s.TargetDBParameterGroupDescription = &v
10665	return s
10666}
10667
10668// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
10669func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
10670	s.TargetDBParameterGroupIdentifier = &v
10671	return s
10672}
10673
10674// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroupResult
10675type CopyDBParameterGroupOutput struct {
10676	_ struct{} `type:"structure"`
10677
10678	// Contains the details of an Amazon RDS DB parameter group.
10679	//
10680	// This data type is used as a response element in the DescribeDBParameterGroups
10681	// action.
10682	DBParameterGroup *DBParameterGroup `type:"structure"`
10683}
10684
10685// String returns the string representation
10686func (s CopyDBParameterGroupOutput) String() string {
10687	return awsutil.Prettify(s)
10688}
10689
10690// GoString returns the string representation
10691func (s CopyDBParameterGroupOutput) GoString() string {
10692	return s.String()
10693}
10694
10695// SetDBParameterGroup sets the DBParameterGroup field's value.
10696func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
10697	s.DBParameterGroup = v
10698	return s
10699}
10700
10701// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshotMessage
10702type CopyDBSnapshotInput struct {
10703	_ struct{} `type:"structure"`
10704
10705	// True to copy all tags from the source DB snapshot to the target DB snapshot,
10706	// and otherwise false. The default is false.
10707	CopyTags *bool `type:"boolean"`
10708
10709	// DestinationRegion is used for presigning the request to a given region.
10710	DestinationRegion *string `type:"string"`
10711
10712	// The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon
10713	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
10714	// encryption key.
10715	//
10716	// If you copy an encrypted DB snapshot from your AWS account, you can specify
10717	// a value for this parameter to encrypt the copy with a new KMS encryption
10718	// key. If you don't specify a value for this parameter, then the copy of the
10719	// DB snapshot is encrypted with the same KMS key as the source DB snapshot.
10720	//
10721	// If you copy an encrypted DB snapshot that is shared from another AWS account,
10722	// then you must specify a value for this parameter.
10723	//
10724	// If you specify this parameter when you copy an unencrypted snapshot, the
10725	// copy is encrypted.
10726	//
10727	// If you copy an encrypted snapshot to a different AWS Region, then you must
10728	// specify a KMS key for the destination AWS Region. KMS encryption keys are
10729	// specific to the AWS Region that they are created in, and you can't use encryption
10730	// keys from one AWS Region in another AWS Region.
10731	KmsKeyId *string `type:"string"`
10732
10733	// The name of an option group to associate with the copy of the snapshot.
10734	//
10735	// Specify this option if you are copying a snapshot from one AWS Region to
10736	// another, and your DB instance uses a nondefault option group. If your source
10737	// DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL
10738	// Server, you must specify this option when copying across AWS Regions. For
10739	// more information, see Option Group Considerations (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options).
10740	OptionGroupName *string `type:"string"`
10741
10742	// The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot
10743	// API action in the source AWS Region that contains the source DB snapshot
10744	// to copy.
10745	//
10746	// You must specify this parameter when you copy an encrypted DB snapshot from
10747	// another AWS Region by using the Amazon RDS API. You can specify the --source-region
10748	// option instead of this parameter when you copy an encrypted DB snapshot from
10749	// another AWS Region by using the AWS CLI.
10750	//
10751	// The presigned URL must be a valid request for the CopyDBSnapshot API action
10752	// that can be executed in the source AWS Region that contains the encrypted
10753	// DB snapshot to be copied. The presigned URL request must contain the following
10754	// parameter values:
10755	//
10756	//    * DestinationRegion - The AWS Region that the encrypted DB snapshot is
10757	//    copied to. This AWS Region is the same one where the CopyDBSnapshot action
10758	//    is called that contains this presigned URL.
10759	//
10760	// For example, if you copy an encrypted DB snapshot from the us-west-2 AWS
10761	//    Region to the us-east-1 AWS Region, then you call the CopyDBSnapshot action
10762	//    in the us-east-1 AWS Region and provide a presigned URL that contains
10763	//    a call to the CopyDBSnapshot action in the us-west-2 AWS Region. For this
10764	//    example, the DestinationRegion in the presigned URL must be set to the
10765	//    us-east-1 AWS Region.
10766	//
10767	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
10768	//    the copy of the DB snapshot in the destination AWS Region. This is the
10769	//    same identifier for both the CopyDBSnapshot action that is called in the
10770	//    destination AWS Region, and the action contained in the presigned URL.
10771	//
10772	//
10773	//    * SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted
10774	//    snapshot to be copied. This identifier must be in the Amazon Resource
10775	//    Name (ARN) format for the source AWS Region. For example, if you are copying
10776	//    an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier
10777	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.
10778	//
10779	//
10780	// To learn how to generate a Signature Version 4 signed request, see Authenticating
10781	// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
10782	// and Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
10783	PreSignedUrl *string `type:"string"`
10784
10785	// The identifier for the source DB snapshot.
10786	//
10787	// If the source snapshot is in the same AWS Region as the copy, specify a valid
10788	// DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.
10789	//
10790	// If the source snapshot is in a different AWS Region than the copy, specify
10791	// a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.
10792	//
10793	// If you are copying from a shared manual DB snapshot, this parameter must
10794	// be the Amazon Resource Name (ARN) of the shared DB snapshot.
10795	//
10796	// If you are copying an encrypted snapshot this parameter must be in the ARN
10797	// format for the source AWS Region, and must match the SourceDBSnapshotIdentifier
10798	// in the PreSignedUrl parameter.
10799	//
10800	// Constraints:
10801	//
10802	//    * Must specify a valid system snapshot in the "available" state.
10803	//
10804	// Example: rds:mydb-2012-04-02-00-01
10805	//
10806	// Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805
10807	//
10808	// SourceDBSnapshotIdentifier is a required field
10809	SourceDBSnapshotIdentifier *string `type:"string" required:"true"`
10810
10811	// SourceRegion is the source region where the resource exists. This is not
10812	// sent over the wire and is only used for presigning. This value should always
10813	// have the same region as the source ARN.
10814	SourceRegion *string `type:"string" ignore:"true"`
10815
10816	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
10817	Tags []*Tag `locationNameList:"Tag" type:"list"`
10818
10819	// The identifier for the copy of the snapshot.
10820	//
10821	// Constraints:
10822	//
10823	//    * Cannot be null, empty, or blank
10824	//
10825	//    * Must contain from 1 to 255 letters, numbers, or hyphens
10826	//
10827	//    * First character must be a letter
10828	//
10829	//    * Cannot end with a hyphen or contain two consecutive hyphens
10830	//
10831	// Example: my-db-snapshot
10832	//
10833	// TargetDBSnapshotIdentifier is a required field
10834	TargetDBSnapshotIdentifier *string `type:"string" required:"true"`
10835}
10836
10837// String returns the string representation
10838func (s CopyDBSnapshotInput) String() string {
10839	return awsutil.Prettify(s)
10840}
10841
10842// GoString returns the string representation
10843func (s CopyDBSnapshotInput) GoString() string {
10844	return s.String()
10845}
10846
10847// Validate inspects the fields of the type to determine if they are valid.
10848func (s *CopyDBSnapshotInput) Validate() error {
10849	invalidParams := request.ErrInvalidParams{Context: "CopyDBSnapshotInput"}
10850	if s.SourceDBSnapshotIdentifier == nil {
10851		invalidParams.Add(request.NewErrParamRequired("SourceDBSnapshotIdentifier"))
10852	}
10853	if s.TargetDBSnapshotIdentifier == nil {
10854		invalidParams.Add(request.NewErrParamRequired("TargetDBSnapshotIdentifier"))
10855	}
10856
10857	if invalidParams.Len() > 0 {
10858		return invalidParams
10859	}
10860	return nil
10861}
10862
10863// SetCopyTags sets the CopyTags field's value.
10864func (s *CopyDBSnapshotInput) SetCopyTags(v bool) *CopyDBSnapshotInput {
10865	s.CopyTags = &v
10866	return s
10867}
10868
10869// SetDestinationRegion sets the DestinationRegion field's value.
10870func (s *CopyDBSnapshotInput) SetDestinationRegion(v string) *CopyDBSnapshotInput {
10871	s.DestinationRegion = &v
10872	return s
10873}
10874
10875// SetKmsKeyId sets the KmsKeyId field's value.
10876func (s *CopyDBSnapshotInput) SetKmsKeyId(v string) *CopyDBSnapshotInput {
10877	s.KmsKeyId = &v
10878	return s
10879}
10880
10881// SetOptionGroupName sets the OptionGroupName field's value.
10882func (s *CopyDBSnapshotInput) SetOptionGroupName(v string) *CopyDBSnapshotInput {
10883	s.OptionGroupName = &v
10884	return s
10885}
10886
10887// SetPreSignedUrl sets the PreSignedUrl field's value.
10888func (s *CopyDBSnapshotInput) SetPreSignedUrl(v string) *CopyDBSnapshotInput {
10889	s.PreSignedUrl = &v
10890	return s
10891}
10892
10893// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
10894func (s *CopyDBSnapshotInput) SetSourceDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
10895	s.SourceDBSnapshotIdentifier = &v
10896	return s
10897}
10898
10899// SetSourceRegion sets the SourceRegion field's value.
10900func (s *CopyDBSnapshotInput) SetSourceRegion(v string) *CopyDBSnapshotInput {
10901	s.SourceRegion = &v
10902	return s
10903}
10904
10905// SetTags sets the Tags field's value.
10906func (s *CopyDBSnapshotInput) SetTags(v []*Tag) *CopyDBSnapshotInput {
10907	s.Tags = v
10908	return s
10909}
10910
10911// SetTargetDBSnapshotIdentifier sets the TargetDBSnapshotIdentifier field's value.
10912func (s *CopyDBSnapshotInput) SetTargetDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
10913	s.TargetDBSnapshotIdentifier = &v
10914	return s
10915}
10916
10917// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshotResult
10918type CopyDBSnapshotOutput struct {
10919	_ struct{} `type:"structure"`
10920
10921	// Contains the details of an Amazon RDS DB snapshot.
10922	//
10923	// This data type is used as a response element in the DescribeDBSnapshots action.
10924	DBSnapshot *DBSnapshot `type:"structure"`
10925}
10926
10927// String returns the string representation
10928func (s CopyDBSnapshotOutput) String() string {
10929	return awsutil.Prettify(s)
10930}
10931
10932// GoString returns the string representation
10933func (s CopyDBSnapshotOutput) GoString() string {
10934	return s.String()
10935}
10936
10937// SetDBSnapshot sets the DBSnapshot field's value.
10938func (s *CopyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CopyDBSnapshotOutput {
10939	s.DBSnapshot = v
10940	return s
10941}
10942
10943// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroupMessage
10944type CopyOptionGroupInput struct {
10945	_ struct{} `type:"structure"`
10946
10947	// The identifier or ARN for the source option group. For information about
10948	// creating an ARN, see  Constructing an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
10949	//
10950	// Constraints:
10951	//
10952	//    * Must specify a valid option group.
10953	//
10954	//    * If the source option group is in the same AWS Region as the copy, specify
10955	//    a valid option group identifier, for example my-option-group, or a valid
10956	//    ARN.
10957	//
10958	//    * If the source option group is in a different AWS Region than the copy,
10959	//    specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.
10960	//
10961	// SourceOptionGroupIdentifier is a required field
10962	SourceOptionGroupIdentifier *string `type:"string" required:"true"`
10963
10964	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
10965	Tags []*Tag `locationNameList:"Tag" type:"list"`
10966
10967	// The description for the copied option group.
10968	//
10969	// TargetOptionGroupDescription is a required field
10970	TargetOptionGroupDescription *string `type:"string" required:"true"`
10971
10972	// The identifier for the copied option group.
10973	//
10974	// Constraints:
10975	//
10976	//    * Cannot be null, empty, or blank
10977	//
10978	//    * Must contain from 1 to 255 letters, numbers, or hyphens
10979	//
10980	//    * First character must be a letter
10981	//
10982	//    * Cannot end with a hyphen or contain two consecutive hyphens
10983	//
10984	// Example: my-option-group
10985	//
10986	// TargetOptionGroupIdentifier is a required field
10987	TargetOptionGroupIdentifier *string `type:"string" required:"true"`
10988}
10989
10990// String returns the string representation
10991func (s CopyOptionGroupInput) String() string {
10992	return awsutil.Prettify(s)
10993}
10994
10995// GoString returns the string representation
10996func (s CopyOptionGroupInput) GoString() string {
10997	return s.String()
10998}
10999
11000// Validate inspects the fields of the type to determine if they are valid.
11001func (s *CopyOptionGroupInput) Validate() error {
11002	invalidParams := request.ErrInvalidParams{Context: "CopyOptionGroupInput"}
11003	if s.SourceOptionGroupIdentifier == nil {
11004		invalidParams.Add(request.NewErrParamRequired("SourceOptionGroupIdentifier"))
11005	}
11006	if s.TargetOptionGroupDescription == nil {
11007		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupDescription"))
11008	}
11009	if s.TargetOptionGroupIdentifier == nil {
11010		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupIdentifier"))
11011	}
11012
11013	if invalidParams.Len() > 0 {
11014		return invalidParams
11015	}
11016	return nil
11017}
11018
11019// SetSourceOptionGroupIdentifier sets the SourceOptionGroupIdentifier field's value.
11020func (s *CopyOptionGroupInput) SetSourceOptionGroupIdentifier(v string) *CopyOptionGroupInput {
11021	s.SourceOptionGroupIdentifier = &v
11022	return s
11023}
11024
11025// SetTags sets the Tags field's value.
11026func (s *CopyOptionGroupInput) SetTags(v []*Tag) *CopyOptionGroupInput {
11027	s.Tags = v
11028	return s
11029}
11030
11031// SetTargetOptionGroupDescription sets the TargetOptionGroupDescription field's value.
11032func (s *CopyOptionGroupInput) SetTargetOptionGroupDescription(v string) *CopyOptionGroupInput {
11033	s.TargetOptionGroupDescription = &v
11034	return s
11035}
11036
11037// SetTargetOptionGroupIdentifier sets the TargetOptionGroupIdentifier field's value.
11038func (s *CopyOptionGroupInput) SetTargetOptionGroupIdentifier(v string) *CopyOptionGroupInput {
11039	s.TargetOptionGroupIdentifier = &v
11040	return s
11041}
11042
11043// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroupResult
11044type CopyOptionGroupOutput struct {
11045	_ struct{} `type:"structure"`
11046
11047	OptionGroup *OptionGroup `type:"structure"`
11048}
11049
11050// String returns the string representation
11051func (s CopyOptionGroupOutput) String() string {
11052	return awsutil.Prettify(s)
11053}
11054
11055// GoString returns the string representation
11056func (s CopyOptionGroupOutput) GoString() string {
11057	return s.String()
11058}
11059
11060// SetOptionGroup sets the OptionGroup field's value.
11061func (s *CopyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CopyOptionGroupOutput {
11062	s.OptionGroup = v
11063	return s
11064}
11065
11066// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterMessage
11067type CreateDBClusterInput struct {
11068	_ struct{} `type:"structure"`
11069
11070	// A list of EC2 Availability Zones that instances in the DB cluster can be
11071	// created in. For information on AWS Regions and Availability Zones, see Regions
11072	// and Availability Zones (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
11073	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
11074
11075	// The number of days for which automated backups are retained. You must specify
11076	// a minimum value of 1.
11077	//
11078	// Default: 1
11079	//
11080	// Constraints:
11081	//
11082	//    * Must be a value from 1 to 35
11083	BackupRetentionPeriod *int64 `type:"integer"`
11084
11085	// A value that indicates that the DB cluster should be associated with the
11086	// specified CharacterSet.
11087	CharacterSetName *string `type:"string"`
11088
11089	// The DB cluster identifier. This parameter is stored as a lowercase string.
11090	//
11091	// Constraints:
11092	//
11093	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
11094	//
11095	//    * First character must be a letter.
11096	//
11097	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11098	//
11099	// Example: my-cluster1
11100	//
11101	// DBClusterIdentifier is a required field
11102	DBClusterIdentifier *string `type:"string" required:"true"`
11103
11104	// The name of the DB cluster parameter group to associate with this DB cluster.
11105	// If this argument is omitted, default.aurora5.6 is used.
11106	//
11107	// Constraints:
11108	//
11109	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
11110	DBClusterParameterGroupName *string `type:"string"`
11111
11112	// A DB subnet group to associate with this DB cluster.
11113	//
11114	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
11115	// default.
11116	//
11117	// Example: mySubnetgroup
11118	DBSubnetGroupName *string `type:"string"`
11119
11120	// The name for your database of up to 64 alpha-numeric characters. If you do
11121	// not provide a name, Amazon RDS will not create a database in the DB cluster
11122	// you are creating.
11123	DatabaseName *string `type:"string"`
11124
11125	// DestinationRegion is used for presigning the request to a given region.
11126	DestinationRegion *string `type:"string"`
11127
11128	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
11129	// to database accounts, and otherwise false.
11130	//
11131	// Default: false
11132	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
11133
11134	// The name of the database engine to be used for this DB cluster.
11135	//
11136	// Valid Values: aurora, aurora-postgresql
11137	//
11138	// Engine is a required field
11139	Engine *string `type:"string" required:"true"`
11140
11141	// The version number of the database engine to use.
11142	//
11143	// Aurora
11144	//
11145	// Example: 5.6.10a
11146	EngineVersion *string `type:"string"`
11147
11148	// The AWS KMS key identifier for an encrypted DB cluster.
11149	//
11150	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
11151	// key. If you are creating a DB cluster with the same AWS account that owns
11152	// the KMS encryption key used to encrypt the new DB cluster, then you can use
11153	// the KMS key alias instead of the ARN for the KMS encryption key.
11154	//
11155	// If an encryption key is not specified in KmsKeyId:
11156	//
11157	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
11158	//    Amazon RDS will use the encryption key used to encrypt the source. Otherwise,
11159	//    Amazon RDS will use your default encryption key.
11160	//
11161	//    * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier
11162	//    is not specified, then Amazon RDS will use your default encryption key.
11163	//
11164	// AWS KMS creates the default encryption key for your AWS account. Your AWS
11165	// account has a different default encryption key for each AWS Region.
11166	//
11167	// If you create a Read Replica of an encrypted DB cluster in another AWS Region,
11168	// you must set KmsKeyId to a KMS key ID that is valid in the destination AWS
11169	// Region. This key is used to encrypt the Read Replica in that AWS Region.
11170	KmsKeyId *string `type:"string"`
11171
11172	// The password for the master database user. This password can contain any
11173	// printable ASCII character except "/", """, or "@".
11174	//
11175	// Constraints: Must contain from 8 to 41 characters.
11176	MasterUserPassword *string `type:"string"`
11177
11178	// The name of the master user for the DB cluster.
11179	//
11180	// Constraints:
11181	//
11182	//    * Must be 1 to 16 letters or numbers.
11183	//
11184	//    * First character must be a letter.
11185	//
11186	//    * Cannot be a reserved word for the chosen database engine.
11187	MasterUsername *string `type:"string"`
11188
11189	// A value that indicates that the DB cluster should be associated with the
11190	// specified option group.
11191	//
11192	// Permanent options can't be removed from an option group. The option group
11193	// can't be removed from a DB cluster once it is associated with a DB cluster.
11194	OptionGroupName *string `type:"string"`
11195
11196	// The port number on which the instances in the DB cluster accept connections.
11197	//
11198	// Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.
11199	Port *int64 `type:"integer"`
11200
11201	// A URL that contains a Signature Version 4 signed request for the CreateDBCluster
11202	// action to be called in the source AWS Region where the DB cluster is replicated
11203	// from. You only need to specify PreSignedUrl when you are performing cross-region
11204	// replication from an encrypted DB cluster.
11205	//
11206	// The pre-signed URL must be a valid request for the CreateDBCluster API action
11207	// that can be executed in the source AWS Region that contains the encrypted
11208	// DB cluster to be copied.
11209	//
11210	// The pre-signed URL request must contain the following parameter values:
11211	//
11212	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
11213	//    the copy of the DB cluster in the destination AWS Region. This should
11214	//    refer to the same KMS key for both the CreateDBCluster action that is
11215	//    called in the destination AWS Region, and the action contained in the
11216	//    pre-signed URL.
11217	//
11218	//    * DestinationRegion - The name of the AWS Region that Aurora Read Replica
11219	//    will be created in.
11220	//
11221	//    * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted
11222	//    DB cluster to be copied. This identifier must be in the Amazon Resource
11223	//    Name (ARN) format for the source AWS Region. For example, if you are copying
11224	//    an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier
11225	//    would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.
11226	//
11227	// To learn how to generate a Signature Version 4 signed request, see  Authenticating
11228	// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
11229	// and  Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
11230	PreSignedUrl *string `type:"string"`
11231
11232	// The daily time range during which automated backups are created if automated
11233	// backups are enabled using the BackupRetentionPeriod parameter.
11234	//
11235	// The default is a 30-minute window selected at random from an 8-hour block
11236	// of time for each AWS Region. To see the time blocks available, see  Adjusting
11237	// the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
11238	// in the Amazon RDS User Guide.
11239	//
11240	// Constraints:
11241	//
11242	//    * Must be in the format hh24:mi-hh24:mi.
11243	//
11244	//    * Must be in Universal Coordinated Time (UTC).
11245	//
11246	//    * Must not conflict with the preferred maintenance window.
11247	//
11248	//    * Must be at least 30 minutes.
11249	PreferredBackupWindow *string `type:"string"`
11250
11251	// The weekly time range during which system maintenance can occur, in Universal
11252	// Coordinated Time (UTC).
11253	//
11254	// Format: ddd:hh24:mi-ddd:hh24:mi
11255	//
11256	// The default is a 30-minute window selected at random from an 8-hour block
11257	// of time for each AWS Region, occurring on a random day of the week. To see
11258	// the time blocks available, see  Adjusting the Preferred Maintenance Window
11259	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
11260	// in the Amazon RDS User Guide.
11261	//
11262	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
11263	//
11264	// Constraints: Minimum 30-minute window.
11265	PreferredMaintenanceWindow *string `type:"string"`
11266
11267	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
11268	// this DB cluster is created as a Read Replica.
11269	ReplicationSourceIdentifier *string `type:"string"`
11270
11271	// SourceRegion is the source region where the resource exists. This is not
11272	// sent over the wire and is only used for presigning. This value should always
11273	// have the same region as the source ARN.
11274	SourceRegion *string `type:"string" ignore:"true"`
11275
11276	// Specifies whether the DB cluster is encrypted.
11277	StorageEncrypted *bool `type:"boolean"`
11278
11279	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
11280	Tags []*Tag `locationNameList:"Tag" type:"list"`
11281
11282	// A list of EC2 VPC security groups to associate with this DB cluster.
11283	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
11284}
11285
11286// String returns the string representation
11287func (s CreateDBClusterInput) String() string {
11288	return awsutil.Prettify(s)
11289}
11290
11291// GoString returns the string representation
11292func (s CreateDBClusterInput) GoString() string {
11293	return s.String()
11294}
11295
11296// Validate inspects the fields of the type to determine if they are valid.
11297func (s *CreateDBClusterInput) Validate() error {
11298	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
11299	if s.DBClusterIdentifier == nil {
11300		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11301	}
11302	if s.Engine == nil {
11303		invalidParams.Add(request.NewErrParamRequired("Engine"))
11304	}
11305
11306	if invalidParams.Len() > 0 {
11307		return invalidParams
11308	}
11309	return nil
11310}
11311
11312// SetAvailabilityZones sets the AvailabilityZones field's value.
11313func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
11314	s.AvailabilityZones = v
11315	return s
11316}
11317
11318// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
11319func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
11320	s.BackupRetentionPeriod = &v
11321	return s
11322}
11323
11324// SetCharacterSetName sets the CharacterSetName field's value.
11325func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
11326	s.CharacterSetName = &v
11327	return s
11328}
11329
11330// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11331func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
11332	s.DBClusterIdentifier = &v
11333	return s
11334}
11335
11336// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
11337func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
11338	s.DBClusterParameterGroupName = &v
11339	return s
11340}
11341
11342// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
11343func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
11344	s.DBSubnetGroupName = &v
11345	return s
11346}
11347
11348// SetDatabaseName sets the DatabaseName field's value.
11349func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
11350	s.DatabaseName = &v
11351	return s
11352}
11353
11354// SetDestinationRegion sets the DestinationRegion field's value.
11355func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
11356	s.DestinationRegion = &v
11357	return s
11358}
11359
11360// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
11361func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
11362	s.EnableIAMDatabaseAuthentication = &v
11363	return s
11364}
11365
11366// SetEngine sets the Engine field's value.
11367func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
11368	s.Engine = &v
11369	return s
11370}
11371
11372// SetEngineVersion sets the EngineVersion field's value.
11373func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
11374	s.EngineVersion = &v
11375	return s
11376}
11377
11378// SetKmsKeyId sets the KmsKeyId field's value.
11379func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
11380	s.KmsKeyId = &v
11381	return s
11382}
11383
11384// SetMasterUserPassword sets the MasterUserPassword field's value.
11385func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
11386	s.MasterUserPassword = &v
11387	return s
11388}
11389
11390// SetMasterUsername sets the MasterUsername field's value.
11391func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
11392	s.MasterUsername = &v
11393	return s
11394}
11395
11396// SetOptionGroupName sets the OptionGroupName field's value.
11397func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
11398	s.OptionGroupName = &v
11399	return s
11400}
11401
11402// SetPort sets the Port field's value.
11403func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
11404	s.Port = &v
11405	return s
11406}
11407
11408// SetPreSignedUrl sets the PreSignedUrl field's value.
11409func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
11410	s.PreSignedUrl = &v
11411	return s
11412}
11413
11414// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
11415func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
11416	s.PreferredBackupWindow = &v
11417	return s
11418}
11419
11420// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
11421func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
11422	s.PreferredMaintenanceWindow = &v
11423	return s
11424}
11425
11426// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
11427func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
11428	s.ReplicationSourceIdentifier = &v
11429	return s
11430}
11431
11432// SetSourceRegion sets the SourceRegion field's value.
11433func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
11434	s.SourceRegion = &v
11435	return s
11436}
11437
11438// SetStorageEncrypted sets the StorageEncrypted field's value.
11439func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
11440	s.StorageEncrypted = &v
11441	return s
11442}
11443
11444// SetTags sets the Tags field's value.
11445func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
11446	s.Tags = v
11447	return s
11448}
11449
11450// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
11451func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
11452	s.VpcSecurityGroupIds = v
11453	return s
11454}
11455
11456// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterResult
11457type CreateDBClusterOutput struct {
11458	_ struct{} `type:"structure"`
11459
11460	// Contains the details of an Amazon RDS DB cluster.
11461	//
11462	// This data type is used as a response element in the DescribeDBClusters action.
11463	DBCluster *DBCluster `type:"structure"`
11464}
11465
11466// String returns the string representation
11467func (s CreateDBClusterOutput) String() string {
11468	return awsutil.Prettify(s)
11469}
11470
11471// GoString returns the string representation
11472func (s CreateDBClusterOutput) GoString() string {
11473	return s.String()
11474}
11475
11476// SetDBCluster sets the DBCluster field's value.
11477func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
11478	s.DBCluster = v
11479	return s
11480}
11481
11482// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroupMessage
11483type CreateDBClusterParameterGroupInput struct {
11484	_ struct{} `type:"structure"`
11485
11486	// The name of the DB cluster parameter group.
11487	//
11488	// Constraints:
11489	//
11490	//    * Must match the name of an existing DBClusterParameterGroup.
11491	//
11492	// This value is stored as a lowercase string.
11493	//
11494	// DBClusterParameterGroupName is a required field
11495	DBClusterParameterGroupName *string `type:"string" required:"true"`
11496
11497	// The DB cluster parameter group family name. A DB cluster parameter group
11498	// can be associated with one and only one DB cluster parameter group family,
11499	// and can be applied only to a DB cluster running a database engine and engine
11500	// version compatible with that DB cluster parameter group family.
11501	//
11502	// DBParameterGroupFamily is a required field
11503	DBParameterGroupFamily *string `type:"string" required:"true"`
11504
11505	// The description for the DB cluster parameter group.
11506	//
11507	// Description is a required field
11508	Description *string `type:"string" required:"true"`
11509
11510	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
11511	Tags []*Tag `locationNameList:"Tag" type:"list"`
11512}
11513
11514// String returns the string representation
11515func (s CreateDBClusterParameterGroupInput) String() string {
11516	return awsutil.Prettify(s)
11517}
11518
11519// GoString returns the string representation
11520func (s CreateDBClusterParameterGroupInput) GoString() string {
11521	return s.String()
11522}
11523
11524// Validate inspects the fields of the type to determine if they are valid.
11525func (s *CreateDBClusterParameterGroupInput) Validate() error {
11526	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
11527	if s.DBClusterParameterGroupName == nil {
11528		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
11529	}
11530	if s.DBParameterGroupFamily == nil {
11531		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
11532	}
11533	if s.Description == nil {
11534		invalidParams.Add(request.NewErrParamRequired("Description"))
11535	}
11536
11537	if invalidParams.Len() > 0 {
11538		return invalidParams
11539	}
11540	return nil
11541}
11542
11543// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
11544func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
11545	s.DBClusterParameterGroupName = &v
11546	return s
11547}
11548
11549// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
11550func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
11551	s.DBParameterGroupFamily = &v
11552	return s
11553}
11554
11555// SetDescription sets the Description field's value.
11556func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
11557	s.Description = &v
11558	return s
11559}
11560
11561// SetTags sets the Tags field's value.
11562func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
11563	s.Tags = v
11564	return s
11565}
11566
11567// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroupResult
11568type CreateDBClusterParameterGroupOutput struct {
11569	_ struct{} `type:"structure"`
11570
11571	// Contains the details of an Amazon RDS DB cluster parameter group.
11572	//
11573	// This data type is used as a response element in the DescribeDBClusterParameterGroups
11574	// action.
11575	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
11576}
11577
11578// String returns the string representation
11579func (s CreateDBClusterParameterGroupOutput) String() string {
11580	return awsutil.Prettify(s)
11581}
11582
11583// GoString returns the string representation
11584func (s CreateDBClusterParameterGroupOutput) GoString() string {
11585	return s.String()
11586}
11587
11588// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
11589func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
11590	s.DBClusterParameterGroup = v
11591	return s
11592}
11593
11594// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshotMessage
11595type CreateDBClusterSnapshotInput struct {
11596	_ struct{} `type:"structure"`
11597
11598	// The identifier of the DB cluster to create a snapshot for. This parameter
11599	// is not case-sensitive.
11600	//
11601	// Constraints:
11602	//
11603	//    * Must match the identifier of an existing DBCluster.
11604	//
11605	// Example: my-cluster1
11606	//
11607	// DBClusterIdentifier is a required field
11608	DBClusterIdentifier *string `type:"string" required:"true"`
11609
11610	// The identifier of the DB cluster snapshot. This parameter is stored as a
11611	// lowercase string.
11612	//
11613	// Constraints:
11614	//
11615	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
11616	//
11617	//    * First character must be a letter.
11618	//
11619	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11620	//
11621	// Example: my-cluster1-snapshot1
11622	//
11623	// DBClusterSnapshotIdentifier is a required field
11624	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
11625
11626	// The tags to be assigned to the DB cluster snapshot.
11627	Tags []*Tag `locationNameList:"Tag" type:"list"`
11628}
11629
11630// String returns the string representation
11631func (s CreateDBClusterSnapshotInput) String() string {
11632	return awsutil.Prettify(s)
11633}
11634
11635// GoString returns the string representation
11636func (s CreateDBClusterSnapshotInput) GoString() string {
11637	return s.String()
11638}
11639
11640// Validate inspects the fields of the type to determine if they are valid.
11641func (s *CreateDBClusterSnapshotInput) Validate() error {
11642	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
11643	if s.DBClusterIdentifier == nil {
11644		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11645	}
11646	if s.DBClusterSnapshotIdentifier == nil {
11647		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
11648	}
11649
11650	if invalidParams.Len() > 0 {
11651		return invalidParams
11652	}
11653	return nil
11654}
11655
11656// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11657func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
11658	s.DBClusterIdentifier = &v
11659	return s
11660}
11661
11662// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
11663func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
11664	s.DBClusterSnapshotIdentifier = &v
11665	return s
11666}
11667
11668// SetTags sets the Tags field's value.
11669func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
11670	s.Tags = v
11671	return s
11672}
11673
11674// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshotResult
11675type CreateDBClusterSnapshotOutput struct {
11676	_ struct{} `type:"structure"`
11677
11678	// Contains the details for an Amazon RDS DB cluster snapshot
11679	//
11680	// This data type is used as a response element in the DescribeDBClusterSnapshots
11681	// action.
11682	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
11683}
11684
11685// String returns the string representation
11686func (s CreateDBClusterSnapshotOutput) String() string {
11687	return awsutil.Prettify(s)
11688}
11689
11690// GoString returns the string representation
11691func (s CreateDBClusterSnapshotOutput) GoString() string {
11692	return s.String()
11693}
11694
11695// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
11696func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
11697	s.DBClusterSnapshot = v
11698	return s
11699}
11700
11701// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceMessage
11702type CreateDBInstanceInput struct {
11703	_ struct{} `type:"structure"`
11704
11705	// The amount of storage (in gibibytes) to allocate for the DB instance.
11706	//
11707	// Type: Integer
11708	//
11709	// Amazon Aurora
11710	//
11711	// Not applicable. Aurora cluster volumes automatically grow as the amount of
11712	// data in your database increases, though you are only charged for the space
11713	// that you use in an Aurora cluster volume.
11714	//
11715	// MySQL
11716	//
11717	// Constraints to the amount of storage for each storage type are the following:
11718	//
11719	//    * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 16384.
11720	//
11721	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
11722	//
11723	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
11724	//
11725	// MariaDB
11726	//
11727	// Constraints to the amount of storage for each storage type are the following:
11728	//
11729	//    * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 16384.
11730	//
11731	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
11732	//
11733	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
11734	//
11735	// PostgreSQL
11736	//
11737	// Constraints to the amount of storage for each storage type are the following:
11738	//
11739	//    * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 16384.
11740	//
11741	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
11742	//
11743	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
11744	//
11745	// Oracle
11746	//
11747	// Constraints to the amount of storage for each storage type are the following:
11748	//
11749	//    * General Purpose (SSD) storage (gp2): Must be an integer from 10 to 16384.
11750	//
11751	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
11752	//
11753	//    * Magnetic storage (standard): Must be an integer from 10 to 3072.
11754	//
11755	// SQL Server
11756	//
11757	// Constraints to the amount of storage for each storage type are the following:
11758	//
11759	//    * General Purpose (SSD) storage (gp2):
11760	//
11761	// Enterprise and Standard editions: Must be an integer from 200 to 16384.
11762	//
11763	// Web and Express editions: Must be an integer from 20 to 16384.
11764	//
11765	//    * Provisioned IOPS storage (io1):
11766	//
11767	// Enterprise and Standard editions: Must be an integer from 200 to 16384.
11768	//
11769	// Web and Express editions: Must be an integer from 100 to 16384.
11770	//
11771	//    * Magnetic storage (standard):
11772	//
11773	// Enterprise and Standard editions: Must be an integer from 200 to 1024.
11774	//
11775	// Web and Express editions: Must be an integer from 20 to 1024.
11776	AllocatedStorage *int64 `type:"integer"`
11777
11778	// Indicates that minor engine upgrades are applied automatically to the DB
11779	// instance during the maintenance window.
11780	//
11781	// Default: true
11782	AutoMinorVersionUpgrade *bool `type:"boolean"`
11783
11784	// The EC2 Availability Zone that the DB instance is created in. For information
11785	// on AWS Regions and Availability Zones, see Regions and Availability Zones
11786	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
11787	//
11788	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
11789	// Region.
11790	//
11791	// Example: us-east-1d
11792	//
11793	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
11794	// parameter is set to true. The specified Availability Zone must be in the
11795	// same AWS Region as the current endpoint.
11796	AvailabilityZone *string `type:"string"`
11797
11798	// The number of days for which automated backups are retained. Setting this
11799	// parameter to a positive number enables backups. Setting this parameter to
11800	// 0 disables automated backups.
11801	//
11802	// Amazon Aurora
11803	//
11804	// Not applicable. The retention period for automated backups is managed by
11805	// the DB cluster. For more information, see CreateDBCluster.
11806	//
11807	// Default: 1
11808	//
11809	// Constraints:
11810	//
11811	//    * Must be a value from 0 to 35
11812	//
11813	//    * Cannot be set to 0 if the DB instance is a source to Read Replicas
11814	BackupRetentionPeriod *int64 `type:"integer"`
11815
11816	// For supported engines, indicates that the DB instance should be associated
11817	// with the specified CharacterSet.
11818	//
11819	// Amazon Aurora
11820	//
11821	// Not applicable. The character set is managed by the DB cluster. For more
11822	// information, see CreateDBCluster.
11823	CharacterSetName *string `type:"string"`
11824
11825	// True to copy all tags from the DB instance to snapshots of the DB instance,
11826	// and otherwise false. The default is false.
11827	CopyTagsToSnapshot *bool `type:"boolean"`
11828
11829	// The identifier of the DB cluster that the instance will belong to.
11830	//
11831	// For information on creating a DB cluster, see CreateDBCluster.
11832	//
11833	// Type: String
11834	DBClusterIdentifier *string `type:"string"`
11835
11836	// The compute and memory capacity of the DB instance, for example, db.m4.large.
11837	// Not all DB instance classes are available in all AWS Regions, or for all
11838	// database engines. For the full list of DB instance classes, and availability
11839	// for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
11840	// in the Amazon RDS User Guide.
11841	//
11842	// DBInstanceClass is a required field
11843	DBInstanceClass *string `type:"string" required:"true"`
11844
11845	// The DB instance identifier. This parameter is stored as a lowercase string.
11846	//
11847	// Constraints:
11848	//
11849	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
11850	//
11851	//    * First character must be a letter.
11852	//
11853	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11854	//
11855	// Example: mydbinstance
11856	//
11857	// DBInstanceIdentifier is a required field
11858	DBInstanceIdentifier *string `type:"string" required:"true"`
11859
11860	// The meaning of this parameter differs according to the database engine you
11861	// use.
11862	//
11863	// Type: String
11864	//
11865	// MySQL
11866	//
11867	// The name of the database to create when the DB instance is created. If this
11868	// parameter is not specified, no database is created in the DB instance.
11869	//
11870	// Constraints:
11871	//
11872	//    * Must contain 1 to 64 letters or numbers.
11873	//
11874	//    * Cannot be a word reserved by the specified database engine
11875	//
11876	// MariaDB
11877	//
11878	// The name of the database to create when the DB instance is created. If this
11879	// parameter is not specified, no database is created in the DB instance.
11880	//
11881	// Constraints:
11882	//
11883	//    * Must contain 1 to 64 letters or numbers.
11884	//
11885	//    * Cannot be a word reserved by the specified database engine
11886	//
11887	// PostgreSQL
11888	//
11889	// The name of the database to create when the DB instance is created. If this
11890	// parameter is not specified, the default "postgres" database is created in
11891	// the DB instance.
11892	//
11893	// Constraints:
11894	//
11895	//    * Must contain 1 to 63 letters, numbers, or underscores.
11896	//
11897	//    * Must begin with a letter or an underscore. Subsequent characters can
11898	//    be letters, underscores, or digits (0-9).
11899	//
11900	//    * Cannot be a word reserved by the specified database engine
11901	//
11902	// Oracle
11903	//
11904	// The Oracle System ID (SID) of the created DB instance. If you specify null,
11905	// the default value ORCL is used. You can't specify the string NULL, or any
11906	// other reserved word, for DBName.
11907	//
11908	// Default: ORCL
11909	//
11910	// Constraints:
11911	//
11912	//    * Cannot be longer than 8 characters
11913	//
11914	// SQL Server
11915	//
11916	// Not applicable. Must be null.
11917	//
11918	// Amazon Aurora
11919	//
11920	// The name of the database to create when the primary instance of the DB cluster
11921	// is created. If this parameter is not specified, no database is created in
11922	// the DB instance.
11923	//
11924	// Constraints:
11925	//
11926	//    * Must contain 1 to 64 letters or numbers.
11927	//
11928	//    * Cannot be a word reserved by the specified database engine
11929	DBName *string `type:"string"`
11930
11931	// The name of the DB parameter group to associate with this DB instance. If
11932	// this argument is omitted, the default DBParameterGroup for the specified
11933	// engine is used.
11934	//
11935	// Constraints:
11936	//
11937	//    * Must be 1 to 255 letters, numbers, or hyphens.
11938	//
11939	//    * First character must be a letter
11940	//
11941	//    * Cannot end with a hyphen or contain two consecutive hyphens
11942	DBParameterGroupName *string `type:"string"`
11943
11944	// A list of DB security groups to associate with this DB instance.
11945	//
11946	// Default: The default DB security group for the database engine.
11947	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
11948
11949	// A DB subnet group to associate with this DB instance.
11950	//
11951	// If there is no DB subnet group, then it is a non-VPC DB instance.
11952	DBSubnetGroupName *string `type:"string"`
11953
11954	// Specify the Active Directory Domain to create the instance in.
11955	Domain *string `type:"string"`
11956
11957	// Specify the name of the IAM role to be used when making API calls to the
11958	// Directory Service.
11959	DomainIAMRoleName *string `type:"string"`
11960
11961	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
11962	// to database accounts, and otherwise false.
11963	//
11964	// You can enable IAM database authentication for the following database engines:
11965	//
11966	// Amazon Aurora
11967	//
11968	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
11969	// by the DB cluster. For more information, see CreateDBCluster.
11970	//
11971	// MySQL
11972	//
11973	//    * For MySQL 5.6, minor version 5.6.34 or higher
11974	//
11975	//    * For MySQL 5.7, minor version 5.7.16 or higher
11976	//
11977	// Default: false
11978	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
11979
11980	// True to enable Performance Insights for the DB instance, and otherwise false.
11981	EnablePerformanceInsights *bool `type:"boolean"`
11982
11983	// The name of the database engine to be used for this instance.
11984	//
11985	// Not every database engine is available for every AWS Region.
11986	//
11987	// Valid Values:
11988	//
11989	//    * aurora
11990	//
11991	//    * aurora-postgresql
11992	//
11993	//    * mariadb
11994	//
11995	//    * mysql
11996	//
11997	//    * oracle-ee
11998	//
11999	//    * oracle-se2
12000	//
12001	//    * oracle-se1
12002	//
12003	//    * oracle-se
12004	//
12005	//    * postgres
12006	//
12007	//    * sqlserver-ee
12008	//
12009	//    * sqlserver-se
12010	//
12011	//    * sqlserver-ex
12012	//
12013	//    * sqlserver-web
12014	//
12015	// Engine is a required field
12016	Engine *string `type:"string" required:"true"`
12017
12018	// The version number of the database engine to use.
12019	//
12020	// The following are the database engines and major and minor versions that
12021	// are available with Amazon RDS. Not every database engine is available for
12022	// every AWS Region.
12023	//
12024	// Amazon Aurora
12025	//
12026	// Not applicable. The version number of the database engine to be used by the
12027	// DB instance is managed by the DB cluster. For more information, see CreateDBCluster.
12028	//
12029	// MariaDB
12030	//
12031	//    * 10.1.26 (supported in all AWS Regions)
12032	//
12033	//    * 10.1.23 (supported in all AWS Regions)
12034	//
12035	//    * 10.1.19 (supported in all AWS Regions)
12036	//
12037	//    * 10.1.14 (supported in all AWS Regions except us-east-2)
12038	//
12039	// 10.0.32 (supported in all AWS Regions)
12040	//
12041	//    * 10.0.31 (supported in all AWS Regions)
12042	//
12043	//    * 10.0.28 (supported in all AWS Regions)
12044	//
12045	//    * 10.0.24 (supported in all AWS Regions)
12046	//
12047	//    * 10.0.17 (supported in all AWS Regions except us-east-2, ca-central-1,
12048	//    eu-west-2)
12049	//
12050	// Microsoft SQL Server 2017
12051	//
12052	// 14.00.1000.169.v1 (supported for all editions, and all AWS Regions)
12053	//
12054	// Microsoft SQL Server 2016
12055	//
12056	// 13.00.4451.0.v1 (supported for all editions, and all AWS Regions)
12057	//
12058	//    * 13.00.4422.0.v1 (supported for all editions, and all AWS Regions)
12059	//
12060	//    * 13.00.2164.0.v1 (supported for all editions, and all AWS Regions)
12061	//
12062	// Microsoft SQL Server 2014
12063	//
12064	// 12.00.5546.0.v1 (supported for all editions, and all AWS Regions)
12065	//
12066	//    * 12.00.5000.0.v1 (supported for all editions, and all AWS Regions)
12067	//
12068	//    * 12.00.4422.0.v1 (supported for all editions except Enterprise Edition,
12069	//    and all AWS Regions except ca-central-1 and eu-west-2)
12070	//
12071	// Microsoft SQL Server 2012
12072	//
12073	// 11.00.6594.0.v1 (supported for all editions, and all AWS Regions)
12074	//
12075	//    * 11.00.6020.0.v1 (supported for all editions, and all AWS Regions)
12076	//
12077	//    * 11.00.5058.0.v1 (supported for all editions, and all AWS Regions except
12078	//    us-east-2, ca-central-1, and eu-west-2)
12079	//
12080	//    * 11.00.2100.60.v1 (supported for all editions, and all AWS Regions except
12081	//    us-east-2, ca-central-1, and eu-west-2)
12082	//
12083	// Microsoft SQL Server 2008 R2
12084	//
12085	// 10.50.6529.0.v1 (supported for all editions, and all AWS Regions except us-east-2,
12086	// ca-central-1, and eu-west-2)
12087	//
12088	//    * 10.50.6000.34.v1 (supported for all editions, and all AWS Regions except
12089	//    us-east-2, ca-central-1, and eu-west-2)
12090	//
12091	//    * 10.50.2789.0.v1 (supported for all editions, and all AWS Regions except
12092	//    us-east-2, ca-central-1, and eu-west-2)
12093	//
12094	// MySQL
12095	//
12096	// 5.7.19 (supported in all AWS regions)
12097	//
12098	//    * 5.7.17 (supported in all AWS regions)
12099	//
12100	//    * 5.7.16 (supported in all AWS regions)
12101	//
12102	//    * 5.6.37 (supported in all AWS Regions)
12103	//
12104	//    * 5.6.35 (supported in all AWS Regions)
12105	//
12106	//    * 5.6.34 (supported in all AWS Regions)
12107	//
12108	//    * 5.6.29 (supported in all AWS Regions)
12109	//
12110	//    * 5.6.27 (supported in all AWS Regions except us-east-2, ca-central-1,
12111	//    eu-west-2)
12112	//
12113	// 5.5.57(supported in all AWS Regions)
12114	//
12115	// 5.5.54(supported in all AWS Regions)
12116	//
12117	// 5.5.53(supported in all AWS Regions)
12118	//
12119	// 5.5.46(supported in all AWS Regions)
12120	//
12121	// Oracle 12c
12122	//
12123	// 12.1.0.2.v9(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12124	//
12125	// 12.1.0.2.v8(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12126	//
12127	// 12.1.0.2.v7(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12128	//
12129	// 12.1.0.2.v6(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12130	//
12131	// 12.1.0.2.v5(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12132	//
12133	// 12.1.0.2.v4(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12134	//
12135	// 12.1.0.2.v3(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12136	//
12137	// 12.1.0.2.v2(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12138	//
12139	// 12.1.0.2.v1(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1)
12140	//
12141	// Oracle 11g
12142	//
12143	// 11.2.0.4.v13(supported for EE, SE1, and SE, in all AWS regions)
12144	//
12145	// 11.2.0.4.v12(supported for EE, SE1, and SE, in all AWS regions)
12146	//
12147	// 11.2.0.4.v11(supported for EE, SE1, and SE, in all AWS regions)
12148	//
12149	// 11.2.0.4.v10(supported for EE, SE1, and SE, in all AWS regions)
12150	//
12151	// 11.2.0.4.v9(supported for EE, SE1, and SE, in all AWS regions)
12152	//
12153	// 11.2.0.4.v8(supported for EE, SE1, and SE, in all AWS regions)
12154	//
12155	// 11.2.0.4.v7(supported for EE, SE1, and SE, in all AWS regions)
12156	//
12157	// 11.2.0.4.v6(supported for EE, SE1, and SE, in all AWS regions)
12158	//
12159	// 11.2.0.4.v5(supported for EE, SE1, and SE, in all AWS regions)
12160	//
12161	// 11.2.0.4.v4(supported for EE, SE1, and SE, in all AWS regions)
12162	//
12163	// 11.2.0.4.v3(supported for EE, SE1, and SE, in all AWS regions)
12164	//
12165	// 11.2.0.4.v1(supported for EE, SE1, and SE, in all AWS regions)
12166	//
12167	// PostgreSQL
12168	//
12169	// Version 9.6.x: 9.6.5 | 9.6.3 | 9.6.2 | 9.6.1
12170	//
12171	// Version 9.5.x: 9.5.9 | 9.5.7 | 9.5.6 | 9.5.4 | 9.5.2
12172	//
12173	// Version 9.4.x: 9.4.14 | 9.4.12 | 9.4.11 | 9.4.9 | 9.4.7
12174	//
12175	// Version 9.3.x: 9.3.19 | 9.3.17 | 9.3.16 | 9.3.14 | 9.3.12
12176	EngineVersion *string `type:"string"`
12177
12178	// The amount of Provisioned IOPS (input/output operations per second) to be
12179	// initially allocated for the DB instance. For information about valid Iops
12180	// values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance
12181	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS).
12182	//
12183	// Constraints: Must be a multiple between 1 and 50 of the storage amount for
12184	// the DB instance. Must also be an integer multiple of 1000. For example, if
12185	// the size of your DB instance is 500 GiB, then your Iops value can be 2000,
12186	// 3000, 4000, or 5000.
12187	Iops *int64 `type:"integer"`
12188
12189	// The AWS KMS key identifier for an encrypted DB instance.
12190	//
12191	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
12192	// key. If you are creating a DB instance with the same AWS account that owns
12193	// the KMS encryption key used to encrypt the new DB instance, then you can
12194	// use the KMS key alias instead of the ARN for the KM encryption key.
12195	//
12196	// Amazon Aurora
12197	//
12198	// Not applicable. The KMS key identifier is managed by the DB cluster. For
12199	// more information, see CreateDBCluster.
12200	//
12201	// If the StorageEncrypted parameter is true, and you do not specify a value
12202	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
12203	// key. AWS KMS creates the default encryption key for your AWS account. Your
12204	// AWS account has a different default encryption key for each AWS Region.
12205	KmsKeyId *string `type:"string"`
12206
12207	// License model information for this DB instance.
12208	//
12209	// Valid values: license-included | bring-your-own-license | general-public-license
12210	LicenseModel *string `type:"string"`
12211
12212	// The password for the master user. The password can include any printable
12213	// ASCII character except "/", """, or "@".
12214	//
12215	// Amazon Aurora
12216	//
12217	// Not applicable. The password for the master user is managed by the DB cluster.
12218	// For more information, see CreateDBCluster.
12219	//
12220	// MariaDB
12221	//
12222	// Constraints: Must contain from 8 to 41 characters.
12223	//
12224	// Microsoft SQL Server
12225	//
12226	// Constraints: Must contain from 8 to 128 characters.
12227	//
12228	// MySQL
12229	//
12230	// Constraints: Must contain from 8 to 41 characters.
12231	//
12232	// Oracle
12233	//
12234	// Constraints: Must contain from 8 to 30 characters.
12235	//
12236	// PostgreSQL
12237	//
12238	// Constraints: Must contain from 8 to 128 characters.
12239	MasterUserPassword *string `type:"string"`
12240
12241	// The name for the master user.
12242	//
12243	// Amazon Aurora
12244	//
12245	// Not applicable. The name for the master user is managed by the DB cluster.
12246	// For more information, see CreateDBCluster.
12247	//
12248	// MariaDB
12249	//
12250	// Constraints:
12251	//
12252	//    * Required for MariaDB.
12253	//
12254	//    * Must be 1 to 16 letters or numbers.
12255	//
12256	//    * Cannot be a reserved word for the chosen database engine.
12257	//
12258	// Microsoft SQL Server
12259	//
12260	// Constraints:
12261	//
12262	//    * Required for SQL Server.
12263	//
12264	//    * Must be 1 to 128 letters or numbers.
12265	//
12266	//    * The first character must be a letter.
12267	//
12268	//    * Cannot be a reserved word for the chosen database engine.
12269	//
12270	// MySQL
12271	//
12272	// Constraints:
12273	//
12274	//    * Required for MySQL.
12275	//
12276	//    * Must be 1 to 16 letters or numbers.
12277	//
12278	//    * First character must be a letter.
12279	//
12280	//    * Cannot be a reserved word for the chosen database engine.
12281	//
12282	// Oracle
12283	//
12284	// Constraints:
12285	//
12286	//    * Required for Oracle.
12287	//
12288	//    * Must be 1 to 30 letters or numbers.
12289	//
12290	//    * First character must be a letter.
12291	//
12292	//    * Cannot be a reserved word for the chosen database engine.
12293	//
12294	// PostgreSQL
12295	//
12296	// Constraints:
12297	//
12298	//    * Required for PostgreSQL.
12299	//
12300	//    * Must be 1 to 63 letters or numbers.
12301	//
12302	//    * First character must be a letter.
12303	//
12304	//    * Cannot be a reserved word for the chosen database engine.
12305	MasterUsername *string `type:"string"`
12306
12307	// The interval, in seconds, between points when Enhanced Monitoring metrics
12308	// are collected for the DB instance. To disable collecting Enhanced Monitoring
12309	// metrics, specify 0. The default is 0.
12310	//
12311	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
12312	// to a value other than 0.
12313	//
12314	// Valid Values: 0, 1, 5, 10, 15, 30, 60
12315	MonitoringInterval *int64 `type:"integer"`
12316
12317	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
12318	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
12319	// For information on creating a monitoring role, go to Setting Up and Enabling
12320	// Enhanced Monitoring (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling).
12321	//
12322	// If MonitoringInterval is set to a value other than 0, then you must supply
12323	// a MonitoringRoleArn value.
12324	MonitoringRoleArn *string `type:"string"`
12325
12326	// Specifies if the DB instance is a Multi-AZ deployment. You can't set the
12327	// AvailabilityZone parameter if the MultiAZ parameter is set to true.
12328	MultiAZ *bool `type:"boolean"`
12329
12330	// Indicates that the DB instance should be associated with the specified option
12331	// group.
12332	//
12333	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
12334	// can't be removed from an option group, and that option group can't be removed
12335	// from a DB instance once it is associated with a DB instance
12336	OptionGroupName *string `type:"string"`
12337
12338	// The AWS KMS key identifier for encryption of Performance Insights data. The
12339	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
12340	// KMS key alias for the KMS encryption key.
12341	PerformanceInsightsKMSKeyId *string `type:"string"`
12342
12343	// The port number on which the database accepts connections.
12344	//
12345	// MySQL
12346	//
12347	// Default: 3306
12348	//
12349	// Valid Values: 1150-65535
12350	//
12351	// Type: Integer
12352	//
12353	// MariaDB
12354	//
12355	// Default: 3306
12356	//
12357	// Valid Values: 1150-65535
12358	//
12359	// Type: Integer
12360	//
12361	// PostgreSQL
12362	//
12363	// Default: 5432
12364	//
12365	// Valid Values: 1150-65535
12366	//
12367	// Type: Integer
12368	//
12369	// Oracle
12370	//
12371	// Default: 1521
12372	//
12373	// Valid Values: 1150-65535
12374	//
12375	// SQL Server
12376	//
12377	// Default: 1433
12378	//
12379	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
12380	// 49156.
12381	//
12382	// Amazon Aurora
12383	//
12384	// Default: 3306
12385	//
12386	// Valid Values: 1150-65535
12387	//
12388	// Type: Integer
12389	Port *int64 `type:"integer"`
12390
12391	// The daily time range during which automated backups are created if automated
12392	// backups are enabled, using the BackupRetentionPeriod parameter. For more
12393	// information, see The Backup Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow).
12394	//
12395	// Amazon Aurora
12396	//
12397	// Not applicable. The daily time range for creating automated backups is managed
12398	// by the DB cluster. For more information, see CreateDBCluster.
12399	//
12400	// The default is a 30-minute window selected at random from an 8-hour block
12401	// of time for each AWS Region. To see the time blocks available, see  Adjusting
12402	// the Preferred DB Instance Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow).
12403	//
12404	// Constraints:
12405	//
12406	//    * Must be in the format hh24:mi-hh24:mi.
12407	//
12408	//    * Must be in Universal Coordinated Time (UTC).
12409	//
12410	//    * Must not conflict with the preferred maintenance window.
12411	//
12412	//    * Must be at least 30 minutes.
12413	PreferredBackupWindow *string `type:"string"`
12414
12415	// The time range each week during which system maintenance can occur, in Universal
12416	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
12417	// Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
12418	//
12419	// Format: ddd:hh24:mi-ddd:hh24:mi
12420	//
12421	// The default is a 30-minute window selected at random from an 8-hour block
12422	// of time for each AWS Region, occurring on a random day of the week.
12423	//
12424	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
12425	//
12426	// Constraints: Minimum 30-minute window.
12427	PreferredMaintenanceWindow *string `type:"string"`
12428
12429	// A value that specifies the order in which an Aurora Replica is promoted to
12430	// the primary instance after a failure of the existing primary instance. For
12431	// more information, see  Fault Tolerance for an Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance).
12432	//
12433	// Default: 1
12434	//
12435	// Valid Values: 0 - 15
12436	PromotionTier *int64 `type:"integer"`
12437
12438	// Specifies the accessibility options for the DB instance. A value of true
12439	// specifies an Internet-facing instance with a publicly resolvable DNS name,
12440	// which resolves to a public IP address. A value of false specifies an internal
12441	// instance with a DNS name that resolves to a private IP address.
12442	//
12443	// Default: The default behavior varies depending on whether a VPC has been
12444	// requested or not. The following list shows the default behavior in each case.
12445	//
12446	//    * Default VPC: true
12447	//
12448	//    * VPC: false
12449	//
12450	// If no DB subnet group has been specified as part of the request and the PubliclyAccessible
12451	// value has not been set, the DB instance is publicly accessible. If a specific
12452	// DB subnet group has been specified as part of the request and the PubliclyAccessible
12453	// value has not been set, the DB instance is private.
12454	PubliclyAccessible *bool `type:"boolean"`
12455
12456	// Specifies whether the DB instance is encrypted.
12457	//
12458	// Amazon Aurora
12459	//
12460	// Not applicable. The encryption for DB instances is managed by the DB cluster.
12461	// For more information, see CreateDBCluster.
12462	//
12463	// Default: false
12464	StorageEncrypted *bool `type:"boolean"`
12465
12466	// Specifies the storage type to be associated with the DB instance.
12467	//
12468	// Valid values: standard | gp2 | io1
12469	//
12470	// If you specify io1, you must also include a value for the Iops parameter.
12471	//
12472	// Default: io1 if the Iops parameter is specified, otherwise standard
12473	StorageType *string `type:"string"`
12474
12475	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
12476	Tags []*Tag `locationNameList:"Tag" type:"list"`
12477
12478	// The ARN from the key store with which to associate the instance for TDE encryption.
12479	TdeCredentialArn *string `type:"string"`
12480
12481	// The password for the given ARN from the key store in order to access the
12482	// device.
12483	TdeCredentialPassword *string `type:"string"`
12484
12485	// The time zone of the DB instance. The time zone parameter is currently supported
12486	// only by Microsoft SQL Server (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).
12487	Timezone *string `type:"string"`
12488
12489	// A list of EC2 VPC security groups to associate with this DB instance.
12490	//
12491	// Amazon Aurora
12492	//
12493	// Not applicable. The associated list of EC2 VPC security groups is managed
12494	// by the DB cluster. For more information, see CreateDBCluster.
12495	//
12496	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
12497	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
12498}
12499
12500// String returns the string representation
12501func (s CreateDBInstanceInput) String() string {
12502	return awsutil.Prettify(s)
12503}
12504
12505// GoString returns the string representation
12506func (s CreateDBInstanceInput) GoString() string {
12507	return s.String()
12508}
12509
12510// Validate inspects the fields of the type to determine if they are valid.
12511func (s *CreateDBInstanceInput) Validate() error {
12512	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
12513	if s.DBInstanceClass == nil {
12514		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
12515	}
12516	if s.DBInstanceIdentifier == nil {
12517		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
12518	}
12519	if s.Engine == nil {
12520		invalidParams.Add(request.NewErrParamRequired("Engine"))
12521	}
12522
12523	if invalidParams.Len() > 0 {
12524		return invalidParams
12525	}
12526	return nil
12527}
12528
12529// SetAllocatedStorage sets the AllocatedStorage field's value.
12530func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
12531	s.AllocatedStorage = &v
12532	return s
12533}
12534
12535// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
12536func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
12537	s.AutoMinorVersionUpgrade = &v
12538	return s
12539}
12540
12541// SetAvailabilityZone sets the AvailabilityZone field's value.
12542func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
12543	s.AvailabilityZone = &v
12544	return s
12545}
12546
12547// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
12548func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
12549	s.BackupRetentionPeriod = &v
12550	return s
12551}
12552
12553// SetCharacterSetName sets the CharacterSetName field's value.
12554func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
12555	s.CharacterSetName = &v
12556	return s
12557}
12558
12559// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
12560func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
12561	s.CopyTagsToSnapshot = &v
12562	return s
12563}
12564
12565// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
12566func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
12567	s.DBClusterIdentifier = &v
12568	return s
12569}
12570
12571// SetDBInstanceClass sets the DBInstanceClass field's value.
12572func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
12573	s.DBInstanceClass = &v
12574	return s
12575}
12576
12577// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
12578func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
12579	s.DBInstanceIdentifier = &v
12580	return s
12581}
12582
12583// SetDBName sets the DBName field's value.
12584func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
12585	s.DBName = &v
12586	return s
12587}
12588
12589// SetDBParameterGroupName sets the DBParameterGroupName field's value.
12590func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
12591	s.DBParameterGroupName = &v
12592	return s
12593}
12594
12595// SetDBSecurityGroups sets the DBSecurityGroups field's value.
12596func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
12597	s.DBSecurityGroups = v
12598	return s
12599}
12600
12601// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
12602func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
12603	s.DBSubnetGroupName = &v
12604	return s
12605}
12606
12607// SetDomain sets the Domain field's value.
12608func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
12609	s.Domain = &v
12610	return s
12611}
12612
12613// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
12614func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
12615	s.DomainIAMRoleName = &v
12616	return s
12617}
12618
12619// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
12620func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
12621	s.EnableIAMDatabaseAuthentication = &v
12622	return s
12623}
12624
12625// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
12626func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
12627	s.EnablePerformanceInsights = &v
12628	return s
12629}
12630
12631// SetEngine sets the Engine field's value.
12632func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
12633	s.Engine = &v
12634	return s
12635}
12636
12637// SetEngineVersion sets the EngineVersion field's value.
12638func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
12639	s.EngineVersion = &v
12640	return s
12641}
12642
12643// SetIops sets the Iops field's value.
12644func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
12645	s.Iops = &v
12646	return s
12647}
12648
12649// SetKmsKeyId sets the KmsKeyId field's value.
12650func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
12651	s.KmsKeyId = &v
12652	return s
12653}
12654
12655// SetLicenseModel sets the LicenseModel field's value.
12656func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
12657	s.LicenseModel = &v
12658	return s
12659}
12660
12661// SetMasterUserPassword sets the MasterUserPassword field's value.
12662func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
12663	s.MasterUserPassword = &v
12664	return s
12665}
12666
12667// SetMasterUsername sets the MasterUsername field's value.
12668func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
12669	s.MasterUsername = &v
12670	return s
12671}
12672
12673// SetMonitoringInterval sets the MonitoringInterval field's value.
12674func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
12675	s.MonitoringInterval = &v
12676	return s
12677}
12678
12679// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
12680func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
12681	s.MonitoringRoleArn = &v
12682	return s
12683}
12684
12685// SetMultiAZ sets the MultiAZ field's value.
12686func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
12687	s.MultiAZ = &v
12688	return s
12689}
12690
12691// SetOptionGroupName sets the OptionGroupName field's value.
12692func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
12693	s.OptionGroupName = &v
12694	return s
12695}
12696
12697// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
12698func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
12699	s.PerformanceInsightsKMSKeyId = &v
12700	return s
12701}
12702
12703// SetPort sets the Port field's value.
12704func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
12705	s.Port = &v
12706	return s
12707}
12708
12709// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
12710func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
12711	s.PreferredBackupWindow = &v
12712	return s
12713}
12714
12715// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
12716func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
12717	s.PreferredMaintenanceWindow = &v
12718	return s
12719}
12720
12721// SetPromotionTier sets the PromotionTier field's value.
12722func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
12723	s.PromotionTier = &v
12724	return s
12725}
12726
12727// SetPubliclyAccessible sets the PubliclyAccessible field's value.
12728func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
12729	s.PubliclyAccessible = &v
12730	return s
12731}
12732
12733// SetStorageEncrypted sets the StorageEncrypted field's value.
12734func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
12735	s.StorageEncrypted = &v
12736	return s
12737}
12738
12739// SetStorageType sets the StorageType field's value.
12740func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
12741	s.StorageType = &v
12742	return s
12743}
12744
12745// SetTags sets the Tags field's value.
12746func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
12747	s.Tags = v
12748	return s
12749}
12750
12751// SetTdeCredentialArn sets the TdeCredentialArn field's value.
12752func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
12753	s.TdeCredentialArn = &v
12754	return s
12755}
12756
12757// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
12758func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
12759	s.TdeCredentialPassword = &v
12760	return s
12761}
12762
12763// SetTimezone sets the Timezone field's value.
12764func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
12765	s.Timezone = &v
12766	return s
12767}
12768
12769// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
12770func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
12771	s.VpcSecurityGroupIds = v
12772	return s
12773}
12774
12775// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceResult
12776type CreateDBInstanceOutput struct {
12777	_ struct{} `type:"structure"`
12778
12779	// Contains the details of an Amazon RDS DB instance.
12780	//
12781	// This data type is used as a response element in the DescribeDBInstances action.
12782	DBInstance *DBInstance `type:"structure"`
12783}
12784
12785// String returns the string representation
12786func (s CreateDBInstanceOutput) String() string {
12787	return awsutil.Prettify(s)
12788}
12789
12790// GoString returns the string representation
12791func (s CreateDBInstanceOutput) GoString() string {
12792	return s.String()
12793}
12794
12795// SetDBInstance sets the DBInstance field's value.
12796func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
12797	s.DBInstance = v
12798	return s
12799}
12800
12801// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplicaMessage
12802type CreateDBInstanceReadReplicaInput struct {
12803	_ struct{} `type:"structure"`
12804
12805	// Indicates that minor engine upgrades are applied automatically to the Read
12806	// Replica during the maintenance window.
12807	//
12808	// Default: Inherits from the source DB instance
12809	AutoMinorVersionUpgrade *bool `type:"boolean"`
12810
12811	// The Amazon EC2 Availability Zone that the Read Replica is created in.
12812	//
12813	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
12814	// Region.
12815	//
12816	// Example: us-east-1d
12817	AvailabilityZone *string `type:"string"`
12818
12819	// True to copy all tags from the Read Replica to snapshots of the Read Replica,
12820	// and otherwise false. The default is false.
12821	CopyTagsToSnapshot *bool `type:"boolean"`
12822
12823	// The compute and memory capacity of the Read Replica, for example, db.m4.large.
12824	// Not all DB instance classes are available in all AWS Regions, or for all
12825	// database engines. For the full list of DB instance classes, and availability
12826	// for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
12827	// in the Amazon RDS User Guide.
12828	//
12829	// Default: Inherits from the source DB instance.
12830	DBInstanceClass *string `type:"string"`
12831
12832	// The DB instance identifier of the Read Replica. This identifier is the unique
12833	// key that identifies a DB instance. This parameter is stored as a lowercase
12834	// string.
12835	//
12836	// DBInstanceIdentifier is a required field
12837	DBInstanceIdentifier *string `type:"string" required:"true"`
12838
12839	// Specifies a DB subnet group for the DB instance. The new DB instance is created
12840	// in the VPC associated with the DB subnet group. If no DB subnet group is
12841	// specified, then the new DB instance is not created in a VPC.
12842	//
12843	// Constraints:
12844	//
12845	//    * Can only be specified if the source DB instance identifier specifies
12846	//    a DB instance in another AWS Region.
12847	//
12848	//    * If supplied, must match the name of an existing DBSubnetGroup.
12849	//
12850	//    * The specified DB subnet group must be in the same AWS Region in which
12851	//    the operation is running.
12852	//
12853	//    * All Read Replicas in one AWS Region that are created from the same source
12854	//    DB instance must either:>
12855	//
12856	// Specify DB subnet groups from the same VPC. All these Read Replicas are created
12857	//    in the same VPC.
12858	//
12859	// Not specify a DB subnet group. All these Read Replicas are created outside
12860	//    of any VPC.
12861	//
12862	// Example: mySubnetgroup
12863	DBSubnetGroupName *string `type:"string"`
12864
12865	// DestinationRegion is used for presigning the request to a given region.
12866	DestinationRegion *string `type:"string"`
12867
12868	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
12869	// to database accounts, and otherwise false.
12870	//
12871	// You can enable IAM database authentication for the following database engines
12872	//
12873	//    * For MySQL 5.6, minor version 5.6.34 or higher
12874	//
12875	//    * For MySQL 5.7, minor version 5.7.16 or higher
12876	//
12877	//    * Aurora 5.6 or higher.
12878	//
12879	// Default: false
12880	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
12881
12882	// True to enable Performance Insights for the read replica, and otherwise false.
12883	EnablePerformanceInsights *bool `type:"boolean"`
12884
12885	// The amount of Provisioned IOPS (input/output operations per second) to be
12886	// initially allocated for the DB instance.
12887	Iops *int64 `type:"integer"`
12888
12889	// The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon
12890	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
12891	// encryption key.
12892	//
12893	// If you specify this parameter when you create a Read Replica from an unencrypted
12894	// DB instance, the Read Replica is encrypted.
12895	//
12896	// If you create an encrypted Read Replica in the same AWS Region as the source
12897	// DB instance, then you do not have to specify a value for this parameter.
12898	// The Read Replica is encrypted with the same KMS key as the source DB instance.
12899	//
12900	// If you create an encrypted Read Replica in a different AWS Region, then you
12901	// must specify a KMS key for the destination AWS Region. KMS encryption keys
12902	// are specific to the AWS Region that they are created in, and you can't use
12903	// encryption keys from one AWS Region in another AWS Region.
12904	KmsKeyId *string `type:"string"`
12905
12906	// The interval, in seconds, between points when Enhanced Monitoring metrics
12907	// are collected for the Read Replica. To disable collecting Enhanced Monitoring
12908	// metrics, specify 0. The default is 0.
12909	//
12910	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
12911	// to a value other than 0.
12912	//
12913	// Valid Values: 0, 1, 5, 10, 15, 30, 60
12914	MonitoringInterval *int64 `type:"integer"`
12915
12916	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
12917	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
12918	// For information on creating a monitoring role, go to To create an IAM role
12919	// for Amazon RDS Enhanced Monitoring (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole).
12920	//
12921	// If MonitoringInterval is set to a value other than 0, then you must supply
12922	// a MonitoringRoleArn value.
12923	MonitoringRoleArn *string `type:"string"`
12924
12925	// The option group the DB instance is associated with. If omitted, the default
12926	// option group for the engine specified is used.
12927	OptionGroupName *string `type:"string"`
12928
12929	// The AWS KMS key identifier for encryption of Performance Insights data. The
12930	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
12931	// KMS key alias for the KMS encryption key.
12932	PerformanceInsightsKMSKeyId *string `type:"string"`
12933
12934	// The port number that the DB instance uses for connections.
12935	//
12936	// Default: Inherits from the source DB instance
12937	//
12938	// Valid Values: 1150-65535
12939	Port *int64 `type:"integer"`
12940
12941	// The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica
12942	// API action in the source AWS Region that contains the source DB instance.
12943	//
12944	// You must specify this parameter when you create an encrypted Read Replica
12945	// from another AWS Region by using the Amazon RDS API. You can specify the
12946	// --source-region option instead of this parameter when you create an encrypted
12947	// Read Replica from another AWS Region by using the AWS CLI.
12948	//
12949	// The presigned URL must be a valid request for the CreateDBInstanceReadReplica
12950	// API action that can be executed in the source AWS Region that contains the
12951	// encrypted source DB instance. The presigned URL request must contain the
12952	// following parameter values:
12953	//
12954	//    * DestinationRegion - The AWS Region that the encrypted Read Replica is
12955	//    created in. This AWS Region is the same one where the CreateDBInstanceReadReplica
12956	//    action is called that contains this presigned URL.
12957	//
12958	// For example, if you create an encrypted DB instance in the us-west-1 AWS
12959	//    Region, from a source DB instance in the us-east-2 AWS Region, then you
12960	//    call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region
12961	//    and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica
12962	//    action in the us-west-2 AWS Region. For this example, the DestinationRegion
12963	//    in the presigned URL must be set to the us-east-1 AWS Region.
12964	//
12965	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
12966	//    the Read Replica in the destination AWS Region. This is the same identifier
12967	//    for both the CreateDBInstanceReadReplica action that is called in the
12968	//    destination AWS Region, and the action contained in the presigned URL.
12969	//
12970	//
12971	//    * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted
12972	//    DB instance to be replicated. This identifier must be in the Amazon Resource
12973	//    Name (ARN) format for the source AWS Region. For example, if you are creating
12974	//    an encrypted Read Replica from a DB instance in the us-west-2 AWS Region,
12975	//    then your SourceDBInstanceIdentifier looks like the following example:
12976	//    arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.
12977	//
12978	//
12979	// To learn how to generate a Signature Version 4 signed request, see Authenticating
12980	// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
12981	// and Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
12982	PreSignedUrl *string `type:"string"`
12983
12984	// Specifies the accessibility options for the DB instance. A value of true
12985	// specifies an Internet-facing instance with a publicly resolvable DNS name,
12986	// which resolves to a public IP address. A value of false specifies an internal
12987	// instance with a DNS name that resolves to a private IP address.
12988	//
12989	// Default: The default behavior varies depending on whether a VPC has been
12990	// requested or not. The following list shows the default behavior in each case.
12991	//
12992	//    * Default VPC:true
12993	//
12994	//    * VPC:false
12995	//
12996	// If no DB subnet group has been specified as part of the request and the PubliclyAccessible
12997	// value has not been set, the DB instance is publicly accessible. If a specific
12998	// DB subnet group has been specified as part of the request and the PubliclyAccessible
12999	// value has not been set, the DB instance is private.
13000	PubliclyAccessible *bool `type:"boolean"`
13001
13002	// The identifier of the DB instance that will act as the source for the Read
13003	// Replica. Each DB instance can have up to five Read Replicas.
13004	//
13005	// Constraints:
13006	//
13007	//    * Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL
13008	//    DB instance.
13009	//
13010	//    * Can specify a DB instance that is a MySQL Read Replica only if the source
13011	//    is running MySQL 5.6.
13012	//
13013	//    * Can specify a DB instance that is a PostgreSQL DB instance only if the
13014	//    source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region
13015	//    replication).
13016	//
13017	//    * The specified DB instance must have automatic backups enabled, its backup
13018	//    retention period must be greater than 0.
13019	//
13020	//    * If the source DB instance is in the same AWS Region as the Read Replica,
13021	//    specify a valid DB instance identifier.
13022	//
13023	//    * If the source DB instance is in a different AWS Region than the Read
13024	//    Replica, specify a valid DB instance ARN. For more information, go to
13025	//     Constructing a Amazon RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
13026	//
13027	// SourceDBInstanceIdentifier is a required field
13028	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
13029
13030	// SourceRegion is the source region where the resource exists. This is not
13031	// sent over the wire and is only used for presigning. This value should always
13032	// have the same region as the source ARN.
13033	SourceRegion *string `type:"string" ignore:"true"`
13034
13035	// Specifies the storage type to be associated with the Read Replica.
13036	//
13037	// Valid values: standard | gp2 | io1
13038	//
13039	// If you specify io1, you must also include a value for the Iops parameter.
13040	//
13041	// Default: io1 if the Iops parameter is specified, otherwise standard
13042	StorageType *string `type:"string"`
13043
13044	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13045	Tags []*Tag `locationNameList:"Tag" type:"list"`
13046}
13047
13048// String returns the string representation
13049func (s CreateDBInstanceReadReplicaInput) String() string {
13050	return awsutil.Prettify(s)
13051}
13052
13053// GoString returns the string representation
13054func (s CreateDBInstanceReadReplicaInput) GoString() string {
13055	return s.String()
13056}
13057
13058// Validate inspects the fields of the type to determine if they are valid.
13059func (s *CreateDBInstanceReadReplicaInput) Validate() error {
13060	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceReadReplicaInput"}
13061	if s.DBInstanceIdentifier == nil {
13062		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
13063	}
13064	if s.SourceDBInstanceIdentifier == nil {
13065		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
13066	}
13067
13068	if invalidParams.Len() > 0 {
13069		return invalidParams
13070	}
13071	return nil
13072}
13073
13074// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
13075func (s *CreateDBInstanceReadReplicaInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceReadReplicaInput {
13076	s.AutoMinorVersionUpgrade = &v
13077	return s
13078}
13079
13080// SetAvailabilityZone sets the AvailabilityZone field's value.
13081func (s *CreateDBInstanceReadReplicaInput) SetAvailabilityZone(v string) *CreateDBInstanceReadReplicaInput {
13082	s.AvailabilityZone = &v
13083	return s
13084}
13085
13086// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
13087func (s *CreateDBInstanceReadReplicaInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceReadReplicaInput {
13088	s.CopyTagsToSnapshot = &v
13089	return s
13090}
13091
13092// SetDBInstanceClass sets the DBInstanceClass field's value.
13093func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceClass(v string) *CreateDBInstanceReadReplicaInput {
13094	s.DBInstanceClass = &v
13095	return s
13096}
13097
13098// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13099func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
13100	s.DBInstanceIdentifier = &v
13101	return s
13102}
13103
13104// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
13105func (s *CreateDBInstanceReadReplicaInput) SetDBSubnetGroupName(v string) *CreateDBInstanceReadReplicaInput {
13106	s.DBSubnetGroupName = &v
13107	return s
13108}
13109
13110// SetDestinationRegion sets the DestinationRegion field's value.
13111func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *CreateDBInstanceReadReplicaInput {
13112	s.DestinationRegion = &v
13113	return s
13114}
13115
13116// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
13117func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput {
13118	s.EnableIAMDatabaseAuthentication = &v
13119	return s
13120}
13121
13122// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
13123func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput {
13124	s.EnablePerformanceInsights = &v
13125	return s
13126}
13127
13128// SetIops sets the Iops field's value.
13129func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput {
13130	s.Iops = &v
13131	return s
13132}
13133
13134// SetKmsKeyId sets the KmsKeyId field's value.
13135func (s *CreateDBInstanceReadReplicaInput) SetKmsKeyId(v string) *CreateDBInstanceReadReplicaInput {
13136	s.KmsKeyId = &v
13137	return s
13138}
13139
13140// SetMonitoringInterval sets the MonitoringInterval field's value.
13141func (s *CreateDBInstanceReadReplicaInput) SetMonitoringInterval(v int64) *CreateDBInstanceReadReplicaInput {
13142	s.MonitoringInterval = &v
13143	return s
13144}
13145
13146// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
13147func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *CreateDBInstanceReadReplicaInput {
13148	s.MonitoringRoleArn = &v
13149	return s
13150}
13151
13152// SetOptionGroupName sets the OptionGroupName field's value.
13153func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput {
13154	s.OptionGroupName = &v
13155	return s
13156}
13157
13158// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
13159func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput {
13160	s.PerformanceInsightsKMSKeyId = &v
13161	return s
13162}
13163
13164// SetPort sets the Port field's value.
13165func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput {
13166	s.Port = &v
13167	return s
13168}
13169
13170// SetPreSignedUrl sets the PreSignedUrl field's value.
13171func (s *CreateDBInstanceReadReplicaInput) SetPreSignedUrl(v string) *CreateDBInstanceReadReplicaInput {
13172	s.PreSignedUrl = &v
13173	return s
13174}
13175
13176// SetPubliclyAccessible sets the PubliclyAccessible field's value.
13177func (s *CreateDBInstanceReadReplicaInput) SetPubliclyAccessible(v bool) *CreateDBInstanceReadReplicaInput {
13178	s.PubliclyAccessible = &v
13179	return s
13180}
13181
13182// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
13183func (s *CreateDBInstanceReadReplicaInput) SetSourceDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
13184	s.SourceDBInstanceIdentifier = &v
13185	return s
13186}
13187
13188// SetSourceRegion sets the SourceRegion field's value.
13189func (s *CreateDBInstanceReadReplicaInput) SetSourceRegion(v string) *CreateDBInstanceReadReplicaInput {
13190	s.SourceRegion = &v
13191	return s
13192}
13193
13194// SetStorageType sets the StorageType field's value.
13195func (s *CreateDBInstanceReadReplicaInput) SetStorageType(v string) *CreateDBInstanceReadReplicaInput {
13196	s.StorageType = &v
13197	return s
13198}
13199
13200// SetTags sets the Tags field's value.
13201func (s *CreateDBInstanceReadReplicaInput) SetTags(v []*Tag) *CreateDBInstanceReadReplicaInput {
13202	s.Tags = v
13203	return s
13204}
13205
13206// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplicaResult
13207type CreateDBInstanceReadReplicaOutput struct {
13208	_ struct{} `type:"structure"`
13209
13210	// Contains the details of an Amazon RDS DB instance.
13211	//
13212	// This data type is used as a response element in the DescribeDBInstances action.
13213	DBInstance *DBInstance `type:"structure"`
13214}
13215
13216// String returns the string representation
13217func (s CreateDBInstanceReadReplicaOutput) String() string {
13218	return awsutil.Prettify(s)
13219}
13220
13221// GoString returns the string representation
13222func (s CreateDBInstanceReadReplicaOutput) GoString() string {
13223	return s.String()
13224}
13225
13226// SetDBInstance sets the DBInstance field's value.
13227func (s *CreateDBInstanceReadReplicaOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceReadReplicaOutput {
13228	s.DBInstance = v
13229	return s
13230}
13231
13232// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroupMessage
13233type CreateDBParameterGroupInput struct {
13234	_ struct{} `type:"structure"`
13235
13236	// The DB parameter group family name. A DB parameter group can be associated
13237	// with one and only one DB parameter group family, and can be applied only
13238	// to a DB instance running a database engine and engine version compatible
13239	// with that DB parameter group family.
13240	//
13241	// DBParameterGroupFamily is a required field
13242	DBParameterGroupFamily *string `type:"string" required:"true"`
13243
13244	// The name of the DB parameter group.
13245	//
13246	// Constraints:
13247	//
13248	//    * Must be 1 to 255 letters, numbers, or hyphens.
13249	//
13250	//    * First character must be a letter
13251	//
13252	//    * Cannot end with a hyphen or contain two consecutive hyphens
13253	//
13254	// This value is stored as a lowercase string.
13255	//
13256	// DBParameterGroupName is a required field
13257	DBParameterGroupName *string `type:"string" required:"true"`
13258
13259	// The description for the DB parameter group.
13260	//
13261	// Description is a required field
13262	Description *string `type:"string" required:"true"`
13263
13264	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13265	Tags []*Tag `locationNameList:"Tag" type:"list"`
13266}
13267
13268// String returns the string representation
13269func (s CreateDBParameterGroupInput) String() string {
13270	return awsutil.Prettify(s)
13271}
13272
13273// GoString returns the string representation
13274func (s CreateDBParameterGroupInput) GoString() string {
13275	return s.String()
13276}
13277
13278// Validate inspects the fields of the type to determine if they are valid.
13279func (s *CreateDBParameterGroupInput) Validate() error {
13280	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
13281	if s.DBParameterGroupFamily == nil {
13282		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
13283	}
13284	if s.DBParameterGroupName == nil {
13285		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
13286	}
13287	if s.Description == nil {
13288		invalidParams.Add(request.NewErrParamRequired("Description"))
13289	}
13290
13291	if invalidParams.Len() > 0 {
13292		return invalidParams
13293	}
13294	return nil
13295}
13296
13297// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
13298func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
13299	s.DBParameterGroupFamily = &v
13300	return s
13301}
13302
13303// SetDBParameterGroupName sets the DBParameterGroupName field's value.
13304func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
13305	s.DBParameterGroupName = &v
13306	return s
13307}
13308
13309// SetDescription sets the Description field's value.
13310func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
13311	s.Description = &v
13312	return s
13313}
13314
13315// SetTags sets the Tags field's value.
13316func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
13317	s.Tags = v
13318	return s
13319}
13320
13321// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroupResult
13322type CreateDBParameterGroupOutput struct {
13323	_ struct{} `type:"structure"`
13324
13325	// Contains the details of an Amazon RDS DB parameter group.
13326	//
13327	// This data type is used as a response element in the DescribeDBParameterGroups
13328	// action.
13329	DBParameterGroup *DBParameterGroup `type:"structure"`
13330}
13331
13332// String returns the string representation
13333func (s CreateDBParameterGroupOutput) String() string {
13334	return awsutil.Prettify(s)
13335}
13336
13337// GoString returns the string representation
13338func (s CreateDBParameterGroupOutput) GoString() string {
13339	return s.String()
13340}
13341
13342// SetDBParameterGroup sets the DBParameterGroup field's value.
13343func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
13344	s.DBParameterGroup = v
13345	return s
13346}
13347
13348// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroupMessage
13349type CreateDBSecurityGroupInput struct {
13350	_ struct{} `type:"structure"`
13351
13352	// The description for the DB security group.
13353	//
13354	// DBSecurityGroupDescription is a required field
13355	DBSecurityGroupDescription *string `type:"string" required:"true"`
13356
13357	// The name for the DB security group. This value is stored as a lowercase string.
13358	//
13359	// Constraints:
13360	//
13361	//    * Must be 1 to 255 letters, numbers, or hyphens.
13362	//
13363	//    * First character must be a letter
13364	//
13365	//    * Cannot end with a hyphen or contain two consecutive hyphens
13366	//
13367	//    * Must not be "Default"
13368	//
13369	// Example: mysecuritygroup
13370	//
13371	// DBSecurityGroupName is a required field
13372	DBSecurityGroupName *string `type:"string" required:"true"`
13373
13374	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13375	Tags []*Tag `locationNameList:"Tag" type:"list"`
13376}
13377
13378// String returns the string representation
13379func (s CreateDBSecurityGroupInput) String() string {
13380	return awsutil.Prettify(s)
13381}
13382
13383// GoString returns the string representation
13384func (s CreateDBSecurityGroupInput) GoString() string {
13385	return s.String()
13386}
13387
13388// Validate inspects the fields of the type to determine if they are valid.
13389func (s *CreateDBSecurityGroupInput) Validate() error {
13390	invalidParams := request.ErrInvalidParams{Context: "CreateDBSecurityGroupInput"}
13391	if s.DBSecurityGroupDescription == nil {
13392		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupDescription"))
13393	}
13394	if s.DBSecurityGroupName == nil {
13395		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
13396	}
13397
13398	if invalidParams.Len() > 0 {
13399		return invalidParams
13400	}
13401	return nil
13402}
13403
13404// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
13405func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupDescription(v string) *CreateDBSecurityGroupInput {
13406	s.DBSecurityGroupDescription = &v
13407	return s
13408}
13409
13410// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
13411func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupName(v string) *CreateDBSecurityGroupInput {
13412	s.DBSecurityGroupName = &v
13413	return s
13414}
13415
13416// SetTags sets the Tags field's value.
13417func (s *CreateDBSecurityGroupInput) SetTags(v []*Tag) *CreateDBSecurityGroupInput {
13418	s.Tags = v
13419	return s
13420}
13421
13422// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroupResult
13423type CreateDBSecurityGroupOutput struct {
13424	_ struct{} `type:"structure"`
13425
13426	// Contains the details for an Amazon RDS DB security group.
13427	//
13428	// This data type is used as a response element in the DescribeDBSecurityGroups
13429	// action.
13430	DBSecurityGroup *DBSecurityGroup `type:"structure"`
13431}
13432
13433// String returns the string representation
13434func (s CreateDBSecurityGroupOutput) String() string {
13435	return awsutil.Prettify(s)
13436}
13437
13438// GoString returns the string representation
13439func (s CreateDBSecurityGroupOutput) GoString() string {
13440	return s.String()
13441}
13442
13443// SetDBSecurityGroup sets the DBSecurityGroup field's value.
13444func (s *CreateDBSecurityGroupOutput) SetDBSecurityGroup(v *DBSecurityGroup) *CreateDBSecurityGroupOutput {
13445	s.DBSecurityGroup = v
13446	return s
13447}
13448
13449// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshotMessage
13450type CreateDBSnapshotInput struct {
13451	_ struct{} `type:"structure"`
13452
13453	// The identifier of the DB instance that you want to create the snapshot of.
13454	//
13455	// Constraints:
13456	//
13457	//    * Must match the identifier of an existing DBInstance.
13458	//
13459	// DBInstanceIdentifier is a required field
13460	DBInstanceIdentifier *string `type:"string" required:"true"`
13461
13462	// The identifier for the DB snapshot.
13463	//
13464	// Constraints:
13465	//
13466	//    * Cannot be null, empty, or blank
13467	//
13468	//    * Must contain from 1 to 255 letters, numbers, or hyphens
13469	//
13470	//    * First character must be a letter
13471	//
13472	//    * Cannot end with a hyphen or contain two consecutive hyphens
13473	//
13474	// Example: my-snapshot-id
13475	//
13476	// DBSnapshotIdentifier is a required field
13477	DBSnapshotIdentifier *string `type:"string" required:"true"`
13478
13479	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13480	Tags []*Tag `locationNameList:"Tag" type:"list"`
13481}
13482
13483// String returns the string representation
13484func (s CreateDBSnapshotInput) String() string {
13485	return awsutil.Prettify(s)
13486}
13487
13488// GoString returns the string representation
13489func (s CreateDBSnapshotInput) GoString() string {
13490	return s.String()
13491}
13492
13493// Validate inspects the fields of the type to determine if they are valid.
13494func (s *CreateDBSnapshotInput) Validate() error {
13495	invalidParams := request.ErrInvalidParams{Context: "CreateDBSnapshotInput"}
13496	if s.DBInstanceIdentifier == nil {
13497		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
13498	}
13499	if s.DBSnapshotIdentifier == nil {
13500		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
13501	}
13502
13503	if invalidParams.Len() > 0 {
13504		return invalidParams
13505	}
13506	return nil
13507}
13508
13509// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13510func (s *CreateDBSnapshotInput) SetDBInstanceIdentifier(v string) *CreateDBSnapshotInput {
13511	s.DBInstanceIdentifier = &v
13512	return s
13513}
13514
13515// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
13516func (s *CreateDBSnapshotInput) SetDBSnapshotIdentifier(v string) *CreateDBSnapshotInput {
13517	s.DBSnapshotIdentifier = &v
13518	return s
13519}
13520
13521// SetTags sets the Tags field's value.
13522func (s *CreateDBSnapshotInput) SetTags(v []*Tag) *CreateDBSnapshotInput {
13523	s.Tags = v
13524	return s
13525}
13526
13527// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshotResult
13528type CreateDBSnapshotOutput struct {
13529	_ struct{} `type:"structure"`
13530
13531	// Contains the details of an Amazon RDS DB snapshot.
13532	//
13533	// This data type is used as a response element in the DescribeDBSnapshots action.
13534	DBSnapshot *DBSnapshot `type:"structure"`
13535}
13536
13537// String returns the string representation
13538func (s CreateDBSnapshotOutput) String() string {
13539	return awsutil.Prettify(s)
13540}
13541
13542// GoString returns the string representation
13543func (s CreateDBSnapshotOutput) GoString() string {
13544	return s.String()
13545}
13546
13547// SetDBSnapshot sets the DBSnapshot field's value.
13548func (s *CreateDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CreateDBSnapshotOutput {
13549	s.DBSnapshot = v
13550	return s
13551}
13552
13553// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroupMessage
13554type CreateDBSubnetGroupInput struct {
13555	_ struct{} `type:"structure"`
13556
13557	// The description for the DB subnet group.
13558	//
13559	// DBSubnetGroupDescription is a required field
13560	DBSubnetGroupDescription *string `type:"string" required:"true"`
13561
13562	// The name for the DB subnet group. This value is stored as a lowercase string.
13563	//
13564	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
13565	// spaces, or hyphens. Must not be default.
13566	//
13567	// Example: mySubnetgroup
13568	//
13569	// DBSubnetGroupName is a required field
13570	DBSubnetGroupName *string `type:"string" required:"true"`
13571
13572	// The EC2 Subnet IDs for the DB subnet group.
13573	//
13574	// SubnetIds is a required field
13575	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
13576
13577	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13578	Tags []*Tag `locationNameList:"Tag" type:"list"`
13579}
13580
13581// String returns the string representation
13582func (s CreateDBSubnetGroupInput) String() string {
13583	return awsutil.Prettify(s)
13584}
13585
13586// GoString returns the string representation
13587func (s CreateDBSubnetGroupInput) GoString() string {
13588	return s.String()
13589}
13590
13591// Validate inspects the fields of the type to determine if they are valid.
13592func (s *CreateDBSubnetGroupInput) Validate() error {
13593	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
13594	if s.DBSubnetGroupDescription == nil {
13595		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
13596	}
13597	if s.DBSubnetGroupName == nil {
13598		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
13599	}
13600	if s.SubnetIds == nil {
13601		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
13602	}
13603
13604	if invalidParams.Len() > 0 {
13605		return invalidParams
13606	}
13607	return nil
13608}
13609
13610// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
13611func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
13612	s.DBSubnetGroupDescription = &v
13613	return s
13614}
13615
13616// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
13617func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
13618	s.DBSubnetGroupName = &v
13619	return s
13620}
13621
13622// SetSubnetIds sets the SubnetIds field's value.
13623func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
13624	s.SubnetIds = v
13625	return s
13626}
13627
13628// SetTags sets the Tags field's value.
13629func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
13630	s.Tags = v
13631	return s
13632}
13633
13634// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroupResult
13635type CreateDBSubnetGroupOutput struct {
13636	_ struct{} `type:"structure"`
13637
13638	// Contains the details of an Amazon RDS DB subnet group.
13639	//
13640	// This data type is used as a response element in the DescribeDBSubnetGroups
13641	// action.
13642	DBSubnetGroup *DBSubnetGroup `type:"structure"`
13643}
13644
13645// String returns the string representation
13646func (s CreateDBSubnetGroupOutput) String() string {
13647	return awsutil.Prettify(s)
13648}
13649
13650// GoString returns the string representation
13651func (s CreateDBSubnetGroupOutput) GoString() string {
13652	return s.String()
13653}
13654
13655// SetDBSubnetGroup sets the DBSubnetGroup field's value.
13656func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
13657	s.DBSubnetGroup = v
13658	return s
13659}
13660
13661// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscriptionMessage
13662type CreateEventSubscriptionInput struct {
13663	_ struct{} `type:"structure"`
13664
13665	// A Boolean value; set to true to activate the subscription, set to false to
13666	// create the subscription but not active it.
13667	Enabled *bool `type:"boolean"`
13668
13669	// A list of event categories for a SourceType that you want to subscribe to.
13670	// You can see a list of the categories for a given SourceType in the Events
13671	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
13672	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
13673	// action.
13674	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
13675
13676	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
13677	// The ARN is created by Amazon SNS when you create a topic and subscribe to
13678	// it.
13679	//
13680	// SnsTopicArn is a required field
13681	SnsTopicArn *string `type:"string" required:"true"`
13682
13683	// The list of identifiers of the event sources for which events are returned.
13684	// If not specified, then all sources are included in the response. An identifier
13685	// must begin with a letter and must contain only ASCII letters, digits, and
13686	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
13687	//
13688	// Constraints:
13689	//
13690	//    * If SourceIds are supplied, SourceType must also be provided.
13691	//
13692	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
13693	//    be supplied.
13694	//
13695	//    * If the source type is a DB security group, a DBSecurityGroupName must
13696	//    be supplied.
13697	//
13698	//    * If the source type is a DB parameter group, a DBParameterGroupName must
13699	//    be supplied.
13700	//
13701	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
13702	//    supplied.
13703	SourceIds []*string `locationNameList:"SourceId" type:"list"`
13704
13705	// The type of source that is generating the events. For example, if you want
13706	// to be notified of events generated by a DB instance, you would set this parameter
13707	// to db-instance. if this value is not specified, all events are returned.
13708	//
13709	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
13710	// | db-snapshot | db-cluster-snapshot
13711	SourceType *string `type:"string"`
13712
13713	// The name of the subscription.
13714	//
13715	// Constraints: The name must be less than 255 characters.
13716	//
13717	// SubscriptionName is a required field
13718	SubscriptionName *string `type:"string" required:"true"`
13719
13720	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13721	Tags []*Tag `locationNameList:"Tag" type:"list"`
13722}
13723
13724// String returns the string representation
13725func (s CreateEventSubscriptionInput) String() string {
13726	return awsutil.Prettify(s)
13727}
13728
13729// GoString returns the string representation
13730func (s CreateEventSubscriptionInput) GoString() string {
13731	return s.String()
13732}
13733
13734// Validate inspects the fields of the type to determine if they are valid.
13735func (s *CreateEventSubscriptionInput) Validate() error {
13736	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
13737	if s.SnsTopicArn == nil {
13738		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
13739	}
13740	if s.SubscriptionName == nil {
13741		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
13742	}
13743
13744	if invalidParams.Len() > 0 {
13745		return invalidParams
13746	}
13747	return nil
13748}
13749
13750// SetEnabled sets the Enabled field's value.
13751func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
13752	s.Enabled = &v
13753	return s
13754}
13755
13756// SetEventCategories sets the EventCategories field's value.
13757func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
13758	s.EventCategories = v
13759	return s
13760}
13761
13762// SetSnsTopicArn sets the SnsTopicArn field's value.
13763func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
13764	s.SnsTopicArn = &v
13765	return s
13766}
13767
13768// SetSourceIds sets the SourceIds field's value.
13769func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
13770	s.SourceIds = v
13771	return s
13772}
13773
13774// SetSourceType sets the SourceType field's value.
13775func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
13776	s.SourceType = &v
13777	return s
13778}
13779
13780// SetSubscriptionName sets the SubscriptionName field's value.
13781func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
13782	s.SubscriptionName = &v
13783	return s
13784}
13785
13786// SetTags sets the Tags field's value.
13787func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
13788	s.Tags = v
13789	return s
13790}
13791
13792// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscriptionResult
13793type CreateEventSubscriptionOutput struct {
13794	_ struct{} `type:"structure"`
13795
13796	// Contains the results of a successful invocation of the DescribeEventSubscriptions
13797	// action.
13798	EventSubscription *EventSubscription `type:"structure"`
13799}
13800
13801// String returns the string representation
13802func (s CreateEventSubscriptionOutput) String() string {
13803	return awsutil.Prettify(s)
13804}
13805
13806// GoString returns the string representation
13807func (s CreateEventSubscriptionOutput) GoString() string {
13808	return s.String()
13809}
13810
13811// SetEventSubscription sets the EventSubscription field's value.
13812func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
13813	s.EventSubscription = v
13814	return s
13815}
13816
13817// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroupMessage
13818type CreateOptionGroupInput struct {
13819	_ struct{} `type:"structure"`
13820
13821	// Specifies the name of the engine that this option group should be associated
13822	// with.
13823	//
13824	// EngineName is a required field
13825	EngineName *string `type:"string" required:"true"`
13826
13827	// Specifies the major version of the engine that this option group should be
13828	// associated with.
13829	//
13830	// MajorEngineVersion is a required field
13831	MajorEngineVersion *string `type:"string" required:"true"`
13832
13833	// The description of the option group.
13834	//
13835	// OptionGroupDescription is a required field
13836	OptionGroupDescription *string `type:"string" required:"true"`
13837
13838	// Specifies the name of the option group to be created.
13839	//
13840	// Constraints:
13841	//
13842	//    * Must be 1 to 255 letters, numbers, or hyphens
13843	//
13844	//    * First character must be a letter
13845	//
13846	//    * Cannot end with a hyphen or contain two consecutive hyphens
13847	//
13848	// Example: myoptiongroup
13849	//
13850	// OptionGroupName is a required field
13851	OptionGroupName *string `type:"string" required:"true"`
13852
13853	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13854	Tags []*Tag `locationNameList:"Tag" type:"list"`
13855}
13856
13857// String returns the string representation
13858func (s CreateOptionGroupInput) String() string {
13859	return awsutil.Prettify(s)
13860}
13861
13862// GoString returns the string representation
13863func (s CreateOptionGroupInput) GoString() string {
13864	return s.String()
13865}
13866
13867// Validate inspects the fields of the type to determine if they are valid.
13868func (s *CreateOptionGroupInput) Validate() error {
13869	invalidParams := request.ErrInvalidParams{Context: "CreateOptionGroupInput"}
13870	if s.EngineName == nil {
13871		invalidParams.Add(request.NewErrParamRequired("EngineName"))
13872	}
13873	if s.MajorEngineVersion == nil {
13874		invalidParams.Add(request.NewErrParamRequired("MajorEngineVersion"))
13875	}
13876	if s.OptionGroupDescription == nil {
13877		invalidParams.Add(request.NewErrParamRequired("OptionGroupDescription"))
13878	}
13879	if s.OptionGroupName == nil {
13880		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
13881	}
13882
13883	if invalidParams.Len() > 0 {
13884		return invalidParams
13885	}
13886	return nil
13887}
13888
13889// SetEngineName sets the EngineName field's value.
13890func (s *CreateOptionGroupInput) SetEngineName(v string) *CreateOptionGroupInput {
13891	s.EngineName = &v
13892	return s
13893}
13894
13895// SetMajorEngineVersion sets the MajorEngineVersion field's value.
13896func (s *CreateOptionGroupInput) SetMajorEngineVersion(v string) *CreateOptionGroupInput {
13897	s.MajorEngineVersion = &v
13898	return s
13899}
13900
13901// SetOptionGroupDescription sets the OptionGroupDescription field's value.
13902func (s *CreateOptionGroupInput) SetOptionGroupDescription(v string) *CreateOptionGroupInput {
13903	s.OptionGroupDescription = &v
13904	return s
13905}
13906
13907// SetOptionGroupName sets the OptionGroupName field's value.
13908func (s *CreateOptionGroupInput) SetOptionGroupName(v string) *CreateOptionGroupInput {
13909	s.OptionGroupName = &v
13910	return s
13911}
13912
13913// SetTags sets the Tags field's value.
13914func (s *CreateOptionGroupInput) SetTags(v []*Tag) *CreateOptionGroupInput {
13915	s.Tags = v
13916	return s
13917}
13918
13919// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroupResult
13920type CreateOptionGroupOutput struct {
13921	_ struct{} `type:"structure"`
13922
13923	OptionGroup *OptionGroup `type:"structure"`
13924}
13925
13926// String returns the string representation
13927func (s CreateOptionGroupOutput) String() string {
13928	return awsutil.Prettify(s)
13929}
13930
13931// GoString returns the string representation
13932func (s CreateOptionGroupOutput) GoString() string {
13933	return s.String()
13934}
13935
13936// SetOptionGroup sets the OptionGroup field's value.
13937func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGroupOutput {
13938	s.OptionGroup = v
13939	return s
13940}
13941
13942// Contains the details of an Amazon RDS DB cluster.
13943//
13944// This data type is used as a response element in the DescribeDBClusters action.
13945// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBCluster
13946type DBCluster struct {
13947	_ struct{} `type:"structure"`
13948
13949	// For all database engines except Amazon Aurora, AllocatedStorage specifies
13950	// the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage
13951	// always returns 1, because Aurora DB cluster storage size is not fixed, but
13952	// instead automatically adjusts as needed.
13953	AllocatedStorage *int64 `type:"integer"`
13954
13955	// Provides a list of the AWS Identity and Access Management (IAM) roles that
13956	// are associated with the DB cluster. IAM roles that are associated with a
13957	// DB cluster grant permission for the DB cluster to access other AWS services
13958	// on your behalf.
13959	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
13960
13961	// Provides the list of EC2 Availability Zones that instances in the DB cluster
13962	// can be created in.
13963	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
13964
13965	// Specifies the number of days for which automatic DB snapshots are retained.
13966	BackupRetentionPeriod *int64 `type:"integer"`
13967
13968	// If present, specifies the name of the character set that this cluster is
13969	// associated with.
13970	CharacterSetName *string `type:"string"`
13971
13972	// Identifies the clone group to which the DB cluster is associated.
13973	CloneGroupId *string `type:"string"`
13974
13975	// Specifies the time when the DB cluster was created, in Universal Coordinated
13976	// Time (UTC).
13977	ClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
13978
13979	// The Amazon Resource Name (ARN) for the DB cluster.
13980	DBClusterArn *string `type:"string"`
13981
13982	// Contains a user-supplied DB cluster identifier. This identifier is the unique
13983	// key that identifies a DB cluster.
13984	DBClusterIdentifier *string `type:"string"`
13985
13986	// Provides the list of instances that make up the DB cluster.
13987	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
13988
13989	// Provides the list of option group memberships for this DB cluster.
13990	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
13991
13992	// Specifies the name of the DB cluster parameter group for the DB cluster.
13993	DBClusterParameterGroup *string `type:"string"`
13994
13995	// Specifies information on the subnet group associated with the DB cluster,
13996	// including the name, description, and subnets in the subnet group.
13997	DBSubnetGroup *string `type:"string"`
13998
13999	// Contains the name of the initial database of this DB cluster that was provided
14000	// at create time, if one was specified when the DB cluster was created. This
14001	// same name is returned for the life of the DB cluster.
14002	DatabaseName *string `type:"string"`
14003
14004	// The AWS Region-unique, immutable identifier for the DB cluster. This identifier
14005	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
14006	// cluster is accessed.
14007	DbClusterResourceId *string `type:"string"`
14008
14009	// Specifies the earliest time to which a database can be restored with point-in-time
14010	// restore.
14011	EarliestRestorableTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
14012
14013	// Specifies the connection endpoint for the primary instance of the DB cluster.
14014	Endpoint *string `type:"string"`
14015
14016	// Provides the name of the database engine to be used for this DB cluster.
14017	Engine *string `type:"string"`
14018
14019	// Indicates the database engine version.
14020	EngineVersion *string `type:"string"`
14021
14022	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
14023	HostedZoneId *string `type:"string"`
14024
14025	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
14026	// accounts is enabled, and otherwise false.
14027	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
14028
14029	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
14030	// DB cluster.
14031	KmsKeyId *string `type:"string"`
14032
14033	// Specifies the latest time to which a database can be restored with point-in-time
14034	// restore.
14035	LatestRestorableTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
14036
14037	// Contains the master username for the DB cluster.
14038	MasterUsername *string `type:"string"`
14039
14040	// Specifies whether the DB cluster has instances in multiple Availability Zones.
14041	MultiAZ *bool `type:"boolean"`
14042
14043	// Specifies the progress of the operation as a percentage.
14044	PercentProgress *string `type:"string"`
14045
14046	// Specifies the port that the database engine is listening on.
14047	Port *int64 `type:"integer"`
14048
14049	// Specifies the daily time range during which automated backups are created
14050	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
14051	PreferredBackupWindow *string `type:"string"`
14052
14053	// Specifies the weekly time range during which system maintenance can occur,
14054	// in Universal Coordinated Time (UTC).
14055	PreferredMaintenanceWindow *string `type:"string"`
14056
14057	// Contains one or more identifiers of the Read Replicas associated with this
14058	// DB cluster.
14059	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
14060
14061	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
14062	// load-balances connections across the Aurora Replicas that are available in
14063	// a DB cluster. As clients request new connections to the reader endpoint,
14064	// Aurora distributes the connection requests among the Aurora Replicas in the
14065	// DB cluster. This functionality can help balance your read workload across
14066	// multiple Aurora Replicas in your DB cluster.
14067	//
14068	// If a failover occurs, and the Aurora Replica that you are connected to is
14069	// promoted to be the primary instance, your connection is dropped. To continue
14070	// sending your read workload to other Aurora Replicas in the cluster, you can
14071	// then reconnect to the reader endpoint.
14072	ReaderEndpoint *string `type:"string"`
14073
14074	// Contains the identifier of the source DB cluster if this DB cluster is a
14075	// Read Replica.
14076	ReplicationSourceIdentifier *string `type:"string"`
14077
14078	// Specifies the current state of this DB cluster.
14079	Status *string `type:"string"`
14080
14081	// Specifies whether the DB cluster is encrypted.
14082	StorageEncrypted *bool `type:"boolean"`
14083
14084	// Provides a list of VPC security groups that the DB cluster belongs to.
14085	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
14086}
14087
14088// String returns the string representation
14089func (s DBCluster) String() string {
14090	return awsutil.Prettify(s)
14091}
14092
14093// GoString returns the string representation
14094func (s DBCluster) GoString() string {
14095	return s.String()
14096}
14097
14098// SetAllocatedStorage sets the AllocatedStorage field's value.
14099func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
14100	s.AllocatedStorage = &v
14101	return s
14102}
14103
14104// SetAssociatedRoles sets the AssociatedRoles field's value.
14105func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
14106	s.AssociatedRoles = v
14107	return s
14108}
14109
14110// SetAvailabilityZones sets the AvailabilityZones field's value.
14111func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
14112	s.AvailabilityZones = v
14113	return s
14114}
14115
14116// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
14117func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
14118	s.BackupRetentionPeriod = &v
14119	return s
14120}
14121
14122// SetCharacterSetName sets the CharacterSetName field's value.
14123func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
14124	s.CharacterSetName = &v
14125	return s
14126}
14127
14128// SetCloneGroupId sets the CloneGroupId field's value.
14129func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
14130	s.CloneGroupId = &v
14131	return s
14132}
14133
14134// SetClusterCreateTime sets the ClusterCreateTime field's value.
14135func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
14136	s.ClusterCreateTime = &v
14137	return s
14138}
14139
14140// SetDBClusterArn sets the DBClusterArn field's value.
14141func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
14142	s.DBClusterArn = &v
14143	return s
14144}
14145
14146// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14147func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
14148	s.DBClusterIdentifier = &v
14149	return s
14150}
14151
14152// SetDBClusterMembers sets the DBClusterMembers field's value.
14153func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
14154	s.DBClusterMembers = v
14155	return s
14156}
14157
14158// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
14159func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
14160	s.DBClusterOptionGroupMemberships = v
14161	return s
14162}
14163
14164// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
14165func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
14166	s.DBClusterParameterGroup = &v
14167	return s
14168}
14169
14170// SetDBSubnetGroup sets the DBSubnetGroup field's value.
14171func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
14172	s.DBSubnetGroup = &v
14173	return s
14174}
14175
14176// SetDatabaseName sets the DatabaseName field's value.
14177func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
14178	s.DatabaseName = &v
14179	return s
14180}
14181
14182// SetDbClusterResourceId sets the DbClusterResourceId field's value.
14183func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
14184	s.DbClusterResourceId = &v
14185	return s
14186}
14187
14188// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
14189func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
14190	s.EarliestRestorableTime = &v
14191	return s
14192}
14193
14194// SetEndpoint sets the Endpoint field's value.
14195func (s *DBCluster) SetEndpoint(v string) *DBCluster {
14196	s.Endpoint = &v
14197	return s
14198}
14199
14200// SetEngine sets the Engine field's value.
14201func (s *DBCluster) SetEngine(v string) *DBCluster {
14202	s.Engine = &v
14203	return s
14204}
14205
14206// SetEngineVersion sets the EngineVersion field's value.
14207func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
14208	s.EngineVersion = &v
14209	return s
14210}
14211
14212// SetHostedZoneId sets the HostedZoneId field's value.
14213func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
14214	s.HostedZoneId = &v
14215	return s
14216}
14217
14218// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
14219func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
14220	s.IAMDatabaseAuthenticationEnabled = &v
14221	return s
14222}
14223
14224// SetKmsKeyId sets the KmsKeyId field's value.
14225func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
14226	s.KmsKeyId = &v
14227	return s
14228}
14229
14230// SetLatestRestorableTime sets the LatestRestorableTime field's value.
14231func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
14232	s.LatestRestorableTime = &v
14233	return s
14234}
14235
14236// SetMasterUsername sets the MasterUsername field's value.
14237func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
14238	s.MasterUsername = &v
14239	return s
14240}
14241
14242// SetMultiAZ sets the MultiAZ field's value.
14243func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
14244	s.MultiAZ = &v
14245	return s
14246}
14247
14248// SetPercentProgress sets the PercentProgress field's value.
14249func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
14250	s.PercentProgress = &v
14251	return s
14252}
14253
14254// SetPort sets the Port field's value.
14255func (s *DBCluster) SetPort(v int64) *DBCluster {
14256	s.Port = &v
14257	return s
14258}
14259
14260// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
14261func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
14262	s.PreferredBackupWindow = &v
14263	return s
14264}
14265
14266// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
14267func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
14268	s.PreferredMaintenanceWindow = &v
14269	return s
14270}
14271
14272// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
14273func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
14274	s.ReadReplicaIdentifiers = v
14275	return s
14276}
14277
14278// SetReaderEndpoint sets the ReaderEndpoint field's value.
14279func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
14280	s.ReaderEndpoint = &v
14281	return s
14282}
14283
14284// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
14285func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
14286	s.ReplicationSourceIdentifier = &v
14287	return s
14288}
14289
14290// SetStatus sets the Status field's value.
14291func (s *DBCluster) SetStatus(v string) *DBCluster {
14292	s.Status = &v
14293	return s
14294}
14295
14296// SetStorageEncrypted sets the StorageEncrypted field's value.
14297func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
14298	s.StorageEncrypted = &v
14299	return s
14300}
14301
14302// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
14303func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
14304	s.VpcSecurityGroups = v
14305	return s
14306}
14307
14308// Contains information about an instance that is part of a DB cluster.
14309// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterMember
14310type DBClusterMember struct {
14311	_ struct{} `type:"structure"`
14312
14313	// Specifies the status of the DB cluster parameter group for this member of
14314	// the DB cluster.
14315	DBClusterParameterGroupStatus *string `type:"string"`
14316
14317	// Specifies the instance identifier for this member of the DB cluster.
14318	DBInstanceIdentifier *string `type:"string"`
14319
14320	// Value that is true if the cluster member is the primary instance for the
14321	// DB cluster and false otherwise.
14322	IsClusterWriter *bool `type:"boolean"`
14323
14324	// A value that specifies the order in which an Aurora Replica is promoted to
14325	// the primary instance after a failure of the existing primary instance. For
14326	// more information, see  Fault Tolerance for an Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance).
14327	PromotionTier *int64 `type:"integer"`
14328}
14329
14330// String returns the string representation
14331func (s DBClusterMember) String() string {
14332	return awsutil.Prettify(s)
14333}
14334
14335// GoString returns the string representation
14336func (s DBClusterMember) GoString() string {
14337	return s.String()
14338}
14339
14340// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
14341func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
14342	s.DBClusterParameterGroupStatus = &v
14343	return s
14344}
14345
14346// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
14347func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
14348	s.DBInstanceIdentifier = &v
14349	return s
14350}
14351
14352// SetIsClusterWriter sets the IsClusterWriter field's value.
14353func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
14354	s.IsClusterWriter = &v
14355	return s
14356}
14357
14358// SetPromotionTier sets the PromotionTier field's value.
14359func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
14360	s.PromotionTier = &v
14361	return s
14362}
14363
14364// Contains status information for a DB cluster option group.
14365// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterOptionGroupStatus
14366type DBClusterOptionGroupStatus struct {
14367	_ struct{} `type:"structure"`
14368
14369	// Specifies the name of the DB cluster option group.
14370	DBClusterOptionGroupName *string `type:"string"`
14371
14372	// Specifies the status of the DB cluster option group.
14373	Status *string `type:"string"`
14374}
14375
14376// String returns the string representation
14377func (s DBClusterOptionGroupStatus) String() string {
14378	return awsutil.Prettify(s)
14379}
14380
14381// GoString returns the string representation
14382func (s DBClusterOptionGroupStatus) GoString() string {
14383	return s.String()
14384}
14385
14386// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
14387func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
14388	s.DBClusterOptionGroupName = &v
14389	return s
14390}
14391
14392// SetStatus sets the Status field's value.
14393func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
14394	s.Status = &v
14395	return s
14396}
14397
14398// Contains the details of an Amazon RDS DB cluster parameter group.
14399//
14400// This data type is used as a response element in the DescribeDBClusterParameterGroups
14401// action.
14402// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterParameterGroup
14403type DBClusterParameterGroup struct {
14404	_ struct{} `type:"structure"`
14405
14406	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
14407	DBClusterParameterGroupArn *string `type:"string"`
14408
14409	// Provides the name of the DB cluster parameter group.
14410	DBClusterParameterGroupName *string `type:"string"`
14411
14412	// Provides the name of the DB parameter group family that this DB cluster parameter
14413	// group is compatible with.
14414	DBParameterGroupFamily *string `type:"string"`
14415
14416	// Provides the customer-specified description for this DB cluster parameter
14417	// group.
14418	Description *string `type:"string"`
14419}
14420
14421// String returns the string representation
14422func (s DBClusterParameterGroup) String() string {
14423	return awsutil.Prettify(s)
14424}
14425
14426// GoString returns the string representation
14427func (s DBClusterParameterGroup) GoString() string {
14428	return s.String()
14429}
14430
14431// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
14432func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
14433	s.DBClusterParameterGroupArn = &v
14434	return s
14435}
14436
14437// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
14438func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
14439	s.DBClusterParameterGroupName = &v
14440	return s
14441}
14442
14443// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
14444func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
14445	s.DBParameterGroupFamily = &v
14446	return s
14447}
14448
14449// SetDescription sets the Description field's value.
14450func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
14451	s.Description = &v
14452	return s
14453}
14454
14455// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterParameterGroupNameMessage
14456type DBClusterParameterGroupNameMessage struct {
14457	_ struct{} `type:"structure"`
14458
14459	// The name of the DB cluster parameter group.
14460	//
14461	// Constraints:
14462	//
14463	//    * Must be 1 to 255 letters or numbers.
14464	//
14465	//    * First character must be a letter
14466	//
14467	//    * Cannot end with a hyphen or contain two consecutive hyphens
14468	//
14469	// This value is stored as a lowercase string.
14470	DBClusterParameterGroupName *string `type:"string"`
14471}
14472
14473// String returns the string representation
14474func (s DBClusterParameterGroupNameMessage) String() string {
14475	return awsutil.Prettify(s)
14476}
14477
14478// GoString returns the string representation
14479func (s DBClusterParameterGroupNameMessage) GoString() string {
14480	return s.String()
14481}
14482
14483// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
14484func (s *DBClusterParameterGroupNameMessage) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroupNameMessage {
14485	s.DBClusterParameterGroupName = &v
14486	return s
14487}
14488
14489// Describes an AWS Identity and Access Management (IAM) role that is associated
14490// with a DB cluster.
14491// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterRole
14492type DBClusterRole struct {
14493	_ struct{} `type:"structure"`
14494
14495	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
14496	// DB cluster.
14497	RoleArn *string `type:"string"`
14498
14499	// Describes the state of association between the IAM role and the DB cluster.
14500	// The Status property returns one of the following values:
14501	//
14502	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
14503	//    be used to access other AWS services on your behalf.
14504	//
14505	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
14506	//
14507	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
14508	//    DB cluster is unable to assume the IAM role in order to access other AWS
14509	//    services on your behalf.
14510	Status *string `type:"string"`
14511}
14512
14513// String returns the string representation
14514func (s DBClusterRole) String() string {
14515	return awsutil.Prettify(s)
14516}
14517
14518// GoString returns the string representation
14519func (s DBClusterRole) GoString() string {
14520	return s.String()
14521}
14522
14523// SetRoleArn sets the RoleArn field's value.
14524func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
14525	s.RoleArn = &v
14526	return s
14527}
14528
14529// SetStatus sets the Status field's value.
14530func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
14531	s.Status = &v
14532	return s
14533}
14534
14535// Contains the details for an Amazon RDS DB cluster snapshot
14536//
14537// This data type is used as a response element in the DescribeDBClusterSnapshots
14538// action.
14539// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterSnapshot
14540type DBClusterSnapshot struct {
14541	_ struct{} `type:"structure"`
14542
14543	// Specifies the allocated storage size in gibibytes (GiB).
14544	AllocatedStorage *int64 `type:"integer"`
14545
14546	// Provides the list of EC2 Availability Zones that instances in the DB cluster
14547	// snapshot can be restored in.
14548	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
14549
14550	// Specifies the time when the DB cluster was created, in Universal Coordinated
14551	// Time (UTC).
14552	ClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
14553
14554	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
14555	// snapshot was created from.
14556	DBClusterIdentifier *string `type:"string"`
14557
14558	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
14559	DBClusterSnapshotArn *string `type:"string"`
14560
14561	// Specifies the identifier for the DB cluster snapshot.
14562	DBClusterSnapshotIdentifier *string `type:"string"`
14563
14564	// Specifies the name of the database engine.
14565	Engine *string `type:"string"`
14566
14567	// Provides the version of the database engine for this DB cluster snapshot.
14568	EngineVersion *string `type:"string"`
14569
14570	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
14571	// accounts is enabled, and otherwise false.
14572	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
14573
14574	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
14575	// DB cluster snapshot.
14576	KmsKeyId *string `type:"string"`
14577
14578	// Provides the license model information for this DB cluster snapshot.
14579	LicenseModel *string `type:"string"`
14580
14581	// Provides the master username for the DB cluster snapshot.
14582	MasterUsername *string `type:"string"`
14583
14584	// Specifies the percentage of the estimated data that has been transferred.
14585	PercentProgress *int64 `type:"integer"`
14586
14587	// Specifies the port that the DB cluster was listening on at the time of the
14588	// snapshot.
14589	Port *int64 `type:"integer"`
14590
14591	// Provides the time when the snapshot was taken, in Universal Coordinated Time
14592	// (UTC).
14593	SnapshotCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
14594
14595	// Provides the type of the DB cluster snapshot.
14596	SnapshotType *string `type:"string"`
14597
14598	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
14599	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
14600	// a null value.
14601	SourceDBClusterSnapshotArn *string `type:"string"`
14602
14603	// Specifies the status of this DB cluster snapshot.
14604	Status *string `type:"string"`
14605
14606	// Specifies whether the DB cluster snapshot is encrypted.
14607	StorageEncrypted *bool `type:"boolean"`
14608
14609	// Provides the VPC ID associated with the DB cluster snapshot.
14610	VpcId *string `type:"string"`
14611}
14612
14613// String returns the string representation
14614func (s DBClusterSnapshot) String() string {
14615	return awsutil.Prettify(s)
14616}
14617
14618// GoString returns the string representation
14619func (s DBClusterSnapshot) GoString() string {
14620	return s.String()
14621}
14622
14623// SetAllocatedStorage sets the AllocatedStorage field's value.
14624func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
14625	s.AllocatedStorage = &v
14626	return s
14627}
14628
14629// SetAvailabilityZones sets the AvailabilityZones field's value.
14630func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
14631	s.AvailabilityZones = v
14632	return s
14633}
14634
14635// SetClusterCreateTime sets the ClusterCreateTime field's value.
14636func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
14637	s.ClusterCreateTime = &v
14638	return s
14639}
14640
14641// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14642func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
14643	s.DBClusterIdentifier = &v
14644	return s
14645}
14646
14647// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
14648func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
14649	s.DBClusterSnapshotArn = &v
14650	return s
14651}
14652
14653// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
14654func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
14655	s.DBClusterSnapshotIdentifier = &v
14656	return s
14657}
14658
14659// SetEngine sets the Engine field's value.
14660func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
14661	s.Engine = &v
14662	return s
14663}
14664
14665// SetEngineVersion sets the EngineVersion field's value.
14666func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
14667	s.EngineVersion = &v
14668	return s
14669}
14670
14671// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
14672func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
14673	s.IAMDatabaseAuthenticationEnabled = &v
14674	return s
14675}
14676
14677// SetKmsKeyId sets the KmsKeyId field's value.
14678func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
14679	s.KmsKeyId = &v
14680	return s
14681}
14682
14683// SetLicenseModel sets the LicenseModel field's value.
14684func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
14685	s.LicenseModel = &v
14686	return s
14687}
14688
14689// SetMasterUsername sets the MasterUsername field's value.
14690func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
14691	s.MasterUsername = &v
14692	return s
14693}
14694
14695// SetPercentProgress sets the PercentProgress field's value.
14696func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
14697	s.PercentProgress = &v
14698	return s
14699}
14700
14701// SetPort sets the Port field's value.
14702func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
14703	s.Port = &v
14704	return s
14705}
14706
14707// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
14708func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
14709	s.SnapshotCreateTime = &v
14710	return s
14711}
14712
14713// SetSnapshotType sets the SnapshotType field's value.
14714func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
14715	s.SnapshotType = &v
14716	return s
14717}
14718
14719// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
14720func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
14721	s.SourceDBClusterSnapshotArn = &v
14722	return s
14723}
14724
14725// SetStatus sets the Status field's value.
14726func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
14727	s.Status = &v
14728	return s
14729}
14730
14731// SetStorageEncrypted sets the StorageEncrypted field's value.
14732func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
14733	s.StorageEncrypted = &v
14734	return s
14735}
14736
14737// SetVpcId sets the VpcId field's value.
14738func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
14739	s.VpcId = &v
14740	return s
14741}
14742
14743// Contains the name and values of a manual DB cluster snapshot attribute.
14744//
14745// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
14746// to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute
14747// API action.
14748// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterSnapshotAttribute
14749type DBClusterSnapshotAttribute struct {
14750	_ struct{} `type:"structure"`
14751
14752	// The name of the manual DB cluster snapshot attribute.
14753	//
14754	// The attribute named restore refers to the list of AWS accounts that have
14755	// permission to copy or restore the manual DB cluster snapshot. For more information,
14756	// see the ModifyDBClusterSnapshotAttribute API action.
14757	AttributeName *string `type:"string"`
14758
14759	// The value(s) for the manual DB cluster snapshot attribute.
14760	//
14761	// If the AttributeName field is set to restore, then this element returns a
14762	// list of IDs of the AWS accounts that are authorized to copy or restore the
14763	// manual DB cluster snapshot. If a value of all is in the list, then the manual
14764	// DB cluster snapshot is public and available for any AWS account to copy or
14765	// restore.
14766	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
14767}
14768
14769// String returns the string representation
14770func (s DBClusterSnapshotAttribute) String() string {
14771	return awsutil.Prettify(s)
14772}
14773
14774// GoString returns the string representation
14775func (s DBClusterSnapshotAttribute) GoString() string {
14776	return s.String()
14777}
14778
14779// SetAttributeName sets the AttributeName field's value.
14780func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
14781	s.AttributeName = &v
14782	return s
14783}
14784
14785// SetAttributeValues sets the AttributeValues field's value.
14786func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
14787	s.AttributeValues = v
14788	return s
14789}
14790
14791// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
14792// API action.
14793//
14794// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
14795// to copy or restore a manual DB cluster snapshot. For more information, see
14796// the ModifyDBClusterSnapshotAttribute API action.
14797// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterSnapshotAttributesResult
14798type DBClusterSnapshotAttributesResult struct {
14799	_ struct{} `type:"structure"`
14800
14801	// The list of attributes and values for the manual DB cluster snapshot.
14802	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
14803
14804	// The identifier of the manual DB cluster snapshot that the attributes apply
14805	// to.
14806	DBClusterSnapshotIdentifier *string `type:"string"`
14807}
14808
14809// String returns the string representation
14810func (s DBClusterSnapshotAttributesResult) String() string {
14811	return awsutil.Prettify(s)
14812}
14813
14814// GoString returns the string representation
14815func (s DBClusterSnapshotAttributesResult) GoString() string {
14816	return s.String()
14817}
14818
14819// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
14820func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
14821	s.DBClusterSnapshotAttributes = v
14822	return s
14823}
14824
14825// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
14826func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
14827	s.DBClusterSnapshotIdentifier = &v
14828	return s
14829}
14830
14831// This data type is used as a response element in the action DescribeDBEngineVersions.
14832// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBEngineVersion
14833type DBEngineVersion struct {
14834	_ struct{} `type:"structure"`
14835
14836	// The description of the database engine.
14837	DBEngineDescription *string `type:"string"`
14838
14839	// The description of the database engine version.
14840	DBEngineVersionDescription *string `type:"string"`
14841
14842	// The name of the DB parameter group family for the database engine.
14843	DBParameterGroupFamily *string `type:"string"`
14844
14845	// The default character set for new instances of this engine version, if the
14846	// CharacterSetName parameter of the CreateDBInstance API is not specified.
14847	DefaultCharacterSet *CharacterSet `type:"structure"`
14848
14849	// The name of the database engine.
14850	Engine *string `type:"string"`
14851
14852	// The version number of the database engine.
14853	EngineVersion *string `type:"string"`
14854
14855	// A list of the character sets supported by this engine for the CharacterSetName
14856	// parameter of the CreateDBInstance action.
14857	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
14858
14859	// A list of the time zones supported by this engine for the Timezone parameter
14860	// of the CreateDBInstance action.
14861	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
14862
14863	// A list of engine versions that this database engine version can be upgraded
14864	// to.
14865	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
14866}
14867
14868// String returns the string representation
14869func (s DBEngineVersion) String() string {
14870	return awsutil.Prettify(s)
14871}
14872
14873// GoString returns the string representation
14874func (s DBEngineVersion) GoString() string {
14875	return s.String()
14876}
14877
14878// SetDBEngineDescription sets the DBEngineDescription field's value.
14879func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
14880	s.DBEngineDescription = &v
14881	return s
14882}
14883
14884// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
14885func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
14886	s.DBEngineVersionDescription = &v
14887	return s
14888}
14889
14890// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
14891func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
14892	s.DBParameterGroupFamily = &v
14893	return s
14894}
14895
14896// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
14897func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
14898	s.DefaultCharacterSet = v
14899	return s
14900}
14901
14902// SetEngine sets the Engine field's value.
14903func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
14904	s.Engine = &v
14905	return s
14906}
14907
14908// SetEngineVersion sets the EngineVersion field's value.
14909func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
14910	s.EngineVersion = &v
14911	return s
14912}
14913
14914// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
14915func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
14916	s.SupportedCharacterSets = v
14917	return s
14918}
14919
14920// SetSupportedTimezones sets the SupportedTimezones field's value.
14921func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
14922	s.SupportedTimezones = v
14923	return s
14924}
14925
14926// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
14927func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
14928	s.ValidUpgradeTarget = v
14929	return s
14930}
14931
14932// Contains the details of an Amazon RDS DB instance.
14933//
14934// This data type is used as a response element in the DescribeDBInstances action.
14935// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBInstance
14936type DBInstance struct {
14937	_ struct{} `type:"structure"`
14938
14939	// Specifies the allocated storage size specified in gibibytes.
14940	AllocatedStorage *int64 `type:"integer"`
14941
14942	// Indicates that minor version patches are applied automatically.
14943	AutoMinorVersionUpgrade *bool `type:"boolean"`
14944
14945	// Specifies the name of the Availability Zone the DB instance is located in.
14946	AvailabilityZone *string `type:"string"`
14947
14948	// Specifies the number of days for which automatic DB snapshots are retained.
14949	BackupRetentionPeriod *int64 `type:"integer"`
14950
14951	// The identifier of the CA certificate for this DB instance.
14952	CACertificateIdentifier *string `type:"string"`
14953
14954	// If present, specifies the name of the character set that this instance is
14955	// associated with.
14956	CharacterSetName *string `type:"string"`
14957
14958	// Specifies whether tags are copied from the DB instance to snapshots of the
14959	// DB instance.
14960	CopyTagsToSnapshot *bool `type:"boolean"`
14961
14962	// If the DB instance is a member of a DB cluster, contains the name of the
14963	// DB cluster that the DB instance is a member of.
14964	DBClusterIdentifier *string `type:"string"`
14965
14966	// The Amazon Resource Name (ARN) for the DB instance.
14967	DBInstanceArn *string `type:"string"`
14968
14969	// Contains the name of the compute and memory capacity class of the DB instance.
14970	DBInstanceClass *string `type:"string"`
14971
14972	// Contains a user-supplied database identifier. This identifier is the unique
14973	// key that identifies a DB instance.
14974	DBInstanceIdentifier *string `type:"string"`
14975
14976	// Specifies the current state of this database.
14977	DBInstanceStatus *string `type:"string"`
14978
14979	// The meaning of this parameter differs according to the database engine you
14980	// use. For example, this value returns MySQL, MariaDB, or PostgreSQL information
14981	// when returning values from CreateDBInstanceReadReplica since Read Replicas
14982	// are only supported for these engines.
14983	//
14984	// MySQL, MariaDB, SQL Server, PostgreSQL
14985	//
14986	// Contains the name of the initial database of this instance that was provided
14987	// at create time, if one was specified when the DB instance was created. This
14988	// same name is returned for the life of the DB instance.
14989	//
14990	// Type: String
14991	//
14992	// Oracle
14993	//
14994	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
14995	// when the returned parameters do not apply to an Oracle DB instance.
14996	DBName *string `type:"string"`
14997
14998	// Provides the list of DB parameter groups applied to this DB instance.
14999	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
15000
15001	// Provides List of DB security group elements containing only DBSecurityGroup.Name
15002	// and DBSecurityGroup.Status subelements.
15003	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
15004
15005	// Specifies information on the subnet group associated with the DB instance,
15006	// including the name, description, and subnets in the subnet group.
15007	DBSubnetGroup *DBSubnetGroup `type:"structure"`
15008
15009	// Specifies the port that the DB instance listens on. If the DB instance is
15010	// part of a DB cluster, this can be a different port than the DB cluster port.
15011	DbInstancePort *int64 `type:"integer"`
15012
15013	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
15014	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
15015	// instance is accessed.
15016	DbiResourceId *string `type:"string"`
15017
15018	// The Active Directory Domain membership records associated with the DB instance.
15019	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
15020
15021	// Specifies the connection endpoint.
15022	Endpoint *Endpoint `type:"structure"`
15023
15024	// Provides the name of the database engine to be used for this DB instance.
15025	Engine *string `type:"string"`
15026
15027	// Indicates the database engine version.
15028	EngineVersion *string `type:"string"`
15029
15030	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
15031	// receives the Enhanced Monitoring metrics data for the DB instance.
15032	EnhancedMonitoringResourceArn *string `type:"string"`
15033
15034	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
15035	// accounts is enabled, and otherwise false.
15036	//
15037	// IAM database authentication can be enabled for the following database engines
15038	//
15039	//    * For MySQL 5.6, minor version 5.6.34 or higher
15040	//
15041	//    * For MySQL 5.7, minor version 5.7.16 or higher
15042	//
15043	//    * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,
15044	//    see DBCluster Type.
15045	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
15046
15047	// Provides the date and time the DB instance was created.
15048	InstanceCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
15049
15050	// Specifies the Provisioned IOPS (I/O operations per second) value.
15051	Iops *int64 `type:"integer"`
15052
15053	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
15054	// DB instance.
15055	KmsKeyId *string `type:"string"`
15056
15057	// Specifies the latest time to which a database can be restored with point-in-time
15058	// restore.
15059	LatestRestorableTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
15060
15061	// License model information for this DB instance.
15062	LicenseModel *string `type:"string"`
15063
15064	// Contains the master username for the DB instance.
15065	MasterUsername *string `type:"string"`
15066
15067	// The interval, in seconds, between points when Enhanced Monitoring metrics
15068	// are collected for the DB instance.
15069	MonitoringInterval *int64 `type:"integer"`
15070
15071	// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics
15072	// to Amazon CloudWatch Logs.
15073	MonitoringRoleArn *string `type:"string"`
15074
15075	// Specifies if the DB instance is a Multi-AZ deployment.
15076	MultiAZ *bool `type:"boolean"`
15077
15078	// Provides the list of option group memberships for this DB instance.
15079	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
15080
15081	// Specifies that changes to the DB instance are pending. This element is only
15082	// included when changes are pending. Specific changes are identified by subelements.
15083	PendingModifiedValues *PendingModifiedValues `type:"structure"`
15084
15085	// True if Performance Insights is enabled for the DB instance, and otherwise
15086	// false.
15087	PerformanceInsightsEnabled *bool `type:"boolean"`
15088
15089	// The AWS KMS key identifier for encryption of Performance Insights data. The
15090	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
15091	// KMS key alias for the KMS encryption key.
15092	PerformanceInsightsKMSKeyId *string `type:"string"`
15093
15094	// Specifies the daily time range during which automated backups are created
15095	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
15096	PreferredBackupWindow *string `type:"string"`
15097
15098	// Specifies the weekly time range during which system maintenance can occur,
15099	// in Universal Coordinated Time (UTC).
15100	PreferredMaintenanceWindow *string `type:"string"`
15101
15102	// A value that specifies the order in which an Aurora Replica is promoted to
15103	// the primary instance after a failure of the existing primary instance. For
15104	// more information, see  Fault Tolerance for an Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance).
15105	PromotionTier *int64 `type:"integer"`
15106
15107	// Specifies the accessibility options for the DB instance. A value of true
15108	// specifies an Internet-facing instance with a publicly resolvable DNS name,
15109	// which resolves to a public IP address. A value of false specifies an internal
15110	// instance with a DNS name that resolves to a private IP address.
15111	//
15112	// Default: The default behavior varies depending on whether a VPC has been
15113	// requested or not. The following list shows the default behavior in each case.
15114	//
15115	//    * Default VPC:true
15116	//
15117	//    * VPC:false
15118	//
15119	// If no DB subnet group has been specified as part of the request and the PubliclyAccessible
15120	// value has not been set, the DB instance is publicly accessible. If a specific
15121	// DB subnet group has been specified as part of the request and the PubliclyAccessible
15122	// value has not been set, the DB instance is private.
15123	PubliclyAccessible *bool `type:"boolean"`
15124
15125	// Contains one or more identifiers of Aurora DB clusters that are Read Replicas
15126	// of this DB instance.
15127	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
15128
15129	// Contains one or more identifiers of the Read Replicas associated with this
15130	// DB instance.
15131	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
15132
15133	// Contains the identifier of the source DB instance if this DB instance is
15134	// a Read Replica.
15135	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
15136
15137	// If present, specifies the name of the secondary Availability Zone for a DB
15138	// instance with multi-AZ support.
15139	SecondaryAvailabilityZone *string `type:"string"`
15140
15141	// The status of a Read Replica. If the instance is not a Read Replica, this
15142	// is blank.
15143	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
15144
15145	// Specifies whether the DB instance is encrypted.
15146	StorageEncrypted *bool `type:"boolean"`
15147
15148	// Specifies the storage type associated with DB instance.
15149	StorageType *string `type:"string"`
15150
15151	// The ARN from the key store with which the instance is associated for TDE
15152	// encryption.
15153	TdeCredentialArn *string `type:"string"`
15154
15155	// The time zone of the DB instance. In most cases, the Timezone element is
15156	// empty. Timezone content appears only for Microsoft SQL Server DB instances
15157	// that were created with a time zone specified.
15158	Timezone *string `type:"string"`
15159
15160	// Provides a list of VPC security group elements that the DB instance belongs
15161	// to.
15162	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
15163}
15164
15165// String returns the string representation
15166func (s DBInstance) String() string {
15167	return awsutil.Prettify(s)
15168}
15169
15170// GoString returns the string representation
15171func (s DBInstance) GoString() string {
15172	return s.String()
15173}
15174
15175// SetAllocatedStorage sets the AllocatedStorage field's value.
15176func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
15177	s.AllocatedStorage = &v
15178	return s
15179}
15180
15181// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
15182func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
15183	s.AutoMinorVersionUpgrade = &v
15184	return s
15185}
15186
15187// SetAvailabilityZone sets the AvailabilityZone field's value.
15188func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
15189	s.AvailabilityZone = &v
15190	return s
15191}
15192
15193// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
15194func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
15195	s.BackupRetentionPeriod = &v
15196	return s
15197}
15198
15199// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
15200func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
15201	s.CACertificateIdentifier = &v
15202	return s
15203}
15204
15205// SetCharacterSetName sets the CharacterSetName field's value.
15206func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
15207	s.CharacterSetName = &v
15208	return s
15209}
15210
15211// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
15212func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
15213	s.CopyTagsToSnapshot = &v
15214	return s
15215}
15216
15217// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15218func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
15219	s.DBClusterIdentifier = &v
15220	return s
15221}
15222
15223// SetDBInstanceArn sets the DBInstanceArn field's value.
15224func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
15225	s.DBInstanceArn = &v
15226	return s
15227}
15228
15229// SetDBInstanceClass sets the DBInstanceClass field's value.
15230func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
15231	s.DBInstanceClass = &v
15232	return s
15233}
15234
15235// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15236func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
15237	s.DBInstanceIdentifier = &v
15238	return s
15239}
15240
15241// SetDBInstanceStatus sets the DBInstanceStatus field's value.
15242func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
15243	s.DBInstanceStatus = &v
15244	return s
15245}
15246
15247// SetDBName sets the DBName field's value.
15248func (s *DBInstance) SetDBName(v string) *DBInstance {
15249	s.DBName = &v
15250	return s
15251}
15252
15253// SetDBParameterGroups sets the DBParameterGroups field's value.
15254func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
15255	s.DBParameterGroups = v
15256	return s
15257}
15258
15259// SetDBSecurityGroups sets the DBSecurityGroups field's value.
15260func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
15261	s.DBSecurityGroups = v
15262	return s
15263}
15264
15265// SetDBSubnetGroup sets the DBSubnetGroup field's value.
15266func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
15267	s.DBSubnetGroup = v
15268	return s
15269}
15270
15271// SetDbInstancePort sets the DbInstancePort field's value.
15272func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
15273	s.DbInstancePort = &v
15274	return s
15275}
15276
15277// SetDbiResourceId sets the DbiResourceId field's value.
15278func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
15279	s.DbiResourceId = &v
15280	return s
15281}
15282
15283// SetDomainMemberships sets the DomainMemberships field's value.
15284func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
15285	s.DomainMemberships = v
15286	return s
15287}
15288
15289// SetEndpoint sets the Endpoint field's value.
15290func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
15291	s.Endpoint = v
15292	return s
15293}
15294
15295// SetEngine sets the Engine field's value.
15296func (s *DBInstance) SetEngine(v string) *DBInstance {
15297	s.Engine = &v
15298	return s
15299}
15300
15301// SetEngineVersion sets the EngineVersion field's value.
15302func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
15303	s.EngineVersion = &v
15304	return s
15305}
15306
15307// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
15308func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
15309	s.EnhancedMonitoringResourceArn = &v
15310	return s
15311}
15312
15313// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
15314func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
15315	s.IAMDatabaseAuthenticationEnabled = &v
15316	return s
15317}
15318
15319// SetInstanceCreateTime sets the InstanceCreateTime field's value.
15320func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
15321	s.InstanceCreateTime = &v
15322	return s
15323}
15324
15325// SetIops sets the Iops field's value.
15326func (s *DBInstance) SetIops(v int64) *DBInstance {
15327	s.Iops = &v
15328	return s
15329}
15330
15331// SetKmsKeyId sets the KmsKeyId field's value.
15332func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
15333	s.KmsKeyId = &v
15334	return s
15335}
15336
15337// SetLatestRestorableTime sets the LatestRestorableTime field's value.
15338func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
15339	s.LatestRestorableTime = &v
15340	return s
15341}
15342
15343// SetLicenseModel sets the LicenseModel field's value.
15344func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
15345	s.LicenseModel = &v
15346	return s
15347}
15348
15349// SetMasterUsername sets the MasterUsername field's value.
15350func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
15351	s.MasterUsername = &v
15352	return s
15353}
15354
15355// SetMonitoringInterval sets the MonitoringInterval field's value.
15356func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
15357	s.MonitoringInterval = &v
15358	return s
15359}
15360
15361// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
15362func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
15363	s.MonitoringRoleArn = &v
15364	return s
15365}
15366
15367// SetMultiAZ sets the MultiAZ field's value.
15368func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
15369	s.MultiAZ = &v
15370	return s
15371}
15372
15373// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
15374func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
15375	s.OptionGroupMemberships = v
15376	return s
15377}
15378
15379// SetPendingModifiedValues sets the PendingModifiedValues field's value.
15380func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
15381	s.PendingModifiedValues = v
15382	return s
15383}
15384
15385// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
15386func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
15387	s.PerformanceInsightsEnabled = &v
15388	return s
15389}
15390
15391// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
15392func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
15393	s.PerformanceInsightsKMSKeyId = &v
15394	return s
15395}
15396
15397// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
15398func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
15399	s.PreferredBackupWindow = &v
15400	return s
15401}
15402
15403// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
15404func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
15405	s.PreferredMaintenanceWindow = &v
15406	return s
15407}
15408
15409// SetPromotionTier sets the PromotionTier field's value.
15410func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
15411	s.PromotionTier = &v
15412	return s
15413}
15414
15415// SetPubliclyAccessible sets the PubliclyAccessible field's value.
15416func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
15417	s.PubliclyAccessible = &v
15418	return s
15419}
15420
15421// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
15422func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
15423	s.ReadReplicaDBClusterIdentifiers = v
15424	return s
15425}
15426
15427// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
15428func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
15429	s.ReadReplicaDBInstanceIdentifiers = v
15430	return s
15431}
15432
15433// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
15434func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
15435	s.ReadReplicaSourceDBInstanceIdentifier = &v
15436	return s
15437}
15438
15439// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
15440func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
15441	s.SecondaryAvailabilityZone = &v
15442	return s
15443}
15444
15445// SetStatusInfos sets the StatusInfos field's value.
15446func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
15447	s.StatusInfos = v
15448	return s
15449}
15450
15451// SetStorageEncrypted sets the StorageEncrypted field's value.
15452func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
15453	s.StorageEncrypted = &v
15454	return s
15455}
15456
15457// SetStorageType sets the StorageType field's value.
15458func (s *DBInstance) SetStorageType(v string) *DBInstance {
15459	s.StorageType = &v
15460	return s
15461}
15462
15463// SetTdeCredentialArn sets the TdeCredentialArn field's value.
15464func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
15465	s.TdeCredentialArn = &v
15466	return s
15467}
15468
15469// SetTimezone sets the Timezone field's value.
15470func (s *DBInstance) SetTimezone(v string) *DBInstance {
15471	s.Timezone = &v
15472	return s
15473}
15474
15475// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
15476func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
15477	s.VpcSecurityGroups = v
15478	return s
15479}
15480
15481// Provides a list of status information for a DB instance.
15482// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBInstanceStatusInfo
15483type DBInstanceStatusInfo struct {
15484	_ struct{} `type:"structure"`
15485
15486	// Details of the error if there is an error for the instance. If the instance
15487	// is not in an error state, this value is blank.
15488	Message *string `type:"string"`
15489
15490	// Boolean value that is true if the instance is operating normally, or false
15491	// if the instance is in an error state.
15492	Normal *bool `type:"boolean"`
15493
15494	// Status of the DB instance. For a StatusType of read replica, the values can
15495	// be replicating, error, stopped, or terminated.
15496	Status *string `type:"string"`
15497
15498	// This value is currently "read replication."
15499	StatusType *string `type:"string"`
15500}
15501
15502// String returns the string representation
15503func (s DBInstanceStatusInfo) String() string {
15504	return awsutil.Prettify(s)
15505}
15506
15507// GoString returns the string representation
15508func (s DBInstanceStatusInfo) GoString() string {
15509	return s.String()
15510}
15511
15512// SetMessage sets the Message field's value.
15513func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
15514	s.Message = &v
15515	return s
15516}
15517
15518// SetNormal sets the Normal field's value.
15519func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
15520	s.Normal = &v
15521	return s
15522}
15523
15524// SetStatus sets the Status field's value.
15525func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
15526	s.Status = &v
15527	return s
15528}
15529
15530// SetStatusType sets the StatusType field's value.
15531func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
15532	s.StatusType = &v
15533	return s
15534}
15535
15536// Contains the details of an Amazon RDS DB parameter group.
15537//
15538// This data type is used as a response element in the DescribeDBParameterGroups
15539// action.
15540// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBParameterGroup
15541type DBParameterGroup struct {
15542	_ struct{} `type:"structure"`
15543
15544	// The Amazon Resource Name (ARN) for the DB parameter group.
15545	DBParameterGroupArn *string `type:"string"`
15546
15547	// Provides the name of the DB parameter group family that this DB parameter
15548	// group is compatible with.
15549	DBParameterGroupFamily *string `type:"string"`
15550
15551	// Provides the name of the DB parameter group.
15552	DBParameterGroupName *string `type:"string"`
15553
15554	// Provides the customer-specified description for this DB parameter group.
15555	Description *string `type:"string"`
15556}
15557
15558// String returns the string representation
15559func (s DBParameterGroup) String() string {
15560	return awsutil.Prettify(s)
15561}
15562
15563// GoString returns the string representation
15564func (s DBParameterGroup) GoString() string {
15565	return s.String()
15566}
15567
15568// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
15569func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
15570	s.DBParameterGroupArn = &v
15571	return s
15572}
15573
15574// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
15575func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
15576	s.DBParameterGroupFamily = &v
15577	return s
15578}
15579
15580// SetDBParameterGroupName sets the DBParameterGroupName field's value.
15581func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
15582	s.DBParameterGroupName = &v
15583	return s
15584}
15585
15586// SetDescription sets the Description field's value.
15587func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
15588	s.Description = &v
15589	return s
15590}
15591
15592// Contains the result of a successful invocation of the ModifyDBParameterGroup
15593// or ResetDBParameterGroup action.
15594// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBParameterGroupNameMessage
15595type DBParameterGroupNameMessage struct {
15596	_ struct{} `type:"structure"`
15597
15598	// Provides the name of the DB parameter group.
15599	DBParameterGroupName *string `type:"string"`
15600}
15601
15602// String returns the string representation
15603func (s DBParameterGroupNameMessage) String() string {
15604	return awsutil.Prettify(s)
15605}
15606
15607// GoString returns the string representation
15608func (s DBParameterGroupNameMessage) GoString() string {
15609	return s.String()
15610}
15611
15612// SetDBParameterGroupName sets the DBParameterGroupName field's value.
15613func (s *DBParameterGroupNameMessage) SetDBParameterGroupName(v string) *DBParameterGroupNameMessage {
15614	s.DBParameterGroupName = &v
15615	return s
15616}
15617
15618// The status of the DB parameter group.
15619//
15620// This data type is used as a response element in the following actions:
15621//
15622//    * CreateDBInstance
15623//
15624//    * CreateDBInstanceReadReplica
15625//
15626//    * DeleteDBInstance
15627//
15628//    * ModifyDBInstance
15629//
15630//    * RebootDBInstance
15631//
15632//    * RestoreDBInstanceFromDBSnapshot
15633// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBParameterGroupStatus
15634type DBParameterGroupStatus struct {
15635	_ struct{} `type:"structure"`
15636
15637	// The name of the DP parameter group.
15638	DBParameterGroupName *string `type:"string"`
15639
15640	// The status of parameter updates.
15641	ParameterApplyStatus *string `type:"string"`
15642}
15643
15644// String returns the string representation
15645func (s DBParameterGroupStatus) String() string {
15646	return awsutil.Prettify(s)
15647}
15648
15649// GoString returns the string representation
15650func (s DBParameterGroupStatus) GoString() string {
15651	return s.String()
15652}
15653
15654// SetDBParameterGroupName sets the DBParameterGroupName field's value.
15655func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
15656	s.DBParameterGroupName = &v
15657	return s
15658}
15659
15660// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
15661func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
15662	s.ParameterApplyStatus = &v
15663	return s
15664}
15665
15666// Contains the details for an Amazon RDS DB security group.
15667//
15668// This data type is used as a response element in the DescribeDBSecurityGroups
15669// action.
15670// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSecurityGroup
15671type DBSecurityGroup struct {
15672	_ struct{} `type:"structure"`
15673
15674	// The Amazon Resource Name (ARN) for the DB security group.
15675	DBSecurityGroupArn *string `type:"string"`
15676
15677	// Provides the description of the DB security group.
15678	DBSecurityGroupDescription *string `type:"string"`
15679
15680	// Specifies the name of the DB security group.
15681	DBSecurityGroupName *string `type:"string"`
15682
15683	// Contains a list of EC2SecurityGroup elements.
15684	EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
15685
15686	// Contains a list of IPRange elements.
15687	IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
15688
15689	// Provides the AWS ID of the owner of a specific DB security group.
15690	OwnerId *string `type:"string"`
15691
15692	// Provides the VpcId of the DB security group.
15693	VpcId *string `type:"string"`
15694}
15695
15696// String returns the string representation
15697func (s DBSecurityGroup) String() string {
15698	return awsutil.Prettify(s)
15699}
15700
15701// GoString returns the string representation
15702func (s DBSecurityGroup) GoString() string {
15703	return s.String()
15704}
15705
15706// SetDBSecurityGroupArn sets the DBSecurityGroupArn field's value.
15707func (s *DBSecurityGroup) SetDBSecurityGroupArn(v string) *DBSecurityGroup {
15708	s.DBSecurityGroupArn = &v
15709	return s
15710}
15711
15712// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
15713func (s *DBSecurityGroup) SetDBSecurityGroupDescription(v string) *DBSecurityGroup {
15714	s.DBSecurityGroupDescription = &v
15715	return s
15716}
15717
15718// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
15719func (s *DBSecurityGroup) SetDBSecurityGroupName(v string) *DBSecurityGroup {
15720	s.DBSecurityGroupName = &v
15721	return s
15722}
15723
15724// SetEC2SecurityGroups sets the EC2SecurityGroups field's value.
15725func (s *DBSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *DBSecurityGroup {
15726	s.EC2SecurityGroups = v
15727	return s
15728}
15729
15730// SetIPRanges sets the IPRanges field's value.
15731func (s *DBSecurityGroup) SetIPRanges(v []*IPRange) *DBSecurityGroup {
15732	s.IPRanges = v
15733	return s
15734}
15735
15736// SetOwnerId sets the OwnerId field's value.
15737func (s *DBSecurityGroup) SetOwnerId(v string) *DBSecurityGroup {
15738	s.OwnerId = &v
15739	return s
15740}
15741
15742// SetVpcId sets the VpcId field's value.
15743func (s *DBSecurityGroup) SetVpcId(v string) *DBSecurityGroup {
15744	s.VpcId = &v
15745	return s
15746}
15747
15748// This data type is used as a response element in the following actions:
15749//
15750//    * ModifyDBInstance
15751//
15752//    * RebootDBInstance
15753//
15754//    * RestoreDBInstanceFromDBSnapshot
15755//
15756//    * RestoreDBInstanceToPointInTime
15757// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSecurityGroupMembership
15758type DBSecurityGroupMembership struct {
15759	_ struct{} `type:"structure"`
15760
15761	// The name of the DB security group.
15762	DBSecurityGroupName *string `type:"string"`
15763
15764	// The status of the DB security group.
15765	Status *string `type:"string"`
15766}
15767
15768// String returns the string representation
15769func (s DBSecurityGroupMembership) String() string {
15770	return awsutil.Prettify(s)
15771}
15772
15773// GoString returns the string representation
15774func (s DBSecurityGroupMembership) GoString() string {
15775	return s.String()
15776}
15777
15778// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
15779func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
15780	s.DBSecurityGroupName = &v
15781	return s
15782}
15783
15784// SetStatus sets the Status field's value.
15785func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
15786	s.Status = &v
15787	return s
15788}
15789
15790// Contains the details of an Amazon RDS DB snapshot.
15791//
15792// This data type is used as a response element in the DescribeDBSnapshots action.
15793// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSnapshot
15794type DBSnapshot struct {
15795	_ struct{} `type:"structure"`
15796
15797	// Specifies the allocated storage size in gibibytes (GiB).
15798	AllocatedStorage *int64 `type:"integer"`
15799
15800	// Specifies the name of the Availability Zone the DB instance was located in
15801	// at the time of the DB snapshot.
15802	AvailabilityZone *string `type:"string"`
15803
15804	// Specifies the DB instance identifier of the DB instance this DB snapshot
15805	// was created from.
15806	DBInstanceIdentifier *string `type:"string"`
15807
15808	// The Amazon Resource Name (ARN) for the DB snapshot.
15809	DBSnapshotArn *string `type:"string"`
15810
15811	// Specifies the identifier for the DB snapshot.
15812	DBSnapshotIdentifier *string `type:"string"`
15813
15814	// Specifies whether the DB snapshot is encrypted.
15815	Encrypted *bool `type:"boolean"`
15816
15817	// Specifies the name of the database engine.
15818	Engine *string `type:"string"`
15819
15820	// Specifies the version of the database engine.
15821	EngineVersion *string `type:"string"`
15822
15823	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
15824	// accounts is enabled, and otherwise false.
15825	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
15826
15827	// Specifies the time when the snapshot was taken, in Universal Coordinated
15828	// Time (UTC).
15829	InstanceCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
15830
15831	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB
15832	// instance at the time of the snapshot.
15833	Iops *int64 `type:"integer"`
15834
15835	// If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.
15836	KmsKeyId *string `type:"string"`
15837
15838	// License model information for the restored DB instance.
15839	LicenseModel *string `type:"string"`
15840
15841	// Provides the master username for the DB snapshot.
15842	MasterUsername *string `type:"string"`
15843
15844	// Provides the option group name for the DB snapshot.
15845	OptionGroupName *string `type:"string"`
15846
15847	// The percentage of the estimated data that has been transferred.
15848	PercentProgress *int64 `type:"integer"`
15849
15850	// Specifies the port that the database engine was listening on at the time
15851	// of the snapshot.
15852	Port *int64 `type:"integer"`
15853
15854	// Provides the time when the snapshot was taken, in Universal Coordinated Time
15855	// (UTC).
15856	SnapshotCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
15857
15858	// Provides the type of the DB snapshot.
15859	SnapshotType *string `type:"string"`
15860
15861	// The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied
15862	// from. It only has value in case of cross-customer or cross-region copy.
15863	SourceDBSnapshotIdentifier *string `type:"string"`
15864
15865	// The AWS Region that the DB snapshot was created in or copied from.
15866	SourceRegion *string `type:"string"`
15867
15868	// Specifies the status of this DB snapshot.
15869	Status *string `type:"string"`
15870
15871	// Specifies the storage type associated with DB snapshot.
15872	StorageType *string `type:"string"`
15873
15874	// The ARN from the key store with which to associate the instance for TDE encryption.
15875	TdeCredentialArn *string `type:"string"`
15876
15877	// The time zone of the DB snapshot. In most cases, the Timezone element is
15878	// empty. Timezone content appears only for snapshots taken from Microsoft SQL
15879	// Server DB instances that were created with a time zone specified.
15880	Timezone *string `type:"string"`
15881
15882	// Provides the VPC ID associated with the DB snapshot.
15883	VpcId *string `type:"string"`
15884}
15885
15886// String returns the string representation
15887func (s DBSnapshot) String() string {
15888	return awsutil.Prettify(s)
15889}
15890
15891// GoString returns the string representation
15892func (s DBSnapshot) GoString() string {
15893	return s.String()
15894}
15895
15896// SetAllocatedStorage sets the AllocatedStorage field's value.
15897func (s *DBSnapshot) SetAllocatedStorage(v int64) *DBSnapshot {
15898	s.AllocatedStorage = &v
15899	return s
15900}
15901
15902// SetAvailabilityZone sets the AvailabilityZone field's value.
15903func (s *DBSnapshot) SetAvailabilityZone(v string) *DBSnapshot {
15904	s.AvailabilityZone = &v
15905	return s
15906}
15907
15908// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15909func (s *DBSnapshot) SetDBInstanceIdentifier(v string) *DBSnapshot {
15910	s.DBInstanceIdentifier = &v
15911	return s
15912}
15913
15914// SetDBSnapshotArn sets the DBSnapshotArn field's value.
15915func (s *DBSnapshot) SetDBSnapshotArn(v string) *DBSnapshot {
15916	s.DBSnapshotArn = &v
15917	return s
15918}
15919
15920// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
15921func (s *DBSnapshot) SetDBSnapshotIdentifier(v string) *DBSnapshot {
15922	s.DBSnapshotIdentifier = &v
15923	return s
15924}
15925
15926// SetEncrypted sets the Encrypted field's value.
15927func (s *DBSnapshot) SetEncrypted(v bool) *DBSnapshot {
15928	s.Encrypted = &v
15929	return s
15930}
15931
15932// SetEngine sets the Engine field's value.
15933func (s *DBSnapshot) SetEngine(v string) *DBSnapshot {
15934	s.Engine = &v
15935	return s
15936}
15937
15938// SetEngineVersion sets the EngineVersion field's value.
15939func (s *DBSnapshot) SetEngineVersion(v string) *DBSnapshot {
15940	s.EngineVersion = &v
15941	return s
15942}
15943
15944// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
15945func (s *DBSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBSnapshot {
15946	s.IAMDatabaseAuthenticationEnabled = &v
15947	return s
15948}
15949
15950// SetInstanceCreateTime sets the InstanceCreateTime field's value.
15951func (s *DBSnapshot) SetInstanceCreateTime(v time.Time) *DBSnapshot {
15952	s.InstanceCreateTime = &v
15953	return s
15954}
15955
15956// SetIops sets the Iops field's value.
15957func (s *DBSnapshot) SetIops(v int64) *DBSnapshot {
15958	s.Iops = &v
15959	return s
15960}
15961
15962// SetKmsKeyId sets the KmsKeyId field's value.
15963func (s *DBSnapshot) SetKmsKeyId(v string) *DBSnapshot {
15964	s.KmsKeyId = &v
15965	return s
15966}
15967
15968// SetLicenseModel sets the LicenseModel field's value.
15969func (s *DBSnapshot) SetLicenseModel(v string) *DBSnapshot {
15970	s.LicenseModel = &v
15971	return s
15972}
15973
15974// SetMasterUsername sets the MasterUsername field's value.
15975func (s *DBSnapshot) SetMasterUsername(v string) *DBSnapshot {
15976	s.MasterUsername = &v
15977	return s
15978}
15979
15980// SetOptionGroupName sets the OptionGroupName field's value.
15981func (s *DBSnapshot) SetOptionGroupName(v string) *DBSnapshot {
15982	s.OptionGroupName = &v
15983	return s
15984}
15985
15986// SetPercentProgress sets the PercentProgress field's value.
15987func (s *DBSnapshot) SetPercentProgress(v int64) *DBSnapshot {
15988	s.PercentProgress = &v
15989	return s
15990}
15991
15992// SetPort sets the Port field's value.
15993func (s *DBSnapshot) SetPort(v int64) *DBSnapshot {
15994	s.Port = &v
15995	return s
15996}
15997
15998// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
15999func (s *DBSnapshot) SetSnapshotCreateTime(v time.Time) *DBSnapshot {
16000	s.SnapshotCreateTime = &v
16001	return s
16002}
16003
16004// SetSnapshotType sets the SnapshotType field's value.
16005func (s *DBSnapshot) SetSnapshotType(v string) *DBSnapshot {
16006	s.SnapshotType = &v
16007	return s
16008}
16009
16010// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
16011func (s *DBSnapshot) SetSourceDBSnapshotIdentifier(v string) *DBSnapshot {
16012	s.SourceDBSnapshotIdentifier = &v
16013	return s
16014}
16015
16016// SetSourceRegion sets the SourceRegion field's value.
16017func (s *DBSnapshot) SetSourceRegion(v string) *DBSnapshot {
16018	s.SourceRegion = &v
16019	return s
16020}
16021
16022// SetStatus sets the Status field's value.
16023func (s *DBSnapshot) SetStatus(v string) *DBSnapshot {
16024	s.Status = &v
16025	return s
16026}
16027
16028// SetStorageType sets the StorageType field's value.
16029func (s *DBSnapshot) SetStorageType(v string) *DBSnapshot {
16030	s.StorageType = &v
16031	return s
16032}
16033
16034// SetTdeCredentialArn sets the TdeCredentialArn field's value.
16035func (s *DBSnapshot) SetTdeCredentialArn(v string) *DBSnapshot {
16036	s.TdeCredentialArn = &v
16037	return s
16038}
16039
16040// SetTimezone sets the Timezone field's value.
16041func (s *DBSnapshot) SetTimezone(v string) *DBSnapshot {
16042	s.Timezone = &v
16043	return s
16044}
16045
16046// SetVpcId sets the VpcId field's value.
16047func (s *DBSnapshot) SetVpcId(v string) *DBSnapshot {
16048	s.VpcId = &v
16049	return s
16050}
16051
16052// Contains the name and values of a manual DB snapshot attribute
16053//
16054// Manual DB snapshot attributes are used to authorize other AWS accounts to
16055// restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
16056// API.
16057// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSnapshotAttribute
16058type DBSnapshotAttribute struct {
16059	_ struct{} `type:"structure"`
16060
16061	// The name of the manual DB snapshot attribute.
16062	//
16063	// The attribute named restore refers to the list of AWS accounts that have
16064	// permission to copy or restore the manual DB cluster snapshot. For more information,
16065	// see the ModifyDBSnapshotAttribute API action.
16066	AttributeName *string `type:"string"`
16067
16068	// The value or values for the manual DB snapshot attribute.
16069	//
16070	// If the AttributeName field is set to restore, then this element returns a
16071	// list of IDs of the AWS accounts that are authorized to copy or restore the
16072	// manual DB snapshot. If a value of all is in the list, then the manual DB
16073	// snapshot is public and available for any AWS account to copy or restore.
16074	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
16075}
16076
16077// String returns the string representation
16078func (s DBSnapshotAttribute) String() string {
16079	return awsutil.Prettify(s)
16080}
16081
16082// GoString returns the string representation
16083func (s DBSnapshotAttribute) GoString() string {
16084	return s.String()
16085}
16086
16087// SetAttributeName sets the AttributeName field's value.
16088func (s *DBSnapshotAttribute) SetAttributeName(v string) *DBSnapshotAttribute {
16089	s.AttributeName = &v
16090	return s
16091}
16092
16093// SetAttributeValues sets the AttributeValues field's value.
16094func (s *DBSnapshotAttribute) SetAttributeValues(v []*string) *DBSnapshotAttribute {
16095	s.AttributeValues = v
16096	return s
16097}
16098
16099// Contains the results of a successful call to the DescribeDBSnapshotAttributes
16100// API action.
16101//
16102// Manual DB snapshot attributes are used to authorize other AWS accounts to
16103// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
16104// API action.
16105// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSnapshotAttributesResult
16106type DBSnapshotAttributesResult struct {
16107	_ struct{} `type:"structure"`
16108
16109	// The list of attributes and values for the manual DB snapshot.
16110	DBSnapshotAttributes []*DBSnapshotAttribute `locationNameList:"DBSnapshotAttribute" type:"list"`
16111
16112	// The identifier of the manual DB snapshot that the attributes apply to.
16113	DBSnapshotIdentifier *string `type:"string"`
16114}
16115
16116// String returns the string representation
16117func (s DBSnapshotAttributesResult) String() string {
16118	return awsutil.Prettify(s)
16119}
16120
16121// GoString returns the string representation
16122func (s DBSnapshotAttributesResult) GoString() string {
16123	return s.String()
16124}
16125
16126// SetDBSnapshotAttributes sets the DBSnapshotAttributes field's value.
16127func (s *DBSnapshotAttributesResult) SetDBSnapshotAttributes(v []*DBSnapshotAttribute) *DBSnapshotAttributesResult {
16128	s.DBSnapshotAttributes = v
16129	return s
16130}
16131
16132// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
16133func (s *DBSnapshotAttributesResult) SetDBSnapshotIdentifier(v string) *DBSnapshotAttributesResult {
16134	s.DBSnapshotIdentifier = &v
16135	return s
16136}
16137
16138// Contains the details of an Amazon RDS DB subnet group.
16139//
16140// This data type is used as a response element in the DescribeDBSubnetGroups
16141// action.
16142// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSubnetGroup
16143type DBSubnetGroup struct {
16144	_ struct{} `type:"structure"`
16145
16146	// The Amazon Resource Name (ARN) for the DB subnet group.
16147	DBSubnetGroupArn *string `type:"string"`
16148
16149	// Provides the description of the DB subnet group.
16150	DBSubnetGroupDescription *string `type:"string"`
16151
16152	// The name of the DB subnet group.
16153	DBSubnetGroupName *string `type:"string"`
16154
16155	// Provides the status of the DB subnet group.
16156	SubnetGroupStatus *string `type:"string"`
16157
16158	// Contains a list of Subnet elements.
16159	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
16160
16161	// Provides the VpcId of the DB subnet group.
16162	VpcId *string `type:"string"`
16163}
16164
16165// String returns the string representation
16166func (s DBSubnetGroup) String() string {
16167	return awsutil.Prettify(s)
16168}
16169
16170// GoString returns the string representation
16171func (s DBSubnetGroup) GoString() string {
16172	return s.String()
16173}
16174
16175// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
16176func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
16177	s.DBSubnetGroupArn = &v
16178	return s
16179}
16180
16181// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
16182func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
16183	s.DBSubnetGroupDescription = &v
16184	return s
16185}
16186
16187// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16188func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
16189	s.DBSubnetGroupName = &v
16190	return s
16191}
16192
16193// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
16194func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
16195	s.SubnetGroupStatus = &v
16196	return s
16197}
16198
16199// SetSubnets sets the Subnets field's value.
16200func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
16201	s.Subnets = v
16202	return s
16203}
16204
16205// SetVpcId sets the VpcId field's value.
16206func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
16207	s.VpcId = &v
16208	return s
16209}
16210
16211// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterMessage
16212type DeleteDBClusterInput struct {
16213	_ struct{} `type:"structure"`
16214
16215	// The DB cluster identifier for the DB cluster to be deleted. This parameter
16216	// isn't case-sensitive.
16217	//
16218	// Constraints:
16219	//
16220	//    * Must match an existing DBClusterIdentifier.
16221	//
16222	// DBClusterIdentifier is a required field
16223	DBClusterIdentifier *string `type:"string" required:"true"`
16224
16225	// The DB cluster snapshot identifier of the new DB cluster snapshot created
16226	// when SkipFinalSnapshot is set to false.
16227	//
16228	// Specifying this parameter and also setting the SkipFinalShapshot parameter
16229	// to true results in an error.
16230	//
16231	// Constraints:
16232	//
16233	//    * Must be 1 to 255 letters, numbers, or hyphens.
16234	//
16235	//    * First character must be a letter
16236	//
16237	//    * Cannot end with a hyphen or contain two consecutive hyphens
16238	FinalDBSnapshotIdentifier *string `type:"string"`
16239
16240	// Determines whether a final DB cluster snapshot is created before the DB cluster
16241	// is deleted. If true is specified, no DB cluster snapshot is created. If false
16242	// is specified, a DB cluster snapshot is created before the DB cluster is deleted.
16243	//
16244	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
16245	// is false.
16246	//
16247	// Default: false
16248	SkipFinalSnapshot *bool `type:"boolean"`
16249}
16250
16251// String returns the string representation
16252func (s DeleteDBClusterInput) String() string {
16253	return awsutil.Prettify(s)
16254}
16255
16256// GoString returns the string representation
16257func (s DeleteDBClusterInput) GoString() string {
16258	return s.String()
16259}
16260
16261// Validate inspects the fields of the type to determine if they are valid.
16262func (s *DeleteDBClusterInput) Validate() error {
16263	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
16264	if s.DBClusterIdentifier == nil {
16265		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16266	}
16267
16268	if invalidParams.Len() > 0 {
16269		return invalidParams
16270	}
16271	return nil
16272}
16273
16274// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16275func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
16276	s.DBClusterIdentifier = &v
16277	return s
16278}
16279
16280// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
16281func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
16282	s.FinalDBSnapshotIdentifier = &v
16283	return s
16284}
16285
16286// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
16287func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
16288	s.SkipFinalSnapshot = &v
16289	return s
16290}
16291
16292// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterResult
16293type DeleteDBClusterOutput struct {
16294	_ struct{} `type:"structure"`
16295
16296	// Contains the details of an Amazon RDS DB cluster.
16297	//
16298	// This data type is used as a response element in the DescribeDBClusters action.
16299	DBCluster *DBCluster `type:"structure"`
16300}
16301
16302// String returns the string representation
16303func (s DeleteDBClusterOutput) String() string {
16304	return awsutil.Prettify(s)
16305}
16306
16307// GoString returns the string representation
16308func (s DeleteDBClusterOutput) GoString() string {
16309	return s.String()
16310}
16311
16312// SetDBCluster sets the DBCluster field's value.
16313func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
16314	s.DBCluster = v
16315	return s
16316}
16317
16318// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroupMessage
16319type DeleteDBClusterParameterGroupInput struct {
16320	_ struct{} `type:"structure"`
16321
16322	// The name of the DB cluster parameter group.
16323	//
16324	// Constraints:
16325	//
16326	//    * Must be the name of an existing DB cluster parameter group.
16327	//
16328	//    * You can't delete a default DB cluster parameter group.
16329	//
16330	//    * Cannot be associated with any DB clusters.
16331	//
16332	// DBClusterParameterGroupName is a required field
16333	DBClusterParameterGroupName *string `type:"string" required:"true"`
16334}
16335
16336// String returns the string representation
16337func (s DeleteDBClusterParameterGroupInput) String() string {
16338	return awsutil.Prettify(s)
16339}
16340
16341// GoString returns the string representation
16342func (s DeleteDBClusterParameterGroupInput) GoString() string {
16343	return s.String()
16344}
16345
16346// Validate inspects the fields of the type to determine if they are valid.
16347func (s *DeleteDBClusterParameterGroupInput) Validate() error {
16348	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
16349	if s.DBClusterParameterGroupName == nil {
16350		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
16351	}
16352
16353	if invalidParams.Len() > 0 {
16354		return invalidParams
16355	}
16356	return nil
16357}
16358
16359// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
16360func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
16361	s.DBClusterParameterGroupName = &v
16362	return s
16363}
16364
16365// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroupOutput
16366type DeleteDBClusterParameterGroupOutput struct {
16367	_ struct{} `type:"structure"`
16368}
16369
16370// String returns the string representation
16371func (s DeleteDBClusterParameterGroupOutput) String() string {
16372	return awsutil.Prettify(s)
16373}
16374
16375// GoString returns the string representation
16376func (s DeleteDBClusterParameterGroupOutput) GoString() string {
16377	return s.String()
16378}
16379
16380// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshotMessage
16381type DeleteDBClusterSnapshotInput struct {
16382	_ struct{} `type:"structure"`
16383
16384	// The identifier of the DB cluster snapshot to delete.
16385	//
16386	// Constraints: Must be the name of an existing DB cluster snapshot in the available
16387	// state.
16388	//
16389	// DBClusterSnapshotIdentifier is a required field
16390	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
16391}
16392
16393// String returns the string representation
16394func (s DeleteDBClusterSnapshotInput) String() string {
16395	return awsutil.Prettify(s)
16396}
16397
16398// GoString returns the string representation
16399func (s DeleteDBClusterSnapshotInput) GoString() string {
16400	return s.String()
16401}
16402
16403// Validate inspects the fields of the type to determine if they are valid.
16404func (s *DeleteDBClusterSnapshotInput) Validate() error {
16405	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
16406	if s.DBClusterSnapshotIdentifier == nil {
16407		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
16408	}
16409
16410	if invalidParams.Len() > 0 {
16411		return invalidParams
16412	}
16413	return nil
16414}
16415
16416// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
16417func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
16418	s.DBClusterSnapshotIdentifier = &v
16419	return s
16420}
16421
16422// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshotResult
16423type DeleteDBClusterSnapshotOutput struct {
16424	_ struct{} `type:"structure"`
16425
16426	// Contains the details for an Amazon RDS DB cluster snapshot
16427	//
16428	// This data type is used as a response element in the DescribeDBClusterSnapshots
16429	// action.
16430	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
16431}
16432
16433// String returns the string representation
16434func (s DeleteDBClusterSnapshotOutput) String() string {
16435	return awsutil.Prettify(s)
16436}
16437
16438// GoString returns the string representation
16439func (s DeleteDBClusterSnapshotOutput) GoString() string {
16440	return s.String()
16441}
16442
16443// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
16444func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
16445	s.DBClusterSnapshot = v
16446	return s
16447}
16448
16449// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceMessage
16450type DeleteDBInstanceInput struct {
16451	_ struct{} `type:"structure"`
16452
16453	// The DB instance identifier for the DB instance to be deleted. This parameter
16454	// isn't case-sensitive.
16455	//
16456	// Constraints:
16457	//
16458	//    * Must match the name of an existing DB instance.
16459	//
16460	// DBInstanceIdentifier is a required field
16461	DBInstanceIdentifier *string `type:"string" required:"true"`
16462
16463	// The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot
16464	// is set to false.
16465	//
16466	// Specifying this parameter and also setting the SkipFinalShapshot parameter
16467	// to true results in an error.
16468	//
16469	// Constraints:
16470	//
16471	//    * Must be 1 to 255 letters or numbers.
16472	//
16473	//    * First character must be a letter
16474	//
16475	//    * Cannot end with a hyphen or contain two consecutive hyphens
16476	//
16477	//    * Cannot be specified when deleting a Read Replica.
16478	FinalDBSnapshotIdentifier *string `type:"string"`
16479
16480	// Determines whether a final DB snapshot is created before the DB instance
16481	// is deleted. If true is specified, no DBSnapshot is created. If false is specified,
16482	// a DB snapshot is created before the DB instance is deleted.
16483	//
16484	// Note that when a DB instance is in a failure state and has a status of 'failed',
16485	// 'incompatible-restore', or 'incompatible-network', it can only be deleted
16486	// when the SkipFinalSnapshot parameter is set to "true".
16487	//
16488	// Specify true when deleting a Read Replica.
16489	//
16490	// The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot
16491	// is false.
16492	//
16493	// Default: false
16494	SkipFinalSnapshot *bool `type:"boolean"`
16495}
16496
16497// String returns the string representation
16498func (s DeleteDBInstanceInput) String() string {
16499	return awsutil.Prettify(s)
16500}
16501
16502// GoString returns the string representation
16503func (s DeleteDBInstanceInput) GoString() string {
16504	return s.String()
16505}
16506
16507// Validate inspects the fields of the type to determine if they are valid.
16508func (s *DeleteDBInstanceInput) Validate() error {
16509	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
16510	if s.DBInstanceIdentifier == nil {
16511		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
16512	}
16513
16514	if invalidParams.Len() > 0 {
16515		return invalidParams
16516	}
16517	return nil
16518}
16519
16520// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
16521func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
16522	s.DBInstanceIdentifier = &v
16523	return s
16524}
16525
16526// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
16527func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
16528	s.FinalDBSnapshotIdentifier = &v
16529	return s
16530}
16531
16532// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
16533func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
16534	s.SkipFinalSnapshot = &v
16535	return s
16536}
16537
16538// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceResult
16539type DeleteDBInstanceOutput struct {
16540	_ struct{} `type:"structure"`
16541
16542	// Contains the details of an Amazon RDS DB instance.
16543	//
16544	// This data type is used as a response element in the DescribeDBInstances action.
16545	DBInstance *DBInstance `type:"structure"`
16546}
16547
16548// String returns the string representation
16549func (s DeleteDBInstanceOutput) String() string {
16550	return awsutil.Prettify(s)
16551}
16552
16553// GoString returns the string representation
16554func (s DeleteDBInstanceOutput) GoString() string {
16555	return s.String()
16556}
16557
16558// SetDBInstance sets the DBInstance field's value.
16559func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
16560	s.DBInstance = v
16561	return s
16562}
16563
16564// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroupMessage
16565type DeleteDBParameterGroupInput struct {
16566	_ struct{} `type:"structure"`
16567
16568	// The name of the DB parameter group.
16569	//
16570	// Constraints:
16571	//
16572	//    * Must be the name of an existing DB parameter group
16573	//
16574	//    * You can't delete a default DB parameter group
16575	//
16576	//    * Cannot be associated with any DB instances
16577	//
16578	// DBParameterGroupName is a required field
16579	DBParameterGroupName *string `type:"string" required:"true"`
16580}
16581
16582// String returns the string representation
16583func (s DeleteDBParameterGroupInput) String() string {
16584	return awsutil.Prettify(s)
16585}
16586
16587// GoString returns the string representation
16588func (s DeleteDBParameterGroupInput) GoString() string {
16589	return s.String()
16590}
16591
16592// Validate inspects the fields of the type to determine if they are valid.
16593func (s *DeleteDBParameterGroupInput) Validate() error {
16594	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
16595	if s.DBParameterGroupName == nil {
16596		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
16597	}
16598
16599	if invalidParams.Len() > 0 {
16600		return invalidParams
16601	}
16602	return nil
16603}
16604
16605// SetDBParameterGroupName sets the DBParameterGroupName field's value.
16606func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
16607	s.DBParameterGroupName = &v
16608	return s
16609}
16610
16611// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroupOutput
16612type DeleteDBParameterGroupOutput struct {
16613	_ struct{} `type:"structure"`
16614}
16615
16616// String returns the string representation
16617func (s DeleteDBParameterGroupOutput) String() string {
16618	return awsutil.Prettify(s)
16619}
16620
16621// GoString returns the string representation
16622func (s DeleteDBParameterGroupOutput) GoString() string {
16623	return s.String()
16624}
16625
16626// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroupMessage
16627type DeleteDBSecurityGroupInput struct {
16628	_ struct{} `type:"structure"`
16629
16630	// The name of the DB security group to delete.
16631	//
16632	// You can't delete the default DB security group.
16633	//
16634	// Constraints:
16635	//
16636	//    * Must be 1 to 255 letters, numbers, or hyphens.
16637	//
16638	//    * First character must be a letter
16639	//
16640	//    * Cannot end with a hyphen or contain two consecutive hyphens
16641	//
16642	//    * Must not be "Default"
16643	//
16644	// DBSecurityGroupName is a required field
16645	DBSecurityGroupName *string `type:"string" required:"true"`
16646}
16647
16648// String returns the string representation
16649func (s DeleteDBSecurityGroupInput) String() string {
16650	return awsutil.Prettify(s)
16651}
16652
16653// GoString returns the string representation
16654func (s DeleteDBSecurityGroupInput) GoString() string {
16655	return s.String()
16656}
16657
16658// Validate inspects the fields of the type to determine if they are valid.
16659func (s *DeleteDBSecurityGroupInput) Validate() error {
16660	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSecurityGroupInput"}
16661	if s.DBSecurityGroupName == nil {
16662		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
16663	}
16664
16665	if invalidParams.Len() > 0 {
16666		return invalidParams
16667	}
16668	return nil
16669}
16670
16671// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
16672func (s *DeleteDBSecurityGroupInput) SetDBSecurityGroupName(v string) *DeleteDBSecurityGroupInput {
16673	s.DBSecurityGroupName = &v
16674	return s
16675}
16676
16677// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroupOutput
16678type DeleteDBSecurityGroupOutput struct {
16679	_ struct{} `type:"structure"`
16680}
16681
16682// String returns the string representation
16683func (s DeleteDBSecurityGroupOutput) String() string {
16684	return awsutil.Prettify(s)
16685}
16686
16687// GoString returns the string representation
16688func (s DeleteDBSecurityGroupOutput) GoString() string {
16689	return s.String()
16690}
16691
16692// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshotMessage
16693type DeleteDBSnapshotInput struct {
16694	_ struct{} `type:"structure"`
16695
16696	// The DBSnapshot identifier.
16697	//
16698	// Constraints: Must be the name of an existing DB snapshot in the available
16699	// state.
16700	//
16701	// DBSnapshotIdentifier is a required field
16702	DBSnapshotIdentifier *string `type:"string" required:"true"`
16703}
16704
16705// String returns the string representation
16706func (s DeleteDBSnapshotInput) String() string {
16707	return awsutil.Prettify(s)
16708}
16709
16710// GoString returns the string representation
16711func (s DeleteDBSnapshotInput) GoString() string {
16712	return s.String()
16713}
16714
16715// Validate inspects the fields of the type to determine if they are valid.
16716func (s *DeleteDBSnapshotInput) Validate() error {
16717	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSnapshotInput"}
16718	if s.DBSnapshotIdentifier == nil {
16719		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
16720	}
16721
16722	if invalidParams.Len() > 0 {
16723		return invalidParams
16724	}
16725	return nil
16726}
16727
16728// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
16729func (s *DeleteDBSnapshotInput) SetDBSnapshotIdentifier(v string) *DeleteDBSnapshotInput {
16730	s.DBSnapshotIdentifier = &v
16731	return s
16732}
16733
16734// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshotResult
16735type DeleteDBSnapshotOutput struct {
16736	_ struct{} `type:"structure"`
16737
16738	// Contains the details of an Amazon RDS DB snapshot.
16739	//
16740	// This data type is used as a response element in the DescribeDBSnapshots action.
16741	DBSnapshot *DBSnapshot `type:"structure"`
16742}
16743
16744// String returns the string representation
16745func (s DeleteDBSnapshotOutput) String() string {
16746	return awsutil.Prettify(s)
16747}
16748
16749// GoString returns the string representation
16750func (s DeleteDBSnapshotOutput) GoString() string {
16751	return s.String()
16752}
16753
16754// SetDBSnapshot sets the DBSnapshot field's value.
16755func (s *DeleteDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *DeleteDBSnapshotOutput {
16756	s.DBSnapshot = v
16757	return s
16758}
16759
16760// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroupMessage
16761type DeleteDBSubnetGroupInput struct {
16762	_ struct{} `type:"structure"`
16763
16764	// The name of the database subnet group to delete.
16765	//
16766	// You can't delete the default subnet group.
16767	//
16768	// Constraints:
16769	//
16770	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
16771	// default.
16772	//
16773	// Example: mySubnetgroup
16774	//
16775	// DBSubnetGroupName is a required field
16776	DBSubnetGroupName *string `type:"string" required:"true"`
16777}
16778
16779// String returns the string representation
16780func (s DeleteDBSubnetGroupInput) String() string {
16781	return awsutil.Prettify(s)
16782}
16783
16784// GoString returns the string representation
16785func (s DeleteDBSubnetGroupInput) GoString() string {
16786	return s.String()
16787}
16788
16789// Validate inspects the fields of the type to determine if they are valid.
16790func (s *DeleteDBSubnetGroupInput) Validate() error {
16791	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
16792	if s.DBSubnetGroupName == nil {
16793		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
16794	}
16795
16796	if invalidParams.Len() > 0 {
16797		return invalidParams
16798	}
16799	return nil
16800}
16801
16802// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16803func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
16804	s.DBSubnetGroupName = &v
16805	return s
16806}
16807
16808// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroupOutput
16809type DeleteDBSubnetGroupOutput struct {
16810	_ struct{} `type:"structure"`
16811}
16812
16813// String returns the string representation
16814func (s DeleteDBSubnetGroupOutput) String() string {
16815	return awsutil.Prettify(s)
16816}
16817
16818// GoString returns the string representation
16819func (s DeleteDBSubnetGroupOutput) GoString() string {
16820	return s.String()
16821}
16822
16823// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscriptionMessage
16824type DeleteEventSubscriptionInput struct {
16825	_ struct{} `type:"structure"`
16826
16827	// The name of the RDS event notification subscription you want to delete.
16828	//
16829	// SubscriptionName is a required field
16830	SubscriptionName *string `type:"string" required:"true"`
16831}
16832
16833// String returns the string representation
16834func (s DeleteEventSubscriptionInput) String() string {
16835	return awsutil.Prettify(s)
16836}
16837
16838// GoString returns the string representation
16839func (s DeleteEventSubscriptionInput) GoString() string {
16840	return s.String()
16841}
16842
16843// Validate inspects the fields of the type to determine if they are valid.
16844func (s *DeleteEventSubscriptionInput) Validate() error {
16845	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
16846	if s.SubscriptionName == nil {
16847		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
16848	}
16849
16850	if invalidParams.Len() > 0 {
16851		return invalidParams
16852	}
16853	return nil
16854}
16855
16856// SetSubscriptionName sets the SubscriptionName field's value.
16857func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
16858	s.SubscriptionName = &v
16859	return s
16860}
16861
16862// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscriptionResult
16863type DeleteEventSubscriptionOutput struct {
16864	_ struct{} `type:"structure"`
16865
16866	// Contains the results of a successful invocation of the DescribeEventSubscriptions
16867	// action.
16868	EventSubscription *EventSubscription `type:"structure"`
16869}
16870
16871// String returns the string representation
16872func (s DeleteEventSubscriptionOutput) String() string {
16873	return awsutil.Prettify(s)
16874}
16875
16876// GoString returns the string representation
16877func (s DeleteEventSubscriptionOutput) GoString() string {
16878	return s.String()
16879}
16880
16881// SetEventSubscription sets the EventSubscription field's value.
16882func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
16883	s.EventSubscription = v
16884	return s
16885}
16886
16887// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroupMessage
16888type DeleteOptionGroupInput struct {
16889	_ struct{} `type:"structure"`
16890
16891	// The name of the option group to be deleted.
16892	//
16893	// You can't delete default option groups.
16894	//
16895	// OptionGroupName is a required field
16896	OptionGroupName *string `type:"string" required:"true"`
16897}
16898
16899// String returns the string representation
16900func (s DeleteOptionGroupInput) String() string {
16901	return awsutil.Prettify(s)
16902}
16903
16904// GoString returns the string representation
16905func (s DeleteOptionGroupInput) GoString() string {
16906	return s.String()
16907}
16908
16909// Validate inspects the fields of the type to determine if they are valid.
16910func (s *DeleteOptionGroupInput) Validate() error {
16911	invalidParams := request.ErrInvalidParams{Context: "DeleteOptionGroupInput"}
16912	if s.OptionGroupName == nil {
16913		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
16914	}
16915
16916	if invalidParams.Len() > 0 {
16917		return invalidParams
16918	}
16919	return nil
16920}
16921
16922// SetOptionGroupName sets the OptionGroupName field's value.
16923func (s *DeleteOptionGroupInput) SetOptionGroupName(v string) *DeleteOptionGroupInput {
16924	s.OptionGroupName = &v
16925	return s
16926}
16927
16928// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroupOutput
16929type DeleteOptionGroupOutput struct {
16930	_ struct{} `type:"structure"`
16931}
16932
16933// String returns the string representation
16934func (s DeleteOptionGroupOutput) String() string {
16935	return awsutil.Prettify(s)
16936}
16937
16938// GoString returns the string representation
16939func (s DeleteOptionGroupOutput) GoString() string {
16940	return s.String()
16941}
16942
16943// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributesMessage
16944type DescribeAccountAttributesInput struct {
16945	_ struct{} `type:"structure"`
16946}
16947
16948// String returns the string representation
16949func (s DescribeAccountAttributesInput) String() string {
16950	return awsutil.Prettify(s)
16951}
16952
16953// GoString returns the string representation
16954func (s DescribeAccountAttributesInput) GoString() string {
16955	return s.String()
16956}
16957
16958// Data returned by the DescribeAccountAttributes action.
16959// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AccountAttributesMessage
16960type DescribeAccountAttributesOutput struct {
16961	_ struct{} `type:"structure"`
16962
16963	// A list of AccountQuota objects. Within this list, each quota has a name,
16964	// a count of usage toward the quota maximum, and a maximum value for the quota.
16965	AccountQuotas []*AccountQuota `locationNameList:"AccountQuota" type:"list"`
16966}
16967
16968// String returns the string representation
16969func (s DescribeAccountAttributesOutput) String() string {
16970	return awsutil.Prettify(s)
16971}
16972
16973// GoString returns the string representation
16974func (s DescribeAccountAttributesOutput) GoString() string {
16975	return s.String()
16976}
16977
16978// SetAccountQuotas sets the AccountQuotas field's value.
16979func (s *DescribeAccountAttributesOutput) SetAccountQuotas(v []*AccountQuota) *DescribeAccountAttributesOutput {
16980	s.AccountQuotas = v
16981	return s
16982}
16983
16984// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificatesMessage
16985type DescribeCertificatesInput struct {
16986	_ struct{} `type:"structure"`
16987
16988	// The user-supplied certificate identifier. If this parameter is specified,
16989	// information for only the identified certificate is returned. This parameter
16990	// isn't case-sensitive.
16991	//
16992	// Constraints:
16993	//
16994	//    * Must match an existing CertificateIdentifier.
16995	CertificateIdentifier *string `type:"string"`
16996
16997	// This parameter is not currently supported.
16998	Filters []*Filter `locationNameList:"Filter" type:"list"`
16999
17000	// An optional pagination token provided by a previous DescribeCertificates
17001	// request. If this parameter is specified, the response includes only records
17002	// beyond the marker, up to the value specified by MaxRecords.
17003	Marker *string `type:"string"`
17004
17005	// The maximum number of records to include in the response. If more records
17006	// exist than the specified MaxRecords value, a pagination token called a marker
17007	// is included in the response so that the remaining results can be retrieved.
17008	//
17009	// Default: 100
17010	//
17011	// Constraints: Minimum 20, maximum 100.
17012	MaxRecords *int64 `type:"integer"`
17013}
17014
17015// String returns the string representation
17016func (s DescribeCertificatesInput) String() string {
17017	return awsutil.Prettify(s)
17018}
17019
17020// GoString returns the string representation
17021func (s DescribeCertificatesInput) GoString() string {
17022	return s.String()
17023}
17024
17025// Validate inspects the fields of the type to determine if they are valid.
17026func (s *DescribeCertificatesInput) Validate() error {
17027	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
17028	if s.Filters != nil {
17029		for i, v := range s.Filters {
17030			if v == nil {
17031				continue
17032			}
17033			if err := v.Validate(); err != nil {
17034				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17035			}
17036		}
17037	}
17038
17039	if invalidParams.Len() > 0 {
17040		return invalidParams
17041	}
17042	return nil
17043}
17044
17045// SetCertificateIdentifier sets the CertificateIdentifier field's value.
17046func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
17047	s.CertificateIdentifier = &v
17048	return s
17049}
17050
17051// SetFilters sets the Filters field's value.
17052func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
17053	s.Filters = v
17054	return s
17055}
17056
17057// SetMarker sets the Marker field's value.
17058func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
17059	s.Marker = &v
17060	return s
17061}
17062
17063// SetMaxRecords sets the MaxRecords field's value.
17064func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
17065	s.MaxRecords = &v
17066	return s
17067}
17068
17069// Data returned by the DescribeCertificates action.
17070// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CertificateMessage
17071type DescribeCertificatesOutput struct {
17072	_ struct{} `type:"structure"`
17073
17074	// The list of Certificate objects for the AWS account.
17075	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
17076
17077	// An optional pagination token provided by a previous DescribeCertificates
17078	// request. If this parameter is specified, the response includes only records
17079	// beyond the marker, up to the value specified by MaxRecords .
17080	Marker *string `type:"string"`
17081}
17082
17083// String returns the string representation
17084func (s DescribeCertificatesOutput) String() string {
17085	return awsutil.Prettify(s)
17086}
17087
17088// GoString returns the string representation
17089func (s DescribeCertificatesOutput) GoString() string {
17090	return s.String()
17091}
17092
17093// SetCertificates sets the Certificates field's value.
17094func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
17095	s.Certificates = v
17096	return s
17097}
17098
17099// SetMarker sets the Marker field's value.
17100func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
17101	s.Marker = &v
17102	return s
17103}
17104
17105// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroupsMessage
17106type DescribeDBClusterParameterGroupsInput struct {
17107	_ struct{} `type:"structure"`
17108
17109	// The name of a specific DB cluster parameter group to return details for.
17110	//
17111	// Constraints:
17112	//
17113	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
17114	DBClusterParameterGroupName *string `type:"string"`
17115
17116	// This parameter is not currently supported.
17117	Filters []*Filter `locationNameList:"Filter" type:"list"`
17118
17119	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
17120	// request. If this parameter is specified, the response includes only records
17121	// beyond the marker, up to the value specified by MaxRecords.
17122	Marker *string `type:"string"`
17123
17124	// The maximum number of records to include in the response. If more records
17125	// exist than the specified MaxRecords value, a pagination token called a marker
17126	// is included in the response so that the remaining results can be retrieved.
17127	//
17128	// Default: 100
17129	//
17130	// Constraints: Minimum 20, maximum 100.
17131	MaxRecords *int64 `type:"integer"`
17132}
17133
17134// String returns the string representation
17135func (s DescribeDBClusterParameterGroupsInput) String() string {
17136	return awsutil.Prettify(s)
17137}
17138
17139// GoString returns the string representation
17140func (s DescribeDBClusterParameterGroupsInput) GoString() string {
17141	return s.String()
17142}
17143
17144// Validate inspects the fields of the type to determine if they are valid.
17145func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
17146	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
17147	if s.Filters != nil {
17148		for i, v := range s.Filters {
17149			if v == nil {
17150				continue
17151			}
17152			if err := v.Validate(); err != nil {
17153				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17154			}
17155		}
17156	}
17157
17158	if invalidParams.Len() > 0 {
17159		return invalidParams
17160	}
17161	return nil
17162}
17163
17164// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17165func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
17166	s.DBClusterParameterGroupName = &v
17167	return s
17168}
17169
17170// SetFilters sets the Filters field's value.
17171func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
17172	s.Filters = v
17173	return s
17174}
17175
17176// SetMarker sets the Marker field's value.
17177func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
17178	s.Marker = &v
17179	return s
17180}
17181
17182// SetMaxRecords sets the MaxRecords field's value.
17183func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
17184	s.MaxRecords = &v
17185	return s
17186}
17187
17188// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterParameterGroupsMessage
17189type DescribeDBClusterParameterGroupsOutput struct {
17190	_ struct{} `type:"structure"`
17191
17192	// A list of DB cluster parameter groups.
17193	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
17194
17195	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
17196	// request. If this parameter is specified, the response includes only records
17197	// beyond the marker, up to the value specified by MaxRecords.
17198	Marker *string `type:"string"`
17199}
17200
17201// String returns the string representation
17202func (s DescribeDBClusterParameterGroupsOutput) String() string {
17203	return awsutil.Prettify(s)
17204}
17205
17206// GoString returns the string representation
17207func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
17208	return s.String()
17209}
17210
17211// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
17212func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
17213	s.DBClusterParameterGroups = v
17214	return s
17215}
17216
17217// SetMarker sets the Marker field's value.
17218func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
17219	s.Marker = &v
17220	return s
17221}
17222
17223// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParametersMessage
17224type DescribeDBClusterParametersInput struct {
17225	_ struct{} `type:"structure"`
17226
17227	// The name of a specific DB cluster parameter group to return parameter details
17228	// for.
17229	//
17230	// Constraints:
17231	//
17232	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
17233	//
17234	// DBClusterParameterGroupName is a required field
17235	DBClusterParameterGroupName *string `type:"string" required:"true"`
17236
17237	// This parameter is not currently supported.
17238	Filters []*Filter `locationNameList:"Filter" type:"list"`
17239
17240	// An optional pagination token provided by a previous DescribeDBClusterParameters
17241	// request. If this parameter is specified, the response includes only records
17242	// beyond the marker, up to the value specified by MaxRecords.
17243	Marker *string `type:"string"`
17244
17245	// The maximum number of records to include in the response. If more records
17246	// exist than the specified MaxRecords value, a pagination token called a marker
17247	// is included in the response so that the remaining results can be retrieved.
17248	//
17249	// Default: 100
17250	//
17251	// Constraints: Minimum 20, maximum 100.
17252	MaxRecords *int64 `type:"integer"`
17253
17254	// A value that indicates to return only parameters for a specific source. Parameter
17255	// sources can be engine, service, or customer.
17256	Source *string `type:"string"`
17257}
17258
17259// String returns the string representation
17260func (s DescribeDBClusterParametersInput) String() string {
17261	return awsutil.Prettify(s)
17262}
17263
17264// GoString returns the string representation
17265func (s DescribeDBClusterParametersInput) GoString() string {
17266	return s.String()
17267}
17268
17269// Validate inspects the fields of the type to determine if they are valid.
17270func (s *DescribeDBClusterParametersInput) Validate() error {
17271	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
17272	if s.DBClusterParameterGroupName == nil {
17273		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
17274	}
17275	if s.Filters != nil {
17276		for i, v := range s.Filters {
17277			if v == nil {
17278				continue
17279			}
17280			if err := v.Validate(); err != nil {
17281				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17282			}
17283		}
17284	}
17285
17286	if invalidParams.Len() > 0 {
17287		return invalidParams
17288	}
17289	return nil
17290}
17291
17292// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17293func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
17294	s.DBClusterParameterGroupName = &v
17295	return s
17296}
17297
17298// SetFilters sets the Filters field's value.
17299func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
17300	s.Filters = v
17301	return s
17302}
17303
17304// SetMarker sets the Marker field's value.
17305func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
17306	s.Marker = &v
17307	return s
17308}
17309
17310// SetMaxRecords sets the MaxRecords field's value.
17311func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
17312	s.MaxRecords = &v
17313	return s
17314}
17315
17316// SetSource sets the Source field's value.
17317func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
17318	s.Source = &v
17319	return s
17320}
17321
17322// Provides details about a DB cluster parameter group including the parameters
17323// in the DB cluster parameter group.
17324// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterParameterGroupDetails
17325type DescribeDBClusterParametersOutput struct {
17326	_ struct{} `type:"structure"`
17327
17328	// An optional pagination token provided by a previous DescribeDBClusterParameters
17329	// request. If this parameter is specified, the response includes only records
17330	// beyond the marker, up to the value specified by MaxRecords .
17331	Marker *string `type:"string"`
17332
17333	// Provides a list of parameters for the DB cluster parameter group.
17334	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
17335}
17336
17337// String returns the string representation
17338func (s DescribeDBClusterParametersOutput) String() string {
17339	return awsutil.Prettify(s)
17340}
17341
17342// GoString returns the string representation
17343func (s DescribeDBClusterParametersOutput) GoString() string {
17344	return s.String()
17345}
17346
17347// SetMarker sets the Marker field's value.
17348func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
17349	s.Marker = &v
17350	return s
17351}
17352
17353// SetParameters sets the Parameters field's value.
17354func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
17355	s.Parameters = v
17356	return s
17357}
17358
17359// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributesMessage
17360type DescribeDBClusterSnapshotAttributesInput struct {
17361	_ struct{} `type:"structure"`
17362
17363	// The identifier for the DB cluster snapshot to describe the attributes for.
17364	//
17365	// DBClusterSnapshotIdentifier is a required field
17366	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
17367}
17368
17369// String returns the string representation
17370func (s DescribeDBClusterSnapshotAttributesInput) String() string {
17371	return awsutil.Prettify(s)
17372}
17373
17374// GoString returns the string representation
17375func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
17376	return s.String()
17377}
17378
17379// Validate inspects the fields of the type to determine if they are valid.
17380func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
17381	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
17382	if s.DBClusterSnapshotIdentifier == nil {
17383		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
17384	}
17385
17386	if invalidParams.Len() > 0 {
17387		return invalidParams
17388	}
17389	return nil
17390}
17391
17392// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
17393func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
17394	s.DBClusterSnapshotIdentifier = &v
17395	return s
17396}
17397
17398// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributesResult
17399type DescribeDBClusterSnapshotAttributesOutput struct {
17400	_ struct{} `type:"structure"`
17401
17402	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
17403	// API action.
17404	//
17405	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
17406	// to copy or restore a manual DB cluster snapshot. For more information, see
17407	// the ModifyDBClusterSnapshotAttribute API action.
17408	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
17409}
17410
17411// String returns the string representation
17412func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
17413	return awsutil.Prettify(s)
17414}
17415
17416// GoString returns the string representation
17417func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
17418	return s.String()
17419}
17420
17421// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
17422func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
17423	s.DBClusterSnapshotAttributesResult = v
17424	return s
17425}
17426
17427// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotsMessage
17428type DescribeDBClusterSnapshotsInput struct {
17429	_ struct{} `type:"structure"`
17430
17431	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
17432	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
17433	// parameter. This parameter is not case-sensitive.
17434	//
17435	// Constraints:
17436	//
17437	//    * If supplied, must match the identifier of an existing DBCluster.
17438	DBClusterIdentifier *string `type:"string"`
17439
17440	// A specific DB cluster snapshot identifier to describe. This parameter can't
17441	// be used in conjunction with the DBClusterIdentifier parameter. This value
17442	// is stored as a lowercase string.
17443	//
17444	// Constraints:
17445	//
17446	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
17447	//
17448	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
17449	//    must also be specified.
17450	DBClusterSnapshotIdentifier *string `type:"string"`
17451
17452	// This parameter is not currently supported.
17453	Filters []*Filter `locationNameList:"Filter" type:"list"`
17454
17455	// True to include manual DB cluster snapshots that are public and can be copied
17456	// or restored by any AWS account, and otherwise false. The default is false.
17457	// The default is false.
17458	//
17459	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
17460	// API action.
17461	IncludePublic *bool `type:"boolean"`
17462
17463	// True to include shared manual DB cluster snapshots from other AWS accounts
17464	// that this AWS account has been given permission to copy or restore, and otherwise
17465	// false. The default is false.
17466	//
17467	// You can give an AWS account permission to restore a manual DB cluster snapshot
17468	// from another AWS account by the ModifyDBClusterSnapshotAttribute API action.
17469	IncludeShared *bool `type:"boolean"`
17470
17471	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
17472	// request. If this parameter is specified, the response includes only records
17473	// beyond the marker, up to the value specified by MaxRecords.
17474	Marker *string `type:"string"`
17475
17476	// The maximum number of records to include in the response. If more records
17477	// exist than the specified MaxRecords value, a pagination token called a marker
17478	// is included in the response so that the remaining results can be retrieved.
17479	//
17480	// Default: 100
17481	//
17482	// Constraints: Minimum 20, maximum 100.
17483	MaxRecords *int64 `type:"integer"`
17484
17485	// The type of DB cluster snapshots to be returned. You can specify one of the
17486	// following values:
17487	//
17488	//    * automated - Return all DB cluster snapshots that have been automatically
17489	//    taken by Amazon RDS for my AWS account.
17490	//
17491	//    * manual - Return all DB cluster snapshots that have been taken by my
17492	//    AWS account.
17493	//
17494	//    * shared - Return all manual DB cluster snapshots that have been shared
17495	//    to my AWS account.
17496	//
17497	//    * public - Return all DB cluster snapshots that have been marked as public.
17498	//
17499	// If you don't specify a SnapshotType value, then both automated and manual
17500	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
17501	// with these results by setting the IncludeShared parameter to true. You can
17502	// include public DB cluster snapshots with these results by setting the IncludePublic
17503	// parameter to true.
17504	//
17505	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
17506	// values of manual or automated. The IncludePublic parameter doesn't apply
17507	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
17508	// when SnapshotType is set to public.
17509	SnapshotType *string `type:"string"`
17510}
17511
17512// String returns the string representation
17513func (s DescribeDBClusterSnapshotsInput) String() string {
17514	return awsutil.Prettify(s)
17515}
17516
17517// GoString returns the string representation
17518func (s DescribeDBClusterSnapshotsInput) GoString() string {
17519	return s.String()
17520}
17521
17522// Validate inspects the fields of the type to determine if they are valid.
17523func (s *DescribeDBClusterSnapshotsInput) Validate() error {
17524	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
17525	if s.Filters != nil {
17526		for i, v := range s.Filters {
17527			if v == nil {
17528				continue
17529			}
17530			if err := v.Validate(); err != nil {
17531				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17532			}
17533		}
17534	}
17535
17536	if invalidParams.Len() > 0 {
17537		return invalidParams
17538	}
17539	return nil
17540}
17541
17542// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17543func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
17544	s.DBClusterIdentifier = &v
17545	return s
17546}
17547
17548// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
17549func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
17550	s.DBClusterSnapshotIdentifier = &v
17551	return s
17552}
17553
17554// SetFilters sets the Filters field's value.
17555func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
17556	s.Filters = v
17557	return s
17558}
17559
17560// SetIncludePublic sets the IncludePublic field's value.
17561func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
17562	s.IncludePublic = &v
17563	return s
17564}
17565
17566// SetIncludeShared sets the IncludeShared field's value.
17567func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
17568	s.IncludeShared = &v
17569	return s
17570}
17571
17572// SetMarker sets the Marker field's value.
17573func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
17574	s.Marker = &v
17575	return s
17576}
17577
17578// SetMaxRecords sets the MaxRecords field's value.
17579func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
17580	s.MaxRecords = &v
17581	return s
17582}
17583
17584// SetSnapshotType sets the SnapshotType field's value.
17585func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
17586	s.SnapshotType = &v
17587	return s
17588}
17589
17590// Provides a list of DB cluster snapshots for the user as the result of a call
17591// to the DescribeDBClusterSnapshots action.
17592// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterSnapshotMessage
17593type DescribeDBClusterSnapshotsOutput struct {
17594	_ struct{} `type:"structure"`
17595
17596	// Provides a list of DB cluster snapshots for the user.
17597	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
17598
17599	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
17600	// request. If this parameter is specified, the response includes only records
17601	// beyond the marker, up to the value specified by MaxRecords.
17602	Marker *string `type:"string"`
17603}
17604
17605// String returns the string representation
17606func (s DescribeDBClusterSnapshotsOutput) String() string {
17607	return awsutil.Prettify(s)
17608}
17609
17610// GoString returns the string representation
17611func (s DescribeDBClusterSnapshotsOutput) GoString() string {
17612	return s.String()
17613}
17614
17615// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
17616func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
17617	s.DBClusterSnapshots = v
17618	return s
17619}
17620
17621// SetMarker sets the Marker field's value.
17622func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
17623	s.Marker = &v
17624	return s
17625}
17626
17627// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClustersMessage
17628type DescribeDBClustersInput struct {
17629	_ struct{} `type:"structure"`
17630
17631	// The user-supplied DB cluster identifier. If this parameter is specified,
17632	// information from only the specific DB cluster is returned. This parameter
17633	// isn't case-sensitive.
17634	//
17635	// Constraints:
17636	//
17637	//    * If supplied, must match an existing DBClusterIdentifier.
17638	DBClusterIdentifier *string `type:"string"`
17639
17640	// A filter that specifies one or more DB clusters to describe.
17641	//
17642	// Supported filters:
17643	//
17644	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
17645	//    Resource Names (ARNs). The results list will only include information
17646	//    about the DB clusters identified by these ARNs.
17647	Filters []*Filter `locationNameList:"Filter" type:"list"`
17648
17649	// An optional pagination token provided by a previous DescribeDBClusters request.
17650	// If this parameter is specified, the response includes only records beyond
17651	// the marker, up to the value specified by MaxRecords.
17652	Marker *string `type:"string"`
17653
17654	// The maximum number of records to include in the response. If more records
17655	// exist than the specified MaxRecords value, a pagination token called a marker
17656	// is included in the response so that the remaining results can be retrieved.
17657	//
17658	// Default: 100
17659	//
17660	// Constraints: Minimum 20, maximum 100.
17661	MaxRecords *int64 `type:"integer"`
17662}
17663
17664// String returns the string representation
17665func (s DescribeDBClustersInput) String() string {
17666	return awsutil.Prettify(s)
17667}
17668
17669// GoString returns the string representation
17670func (s DescribeDBClustersInput) GoString() string {
17671	return s.String()
17672}
17673
17674// Validate inspects the fields of the type to determine if they are valid.
17675func (s *DescribeDBClustersInput) Validate() error {
17676	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
17677	if s.Filters != nil {
17678		for i, v := range s.Filters {
17679			if v == nil {
17680				continue
17681			}
17682			if err := v.Validate(); err != nil {
17683				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17684			}
17685		}
17686	}
17687
17688	if invalidParams.Len() > 0 {
17689		return invalidParams
17690	}
17691	return nil
17692}
17693
17694// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17695func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
17696	s.DBClusterIdentifier = &v
17697	return s
17698}
17699
17700// SetFilters sets the Filters field's value.
17701func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
17702	s.Filters = v
17703	return s
17704}
17705
17706// SetMarker sets the Marker field's value.
17707func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
17708	s.Marker = &v
17709	return s
17710}
17711
17712// SetMaxRecords sets the MaxRecords field's value.
17713func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
17714	s.MaxRecords = &v
17715	return s
17716}
17717
17718// Contains the result of a successful invocation of the DescribeDBClusters
17719// action.
17720// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBClusterMessage
17721type DescribeDBClustersOutput struct {
17722	_ struct{} `type:"structure"`
17723
17724	// Contains a list of DB clusters for the user.
17725	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
17726
17727	// A pagination token that can be used in a subsequent DescribeDBClusters request.
17728	Marker *string `type:"string"`
17729}
17730
17731// String returns the string representation
17732func (s DescribeDBClustersOutput) String() string {
17733	return awsutil.Prettify(s)
17734}
17735
17736// GoString returns the string representation
17737func (s DescribeDBClustersOutput) GoString() string {
17738	return s.String()
17739}
17740
17741// SetDBClusters sets the DBClusters field's value.
17742func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
17743	s.DBClusters = v
17744	return s
17745}
17746
17747// SetMarker sets the Marker field's value.
17748func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
17749	s.Marker = &v
17750	return s
17751}
17752
17753// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersionsMessage
17754type DescribeDBEngineVersionsInput struct {
17755	_ struct{} `type:"structure"`
17756
17757	// The name of a specific DB parameter group family to return details for.
17758	//
17759	// Constraints:
17760	//
17761	//    * If supplied, must match an existing DBParameterGroupFamily.
17762	DBParameterGroupFamily *string `type:"string"`
17763
17764	// Indicates that only the default version of the specified engine or engine
17765	// and major version combination is returned.
17766	DefaultOnly *bool `type:"boolean"`
17767
17768	// The database engine to return.
17769	Engine *string `type:"string"`
17770
17771	// The database engine version to return.
17772	//
17773	// Example: 5.1.49
17774	EngineVersion *string `type:"string"`
17775
17776	// Not currently supported.
17777	Filters []*Filter `locationNameList:"Filter" type:"list"`
17778
17779	// If this parameter is specified and the requested engine supports the CharacterSetName
17780	// parameter for CreateDBInstance, the response includes a list of supported
17781	// character sets for each engine version.
17782	ListSupportedCharacterSets *bool `type:"boolean"`
17783
17784	// If this parameter is specified and the requested engine supports the TimeZone
17785	// parameter for CreateDBInstance, the response includes a list of supported
17786	// time zones for each engine version.
17787	ListSupportedTimezones *bool `type:"boolean"`
17788
17789	// An optional pagination token provided by a previous request. If this parameter
17790	// is specified, the response includes only records beyond the marker, up to
17791	// the value specified by MaxRecords.
17792	Marker *string `type:"string"`
17793
17794	// The maximum number of records to include in the response. If more than the
17795	// MaxRecords value is available, a pagination token called a marker is included
17796	// in the response so that the following results can be retrieved.
17797	//
17798	// Default: 100
17799	//
17800	// Constraints: Minimum 20, maximum 100.
17801	MaxRecords *int64 `type:"integer"`
17802}
17803
17804// String returns the string representation
17805func (s DescribeDBEngineVersionsInput) String() string {
17806	return awsutil.Prettify(s)
17807}
17808
17809// GoString returns the string representation
17810func (s DescribeDBEngineVersionsInput) GoString() string {
17811	return s.String()
17812}
17813
17814// Validate inspects the fields of the type to determine if they are valid.
17815func (s *DescribeDBEngineVersionsInput) Validate() error {
17816	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
17817	if s.Filters != nil {
17818		for i, v := range s.Filters {
17819			if v == nil {
17820				continue
17821			}
17822			if err := v.Validate(); err != nil {
17823				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17824			}
17825		}
17826	}
17827
17828	if invalidParams.Len() > 0 {
17829		return invalidParams
17830	}
17831	return nil
17832}
17833
17834// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
17835func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
17836	s.DBParameterGroupFamily = &v
17837	return s
17838}
17839
17840// SetDefaultOnly sets the DefaultOnly field's value.
17841func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
17842	s.DefaultOnly = &v
17843	return s
17844}
17845
17846// SetEngine sets the Engine field's value.
17847func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
17848	s.Engine = &v
17849	return s
17850}
17851
17852// SetEngineVersion sets the EngineVersion field's value.
17853func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
17854	s.EngineVersion = &v
17855	return s
17856}
17857
17858// SetFilters sets the Filters field's value.
17859func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
17860	s.Filters = v
17861	return s
17862}
17863
17864// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
17865func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
17866	s.ListSupportedCharacterSets = &v
17867	return s
17868}
17869
17870// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
17871func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
17872	s.ListSupportedTimezones = &v
17873	return s
17874}
17875
17876// SetMarker sets the Marker field's value.
17877func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
17878	s.Marker = &v
17879	return s
17880}
17881
17882// SetMaxRecords sets the MaxRecords field's value.
17883func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
17884	s.MaxRecords = &v
17885	return s
17886}
17887
17888// Contains the result of a successful invocation of the DescribeDBEngineVersions
17889// action.
17890// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBEngineVersionMessage
17891type DescribeDBEngineVersionsOutput struct {
17892	_ struct{} `type:"structure"`
17893
17894	// A list of DBEngineVersion elements.
17895	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
17896
17897	// An optional pagination token provided by a previous request. If this parameter
17898	// is specified, the response includes only records beyond the marker, up to
17899	// the value specified by MaxRecords.
17900	Marker *string `type:"string"`
17901}
17902
17903// String returns the string representation
17904func (s DescribeDBEngineVersionsOutput) String() string {
17905	return awsutil.Prettify(s)
17906}
17907
17908// GoString returns the string representation
17909func (s DescribeDBEngineVersionsOutput) GoString() string {
17910	return s.String()
17911}
17912
17913// SetDBEngineVersions sets the DBEngineVersions field's value.
17914func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
17915	s.DBEngineVersions = v
17916	return s
17917}
17918
17919// SetMarker sets the Marker field's value.
17920func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
17921	s.Marker = &v
17922	return s
17923}
17924
17925// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstancesMessage
17926type DescribeDBInstancesInput struct {
17927	_ struct{} `type:"structure"`
17928
17929	// The user-supplied instance identifier. If this parameter is specified, information
17930	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
17931	//
17932	// Constraints:
17933	//
17934	//    * If supplied, must match the identifier of an existing DBInstance.
17935	DBInstanceIdentifier *string `type:"string"`
17936
17937	// A filter that specifies one or more DB instances to describe.
17938	//
17939	// Supported filters:
17940	//
17941	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
17942	//    Resource Names (ARNs). The results list will only include information
17943	//    about the DB instances associated with the DB clusters identified by these
17944	//    ARNs.
17945	//
17946	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
17947	//    Resource Names (ARNs). The results list will only include information
17948	//    about the DB instances identified by these ARNs.
17949	Filters []*Filter `locationNameList:"Filter" type:"list"`
17950
17951	// An optional pagination token provided by a previous DescribeDBInstances request.
17952	// If this parameter is specified, the response includes only records beyond
17953	// the marker, up to the value specified by MaxRecords.
17954	Marker *string `type:"string"`
17955
17956	// The maximum number of records to include in the response. If more records
17957	// exist than the specified MaxRecords value, a pagination token called a marker
17958	// is included in the response so that the remaining results can be retrieved.
17959	//
17960	// Default: 100
17961	//
17962	// Constraints: Minimum 20, maximum 100.
17963	MaxRecords *int64 `type:"integer"`
17964}
17965
17966// String returns the string representation
17967func (s DescribeDBInstancesInput) String() string {
17968	return awsutil.Prettify(s)
17969}
17970
17971// GoString returns the string representation
17972func (s DescribeDBInstancesInput) GoString() string {
17973	return s.String()
17974}
17975
17976// Validate inspects the fields of the type to determine if they are valid.
17977func (s *DescribeDBInstancesInput) Validate() error {
17978	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
17979	if s.Filters != nil {
17980		for i, v := range s.Filters {
17981			if v == nil {
17982				continue
17983			}
17984			if err := v.Validate(); err != nil {
17985				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17986			}
17987		}
17988	}
17989
17990	if invalidParams.Len() > 0 {
17991		return invalidParams
17992	}
17993	return nil
17994}
17995
17996// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
17997func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
17998	s.DBInstanceIdentifier = &v
17999	return s
18000}
18001
18002// SetFilters sets the Filters field's value.
18003func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
18004	s.Filters = v
18005	return s
18006}
18007
18008// SetMarker sets the Marker field's value.
18009func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
18010	s.Marker = &v
18011	return s
18012}
18013
18014// SetMaxRecords sets the MaxRecords field's value.
18015func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
18016	s.MaxRecords = &v
18017	return s
18018}
18019
18020// Contains the result of a successful invocation of the DescribeDBInstances
18021// action.
18022// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBInstanceMessage
18023type DescribeDBInstancesOutput struct {
18024	_ struct{} `type:"structure"`
18025
18026	// A list of DBInstance instances.
18027	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
18028
18029	// An optional pagination token provided by a previous request. If this parameter
18030	// is specified, the response includes only records beyond the marker, up to
18031	// the value specified by MaxRecords .
18032	Marker *string `type:"string"`
18033}
18034
18035// String returns the string representation
18036func (s DescribeDBInstancesOutput) String() string {
18037	return awsutil.Prettify(s)
18038}
18039
18040// GoString returns the string representation
18041func (s DescribeDBInstancesOutput) GoString() string {
18042	return s.String()
18043}
18044
18045// SetDBInstances sets the DBInstances field's value.
18046func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
18047	s.DBInstances = v
18048	return s
18049}
18050
18051// SetMarker sets the Marker field's value.
18052func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
18053	s.Marker = &v
18054	return s
18055}
18056
18057// This data type is used as a response element to DescribeDBLogFiles.
18058// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFilesDetails
18059type DescribeDBLogFilesDetails struct {
18060	_ struct{} `type:"structure"`
18061
18062	// A POSIX timestamp when the last log entry was written.
18063	LastWritten *int64 `type:"long"`
18064
18065	// The name of the log file for the specified DB instance.
18066	LogFileName *string `type:"string"`
18067
18068	// The size, in bytes, of the log file for the specified DB instance.
18069	Size *int64 `type:"long"`
18070}
18071
18072// String returns the string representation
18073func (s DescribeDBLogFilesDetails) String() string {
18074	return awsutil.Prettify(s)
18075}
18076
18077// GoString returns the string representation
18078func (s DescribeDBLogFilesDetails) GoString() string {
18079	return s.String()
18080}
18081
18082// SetLastWritten sets the LastWritten field's value.
18083func (s *DescribeDBLogFilesDetails) SetLastWritten(v int64) *DescribeDBLogFilesDetails {
18084	s.LastWritten = &v
18085	return s
18086}
18087
18088// SetLogFileName sets the LogFileName field's value.
18089func (s *DescribeDBLogFilesDetails) SetLogFileName(v string) *DescribeDBLogFilesDetails {
18090	s.LogFileName = &v
18091	return s
18092}
18093
18094// SetSize sets the Size field's value.
18095func (s *DescribeDBLogFilesDetails) SetSize(v int64) *DescribeDBLogFilesDetails {
18096	s.Size = &v
18097	return s
18098}
18099
18100// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFilesMessage
18101type DescribeDBLogFilesInput struct {
18102	_ struct{} `type:"structure"`
18103
18104	// The customer-assigned name of the DB instance that contains the log files
18105	// you want to list.
18106	//
18107	// Constraints:
18108	//
18109	//    * Must match the identifier of an existing DBInstance.
18110	//
18111	// DBInstanceIdentifier is a required field
18112	DBInstanceIdentifier *string `type:"string" required:"true"`
18113
18114	// Filters the available log files for files written since the specified date,
18115	// in POSIX timestamp format with milliseconds.
18116	FileLastWritten *int64 `type:"long"`
18117
18118	// Filters the available log files for files larger than the specified size.
18119	FileSize *int64 `type:"long"`
18120
18121	// Filters the available log files for log file names that contain the specified
18122	// string.
18123	FilenameContains *string `type:"string"`
18124
18125	// This parameter is not currently supported.
18126	Filters []*Filter `locationNameList:"Filter" type:"list"`
18127
18128	// The pagination token provided in the previous request. If this parameter
18129	// is specified the response includes only records beyond the marker, up to
18130	// MaxRecords.
18131	Marker *string `type:"string"`
18132
18133	// The maximum number of records to include in the response. If more records
18134	// exist than the specified MaxRecords value, a pagination token called a marker
18135	// is included in the response so that the remaining results can be retrieved.
18136	MaxRecords *int64 `type:"integer"`
18137}
18138
18139// String returns the string representation
18140func (s DescribeDBLogFilesInput) String() string {
18141	return awsutil.Prettify(s)
18142}
18143
18144// GoString returns the string representation
18145func (s DescribeDBLogFilesInput) GoString() string {
18146	return s.String()
18147}
18148
18149// Validate inspects the fields of the type to determine if they are valid.
18150func (s *DescribeDBLogFilesInput) Validate() error {
18151	invalidParams := request.ErrInvalidParams{Context: "DescribeDBLogFilesInput"}
18152	if s.DBInstanceIdentifier == nil {
18153		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
18154	}
18155	if s.Filters != nil {
18156		for i, v := range s.Filters {
18157			if v == nil {
18158				continue
18159			}
18160			if err := v.Validate(); err != nil {
18161				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18162			}
18163		}
18164	}
18165
18166	if invalidParams.Len() > 0 {
18167		return invalidParams
18168	}
18169	return nil
18170}
18171
18172// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18173func (s *DescribeDBLogFilesInput) SetDBInstanceIdentifier(v string) *DescribeDBLogFilesInput {
18174	s.DBInstanceIdentifier = &v
18175	return s
18176}
18177
18178// SetFileLastWritten sets the FileLastWritten field's value.
18179func (s *DescribeDBLogFilesInput) SetFileLastWritten(v int64) *DescribeDBLogFilesInput {
18180	s.FileLastWritten = &v
18181	return s
18182}
18183
18184// SetFileSize sets the FileSize field's value.
18185func (s *DescribeDBLogFilesInput) SetFileSize(v int64) *DescribeDBLogFilesInput {
18186	s.FileSize = &v
18187	return s
18188}
18189
18190// SetFilenameContains sets the FilenameContains field's value.
18191func (s *DescribeDBLogFilesInput) SetFilenameContains(v string) *DescribeDBLogFilesInput {
18192	s.FilenameContains = &v
18193	return s
18194}
18195
18196// SetFilters sets the Filters field's value.
18197func (s *DescribeDBLogFilesInput) SetFilters(v []*Filter) *DescribeDBLogFilesInput {
18198	s.Filters = v
18199	return s
18200}
18201
18202// SetMarker sets the Marker field's value.
18203func (s *DescribeDBLogFilesInput) SetMarker(v string) *DescribeDBLogFilesInput {
18204	s.Marker = &v
18205	return s
18206}
18207
18208// SetMaxRecords sets the MaxRecords field's value.
18209func (s *DescribeDBLogFilesInput) SetMaxRecords(v int64) *DescribeDBLogFilesInput {
18210	s.MaxRecords = &v
18211	return s
18212}
18213
18214// The response from a call to DescribeDBLogFiles.
18215// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFilesResponse
18216type DescribeDBLogFilesOutput struct {
18217	_ struct{} `type:"structure"`
18218
18219	// The DB log files returned.
18220	DescribeDBLogFiles []*DescribeDBLogFilesDetails `locationNameList:"DescribeDBLogFilesDetails" type:"list"`
18221
18222	// A pagination token that can be used in a subsequent DescribeDBLogFiles request.
18223	Marker *string `type:"string"`
18224}
18225
18226// String returns the string representation
18227func (s DescribeDBLogFilesOutput) String() string {
18228	return awsutil.Prettify(s)
18229}
18230
18231// GoString returns the string representation
18232func (s DescribeDBLogFilesOutput) GoString() string {
18233	return s.String()
18234}
18235
18236// SetDescribeDBLogFiles sets the DescribeDBLogFiles field's value.
18237func (s *DescribeDBLogFilesOutput) SetDescribeDBLogFiles(v []*DescribeDBLogFilesDetails) *DescribeDBLogFilesOutput {
18238	s.DescribeDBLogFiles = v
18239	return s
18240}
18241
18242// SetMarker sets the Marker field's value.
18243func (s *DescribeDBLogFilesOutput) SetMarker(v string) *DescribeDBLogFilesOutput {
18244	s.Marker = &v
18245	return s
18246}
18247
18248// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroupsMessage
18249type DescribeDBParameterGroupsInput struct {
18250	_ struct{} `type:"structure"`
18251
18252	// The name of a specific DB parameter group to return details for.
18253	//
18254	// Constraints:
18255	//
18256	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
18257	DBParameterGroupName *string `type:"string"`
18258
18259	// This parameter is not currently supported.
18260	Filters []*Filter `locationNameList:"Filter" type:"list"`
18261
18262	// An optional pagination token provided by a previous DescribeDBParameterGroups
18263	// request. If this parameter is specified, the response includes only records
18264	// beyond the marker, up to the value specified by MaxRecords.
18265	Marker *string `type:"string"`
18266
18267	// The maximum number of records to include in the response. If more records
18268	// exist than the specified MaxRecords value, a pagination token called a marker
18269	// is included in the response so that the remaining results can be retrieved.
18270	//
18271	// Default: 100
18272	//
18273	// Constraints: Minimum 20, maximum 100.
18274	MaxRecords *int64 `type:"integer"`
18275}
18276
18277// String returns the string representation
18278func (s DescribeDBParameterGroupsInput) String() string {
18279	return awsutil.Prettify(s)
18280}
18281
18282// GoString returns the string representation
18283func (s DescribeDBParameterGroupsInput) GoString() string {
18284	return s.String()
18285}
18286
18287// Validate inspects the fields of the type to determine if they are valid.
18288func (s *DescribeDBParameterGroupsInput) Validate() error {
18289	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
18290	if s.Filters != nil {
18291		for i, v := range s.Filters {
18292			if v == nil {
18293				continue
18294			}
18295			if err := v.Validate(); err != nil {
18296				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18297			}
18298		}
18299	}
18300
18301	if invalidParams.Len() > 0 {
18302		return invalidParams
18303	}
18304	return nil
18305}
18306
18307// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18308func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
18309	s.DBParameterGroupName = &v
18310	return s
18311}
18312
18313// SetFilters sets the Filters field's value.
18314func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
18315	s.Filters = v
18316	return s
18317}
18318
18319// SetMarker sets the Marker field's value.
18320func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
18321	s.Marker = &v
18322	return s
18323}
18324
18325// SetMaxRecords sets the MaxRecords field's value.
18326func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
18327	s.MaxRecords = &v
18328	return s
18329}
18330
18331// Contains the result of a successful invocation of the DescribeDBParameterGroups
18332// action.
18333// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBParameterGroupsMessage
18334type DescribeDBParameterGroupsOutput struct {
18335	_ struct{} `type:"structure"`
18336
18337	// A list of DBParameterGroup instances.
18338	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
18339
18340	// An optional pagination token provided by a previous request. If this parameter
18341	// is specified, the response includes only records beyond the marker, up to
18342	// the value specified by MaxRecords.
18343	Marker *string `type:"string"`
18344}
18345
18346// String returns the string representation
18347func (s DescribeDBParameterGroupsOutput) String() string {
18348	return awsutil.Prettify(s)
18349}
18350
18351// GoString returns the string representation
18352func (s DescribeDBParameterGroupsOutput) GoString() string {
18353	return s.String()
18354}
18355
18356// SetDBParameterGroups sets the DBParameterGroups field's value.
18357func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
18358	s.DBParameterGroups = v
18359	return s
18360}
18361
18362// SetMarker sets the Marker field's value.
18363func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
18364	s.Marker = &v
18365	return s
18366}
18367
18368// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParametersMessage
18369type DescribeDBParametersInput struct {
18370	_ struct{} `type:"structure"`
18371
18372	// The name of a specific DB parameter group to return details for.
18373	//
18374	// Constraints:
18375	//
18376	//    * If supplied, must match the name of an existing DBParameterGroup.
18377	//
18378	// DBParameterGroupName is a required field
18379	DBParameterGroupName *string `type:"string" required:"true"`
18380
18381	// This parameter is not currently supported.
18382	Filters []*Filter `locationNameList:"Filter" type:"list"`
18383
18384	// An optional pagination token provided by a previous DescribeDBParameters
18385	// request. If this parameter is specified, the response includes only records
18386	// beyond the marker, up to the value specified by MaxRecords.
18387	Marker *string `type:"string"`
18388
18389	// The maximum number of records to include in the response. If more records
18390	// exist than the specified MaxRecords value, a pagination token called a marker
18391	// is included in the response so that the remaining results can be retrieved.
18392	//
18393	// Default: 100
18394	//
18395	// Constraints: Minimum 20, maximum 100.
18396	MaxRecords *int64 `type:"integer"`
18397
18398	// The parameter types to return.
18399	//
18400	// Default: All parameter types returned
18401	//
18402	// Valid Values: user | system | engine-default
18403	Source *string `type:"string"`
18404}
18405
18406// String returns the string representation
18407func (s DescribeDBParametersInput) String() string {
18408	return awsutil.Prettify(s)
18409}
18410
18411// GoString returns the string representation
18412func (s DescribeDBParametersInput) GoString() string {
18413	return s.String()
18414}
18415
18416// Validate inspects the fields of the type to determine if they are valid.
18417func (s *DescribeDBParametersInput) Validate() error {
18418	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
18419	if s.DBParameterGroupName == nil {
18420		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
18421	}
18422	if s.Filters != nil {
18423		for i, v := range s.Filters {
18424			if v == nil {
18425				continue
18426			}
18427			if err := v.Validate(); err != nil {
18428				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18429			}
18430		}
18431	}
18432
18433	if invalidParams.Len() > 0 {
18434		return invalidParams
18435	}
18436	return nil
18437}
18438
18439// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18440func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
18441	s.DBParameterGroupName = &v
18442	return s
18443}
18444
18445// SetFilters sets the Filters field's value.
18446func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
18447	s.Filters = v
18448	return s
18449}
18450
18451// SetMarker sets the Marker field's value.
18452func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
18453	s.Marker = &v
18454	return s
18455}
18456
18457// SetMaxRecords sets the MaxRecords field's value.
18458func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
18459	s.MaxRecords = &v
18460	return s
18461}
18462
18463// SetSource sets the Source field's value.
18464func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
18465	s.Source = &v
18466	return s
18467}
18468
18469// Contains the result of a successful invocation of the DescribeDBParameters
18470// action.
18471// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBParameterGroupDetails
18472type DescribeDBParametersOutput struct {
18473	_ struct{} `type:"structure"`
18474
18475	// An optional pagination token provided by a previous request. If this parameter
18476	// is specified, the response includes only records beyond the marker, up to
18477	// the value specified by MaxRecords.
18478	Marker *string `type:"string"`
18479
18480	// A list of Parameter values.
18481	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
18482}
18483
18484// String returns the string representation
18485func (s DescribeDBParametersOutput) String() string {
18486	return awsutil.Prettify(s)
18487}
18488
18489// GoString returns the string representation
18490func (s DescribeDBParametersOutput) GoString() string {
18491	return s.String()
18492}
18493
18494// SetMarker sets the Marker field's value.
18495func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
18496	s.Marker = &v
18497	return s
18498}
18499
18500// SetParameters sets the Parameters field's value.
18501func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
18502	s.Parameters = v
18503	return s
18504}
18505
18506// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroupsMessage
18507type DescribeDBSecurityGroupsInput struct {
18508	_ struct{} `type:"structure"`
18509
18510	// The name of the DB security group to return details for.
18511	DBSecurityGroupName *string `type:"string"`
18512
18513	// This parameter is not currently supported.
18514	Filters []*Filter `locationNameList:"Filter" type:"list"`
18515
18516	// An optional pagination token provided by a previous DescribeDBSecurityGroups
18517	// request. If this parameter is specified, the response includes only records
18518	// beyond the marker, up to the value specified by MaxRecords.
18519	Marker *string `type:"string"`
18520
18521	// The maximum number of records to include in the response. If more records
18522	// exist than the specified MaxRecords value, a pagination token called a marker
18523	// is included in the response so that the remaining results can be retrieved.
18524	//
18525	// Default: 100
18526	//
18527	// Constraints: Minimum 20, maximum 100.
18528	MaxRecords *int64 `type:"integer"`
18529}
18530
18531// String returns the string representation
18532func (s DescribeDBSecurityGroupsInput) String() string {
18533	return awsutil.Prettify(s)
18534}
18535
18536// GoString returns the string representation
18537func (s DescribeDBSecurityGroupsInput) GoString() string {
18538	return s.String()
18539}
18540
18541// Validate inspects the fields of the type to determine if they are valid.
18542func (s *DescribeDBSecurityGroupsInput) Validate() error {
18543	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSecurityGroupsInput"}
18544	if s.Filters != nil {
18545		for i, v := range s.Filters {
18546			if v == nil {
18547				continue
18548			}
18549			if err := v.Validate(); err != nil {
18550				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18551			}
18552		}
18553	}
18554
18555	if invalidParams.Len() > 0 {
18556		return invalidParams
18557	}
18558	return nil
18559}
18560
18561// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
18562func (s *DescribeDBSecurityGroupsInput) SetDBSecurityGroupName(v string) *DescribeDBSecurityGroupsInput {
18563	s.DBSecurityGroupName = &v
18564	return s
18565}
18566
18567// SetFilters sets the Filters field's value.
18568func (s *DescribeDBSecurityGroupsInput) SetFilters(v []*Filter) *DescribeDBSecurityGroupsInput {
18569	s.Filters = v
18570	return s
18571}
18572
18573// SetMarker sets the Marker field's value.
18574func (s *DescribeDBSecurityGroupsInput) SetMarker(v string) *DescribeDBSecurityGroupsInput {
18575	s.Marker = &v
18576	return s
18577}
18578
18579// SetMaxRecords sets the MaxRecords field's value.
18580func (s *DescribeDBSecurityGroupsInput) SetMaxRecords(v int64) *DescribeDBSecurityGroupsInput {
18581	s.MaxRecords = &v
18582	return s
18583}
18584
18585// Contains the result of a successful invocation of the DescribeDBSecurityGroups
18586// action.
18587// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSecurityGroupMessage
18588type DescribeDBSecurityGroupsOutput struct {
18589	_ struct{} `type:"structure"`
18590
18591	// A list of DBSecurityGroup instances.
18592	DBSecurityGroups []*DBSecurityGroup `locationNameList:"DBSecurityGroup" type:"list"`
18593
18594	// An optional pagination token provided by a previous request. If this parameter
18595	// is specified, the response includes only records beyond the marker, up to
18596	// the value specified by MaxRecords.
18597	Marker *string `type:"string"`
18598}
18599
18600// String returns the string representation
18601func (s DescribeDBSecurityGroupsOutput) String() string {
18602	return awsutil.Prettify(s)
18603}
18604
18605// GoString returns the string representation
18606func (s DescribeDBSecurityGroupsOutput) GoString() string {
18607	return s.String()
18608}
18609
18610// SetDBSecurityGroups sets the DBSecurityGroups field's value.
18611func (s *DescribeDBSecurityGroupsOutput) SetDBSecurityGroups(v []*DBSecurityGroup) *DescribeDBSecurityGroupsOutput {
18612	s.DBSecurityGroups = v
18613	return s
18614}
18615
18616// SetMarker sets the Marker field's value.
18617func (s *DescribeDBSecurityGroupsOutput) SetMarker(v string) *DescribeDBSecurityGroupsOutput {
18618	s.Marker = &v
18619	return s
18620}
18621
18622// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributesMessage
18623type DescribeDBSnapshotAttributesInput struct {
18624	_ struct{} `type:"structure"`
18625
18626	// The identifier for the DB snapshot to describe the attributes for.
18627	//
18628	// DBSnapshotIdentifier is a required field
18629	DBSnapshotIdentifier *string `type:"string" required:"true"`
18630}
18631
18632// String returns the string representation
18633func (s DescribeDBSnapshotAttributesInput) String() string {
18634	return awsutil.Prettify(s)
18635}
18636
18637// GoString returns the string representation
18638func (s DescribeDBSnapshotAttributesInput) GoString() string {
18639	return s.String()
18640}
18641
18642// Validate inspects the fields of the type to determine if they are valid.
18643func (s *DescribeDBSnapshotAttributesInput) Validate() error {
18644	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotAttributesInput"}
18645	if s.DBSnapshotIdentifier == nil {
18646		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
18647	}
18648
18649	if invalidParams.Len() > 0 {
18650		return invalidParams
18651	}
18652	return nil
18653}
18654
18655// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
18656func (s *DescribeDBSnapshotAttributesInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotAttributesInput {
18657	s.DBSnapshotIdentifier = &v
18658	return s
18659}
18660
18661// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributesResult
18662type DescribeDBSnapshotAttributesOutput struct {
18663	_ struct{} `type:"structure"`
18664
18665	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
18666	// API action.
18667	//
18668	// Manual DB snapshot attributes are used to authorize other AWS accounts to
18669	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
18670	// API action.
18671	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
18672}
18673
18674// String returns the string representation
18675func (s DescribeDBSnapshotAttributesOutput) String() string {
18676	return awsutil.Prettify(s)
18677}
18678
18679// GoString returns the string representation
18680func (s DescribeDBSnapshotAttributesOutput) GoString() string {
18681	return s.String()
18682}
18683
18684// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
18685func (s *DescribeDBSnapshotAttributesOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *DescribeDBSnapshotAttributesOutput {
18686	s.DBSnapshotAttributesResult = v
18687	return s
18688}
18689
18690// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotsMessage
18691type DescribeDBSnapshotsInput struct {
18692	_ struct{} `type:"structure"`
18693
18694	// The ID of the DB instance to retrieve the list of DB snapshots for. This
18695	// parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter
18696	// is not case-sensitive.
18697	//
18698	// Constraints:
18699	//
18700	//    * If supplied, must match the identifier of an existing DBInstance.
18701	DBInstanceIdentifier *string `type:"string"`
18702
18703	// A specific DB snapshot identifier to describe. This parameter can't be used
18704	// in conjunction with DBInstanceIdentifier. This value is stored as a lowercase
18705	// string.
18706	//
18707	// Constraints:
18708	//
18709	//    * If supplied, must match the identifier of an existing DBSnapshot.
18710	//
18711	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
18712	//    must also be specified.
18713	DBSnapshotIdentifier *string `type:"string"`
18714
18715	// This parameter is not currently supported.
18716	Filters []*Filter `locationNameList:"Filter" type:"list"`
18717
18718	// True to include manual DB snapshots that are public and can be copied or
18719	// restored by any AWS account, and otherwise false. The default is false.
18720	//
18721	// You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute
18722	// API.
18723	IncludePublic *bool `type:"boolean"`
18724
18725	// True to include shared manual DB snapshots from other AWS accounts that this
18726	// AWS account has been given permission to copy or restore, and otherwise false.
18727	// The default is false.
18728	//
18729	// You can give an AWS account permission to restore a manual DB snapshot from
18730	// another AWS account by using the ModifyDBSnapshotAttribute API action.
18731	IncludeShared *bool `type:"boolean"`
18732
18733	// An optional pagination token provided by a previous DescribeDBSnapshots request.
18734	// If this parameter is specified, the response includes only records beyond
18735	// the marker, up to the value specified by MaxRecords.
18736	Marker *string `type:"string"`
18737
18738	// The maximum number of records to include in the response. If more records
18739	// exist than the specified MaxRecords value, a pagination token called a marker
18740	// is included in the response so that the remaining results can be retrieved.
18741	//
18742	// Default: 100
18743	//
18744	// Constraints: Minimum 20, maximum 100.
18745	MaxRecords *int64 `type:"integer"`
18746
18747	// The type of snapshots to be returned. You can specify one of the following
18748	// values:
18749	//
18750	//    * automated - Return all DB snapshots that have been automatically taken
18751	//    by Amazon RDS for my AWS account.
18752	//
18753	//    * manual - Return all DB snapshots that have been taken by my AWS account.
18754	//
18755	//    * shared - Return all manual DB snapshots that have been shared to my
18756	//    AWS account.
18757	//
18758	//    * public - Return all DB snapshots that have been marked as public.
18759	//
18760	// If you don't specify a SnapshotType value, then both automated and manual
18761	// snapshots are returned. Shared and public DB snapshots are not included in
18762	// the returned results by default. You can include shared snapshots with these
18763	// results by setting the IncludeShared parameter to true. You can include public
18764	// snapshots with these results by setting the IncludePublic parameter to true.
18765	//
18766	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
18767	// values of manual or automated. The IncludePublic parameter doesn't apply
18768	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
18769	// when SnapshotType is set to public.
18770	SnapshotType *string `type:"string"`
18771}
18772
18773// String returns the string representation
18774func (s DescribeDBSnapshotsInput) String() string {
18775	return awsutil.Prettify(s)
18776}
18777
18778// GoString returns the string representation
18779func (s DescribeDBSnapshotsInput) GoString() string {
18780	return s.String()
18781}
18782
18783// Validate inspects the fields of the type to determine if they are valid.
18784func (s *DescribeDBSnapshotsInput) Validate() error {
18785	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotsInput"}
18786	if s.Filters != nil {
18787		for i, v := range s.Filters {
18788			if v == nil {
18789				continue
18790			}
18791			if err := v.Validate(); err != nil {
18792				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18793			}
18794		}
18795	}
18796
18797	if invalidParams.Len() > 0 {
18798		return invalidParams
18799	}
18800	return nil
18801}
18802
18803// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18804func (s *DescribeDBSnapshotsInput) SetDBInstanceIdentifier(v string) *DescribeDBSnapshotsInput {
18805	s.DBInstanceIdentifier = &v
18806	return s
18807}
18808
18809// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
18810func (s *DescribeDBSnapshotsInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotsInput {
18811	s.DBSnapshotIdentifier = &v
18812	return s
18813}
18814
18815// SetFilters sets the Filters field's value.
18816func (s *DescribeDBSnapshotsInput) SetFilters(v []*Filter) *DescribeDBSnapshotsInput {
18817	s.Filters = v
18818	return s
18819}
18820
18821// SetIncludePublic sets the IncludePublic field's value.
18822func (s *DescribeDBSnapshotsInput) SetIncludePublic(v bool) *DescribeDBSnapshotsInput {
18823	s.IncludePublic = &v
18824	return s
18825}
18826
18827// SetIncludeShared sets the IncludeShared field's value.
18828func (s *DescribeDBSnapshotsInput) SetIncludeShared(v bool) *DescribeDBSnapshotsInput {
18829	s.IncludeShared = &v
18830	return s
18831}
18832
18833// SetMarker sets the Marker field's value.
18834func (s *DescribeDBSnapshotsInput) SetMarker(v string) *DescribeDBSnapshotsInput {
18835	s.Marker = &v
18836	return s
18837}
18838
18839// SetMaxRecords sets the MaxRecords field's value.
18840func (s *DescribeDBSnapshotsInput) SetMaxRecords(v int64) *DescribeDBSnapshotsInput {
18841	s.MaxRecords = &v
18842	return s
18843}
18844
18845// SetSnapshotType sets the SnapshotType field's value.
18846func (s *DescribeDBSnapshotsInput) SetSnapshotType(v string) *DescribeDBSnapshotsInput {
18847	s.SnapshotType = &v
18848	return s
18849}
18850
18851// Contains the result of a successful invocation of the DescribeDBSnapshots
18852// action.
18853// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSnapshotMessage
18854type DescribeDBSnapshotsOutput struct {
18855	_ struct{} `type:"structure"`
18856
18857	// A list of DBSnapshot instances.
18858	DBSnapshots []*DBSnapshot `locationNameList:"DBSnapshot" type:"list"`
18859
18860	// An optional pagination token provided by a previous request. If this parameter
18861	// is specified, the response includes only records beyond the marker, up to
18862	// the value specified by MaxRecords.
18863	Marker *string `type:"string"`
18864}
18865
18866// String returns the string representation
18867func (s DescribeDBSnapshotsOutput) String() string {
18868	return awsutil.Prettify(s)
18869}
18870
18871// GoString returns the string representation
18872func (s DescribeDBSnapshotsOutput) GoString() string {
18873	return s.String()
18874}
18875
18876// SetDBSnapshots sets the DBSnapshots field's value.
18877func (s *DescribeDBSnapshotsOutput) SetDBSnapshots(v []*DBSnapshot) *DescribeDBSnapshotsOutput {
18878	s.DBSnapshots = v
18879	return s
18880}
18881
18882// SetMarker sets the Marker field's value.
18883func (s *DescribeDBSnapshotsOutput) SetMarker(v string) *DescribeDBSnapshotsOutput {
18884	s.Marker = &v
18885	return s
18886}
18887
18888// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroupsMessage
18889type DescribeDBSubnetGroupsInput struct {
18890	_ struct{} `type:"structure"`
18891
18892	// The name of the DB subnet group to return details for.
18893	DBSubnetGroupName *string `type:"string"`
18894
18895	// This parameter is not currently supported.
18896	Filters []*Filter `locationNameList:"Filter" type:"list"`
18897
18898	// An optional pagination token provided by a previous DescribeDBSubnetGroups
18899	// request. If this parameter is specified, the response includes only records
18900	// beyond the marker, up to the value specified by MaxRecords.
18901	Marker *string `type:"string"`
18902
18903	// The maximum number of records to include in the response. If more records
18904	// exist than the specified MaxRecords value, a pagination token called a marker
18905	// is included in the response so that the remaining results can be retrieved.
18906	//
18907	// Default: 100
18908	//
18909	// Constraints: Minimum 20, maximum 100.
18910	MaxRecords *int64 `type:"integer"`
18911}
18912
18913// String returns the string representation
18914func (s DescribeDBSubnetGroupsInput) String() string {
18915	return awsutil.Prettify(s)
18916}
18917
18918// GoString returns the string representation
18919func (s DescribeDBSubnetGroupsInput) GoString() string {
18920	return s.String()
18921}
18922
18923// Validate inspects the fields of the type to determine if they are valid.
18924func (s *DescribeDBSubnetGroupsInput) Validate() error {
18925	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
18926	if s.Filters != nil {
18927		for i, v := range s.Filters {
18928			if v == nil {
18929				continue
18930			}
18931			if err := v.Validate(); err != nil {
18932				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18933			}
18934		}
18935	}
18936
18937	if invalidParams.Len() > 0 {
18938		return invalidParams
18939	}
18940	return nil
18941}
18942
18943// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
18944func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
18945	s.DBSubnetGroupName = &v
18946	return s
18947}
18948
18949// SetFilters sets the Filters field's value.
18950func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
18951	s.Filters = v
18952	return s
18953}
18954
18955// SetMarker sets the Marker field's value.
18956func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
18957	s.Marker = &v
18958	return s
18959}
18960
18961// SetMaxRecords sets the MaxRecords field's value.
18962func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
18963	s.MaxRecords = &v
18964	return s
18965}
18966
18967// Contains the result of a successful invocation of the DescribeDBSubnetGroups
18968// action.
18969// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBSubnetGroupMessage
18970type DescribeDBSubnetGroupsOutput struct {
18971	_ struct{} `type:"structure"`
18972
18973	// A list of DBSubnetGroup instances.
18974	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
18975
18976	// An optional pagination token provided by a previous request. If this parameter
18977	// is specified, the response includes only records beyond the marker, up to
18978	// the value specified by MaxRecords.
18979	Marker *string `type:"string"`
18980}
18981
18982// String returns the string representation
18983func (s DescribeDBSubnetGroupsOutput) String() string {
18984	return awsutil.Prettify(s)
18985}
18986
18987// GoString returns the string representation
18988func (s DescribeDBSubnetGroupsOutput) GoString() string {
18989	return s.String()
18990}
18991
18992// SetDBSubnetGroups sets the DBSubnetGroups field's value.
18993func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
18994	s.DBSubnetGroups = v
18995	return s
18996}
18997
18998// SetMarker sets the Marker field's value.
18999func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
19000	s.Marker = &v
19001	return s
19002}
19003
19004// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParametersMessage
19005type DescribeEngineDefaultClusterParametersInput struct {
19006	_ struct{} `type:"structure"`
19007
19008	// The name of the DB cluster parameter group family to return engine parameter
19009	// information for.
19010	//
19011	// DBParameterGroupFamily is a required field
19012	DBParameterGroupFamily *string `type:"string" required:"true"`
19013
19014	// This parameter is not currently supported.
19015	Filters []*Filter `locationNameList:"Filter" type:"list"`
19016
19017	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
19018	// request. If this parameter is specified, the response includes only records
19019	// beyond the marker, up to the value specified by MaxRecords.
19020	Marker *string `type:"string"`
19021
19022	// The maximum number of records to include in the response. If more records
19023	// exist than the specified MaxRecords value, a pagination token called a marker
19024	// is included in the response so that the remaining results can be retrieved.
19025	//
19026	// Default: 100
19027	//
19028	// Constraints: Minimum 20, maximum 100.
19029	MaxRecords *int64 `type:"integer"`
19030}
19031
19032// String returns the string representation
19033func (s DescribeEngineDefaultClusterParametersInput) String() string {
19034	return awsutil.Prettify(s)
19035}
19036
19037// GoString returns the string representation
19038func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
19039	return s.String()
19040}
19041
19042// Validate inspects the fields of the type to determine if they are valid.
19043func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
19044	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
19045	if s.DBParameterGroupFamily == nil {
19046		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
19047	}
19048	if s.Filters != nil {
19049		for i, v := range s.Filters {
19050			if v == nil {
19051				continue
19052			}
19053			if err := v.Validate(); err != nil {
19054				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19055			}
19056		}
19057	}
19058
19059	if invalidParams.Len() > 0 {
19060		return invalidParams
19061	}
19062	return nil
19063}
19064
19065// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
19066func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
19067	s.DBParameterGroupFamily = &v
19068	return s
19069}
19070
19071// SetFilters sets the Filters field's value.
19072func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
19073	s.Filters = v
19074	return s
19075}
19076
19077// SetMarker sets the Marker field's value.
19078func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
19079	s.Marker = &v
19080	return s
19081}
19082
19083// SetMaxRecords sets the MaxRecords field's value.
19084func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
19085	s.MaxRecords = &v
19086	return s
19087}
19088
19089// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParametersResult
19090type DescribeEngineDefaultClusterParametersOutput struct {
19091	_ struct{} `type:"structure"`
19092
19093	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
19094	// action.
19095	EngineDefaults *EngineDefaults `type:"structure"`
19096}
19097
19098// String returns the string representation
19099func (s DescribeEngineDefaultClusterParametersOutput) String() string {
19100	return awsutil.Prettify(s)
19101}
19102
19103// GoString returns the string representation
19104func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
19105	return s.String()
19106}
19107
19108// SetEngineDefaults sets the EngineDefaults field's value.
19109func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
19110	s.EngineDefaults = v
19111	return s
19112}
19113
19114// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParametersMessage
19115type DescribeEngineDefaultParametersInput struct {
19116	_ struct{} `type:"structure"`
19117
19118	// The name of the DB parameter group family.
19119	//
19120	// DBParameterGroupFamily is a required field
19121	DBParameterGroupFamily *string `type:"string" required:"true"`
19122
19123	// Not currently supported.
19124	Filters []*Filter `locationNameList:"Filter" type:"list"`
19125
19126	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
19127	// request. If this parameter is specified, the response includes only records
19128	// beyond the marker, up to the value specified by MaxRecords.
19129	Marker *string `type:"string"`
19130
19131	// The maximum number of records to include in the response. If more records
19132	// exist than the specified MaxRecords value, a pagination token called a marker
19133	// is included in the response so that the remaining results can be retrieved.
19134	//
19135	// Default: 100
19136	//
19137	// Constraints: Minimum 20, maximum 100.
19138	MaxRecords *int64 `type:"integer"`
19139}
19140
19141// String returns the string representation
19142func (s DescribeEngineDefaultParametersInput) String() string {
19143	return awsutil.Prettify(s)
19144}
19145
19146// GoString returns the string representation
19147func (s DescribeEngineDefaultParametersInput) GoString() string {
19148	return s.String()
19149}
19150
19151// Validate inspects the fields of the type to determine if they are valid.
19152func (s *DescribeEngineDefaultParametersInput) Validate() error {
19153	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
19154	if s.DBParameterGroupFamily == nil {
19155		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
19156	}
19157	if s.Filters != nil {
19158		for i, v := range s.Filters {
19159			if v == nil {
19160				continue
19161			}
19162			if err := v.Validate(); err != nil {
19163				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19164			}
19165		}
19166	}
19167
19168	if invalidParams.Len() > 0 {
19169		return invalidParams
19170	}
19171	return nil
19172}
19173
19174// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
19175func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
19176	s.DBParameterGroupFamily = &v
19177	return s
19178}
19179
19180// SetFilters sets the Filters field's value.
19181func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
19182	s.Filters = v
19183	return s
19184}
19185
19186// SetMarker sets the Marker field's value.
19187func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
19188	s.Marker = &v
19189	return s
19190}
19191
19192// SetMaxRecords sets the MaxRecords field's value.
19193func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
19194	s.MaxRecords = &v
19195	return s
19196}
19197
19198// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParametersResult
19199type DescribeEngineDefaultParametersOutput struct {
19200	_ struct{} `type:"structure"`
19201
19202	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
19203	// action.
19204	EngineDefaults *EngineDefaults `type:"structure"`
19205}
19206
19207// String returns the string representation
19208func (s DescribeEngineDefaultParametersOutput) String() string {
19209	return awsutil.Prettify(s)
19210}
19211
19212// GoString returns the string representation
19213func (s DescribeEngineDefaultParametersOutput) GoString() string {
19214	return s.String()
19215}
19216
19217// SetEngineDefaults sets the EngineDefaults field's value.
19218func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
19219	s.EngineDefaults = v
19220	return s
19221}
19222
19223// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategoriesMessage
19224type DescribeEventCategoriesInput struct {
19225	_ struct{} `type:"structure"`
19226
19227	// This parameter is not currently supported.
19228	Filters []*Filter `locationNameList:"Filter" type:"list"`
19229
19230	// The type of source that is generating the events.
19231	//
19232	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
19233	SourceType *string `type:"string"`
19234}
19235
19236// String returns the string representation
19237func (s DescribeEventCategoriesInput) String() string {
19238	return awsutil.Prettify(s)
19239}
19240
19241// GoString returns the string representation
19242func (s DescribeEventCategoriesInput) GoString() string {
19243	return s.String()
19244}
19245
19246// Validate inspects the fields of the type to determine if they are valid.
19247func (s *DescribeEventCategoriesInput) Validate() error {
19248	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
19249	if s.Filters != nil {
19250		for i, v := range s.Filters {
19251			if v == nil {
19252				continue
19253			}
19254			if err := v.Validate(); err != nil {
19255				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19256			}
19257		}
19258	}
19259
19260	if invalidParams.Len() > 0 {
19261		return invalidParams
19262	}
19263	return nil
19264}
19265
19266// SetFilters sets the Filters field's value.
19267func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
19268	s.Filters = v
19269	return s
19270}
19271
19272// SetSourceType sets the SourceType field's value.
19273func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
19274	s.SourceType = &v
19275	return s
19276}
19277
19278// Data returned from the DescribeEventCategories action.
19279// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EventCategoriesMessage
19280type DescribeEventCategoriesOutput struct {
19281	_ struct{} `type:"structure"`
19282
19283	// A list of EventCategoriesMap data types.
19284	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
19285}
19286
19287// String returns the string representation
19288func (s DescribeEventCategoriesOutput) String() string {
19289	return awsutil.Prettify(s)
19290}
19291
19292// GoString returns the string representation
19293func (s DescribeEventCategoriesOutput) GoString() string {
19294	return s.String()
19295}
19296
19297// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
19298func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
19299	s.EventCategoriesMapList = v
19300	return s
19301}
19302
19303// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptionsMessage
19304type DescribeEventSubscriptionsInput struct {
19305	_ struct{} `type:"structure"`
19306
19307	// This parameter is not currently supported.
19308	Filters []*Filter `locationNameList:"Filter" type:"list"`
19309
19310	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
19311	// request. If this parameter is specified, the response includes only records
19312	// beyond the marker, up to the value specified by MaxRecords .
19313	Marker *string `type:"string"`
19314
19315	// The maximum number of records to include in the response. If more records
19316	// exist than the specified MaxRecords value, a pagination token called a marker
19317	// is included in the response so that the remaining results can be retrieved.
19318	//
19319	// Default: 100
19320	//
19321	// Constraints: Minimum 20, maximum 100.
19322	MaxRecords *int64 `type:"integer"`
19323
19324	// The name of the RDS event notification subscription you want to describe.
19325	SubscriptionName *string `type:"string"`
19326}
19327
19328// String returns the string representation
19329func (s DescribeEventSubscriptionsInput) String() string {
19330	return awsutil.Prettify(s)
19331}
19332
19333// GoString returns the string representation
19334func (s DescribeEventSubscriptionsInput) GoString() string {
19335	return s.String()
19336}
19337
19338// Validate inspects the fields of the type to determine if they are valid.
19339func (s *DescribeEventSubscriptionsInput) Validate() error {
19340	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
19341	if s.Filters != nil {
19342		for i, v := range s.Filters {
19343			if v == nil {
19344				continue
19345			}
19346			if err := v.Validate(); err != nil {
19347				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19348			}
19349		}
19350	}
19351
19352	if invalidParams.Len() > 0 {
19353		return invalidParams
19354	}
19355	return nil
19356}
19357
19358// SetFilters sets the Filters field's value.
19359func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
19360	s.Filters = v
19361	return s
19362}
19363
19364// SetMarker sets the Marker field's value.
19365func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
19366	s.Marker = &v
19367	return s
19368}
19369
19370// SetMaxRecords sets the MaxRecords field's value.
19371func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
19372	s.MaxRecords = &v
19373	return s
19374}
19375
19376// SetSubscriptionName sets the SubscriptionName field's value.
19377func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
19378	s.SubscriptionName = &v
19379	return s
19380}
19381
19382// Data returned by the DescribeEventSubscriptions action.
19383// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EventSubscriptionsMessage
19384type DescribeEventSubscriptionsOutput struct {
19385	_ struct{} `type:"structure"`
19386
19387	// A list of EventSubscriptions data types.
19388	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
19389
19390	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
19391	// request. If this parameter is specified, the response includes only records
19392	// beyond the marker, up to the value specified by MaxRecords.
19393	Marker *string `type:"string"`
19394}
19395
19396// String returns the string representation
19397func (s DescribeEventSubscriptionsOutput) String() string {
19398	return awsutil.Prettify(s)
19399}
19400
19401// GoString returns the string representation
19402func (s DescribeEventSubscriptionsOutput) GoString() string {
19403	return s.String()
19404}
19405
19406// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
19407func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
19408	s.EventSubscriptionsList = v
19409	return s
19410}
19411
19412// SetMarker sets the Marker field's value.
19413func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
19414	s.Marker = &v
19415	return s
19416}
19417
19418// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventsMessage
19419type DescribeEventsInput struct {
19420	_ struct{} `type:"structure"`
19421
19422	// The number of minutes to retrieve events for.
19423	//
19424	// Default: 60
19425	Duration *int64 `type:"integer"`
19426
19427	// The end of the time interval for which to retrieve events, specified in ISO
19428	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
19429	// page. (http://en.wikipedia.org/wiki/ISO_8601)
19430	//
19431	// Example: 2009-07-08T18:00Z
19432	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
19433
19434	// A list of event categories that trigger notifications for a event notification
19435	// subscription.
19436	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
19437
19438	// This parameter is not currently supported.
19439	Filters []*Filter `locationNameList:"Filter" type:"list"`
19440
19441	// An optional pagination token provided by a previous DescribeEvents request.
19442	// If this parameter is specified, the response includes only records beyond
19443	// the marker, up to the value specified by MaxRecords.
19444	Marker *string `type:"string"`
19445
19446	// The maximum number of records to include in the response. If more records
19447	// exist than the specified MaxRecords value, a pagination token called a marker
19448	// is included in the response so that the remaining results can be retrieved.
19449	//
19450	// Default: 100
19451	//
19452	// Constraints: Minimum 20, maximum 100.
19453	MaxRecords *int64 `type:"integer"`
19454
19455	// The identifier of the event source for which events are returned. If not
19456	// specified, then all sources are included in the response.
19457	//
19458	// Constraints:
19459	//
19460	//    * If SourceIdentifier is supplied, SourceType must also be provided.
19461	//
19462	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
19463	//    supplied.
19464	//
19465	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
19466	//    supplied.
19467	//
19468	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
19469	//    be supplied.
19470	//
19471	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
19472	//
19473	//    * Cannot end with a hyphen or contain two consecutive hyphens.
19474	SourceIdentifier *string `type:"string"`
19475
19476	// The event source to retrieve events for. If no value is specified, all events
19477	// are returned.
19478	SourceType *string `type:"string" enum:"SourceType"`
19479
19480	// The beginning of the time interval to retrieve events for, specified in ISO
19481	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
19482	// page. (http://en.wikipedia.org/wiki/ISO_8601)
19483	//
19484	// Example: 2009-07-08T18:00Z
19485	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
19486}
19487
19488// String returns the string representation
19489func (s DescribeEventsInput) String() string {
19490	return awsutil.Prettify(s)
19491}
19492
19493// GoString returns the string representation
19494func (s DescribeEventsInput) GoString() string {
19495	return s.String()
19496}
19497
19498// Validate inspects the fields of the type to determine if they are valid.
19499func (s *DescribeEventsInput) Validate() error {
19500	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
19501	if s.Filters != nil {
19502		for i, v := range s.Filters {
19503			if v == nil {
19504				continue
19505			}
19506			if err := v.Validate(); err != nil {
19507				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19508			}
19509		}
19510	}
19511
19512	if invalidParams.Len() > 0 {
19513		return invalidParams
19514	}
19515	return nil
19516}
19517
19518// SetDuration sets the Duration field's value.
19519func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
19520	s.Duration = &v
19521	return s
19522}
19523
19524// SetEndTime sets the EndTime field's value.
19525func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
19526	s.EndTime = &v
19527	return s
19528}
19529
19530// SetEventCategories sets the EventCategories field's value.
19531func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
19532	s.EventCategories = v
19533	return s
19534}
19535
19536// SetFilters sets the Filters field's value.
19537func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
19538	s.Filters = v
19539	return s
19540}
19541
19542// SetMarker sets the Marker field's value.
19543func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
19544	s.Marker = &v
19545	return s
19546}
19547
19548// SetMaxRecords sets the MaxRecords field's value.
19549func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
19550	s.MaxRecords = &v
19551	return s
19552}
19553
19554// SetSourceIdentifier sets the SourceIdentifier field's value.
19555func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
19556	s.SourceIdentifier = &v
19557	return s
19558}
19559
19560// SetSourceType sets the SourceType field's value.
19561func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
19562	s.SourceType = &v
19563	return s
19564}
19565
19566// SetStartTime sets the StartTime field's value.
19567func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
19568	s.StartTime = &v
19569	return s
19570}
19571
19572// Contains the result of a successful invocation of the DescribeEvents action.
19573// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EventsMessage
19574type DescribeEventsOutput struct {
19575	_ struct{} `type:"structure"`
19576
19577	// A list of Event instances.
19578	Events []*Event `locationNameList:"Event" type:"list"`
19579
19580	// An optional pagination token provided by a previous Events request. If this
19581	// parameter is specified, the response includes only records beyond the marker,
19582	// up to the value specified by MaxRecords .
19583	Marker *string `type:"string"`
19584}
19585
19586// String returns the string representation
19587func (s DescribeEventsOutput) String() string {
19588	return awsutil.Prettify(s)
19589}
19590
19591// GoString returns the string representation
19592func (s DescribeEventsOutput) GoString() string {
19593	return s.String()
19594}
19595
19596// SetEvents sets the Events field's value.
19597func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
19598	s.Events = v
19599	return s
19600}
19601
19602// SetMarker sets the Marker field's value.
19603func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
19604	s.Marker = &v
19605	return s
19606}
19607
19608// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptionsMessage
19609type DescribeOptionGroupOptionsInput struct {
19610	_ struct{} `type:"structure"`
19611
19612	// A required parameter. Options available for the given engine name are described.
19613	//
19614	// EngineName is a required field
19615	EngineName *string `type:"string" required:"true"`
19616
19617	// This parameter is not currently supported.
19618	Filters []*Filter `locationNameList:"Filter" type:"list"`
19619
19620	// If specified, filters the results to include only options for the specified
19621	// major engine version.
19622	MajorEngineVersion *string `type:"string"`
19623
19624	// An optional pagination token provided by a previous request. If this parameter
19625	// is specified, the response includes only records beyond the marker, up to
19626	// the value specified by MaxRecords.
19627	Marker *string `type:"string"`
19628
19629	// The maximum number of records to include in the response. If more records
19630	// exist than the specified MaxRecords value, a pagination token called a marker
19631	// is included in the response so that the remaining results can be retrieved.
19632	//
19633	// Default: 100
19634	//
19635	// Constraints: Minimum 20, maximum 100.
19636	MaxRecords *int64 `type:"integer"`
19637}
19638
19639// String returns the string representation
19640func (s DescribeOptionGroupOptionsInput) String() string {
19641	return awsutil.Prettify(s)
19642}
19643
19644// GoString returns the string representation
19645func (s DescribeOptionGroupOptionsInput) GoString() string {
19646	return s.String()
19647}
19648
19649// Validate inspects the fields of the type to determine if they are valid.
19650func (s *DescribeOptionGroupOptionsInput) Validate() error {
19651	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupOptionsInput"}
19652	if s.EngineName == nil {
19653		invalidParams.Add(request.NewErrParamRequired("EngineName"))
19654	}
19655	if s.Filters != nil {
19656		for i, v := range s.Filters {
19657			if v == nil {
19658				continue
19659			}
19660			if err := v.Validate(); err != nil {
19661				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19662			}
19663		}
19664	}
19665
19666	if invalidParams.Len() > 0 {
19667		return invalidParams
19668	}
19669	return nil
19670}
19671
19672// SetEngineName sets the EngineName field's value.
19673func (s *DescribeOptionGroupOptionsInput) SetEngineName(v string) *DescribeOptionGroupOptionsInput {
19674	s.EngineName = &v
19675	return s
19676}
19677
19678// SetFilters sets the Filters field's value.
19679func (s *DescribeOptionGroupOptionsInput) SetFilters(v []*Filter) *DescribeOptionGroupOptionsInput {
19680	s.Filters = v
19681	return s
19682}
19683
19684// SetMajorEngineVersion sets the MajorEngineVersion field's value.
19685func (s *DescribeOptionGroupOptionsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupOptionsInput {
19686	s.MajorEngineVersion = &v
19687	return s
19688}
19689
19690// SetMarker sets the Marker field's value.
19691func (s *DescribeOptionGroupOptionsInput) SetMarker(v string) *DescribeOptionGroupOptionsInput {
19692	s.Marker = &v
19693	return s
19694}
19695
19696// SetMaxRecords sets the MaxRecords field's value.
19697func (s *DescribeOptionGroupOptionsInput) SetMaxRecords(v int64) *DescribeOptionGroupOptionsInput {
19698	s.MaxRecords = &v
19699	return s
19700}
19701
19702// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionGroupOptionsMessage
19703type DescribeOptionGroupOptionsOutput struct {
19704	_ struct{} `type:"structure"`
19705
19706	// An optional pagination token provided by a previous request. If this parameter
19707	// is specified, the response includes only records beyond the marker, up to
19708	// the value specified by MaxRecords.
19709	Marker *string `type:"string"`
19710
19711	// List of available option group options.
19712	OptionGroupOptions []*OptionGroupOption `locationNameList:"OptionGroupOption" type:"list"`
19713}
19714
19715// String returns the string representation
19716func (s DescribeOptionGroupOptionsOutput) String() string {
19717	return awsutil.Prettify(s)
19718}
19719
19720// GoString returns the string representation
19721func (s DescribeOptionGroupOptionsOutput) GoString() string {
19722	return s.String()
19723}
19724
19725// SetMarker sets the Marker field's value.
19726func (s *DescribeOptionGroupOptionsOutput) SetMarker(v string) *DescribeOptionGroupOptionsOutput {
19727	s.Marker = &v
19728	return s
19729}
19730
19731// SetOptionGroupOptions sets the OptionGroupOptions field's value.
19732func (s *DescribeOptionGroupOptionsOutput) SetOptionGroupOptions(v []*OptionGroupOption) *DescribeOptionGroupOptionsOutput {
19733	s.OptionGroupOptions = v
19734	return s
19735}
19736
19737// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupsMessage
19738type DescribeOptionGroupsInput struct {
19739	_ struct{} `type:"structure"`
19740
19741	// Filters the list of option groups to only include groups associated with
19742	// a specific database engine.
19743	EngineName *string `type:"string"`
19744
19745	// This parameter is not currently supported.
19746	Filters []*Filter `locationNameList:"Filter" type:"list"`
19747
19748	// Filters the list of option groups to only include groups associated with
19749	// a specific database engine version. If specified, then EngineName must also
19750	// be specified.
19751	MajorEngineVersion *string `type:"string"`
19752
19753	// An optional pagination token provided by a previous DescribeOptionGroups
19754	// request. If this parameter is specified, the response includes only records
19755	// beyond the marker, up to the value specified by MaxRecords.
19756	Marker *string `type:"string"`
19757
19758	// The maximum number of records to include in the response. If more records
19759	// exist than the specified MaxRecords value, a pagination token called a marker
19760	// is included in the response so that the remaining results can be retrieved.
19761	//
19762	// Default: 100
19763	//
19764	// Constraints: Minimum 20, maximum 100.
19765	MaxRecords *int64 `type:"integer"`
19766
19767	// The name of the option group to describe. Cannot be supplied together with
19768	// EngineName or MajorEngineVersion.
19769	OptionGroupName *string `type:"string"`
19770}
19771
19772// String returns the string representation
19773func (s DescribeOptionGroupsInput) String() string {
19774	return awsutil.Prettify(s)
19775}
19776
19777// GoString returns the string representation
19778func (s DescribeOptionGroupsInput) GoString() string {
19779	return s.String()
19780}
19781
19782// Validate inspects the fields of the type to determine if they are valid.
19783func (s *DescribeOptionGroupsInput) Validate() error {
19784	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupsInput"}
19785	if s.Filters != nil {
19786		for i, v := range s.Filters {
19787			if v == nil {
19788				continue
19789			}
19790			if err := v.Validate(); err != nil {
19791				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19792			}
19793		}
19794	}
19795
19796	if invalidParams.Len() > 0 {
19797		return invalidParams
19798	}
19799	return nil
19800}
19801
19802// SetEngineName sets the EngineName field's value.
19803func (s *DescribeOptionGroupsInput) SetEngineName(v string) *DescribeOptionGroupsInput {
19804	s.EngineName = &v
19805	return s
19806}
19807
19808// SetFilters sets the Filters field's value.
19809func (s *DescribeOptionGroupsInput) SetFilters(v []*Filter) *DescribeOptionGroupsInput {
19810	s.Filters = v
19811	return s
19812}
19813
19814// SetMajorEngineVersion sets the MajorEngineVersion field's value.
19815func (s *DescribeOptionGroupsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupsInput {
19816	s.MajorEngineVersion = &v
19817	return s
19818}
19819
19820// SetMarker sets the Marker field's value.
19821func (s *DescribeOptionGroupsInput) SetMarker(v string) *DescribeOptionGroupsInput {
19822	s.Marker = &v
19823	return s
19824}
19825
19826// SetMaxRecords sets the MaxRecords field's value.
19827func (s *DescribeOptionGroupsInput) SetMaxRecords(v int64) *DescribeOptionGroupsInput {
19828	s.MaxRecords = &v
19829	return s
19830}
19831
19832// SetOptionGroupName sets the OptionGroupName field's value.
19833func (s *DescribeOptionGroupsInput) SetOptionGroupName(v string) *DescribeOptionGroupsInput {
19834	s.OptionGroupName = &v
19835	return s
19836}
19837
19838// List of option groups.
19839// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionGroups
19840type DescribeOptionGroupsOutput struct {
19841	_ struct{} `type:"structure"`
19842
19843	// An optional pagination token provided by a previous request. If this parameter
19844	// is specified, the response includes only records beyond the marker, up to
19845	// the value specified by MaxRecords.
19846	Marker *string `type:"string"`
19847
19848	// List of option groups.
19849	OptionGroupsList []*OptionGroup `locationNameList:"OptionGroup" type:"list"`
19850}
19851
19852// String returns the string representation
19853func (s DescribeOptionGroupsOutput) String() string {
19854	return awsutil.Prettify(s)
19855}
19856
19857// GoString returns the string representation
19858func (s DescribeOptionGroupsOutput) GoString() string {
19859	return s.String()
19860}
19861
19862// SetMarker sets the Marker field's value.
19863func (s *DescribeOptionGroupsOutput) SetMarker(v string) *DescribeOptionGroupsOutput {
19864	s.Marker = &v
19865	return s
19866}
19867
19868// SetOptionGroupsList sets the OptionGroupsList field's value.
19869func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *DescribeOptionGroupsOutput {
19870	s.OptionGroupsList = v
19871	return s
19872}
19873
19874// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptionsMessage
19875type DescribeOrderableDBInstanceOptionsInput struct {
19876	_ struct{} `type:"structure"`
19877
19878	// The DB instance class filter value. Specify this parameter to show only the
19879	// available offerings matching the specified DB instance class.
19880	DBInstanceClass *string `type:"string"`
19881
19882	// The name of the engine to retrieve DB instance options for.
19883	//
19884	// Engine is a required field
19885	Engine *string `type:"string" required:"true"`
19886
19887	// The engine version filter value. Specify this parameter to show only the
19888	// available offerings matching the specified engine version.
19889	EngineVersion *string `type:"string"`
19890
19891	// This parameter is not currently supported.
19892	Filters []*Filter `locationNameList:"Filter" type:"list"`
19893
19894	// The license model filter value. Specify this parameter to show only the available
19895	// offerings matching the specified license model.
19896	LicenseModel *string `type:"string"`
19897
19898	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
19899	// request. If this parameter is specified, the response includes only records
19900	// beyond the marker, up to the value specified by MaxRecords .
19901	Marker *string `type:"string"`
19902
19903	// The maximum number of records to include in the response. If more records
19904	// exist than the specified MaxRecords value, a pagination token called a marker
19905	// is included in the response so that the remaining results can be retrieved.
19906	//
19907	// Default: 100
19908	//
19909	// Constraints: Minimum 20, maximum 100.
19910	MaxRecords *int64 `type:"integer"`
19911
19912	// The VPC filter value. Specify this parameter to show only the available VPC
19913	// or non-VPC offerings.
19914	Vpc *bool `type:"boolean"`
19915}
19916
19917// String returns the string representation
19918func (s DescribeOrderableDBInstanceOptionsInput) String() string {
19919	return awsutil.Prettify(s)
19920}
19921
19922// GoString returns the string representation
19923func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
19924	return s.String()
19925}
19926
19927// Validate inspects the fields of the type to determine if they are valid.
19928func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
19929	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
19930	if s.Engine == nil {
19931		invalidParams.Add(request.NewErrParamRequired("Engine"))
19932	}
19933	if s.Filters != nil {
19934		for i, v := range s.Filters {
19935			if v == nil {
19936				continue
19937			}
19938			if err := v.Validate(); err != nil {
19939				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19940			}
19941		}
19942	}
19943
19944	if invalidParams.Len() > 0 {
19945		return invalidParams
19946	}
19947	return nil
19948}
19949
19950// SetDBInstanceClass sets the DBInstanceClass field's value.
19951func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
19952	s.DBInstanceClass = &v
19953	return s
19954}
19955
19956// SetEngine sets the Engine field's value.
19957func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
19958	s.Engine = &v
19959	return s
19960}
19961
19962// SetEngineVersion sets the EngineVersion field's value.
19963func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
19964	s.EngineVersion = &v
19965	return s
19966}
19967
19968// SetFilters sets the Filters field's value.
19969func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
19970	s.Filters = v
19971	return s
19972}
19973
19974// SetLicenseModel sets the LicenseModel field's value.
19975func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
19976	s.LicenseModel = &v
19977	return s
19978}
19979
19980// SetMarker sets the Marker field's value.
19981func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
19982	s.Marker = &v
19983	return s
19984}
19985
19986// SetMaxRecords sets the MaxRecords field's value.
19987func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
19988	s.MaxRecords = &v
19989	return s
19990}
19991
19992// SetVpc sets the Vpc field's value.
19993func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
19994	s.Vpc = &v
19995	return s
19996}
19997
19998// Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions
19999// action.
20000// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OrderableDBInstanceOptionsMessage
20001type DescribeOrderableDBInstanceOptionsOutput struct {
20002	_ struct{} `type:"structure"`
20003
20004	// An optional pagination token provided by a previous OrderableDBInstanceOptions
20005	// request. If this parameter is specified, the response includes only records
20006	// beyond the marker, up to the value specified by MaxRecords .
20007	Marker *string `type:"string"`
20008
20009	// An OrderableDBInstanceOption structure containing information about orderable
20010	// options for the DB instance.
20011	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
20012}
20013
20014// String returns the string representation
20015func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
20016	return awsutil.Prettify(s)
20017}
20018
20019// GoString returns the string representation
20020func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
20021	return s.String()
20022}
20023
20024// SetMarker sets the Marker field's value.
20025func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
20026	s.Marker = &v
20027	return s
20028}
20029
20030// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
20031func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
20032	s.OrderableDBInstanceOptions = v
20033	return s
20034}
20035
20036// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActionsMessage
20037type DescribePendingMaintenanceActionsInput struct {
20038	_ struct{} `type:"structure"`
20039
20040	// A filter that specifies one or more resources to return pending maintenance
20041	// actions for.
20042	//
20043	// Supported filters:
20044	//
20045	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
20046	//    Resource Names (ARNs). The results list will only include pending maintenance
20047	//    actions for the DB clusters identified by these ARNs.
20048	//
20049	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
20050	//    The results list will only include pending maintenance actions for the
20051	//    DB instances identified by these ARNs.
20052	Filters []*Filter `locationNameList:"Filter" type:"list"`
20053
20054	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
20055	// request. If this parameter is specified, the response includes only records
20056	// beyond the marker, up to a number of records specified by MaxRecords.
20057	Marker *string `type:"string"`
20058
20059	// The maximum number of records to include in the response. If more records
20060	// exist than the specified MaxRecords value, a pagination token called a marker
20061	// is included in the response so that the remaining results can be retrieved.
20062	//
20063	// Default: 100
20064	//
20065	// Constraints: Minimum 20, maximum 100.
20066	MaxRecords *int64 `type:"integer"`
20067
20068	// The ARN of a resource to return pending maintenance actions for.
20069	ResourceIdentifier *string `type:"string"`
20070}
20071
20072// String returns the string representation
20073func (s DescribePendingMaintenanceActionsInput) String() string {
20074	return awsutil.Prettify(s)
20075}
20076
20077// GoString returns the string representation
20078func (s DescribePendingMaintenanceActionsInput) GoString() string {
20079	return s.String()
20080}
20081
20082// Validate inspects the fields of the type to determine if they are valid.
20083func (s *DescribePendingMaintenanceActionsInput) Validate() error {
20084	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
20085	if s.Filters != nil {
20086		for i, v := range s.Filters {
20087			if v == nil {
20088				continue
20089			}
20090			if err := v.Validate(); err != nil {
20091				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20092			}
20093		}
20094	}
20095
20096	if invalidParams.Len() > 0 {
20097		return invalidParams
20098	}
20099	return nil
20100}
20101
20102// SetFilters sets the Filters field's value.
20103func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
20104	s.Filters = v
20105	return s
20106}
20107
20108// SetMarker sets the Marker field's value.
20109func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
20110	s.Marker = &v
20111	return s
20112}
20113
20114// SetMaxRecords sets the MaxRecords field's value.
20115func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
20116	s.MaxRecords = &v
20117	return s
20118}
20119
20120// SetResourceIdentifier sets the ResourceIdentifier field's value.
20121func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
20122	s.ResourceIdentifier = &v
20123	return s
20124}
20125
20126// Data returned from the DescribePendingMaintenanceActions action.
20127// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PendingMaintenanceActionsMessage
20128type DescribePendingMaintenanceActionsOutput struct {
20129	_ struct{} `type:"structure"`
20130
20131	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
20132	// request. If this parameter is specified, the response includes only records
20133	// beyond the marker, up to a number of records specified by MaxRecords.
20134	Marker *string `type:"string"`
20135
20136	// A list of the pending maintenance actions for the resource.
20137	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
20138}
20139
20140// String returns the string representation
20141func (s DescribePendingMaintenanceActionsOutput) String() string {
20142	return awsutil.Prettify(s)
20143}
20144
20145// GoString returns the string representation
20146func (s DescribePendingMaintenanceActionsOutput) GoString() string {
20147	return s.String()
20148}
20149
20150// SetMarker sets the Marker field's value.
20151func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
20152	s.Marker = &v
20153	return s
20154}
20155
20156// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
20157func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
20158	s.PendingMaintenanceActions = v
20159	return s
20160}
20161
20162// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesMessage
20163type DescribeReservedDBInstancesInput struct {
20164	_ struct{} `type:"structure"`
20165
20166	// The DB instance class filter value. Specify this parameter to show only those
20167	// reservations matching the specified DB instances class.
20168	DBInstanceClass *string `type:"string"`
20169
20170	// The duration filter value, specified in years or seconds. Specify this parameter
20171	// to show only reservations for this duration.
20172	//
20173	// Valid Values: 1 | 3 | 31536000 | 94608000
20174	Duration *string `type:"string"`
20175
20176	// This parameter is not currently supported.
20177	Filters []*Filter `locationNameList:"Filter" type:"list"`
20178
20179	// An optional pagination token provided by a previous request. If this parameter
20180	// is specified, the response includes only records beyond the marker, up to
20181	// the value specified by MaxRecords.
20182	Marker *string `type:"string"`
20183
20184	// The maximum number of records to include in the response. If more than the
20185	// MaxRecords value is available, a pagination token called a marker is included
20186	// in the response so that the following results can be retrieved.
20187	//
20188	// Default: 100
20189	//
20190	// Constraints: Minimum 20, maximum 100.
20191	MaxRecords *int64 `type:"integer"`
20192
20193	// The Multi-AZ filter value. Specify this parameter to show only those reservations
20194	// matching the specified Multi-AZ parameter.
20195	MultiAZ *bool `type:"boolean"`
20196
20197	// The offering type filter value. Specify this parameter to show only the available
20198	// offerings matching the specified offering type.
20199	//
20200	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
20201	OfferingType *string `type:"string"`
20202
20203	// The product description filter value. Specify this parameter to show only
20204	// those reservations matching the specified product description.
20205	ProductDescription *string `type:"string"`
20206
20207	// The reserved DB instance identifier filter value. Specify this parameter
20208	// to show only the reservation that matches the specified reservation ID.
20209	ReservedDBInstanceId *string `type:"string"`
20210
20211	// The offering identifier filter value. Specify this parameter to show only
20212	// purchased reservations matching the specified offering identifier.
20213	ReservedDBInstancesOfferingId *string `type:"string"`
20214}
20215
20216// String returns the string representation
20217func (s DescribeReservedDBInstancesInput) String() string {
20218	return awsutil.Prettify(s)
20219}
20220
20221// GoString returns the string representation
20222func (s DescribeReservedDBInstancesInput) GoString() string {
20223	return s.String()
20224}
20225
20226// Validate inspects the fields of the type to determine if they are valid.
20227func (s *DescribeReservedDBInstancesInput) Validate() error {
20228	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesInput"}
20229	if s.Filters != nil {
20230		for i, v := range s.Filters {
20231			if v == nil {
20232				continue
20233			}
20234			if err := v.Validate(); err != nil {
20235				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20236			}
20237		}
20238	}
20239
20240	if invalidParams.Len() > 0 {
20241		return invalidParams
20242	}
20243	return nil
20244}
20245
20246// SetDBInstanceClass sets the DBInstanceClass field's value.
20247func (s *DescribeReservedDBInstancesInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesInput {
20248	s.DBInstanceClass = &v
20249	return s
20250}
20251
20252// SetDuration sets the Duration field's value.
20253func (s *DescribeReservedDBInstancesInput) SetDuration(v string) *DescribeReservedDBInstancesInput {
20254	s.Duration = &v
20255	return s
20256}
20257
20258// SetFilters sets the Filters field's value.
20259func (s *DescribeReservedDBInstancesInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesInput {
20260	s.Filters = v
20261	return s
20262}
20263
20264// SetMarker sets the Marker field's value.
20265func (s *DescribeReservedDBInstancesInput) SetMarker(v string) *DescribeReservedDBInstancesInput {
20266	s.Marker = &v
20267	return s
20268}
20269
20270// SetMaxRecords sets the MaxRecords field's value.
20271func (s *DescribeReservedDBInstancesInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesInput {
20272	s.MaxRecords = &v
20273	return s
20274}
20275
20276// SetMultiAZ sets the MultiAZ field's value.
20277func (s *DescribeReservedDBInstancesInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesInput {
20278	s.MultiAZ = &v
20279	return s
20280}
20281
20282// SetOfferingType sets the OfferingType field's value.
20283func (s *DescribeReservedDBInstancesInput) SetOfferingType(v string) *DescribeReservedDBInstancesInput {
20284	s.OfferingType = &v
20285	return s
20286}
20287
20288// SetProductDescription sets the ProductDescription field's value.
20289func (s *DescribeReservedDBInstancesInput) SetProductDescription(v string) *DescribeReservedDBInstancesInput {
20290	s.ProductDescription = &v
20291	return s
20292}
20293
20294// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
20295func (s *DescribeReservedDBInstancesInput) SetReservedDBInstanceId(v string) *DescribeReservedDBInstancesInput {
20296	s.ReservedDBInstanceId = &v
20297	return s
20298}
20299
20300// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
20301func (s *DescribeReservedDBInstancesInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesInput {
20302	s.ReservedDBInstancesOfferingId = &v
20303	return s
20304}
20305
20306// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferingsMessage
20307type DescribeReservedDBInstancesOfferingsInput struct {
20308	_ struct{} `type:"structure"`
20309
20310	// The DB instance class filter value. Specify this parameter to show only the
20311	// available offerings matching the specified DB instance class.
20312	DBInstanceClass *string `type:"string"`
20313
20314	// Duration filter value, specified in years or seconds. Specify this parameter
20315	// to show only reservations for this duration.
20316	//
20317	// Valid Values: 1 | 3 | 31536000 | 94608000
20318	Duration *string `type:"string"`
20319
20320	// This parameter is not currently supported.
20321	Filters []*Filter `locationNameList:"Filter" type:"list"`
20322
20323	// An optional pagination token provided by a previous request. If this parameter
20324	// is specified, the response includes only records beyond the marker, up to
20325	// the value specified by MaxRecords.
20326	Marker *string `type:"string"`
20327
20328	// The maximum number of records to include in the response. If more than the
20329	// MaxRecords value is available, a pagination token called a marker is included
20330	// in the response so that the following results can be retrieved.
20331	//
20332	// Default: 100
20333	//
20334	// Constraints: Minimum 20, maximum 100.
20335	MaxRecords *int64 `type:"integer"`
20336
20337	// The Multi-AZ filter value. Specify this parameter to show only the available
20338	// offerings matching the specified Multi-AZ parameter.
20339	MultiAZ *bool `type:"boolean"`
20340
20341	// The offering type filter value. Specify this parameter to show only the available
20342	// offerings matching the specified offering type.
20343	//
20344	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
20345	OfferingType *string `type:"string"`
20346
20347	// Product description filter value. Specify this parameter to show only the
20348	// available offerings matching the specified product description.
20349	ProductDescription *string `type:"string"`
20350
20351	// The offering identifier filter value. Specify this parameter to show only
20352	// the available offering that matches the specified reservation identifier.
20353	//
20354	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
20355	ReservedDBInstancesOfferingId *string `type:"string"`
20356}
20357
20358// String returns the string representation
20359func (s DescribeReservedDBInstancesOfferingsInput) String() string {
20360	return awsutil.Prettify(s)
20361}
20362
20363// GoString returns the string representation
20364func (s DescribeReservedDBInstancesOfferingsInput) GoString() string {
20365	return s.String()
20366}
20367
20368// Validate inspects the fields of the type to determine if they are valid.
20369func (s *DescribeReservedDBInstancesOfferingsInput) Validate() error {
20370	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesOfferingsInput"}
20371	if s.Filters != nil {
20372		for i, v := range s.Filters {
20373			if v == nil {
20374				continue
20375			}
20376			if err := v.Validate(); err != nil {
20377				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20378			}
20379		}
20380	}
20381
20382	if invalidParams.Len() > 0 {
20383		return invalidParams
20384	}
20385	return nil
20386}
20387
20388// SetDBInstanceClass sets the DBInstanceClass field's value.
20389func (s *DescribeReservedDBInstancesOfferingsInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesOfferingsInput {
20390	s.DBInstanceClass = &v
20391	return s
20392}
20393
20394// SetDuration sets the Duration field's value.
20395func (s *DescribeReservedDBInstancesOfferingsInput) SetDuration(v string) *DescribeReservedDBInstancesOfferingsInput {
20396	s.Duration = &v
20397	return s
20398}
20399
20400// SetFilters sets the Filters field's value.
20401func (s *DescribeReservedDBInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesOfferingsInput {
20402	s.Filters = v
20403	return s
20404}
20405
20406// SetMarker sets the Marker field's value.
20407func (s *DescribeReservedDBInstancesOfferingsInput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsInput {
20408	s.Marker = &v
20409	return s
20410}
20411
20412// SetMaxRecords sets the MaxRecords field's value.
20413func (s *DescribeReservedDBInstancesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesOfferingsInput {
20414	s.MaxRecords = &v
20415	return s
20416}
20417
20418// SetMultiAZ sets the MultiAZ field's value.
20419func (s *DescribeReservedDBInstancesOfferingsInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesOfferingsInput {
20420	s.MultiAZ = &v
20421	return s
20422}
20423
20424// SetOfferingType sets the OfferingType field's value.
20425func (s *DescribeReservedDBInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedDBInstancesOfferingsInput {
20426	s.OfferingType = &v
20427	return s
20428}
20429
20430// SetProductDescription sets the ProductDescription field's value.
20431func (s *DescribeReservedDBInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedDBInstancesOfferingsInput {
20432	s.ProductDescription = &v
20433	return s
20434}
20435
20436// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
20437func (s *DescribeReservedDBInstancesOfferingsInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesOfferingsInput {
20438	s.ReservedDBInstancesOfferingId = &v
20439	return s
20440}
20441
20442// Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings
20443// action.
20444// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ReservedDBInstancesOfferingMessage
20445type DescribeReservedDBInstancesOfferingsOutput struct {
20446	_ struct{} `type:"structure"`
20447
20448	// An optional pagination token provided by a previous request. If this parameter
20449	// is specified, the response includes only records beyond the marker, up to
20450	// the value specified by MaxRecords.
20451	Marker *string `type:"string"`
20452
20453	// A list of reserved DB instance offerings.
20454	ReservedDBInstancesOfferings []*ReservedDBInstancesOffering `locationNameList:"ReservedDBInstancesOffering" type:"list"`
20455}
20456
20457// String returns the string representation
20458func (s DescribeReservedDBInstancesOfferingsOutput) String() string {
20459	return awsutil.Prettify(s)
20460}
20461
20462// GoString returns the string representation
20463func (s DescribeReservedDBInstancesOfferingsOutput) GoString() string {
20464	return s.String()
20465}
20466
20467// SetMarker sets the Marker field's value.
20468func (s *DescribeReservedDBInstancesOfferingsOutput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsOutput {
20469	s.Marker = &v
20470	return s
20471}
20472
20473// SetReservedDBInstancesOfferings sets the ReservedDBInstancesOfferings field's value.
20474func (s *DescribeReservedDBInstancesOfferingsOutput) SetReservedDBInstancesOfferings(v []*ReservedDBInstancesOffering) *DescribeReservedDBInstancesOfferingsOutput {
20475	s.ReservedDBInstancesOfferings = v
20476	return s
20477}
20478
20479// Contains the result of a successful invocation of the DescribeReservedDBInstances
20480// action.
20481// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ReservedDBInstanceMessage
20482type DescribeReservedDBInstancesOutput struct {
20483	_ struct{} `type:"structure"`
20484
20485	// An optional pagination token provided by a previous request. If this parameter
20486	// is specified, the response includes only records beyond the marker, up to
20487	// the value specified by MaxRecords.
20488	Marker *string `type:"string"`
20489
20490	// A list of reserved DB instances.
20491	ReservedDBInstances []*ReservedDBInstance `locationNameList:"ReservedDBInstance" type:"list"`
20492}
20493
20494// String returns the string representation
20495func (s DescribeReservedDBInstancesOutput) String() string {
20496	return awsutil.Prettify(s)
20497}
20498
20499// GoString returns the string representation
20500func (s DescribeReservedDBInstancesOutput) GoString() string {
20501	return s.String()
20502}
20503
20504// SetMarker sets the Marker field's value.
20505func (s *DescribeReservedDBInstancesOutput) SetMarker(v string) *DescribeReservedDBInstancesOutput {
20506	s.Marker = &v
20507	return s
20508}
20509
20510// SetReservedDBInstances sets the ReservedDBInstances field's value.
20511func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*ReservedDBInstance) *DescribeReservedDBInstancesOutput {
20512	s.ReservedDBInstances = v
20513	return s
20514}
20515
20516// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegionsMessage
20517type DescribeSourceRegionsInput struct {
20518	_ struct{} `type:"structure"`
20519
20520	// This parameter is not currently supported.
20521	Filters []*Filter `locationNameList:"Filter" type:"list"`
20522
20523	// An optional pagination token provided by a previous DescribeSourceRegions
20524	// request. If this parameter is specified, the response includes only records
20525	// beyond the marker, up to the value specified by MaxRecords.
20526	Marker *string `type:"string"`
20527
20528	// The maximum number of records to include in the response. If more records
20529	// exist than the specified MaxRecords value, a pagination token called a marker
20530	// is included in the response so that the remaining results can be retrieved.
20531	//
20532	// Default: 100
20533	//
20534	// Constraints: Minimum 20, maximum 100.
20535	MaxRecords *int64 `type:"integer"`
20536
20537	// The source AWS Region name. For example, us-east-1.
20538	//
20539	// Constraints:
20540	//
20541	//    * Must specify a valid AWS Region name.
20542	RegionName *string `type:"string"`
20543}
20544
20545// String returns the string representation
20546func (s DescribeSourceRegionsInput) String() string {
20547	return awsutil.Prettify(s)
20548}
20549
20550// GoString returns the string representation
20551func (s DescribeSourceRegionsInput) GoString() string {
20552	return s.String()
20553}
20554
20555// Validate inspects the fields of the type to determine if they are valid.
20556func (s *DescribeSourceRegionsInput) Validate() error {
20557	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"}
20558	if s.Filters != nil {
20559		for i, v := range s.Filters {
20560			if v == nil {
20561				continue
20562			}
20563			if err := v.Validate(); err != nil {
20564				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20565			}
20566		}
20567	}
20568
20569	if invalidParams.Len() > 0 {
20570		return invalidParams
20571	}
20572	return nil
20573}
20574
20575// SetFilters sets the Filters field's value.
20576func (s *DescribeSourceRegionsInput) SetFilters(v []*Filter) *DescribeSourceRegionsInput {
20577	s.Filters = v
20578	return s
20579}
20580
20581// SetMarker sets the Marker field's value.
20582func (s *DescribeSourceRegionsInput) SetMarker(v string) *DescribeSourceRegionsInput {
20583	s.Marker = &v
20584	return s
20585}
20586
20587// SetMaxRecords sets the MaxRecords field's value.
20588func (s *DescribeSourceRegionsInput) SetMaxRecords(v int64) *DescribeSourceRegionsInput {
20589	s.MaxRecords = &v
20590	return s
20591}
20592
20593// SetRegionName sets the RegionName field's value.
20594func (s *DescribeSourceRegionsInput) SetRegionName(v string) *DescribeSourceRegionsInput {
20595	s.RegionName = &v
20596	return s
20597}
20598
20599// Contains the result of a successful invocation of the DescribeSourceRegions
20600// action.
20601// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/SourceRegionMessage
20602type DescribeSourceRegionsOutput struct {
20603	_ struct{} `type:"structure"`
20604
20605	// An optional pagination token provided by a previous request. If this parameter
20606	// is specified, the response includes only records beyond the marker, up to
20607	// the value specified by MaxRecords.
20608	Marker *string `type:"string"`
20609
20610	// A list of SourceRegion instances that contains each source AWS Region that
20611	// the current AWS Region can get a Read Replica or a DB snapshot from.
20612	SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"`
20613}
20614
20615// String returns the string representation
20616func (s DescribeSourceRegionsOutput) String() string {
20617	return awsutil.Prettify(s)
20618}
20619
20620// GoString returns the string representation
20621func (s DescribeSourceRegionsOutput) GoString() string {
20622	return s.String()
20623}
20624
20625// SetMarker sets the Marker field's value.
20626func (s *DescribeSourceRegionsOutput) SetMarker(v string) *DescribeSourceRegionsOutput {
20627	s.Marker = &v
20628	return s
20629}
20630
20631// SetSourceRegions sets the SourceRegions field's value.
20632func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *DescribeSourceRegionsOutput {
20633	s.SourceRegions = v
20634	return s
20635}
20636
20637// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModificationsMessage
20638type DescribeValidDBInstanceModificationsInput struct {
20639	_ struct{} `type:"structure"`
20640
20641	// The customer identifier or the ARN of your DB instance.
20642	//
20643	// DBInstanceIdentifier is a required field
20644	DBInstanceIdentifier *string `type:"string" required:"true"`
20645}
20646
20647// String returns the string representation
20648func (s DescribeValidDBInstanceModificationsInput) String() string {
20649	return awsutil.Prettify(s)
20650}
20651
20652// GoString returns the string representation
20653func (s DescribeValidDBInstanceModificationsInput) GoString() string {
20654	return s.String()
20655}
20656
20657// Validate inspects the fields of the type to determine if they are valid.
20658func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
20659	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
20660	if s.DBInstanceIdentifier == nil {
20661		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
20662	}
20663
20664	if invalidParams.Len() > 0 {
20665		return invalidParams
20666	}
20667	return nil
20668}
20669
20670// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
20671func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
20672	s.DBInstanceIdentifier = &v
20673	return s
20674}
20675
20676// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModificationsResult
20677type DescribeValidDBInstanceModificationsOutput struct {
20678	_ struct{} `type:"structure"`
20679
20680	// Information about valid modifications that you can make to your DB instance.
20681	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
20682	// action. You can use this information when you call ModifyDBInstance.
20683	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
20684}
20685
20686// String returns the string representation
20687func (s DescribeValidDBInstanceModificationsOutput) String() string {
20688	return awsutil.Prettify(s)
20689}
20690
20691// GoString returns the string representation
20692func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
20693	return s.String()
20694}
20695
20696// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
20697func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
20698	s.ValidDBInstanceModificationsMessage = v
20699	return s
20700}
20701
20702// An Active Directory Domain membership record associated with the DB instance.
20703// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DomainMembership
20704type DomainMembership struct {
20705	_ struct{} `type:"structure"`
20706
20707	// The identifier of the Active Directory Domain.
20708	Domain *string `type:"string"`
20709
20710	// The fully qualified domain name of the Active Directory Domain.
20711	FQDN *string `type:"string"`
20712
20713	// The name of the IAM role to be used when making API calls to the Directory
20714	// Service.
20715	IAMRoleName *string `type:"string"`
20716
20717	// The status of the DB instance's Active Directory Domain membership, such
20718	// as joined, pending-join, failed etc).
20719	Status *string `type:"string"`
20720}
20721
20722// String returns the string representation
20723func (s DomainMembership) String() string {
20724	return awsutil.Prettify(s)
20725}
20726
20727// GoString returns the string representation
20728func (s DomainMembership) GoString() string {
20729	return s.String()
20730}
20731
20732// SetDomain sets the Domain field's value.
20733func (s *DomainMembership) SetDomain(v string) *DomainMembership {
20734	s.Domain = &v
20735	return s
20736}
20737
20738// SetFQDN sets the FQDN field's value.
20739func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
20740	s.FQDN = &v
20741	return s
20742}
20743
20744// SetIAMRoleName sets the IAMRoleName field's value.
20745func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
20746	s.IAMRoleName = &v
20747	return s
20748}
20749
20750// SetStatus sets the Status field's value.
20751func (s *DomainMembership) SetStatus(v string) *DomainMembership {
20752	s.Status = &v
20753	return s
20754}
20755
20756// A range of double values.
20757// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DoubleRange
20758type DoubleRange struct {
20759	_ struct{} `type:"structure"`
20760
20761	// The minimum value in the range.
20762	From *float64 `type:"double"`
20763
20764	// The maximum value in the range.
20765	To *float64 `type:"double"`
20766}
20767
20768// String returns the string representation
20769func (s DoubleRange) String() string {
20770	return awsutil.Prettify(s)
20771}
20772
20773// GoString returns the string representation
20774func (s DoubleRange) GoString() string {
20775	return s.String()
20776}
20777
20778// SetFrom sets the From field's value.
20779func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
20780	s.From = &v
20781	return s
20782}
20783
20784// SetTo sets the To field's value.
20785func (s *DoubleRange) SetTo(v float64) *DoubleRange {
20786	s.To = &v
20787	return s
20788}
20789
20790// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortionMessage
20791type DownloadDBLogFilePortionInput struct {
20792	_ struct{} `type:"structure"`
20793
20794	// The customer-assigned name of the DB instance that contains the log files
20795	// you want to list.
20796	//
20797	// Constraints:
20798	//
20799	//    * Must match the identifier of an existing DBInstance.
20800	//
20801	// DBInstanceIdentifier is a required field
20802	DBInstanceIdentifier *string `type:"string" required:"true"`
20803
20804	// The name of the log file to be downloaded.
20805	//
20806	// LogFileName is a required field
20807	LogFileName *string `type:"string" required:"true"`
20808
20809	// The pagination token provided in the previous request or "0". If the Marker
20810	// parameter is specified the response includes only records beyond the marker
20811	// until the end of the file or up to NumberOfLines.
20812	Marker *string `type:"string"`
20813
20814	// The number of lines to download. If the number of lines specified results
20815	// in a file over 1 MB in size, the file is truncated at 1 MB in size.
20816	//
20817	// If the NumberOfLines parameter is specified, then the block of lines returned
20818	// can be from the beginning or the end of the log file, depending on the value
20819	// of the Marker parameter.
20820	//
20821	//    * If neither Marker or NumberOfLines are specified, the entire log file
20822	//    is returned up to a maximum of 10000 lines, starting with the most recent
20823	//    log entries first.
20824	//
20825	//    * If NumberOfLines is specified and Marker is not specified, then the
20826	//    most recent lines from the end of the log file are returned.
20827	//
20828	//    * If Marker is specified as "0", then the specified number of lines from
20829	//    the beginning of the log file are returned.
20830	//
20831	//    * You can download the log file in blocks of lines by specifying the size
20832	//    of the block using the NumberOfLines parameter, and by specifying a value
20833	//    of "0" for the Marker parameter in your first request. Include the Marker
20834	//    value returned in the response as the Marker value for the next request,
20835	//    continuing until the AdditionalDataPending response element returns false.
20836	NumberOfLines *int64 `type:"integer"`
20837}
20838
20839// String returns the string representation
20840func (s DownloadDBLogFilePortionInput) String() string {
20841	return awsutil.Prettify(s)
20842}
20843
20844// GoString returns the string representation
20845func (s DownloadDBLogFilePortionInput) GoString() string {
20846	return s.String()
20847}
20848
20849// Validate inspects the fields of the type to determine if they are valid.
20850func (s *DownloadDBLogFilePortionInput) Validate() error {
20851	invalidParams := request.ErrInvalidParams{Context: "DownloadDBLogFilePortionInput"}
20852	if s.DBInstanceIdentifier == nil {
20853		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
20854	}
20855	if s.LogFileName == nil {
20856		invalidParams.Add(request.NewErrParamRequired("LogFileName"))
20857	}
20858
20859	if invalidParams.Len() > 0 {
20860		return invalidParams
20861	}
20862	return nil
20863}
20864
20865// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
20866func (s *DownloadDBLogFilePortionInput) SetDBInstanceIdentifier(v string) *DownloadDBLogFilePortionInput {
20867	s.DBInstanceIdentifier = &v
20868	return s
20869}
20870
20871// SetLogFileName sets the LogFileName field's value.
20872func (s *DownloadDBLogFilePortionInput) SetLogFileName(v string) *DownloadDBLogFilePortionInput {
20873	s.LogFileName = &v
20874	return s
20875}
20876
20877// SetMarker sets the Marker field's value.
20878func (s *DownloadDBLogFilePortionInput) SetMarker(v string) *DownloadDBLogFilePortionInput {
20879	s.Marker = &v
20880	return s
20881}
20882
20883// SetNumberOfLines sets the NumberOfLines field's value.
20884func (s *DownloadDBLogFilePortionInput) SetNumberOfLines(v int64) *DownloadDBLogFilePortionInput {
20885	s.NumberOfLines = &v
20886	return s
20887}
20888
20889// This data type is used as a response element to DownloadDBLogFilePortion.
20890// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortionDetails
20891type DownloadDBLogFilePortionOutput struct {
20892	_ struct{} `type:"structure"`
20893
20894	// Boolean value that if true, indicates there is more data to be downloaded.
20895	AdditionalDataPending *bool `type:"boolean"`
20896
20897	// Entries from the specified log file.
20898	LogFileData *string `type:"string"`
20899
20900	// A pagination token that can be used in a subsequent DownloadDBLogFilePortion
20901	// request.
20902	Marker *string `type:"string"`
20903}
20904
20905// String returns the string representation
20906func (s DownloadDBLogFilePortionOutput) String() string {
20907	return awsutil.Prettify(s)
20908}
20909
20910// GoString returns the string representation
20911func (s DownloadDBLogFilePortionOutput) GoString() string {
20912	return s.String()
20913}
20914
20915// SetAdditionalDataPending sets the AdditionalDataPending field's value.
20916func (s *DownloadDBLogFilePortionOutput) SetAdditionalDataPending(v bool) *DownloadDBLogFilePortionOutput {
20917	s.AdditionalDataPending = &v
20918	return s
20919}
20920
20921// SetLogFileData sets the LogFileData field's value.
20922func (s *DownloadDBLogFilePortionOutput) SetLogFileData(v string) *DownloadDBLogFilePortionOutput {
20923	s.LogFileData = &v
20924	return s
20925}
20926
20927// SetMarker sets the Marker field's value.
20928func (s *DownloadDBLogFilePortionOutput) SetMarker(v string) *DownloadDBLogFilePortionOutput {
20929	s.Marker = &v
20930	return s
20931}
20932
20933// This data type is used as a response element in the following actions:
20934//
20935//    * AuthorizeDBSecurityGroupIngress
20936//
20937//    * DescribeDBSecurityGroups
20938//
20939//    * RevokeDBSecurityGroupIngress
20940// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EC2SecurityGroup
20941type EC2SecurityGroup struct {
20942	_ struct{} `type:"structure"`
20943
20944	// Specifies the id of the EC2 security group.
20945	EC2SecurityGroupId *string `type:"string"`
20946
20947	// Specifies the name of the EC2 security group.
20948	EC2SecurityGroupName *string `type:"string"`
20949
20950	// Specifies the AWS ID of the owner of the EC2 security group specified in
20951	// the EC2SecurityGroupName field.
20952	EC2SecurityGroupOwnerId *string `type:"string"`
20953
20954	// Provides the status of the EC2 security group. Status can be "authorizing",
20955	// "authorized", "revoking", and "revoked".
20956	Status *string `type:"string"`
20957}
20958
20959// String returns the string representation
20960func (s EC2SecurityGroup) String() string {
20961	return awsutil.Prettify(s)
20962}
20963
20964// GoString returns the string representation
20965func (s EC2SecurityGroup) GoString() string {
20966	return s.String()
20967}
20968
20969// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
20970func (s *EC2SecurityGroup) SetEC2SecurityGroupId(v string) *EC2SecurityGroup {
20971	s.EC2SecurityGroupId = &v
20972	return s
20973}
20974
20975// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
20976func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
20977	s.EC2SecurityGroupName = &v
20978	return s
20979}
20980
20981// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
20982func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
20983	s.EC2SecurityGroupOwnerId = &v
20984	return s
20985}
20986
20987// SetStatus sets the Status field's value.
20988func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
20989	s.Status = &v
20990	return s
20991}
20992
20993// This data type is used as a response element in the following actions:
20994//
20995//    * CreateDBInstance
20996//
20997//    * DescribeDBInstances
20998//
20999//    * DeleteDBInstance
21000// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Endpoint
21001type Endpoint struct {
21002	_ struct{} `type:"structure"`
21003
21004	// Specifies the DNS address of the DB instance.
21005	Address *string `type:"string"`
21006
21007	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
21008	HostedZoneId *string `type:"string"`
21009
21010	// Specifies the port that the database engine is listening on.
21011	Port *int64 `type:"integer"`
21012}
21013
21014// String returns the string representation
21015func (s Endpoint) String() string {
21016	return awsutil.Prettify(s)
21017}
21018
21019// GoString returns the string representation
21020func (s Endpoint) GoString() string {
21021	return s.String()
21022}
21023
21024// SetAddress sets the Address field's value.
21025func (s *Endpoint) SetAddress(v string) *Endpoint {
21026	s.Address = &v
21027	return s
21028}
21029
21030// SetHostedZoneId sets the HostedZoneId field's value.
21031func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
21032	s.HostedZoneId = &v
21033	return s
21034}
21035
21036// SetPort sets the Port field's value.
21037func (s *Endpoint) SetPort(v int64) *Endpoint {
21038	s.Port = &v
21039	return s
21040}
21041
21042// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
21043// action.
21044// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EngineDefaults
21045type EngineDefaults struct {
21046	_ struct{} `type:"structure"`
21047
21048	// Specifies the name of the DB parameter group family that the engine default
21049	// parameters apply to.
21050	DBParameterGroupFamily *string `type:"string"`
21051
21052	// An optional pagination token provided by a previous EngineDefaults request.
21053	// If this parameter is specified, the response includes only records beyond
21054	// the marker, up to the value specified by MaxRecords .
21055	Marker *string `type:"string"`
21056
21057	// Contains a list of engine default parameters.
21058	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
21059}
21060
21061// String returns the string representation
21062func (s EngineDefaults) String() string {
21063	return awsutil.Prettify(s)
21064}
21065
21066// GoString returns the string representation
21067func (s EngineDefaults) GoString() string {
21068	return s.String()
21069}
21070
21071// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
21072func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
21073	s.DBParameterGroupFamily = &v
21074	return s
21075}
21076
21077// SetMarker sets the Marker field's value.
21078func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
21079	s.Marker = &v
21080	return s
21081}
21082
21083// SetParameters sets the Parameters field's value.
21084func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
21085	s.Parameters = v
21086	return s
21087}
21088
21089// This data type is used as a response element in the DescribeEvents action.
21090// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Event
21091type Event struct {
21092	_ struct{} `type:"structure"`
21093
21094	// Specifies the date and time of the event.
21095	Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
21096
21097	// Specifies the category for the event.
21098	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
21099
21100	// Provides the text of this event.
21101	Message *string `type:"string"`
21102
21103	// The Amazon Resource Name (ARN) for the event.
21104	SourceArn *string `type:"string"`
21105
21106	// Provides the identifier for the source of the event.
21107	SourceIdentifier *string `type:"string"`
21108
21109	// Specifies the source type for this event.
21110	SourceType *string `type:"string" enum:"SourceType"`
21111}
21112
21113// String returns the string representation
21114func (s Event) String() string {
21115	return awsutil.Prettify(s)
21116}
21117
21118// GoString returns the string representation
21119func (s Event) GoString() string {
21120	return s.String()
21121}
21122
21123// SetDate sets the Date field's value.
21124func (s *Event) SetDate(v time.Time) *Event {
21125	s.Date = &v
21126	return s
21127}
21128
21129// SetEventCategories sets the EventCategories field's value.
21130func (s *Event) SetEventCategories(v []*string) *Event {
21131	s.EventCategories = v
21132	return s
21133}
21134
21135// SetMessage sets the Message field's value.
21136func (s *Event) SetMessage(v string) *Event {
21137	s.Message = &v
21138	return s
21139}
21140
21141// SetSourceArn sets the SourceArn field's value.
21142func (s *Event) SetSourceArn(v string) *Event {
21143	s.SourceArn = &v
21144	return s
21145}
21146
21147// SetSourceIdentifier sets the SourceIdentifier field's value.
21148func (s *Event) SetSourceIdentifier(v string) *Event {
21149	s.SourceIdentifier = &v
21150	return s
21151}
21152
21153// SetSourceType sets the SourceType field's value.
21154func (s *Event) SetSourceType(v string) *Event {
21155	s.SourceType = &v
21156	return s
21157}
21158
21159// Contains the results of a successful invocation of the DescribeEventCategories
21160// action.
21161// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EventCategoriesMap
21162type EventCategoriesMap struct {
21163	_ struct{} `type:"structure"`
21164
21165	// The event categories for the specified source type
21166	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
21167
21168	// The source type that the returned categories belong to
21169	SourceType *string `type:"string"`
21170}
21171
21172// String returns the string representation
21173func (s EventCategoriesMap) String() string {
21174	return awsutil.Prettify(s)
21175}
21176
21177// GoString returns the string representation
21178func (s EventCategoriesMap) GoString() string {
21179	return s.String()
21180}
21181
21182// SetEventCategories sets the EventCategories field's value.
21183func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
21184	s.EventCategories = v
21185	return s
21186}
21187
21188// SetSourceType sets the SourceType field's value.
21189func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
21190	s.SourceType = &v
21191	return s
21192}
21193
21194// Contains the results of a successful invocation of the DescribeEventSubscriptions
21195// action.
21196// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/EventSubscription
21197type EventSubscription struct {
21198	_ struct{} `type:"structure"`
21199
21200	// The RDS event notification subscription Id.
21201	CustSubscriptionId *string `type:"string"`
21202
21203	// The AWS customer account associated with the RDS event notification subscription.
21204	CustomerAwsId *string `type:"string"`
21205
21206	// A Boolean value indicating if the subscription is enabled. True indicates
21207	// the subscription is enabled.
21208	Enabled *bool `type:"boolean"`
21209
21210	// A list of event categories for the RDS event notification subscription.
21211	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
21212
21213	// The Amazon Resource Name (ARN) for the event subscription.
21214	EventSubscriptionArn *string `type:"string"`
21215
21216	// The topic ARN of the RDS event notification subscription.
21217	SnsTopicArn *string `type:"string"`
21218
21219	// A list of source IDs for the RDS event notification subscription.
21220	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
21221
21222	// The source type for the RDS event notification subscription.
21223	SourceType *string `type:"string"`
21224
21225	// The status of the RDS event notification subscription.
21226	//
21227	// Constraints:
21228	//
21229	// Can be one of the following: creating | modifying | deleting | active | no-permission
21230	// | topic-not-exist
21231	//
21232	// The status "no-permission" indicates that RDS no longer has permission to
21233	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
21234	// was deleted after the subscription was created.
21235	Status *string `type:"string"`
21236
21237	// The time the RDS event notification subscription was created.
21238	SubscriptionCreationTime *string `type:"string"`
21239}
21240
21241// String returns the string representation
21242func (s EventSubscription) String() string {
21243	return awsutil.Prettify(s)
21244}
21245
21246// GoString returns the string representation
21247func (s EventSubscription) GoString() string {
21248	return s.String()
21249}
21250
21251// SetCustSubscriptionId sets the CustSubscriptionId field's value.
21252func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
21253	s.CustSubscriptionId = &v
21254	return s
21255}
21256
21257// SetCustomerAwsId sets the CustomerAwsId field's value.
21258func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
21259	s.CustomerAwsId = &v
21260	return s
21261}
21262
21263// SetEnabled sets the Enabled field's value.
21264func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
21265	s.Enabled = &v
21266	return s
21267}
21268
21269// SetEventCategoriesList sets the EventCategoriesList field's value.
21270func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
21271	s.EventCategoriesList = v
21272	return s
21273}
21274
21275// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
21276func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
21277	s.EventSubscriptionArn = &v
21278	return s
21279}
21280
21281// SetSnsTopicArn sets the SnsTopicArn field's value.
21282func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
21283	s.SnsTopicArn = &v
21284	return s
21285}
21286
21287// SetSourceIdsList sets the SourceIdsList field's value.
21288func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
21289	s.SourceIdsList = v
21290	return s
21291}
21292
21293// SetSourceType sets the SourceType field's value.
21294func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
21295	s.SourceType = &v
21296	return s
21297}
21298
21299// SetStatus sets the Status field's value.
21300func (s *EventSubscription) SetStatus(v string) *EventSubscription {
21301	s.Status = &v
21302	return s
21303}
21304
21305// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
21306func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
21307	s.SubscriptionCreationTime = &v
21308	return s
21309}
21310
21311// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBClusterMessage
21312type FailoverDBClusterInput struct {
21313	_ struct{} `type:"structure"`
21314
21315	// A DB cluster identifier to force a failover for. This parameter is not case-sensitive.
21316	//
21317	// Constraints:
21318	//
21319	//    * Must match the identifier of an existing DBCluster.
21320	DBClusterIdentifier *string `type:"string"`
21321
21322	// The name of the instance to promote to the primary instance.
21323	//
21324	// You must specify the instance identifier for an Aurora Replica in the DB
21325	// cluster. For example, mydbcluster-replica1.
21326	TargetDBInstanceIdentifier *string `type:"string"`
21327}
21328
21329// String returns the string representation
21330func (s FailoverDBClusterInput) String() string {
21331	return awsutil.Prettify(s)
21332}
21333
21334// GoString returns the string representation
21335func (s FailoverDBClusterInput) GoString() string {
21336	return s.String()
21337}
21338
21339// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
21340func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
21341	s.DBClusterIdentifier = &v
21342	return s
21343}
21344
21345// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
21346func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
21347	s.TargetDBInstanceIdentifier = &v
21348	return s
21349}
21350
21351// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBClusterResult
21352type FailoverDBClusterOutput struct {
21353	_ struct{} `type:"structure"`
21354
21355	// Contains the details of an Amazon RDS DB cluster.
21356	//
21357	// This data type is used as a response element in the DescribeDBClusters action.
21358	DBCluster *DBCluster `type:"structure"`
21359}
21360
21361// String returns the string representation
21362func (s FailoverDBClusterOutput) String() string {
21363	return awsutil.Prettify(s)
21364}
21365
21366// GoString returns the string representation
21367func (s FailoverDBClusterOutput) GoString() string {
21368	return s.String()
21369}
21370
21371// SetDBCluster sets the DBCluster field's value.
21372func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
21373	s.DBCluster = v
21374	return s
21375}
21376
21377// This type is not currently supported.
21378// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Filter
21379type Filter struct {
21380	_ struct{} `type:"structure"`
21381
21382	// This parameter is not currently supported.
21383	//
21384	// Name is a required field
21385	Name *string `type:"string" required:"true"`
21386
21387	// This parameter is not currently supported.
21388	//
21389	// Values is a required field
21390	Values []*string `locationNameList:"Value" type:"list" required:"true"`
21391}
21392
21393// String returns the string representation
21394func (s Filter) String() string {
21395	return awsutil.Prettify(s)
21396}
21397
21398// GoString returns the string representation
21399func (s Filter) GoString() string {
21400	return s.String()
21401}
21402
21403// Validate inspects the fields of the type to determine if they are valid.
21404func (s *Filter) Validate() error {
21405	invalidParams := request.ErrInvalidParams{Context: "Filter"}
21406	if s.Name == nil {
21407		invalidParams.Add(request.NewErrParamRequired("Name"))
21408	}
21409	if s.Values == nil {
21410		invalidParams.Add(request.NewErrParamRequired("Values"))
21411	}
21412
21413	if invalidParams.Len() > 0 {
21414		return invalidParams
21415	}
21416	return nil
21417}
21418
21419// SetName sets the Name field's value.
21420func (s *Filter) SetName(v string) *Filter {
21421	s.Name = &v
21422	return s
21423}
21424
21425// SetValues sets the Values field's value.
21426func (s *Filter) SetValues(v []*string) *Filter {
21427	s.Values = v
21428	return s
21429}
21430
21431// This data type is used as a response element in the DescribeDBSecurityGroups
21432// action.
21433// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/IPRange
21434type IPRange struct {
21435	_ struct{} `type:"structure"`
21436
21437	// Specifies the IP range.
21438	CIDRIP *string `type:"string"`
21439
21440	// Specifies the status of the IP range. Status can be "authorizing", "authorized",
21441	// "revoking", and "revoked".
21442	Status *string `type:"string"`
21443}
21444
21445// String returns the string representation
21446func (s IPRange) String() string {
21447	return awsutil.Prettify(s)
21448}
21449
21450// GoString returns the string representation
21451func (s IPRange) GoString() string {
21452	return s.String()
21453}
21454
21455// SetCIDRIP sets the CIDRIP field's value.
21456func (s *IPRange) SetCIDRIP(v string) *IPRange {
21457	s.CIDRIP = &v
21458	return s
21459}
21460
21461// SetStatus sets the Status field's value.
21462func (s *IPRange) SetStatus(v string) *IPRange {
21463	s.Status = &v
21464	return s
21465}
21466
21467// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResourceMessage
21468type ListTagsForResourceInput struct {
21469	_ struct{} `type:"structure"`
21470
21471	// This parameter is not currently supported.
21472	Filters []*Filter `locationNameList:"Filter" type:"list"`
21473
21474	// The Amazon RDS resource with tags to be listed. This value is an Amazon Resource
21475	// Name (ARN). For information about creating an ARN, see  Constructing an RDS
21476	// Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
21477	//
21478	// ResourceName is a required field
21479	ResourceName *string `type:"string" required:"true"`
21480}
21481
21482// String returns the string representation
21483func (s ListTagsForResourceInput) String() string {
21484	return awsutil.Prettify(s)
21485}
21486
21487// GoString returns the string representation
21488func (s ListTagsForResourceInput) GoString() string {
21489	return s.String()
21490}
21491
21492// Validate inspects the fields of the type to determine if they are valid.
21493func (s *ListTagsForResourceInput) Validate() error {
21494	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
21495	if s.ResourceName == nil {
21496		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
21497	}
21498	if s.Filters != nil {
21499		for i, v := range s.Filters {
21500			if v == nil {
21501				continue
21502			}
21503			if err := v.Validate(); err != nil {
21504				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21505			}
21506		}
21507	}
21508
21509	if invalidParams.Len() > 0 {
21510		return invalidParams
21511	}
21512	return nil
21513}
21514
21515// SetFilters sets the Filters field's value.
21516func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
21517	s.Filters = v
21518	return s
21519}
21520
21521// SetResourceName sets the ResourceName field's value.
21522func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
21523	s.ResourceName = &v
21524	return s
21525}
21526
21527// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/TagListMessage
21528type ListTagsForResourceOutput struct {
21529	_ struct{} `type:"structure"`
21530
21531	// List of tags returned by the ListTagsForResource operation.
21532	TagList []*Tag `locationNameList:"Tag" type:"list"`
21533}
21534
21535// String returns the string representation
21536func (s ListTagsForResourceOutput) String() string {
21537	return awsutil.Prettify(s)
21538}
21539
21540// GoString returns the string representation
21541func (s ListTagsForResourceOutput) GoString() string {
21542	return s.String()
21543}
21544
21545// SetTagList sets the TagList field's value.
21546func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
21547	s.TagList = v
21548	return s
21549}
21550
21551// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterMessage
21552type ModifyDBClusterInput struct {
21553	_ struct{} `type:"structure"`
21554
21555	// A value that specifies whether the modifications in this request and any
21556	// pending modifications are asynchronously applied as soon as possible, regardless
21557	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
21558	// is set to false, changes to the DB cluster are applied during the next maintenance
21559	// window.
21560	//
21561	// The ApplyImmediately parameter only affects the NewDBClusterIdentifier and
21562	// MasterUserPassword values. If you set the ApplyImmediately parameter value
21563	// to false, then changes to the NewDBClusterIdentifier and MasterUserPassword
21564	// values are applied during the next maintenance window. All other changes
21565	// are applied immediately, regardless of the value of the ApplyImmediately
21566	// parameter.
21567	//
21568	// Default: false
21569	ApplyImmediately *bool `type:"boolean"`
21570
21571	// The number of days for which automated backups are retained. You must specify
21572	// a minimum value of 1.
21573	//
21574	// Default: 1
21575	//
21576	// Constraints:
21577	//
21578	//    * Must be a value from 1 to 35
21579	BackupRetentionPeriod *int64 `type:"integer"`
21580
21581	// The DB cluster identifier for the cluster being modified. This parameter
21582	// is not case-sensitive.
21583	//
21584	// Constraints:
21585	//
21586	//    * Must match the identifier of an existing DBCluster.
21587	//
21588	// DBClusterIdentifier is a required field
21589	DBClusterIdentifier *string `type:"string" required:"true"`
21590
21591	// The name of the DB cluster parameter group to use for the DB cluster.
21592	DBClusterParameterGroupName *string `type:"string"`
21593
21594	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
21595	// to database accounts, and otherwise false.
21596	//
21597	// Default: false
21598	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
21599
21600	// The new password for the master database user. This password can contain
21601	// any printable ASCII character except "/", """, or "@".
21602	//
21603	// Constraints: Must contain from 8 to 41 characters.
21604	MasterUserPassword *string `type:"string"`
21605
21606	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
21607	// This value is stored as a lowercase string.
21608	//
21609	// Constraints:
21610	//
21611	//    * Must contain from 1 to 63 letters, numbers, or hyphens
21612	//
21613	//    * The first character must be a letter
21614	//
21615	//    * Cannot end with a hyphen or contain two consecutive hyphens
21616	//
21617	// Example: my-cluster2
21618	NewDBClusterIdentifier *string `type:"string"`
21619
21620	// A value that indicates that the DB cluster should be associated with the
21621	// specified option group. Changing this parameter does not result in an outage
21622	// except in the following case, and the change is applied during the next maintenance
21623	// window unless the ApplyImmediately parameter is set to true for this request.
21624	// If the parameter change results in an option group that enables OEM, this
21625	// change can cause a brief (sub-second) period during which new connections
21626	// are rejected but existing connections are not interrupted.
21627	//
21628	// Permanent options can't be removed from an option group. The option group
21629	// can't be removed from a DB cluster once it is associated with a DB cluster.
21630	OptionGroupName *string `type:"string"`
21631
21632	// The port number on which the DB cluster accepts connections.
21633	//
21634	// Constraints: Value must be 1150-65535
21635	//
21636	// Default: The same port as the original DB cluster.
21637	Port *int64 `type:"integer"`
21638
21639	// The daily time range during which automated backups are created if automated
21640	// backups are enabled, using the BackupRetentionPeriod parameter.
21641	//
21642	// The default is a 30-minute window selected at random from an 8-hour block
21643	// of time for each AWS Region. To see the time blocks available, see  Adjusting
21644	// the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
21645	// in the Amazon RDS User Guide.
21646	//
21647	// Constraints:
21648	//
21649	//    * Must be in the format hh24:mi-hh24:mi.
21650	//
21651	//    * Must be in Universal Coordinated Time (UTC).
21652	//
21653	//    * Must not conflict with the preferred maintenance window.
21654	//
21655	//    * Must be at least 30 minutes.
21656	PreferredBackupWindow *string `type:"string"`
21657
21658	// The weekly time range during which system maintenance can occur, in Universal
21659	// Coordinated Time (UTC).
21660	//
21661	// Format: ddd:hh24:mi-ddd:hh24:mi
21662	//
21663	// The default is a 30-minute window selected at random from an 8-hour block
21664	// of time for each AWS Region, occurring on a random day of the week. To see
21665	// the time blocks available, see  Adjusting the Preferred Maintenance Window
21666	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
21667	// in the Amazon RDS User Guide.
21668	//
21669	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
21670	//
21671	// Constraints: Minimum 30-minute window.
21672	PreferredMaintenanceWindow *string `type:"string"`
21673
21674	// A list of VPC security groups that the DB cluster will belong to.
21675	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
21676}
21677
21678// String returns the string representation
21679func (s ModifyDBClusterInput) String() string {
21680	return awsutil.Prettify(s)
21681}
21682
21683// GoString returns the string representation
21684func (s ModifyDBClusterInput) GoString() string {
21685	return s.String()
21686}
21687
21688// Validate inspects the fields of the type to determine if they are valid.
21689func (s *ModifyDBClusterInput) Validate() error {
21690	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
21691	if s.DBClusterIdentifier == nil {
21692		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
21693	}
21694
21695	if invalidParams.Len() > 0 {
21696		return invalidParams
21697	}
21698	return nil
21699}
21700
21701// SetApplyImmediately sets the ApplyImmediately field's value.
21702func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
21703	s.ApplyImmediately = &v
21704	return s
21705}
21706
21707// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
21708func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
21709	s.BackupRetentionPeriod = &v
21710	return s
21711}
21712
21713// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
21714func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
21715	s.DBClusterIdentifier = &v
21716	return s
21717}
21718
21719// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
21720func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
21721	s.DBClusterParameterGroupName = &v
21722	return s
21723}
21724
21725// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
21726func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
21727	s.EnableIAMDatabaseAuthentication = &v
21728	return s
21729}
21730
21731// SetMasterUserPassword sets the MasterUserPassword field's value.
21732func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
21733	s.MasterUserPassword = &v
21734	return s
21735}
21736
21737// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
21738func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
21739	s.NewDBClusterIdentifier = &v
21740	return s
21741}
21742
21743// SetOptionGroupName sets the OptionGroupName field's value.
21744func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
21745	s.OptionGroupName = &v
21746	return s
21747}
21748
21749// SetPort sets the Port field's value.
21750func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
21751	s.Port = &v
21752	return s
21753}
21754
21755// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
21756func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
21757	s.PreferredBackupWindow = &v
21758	return s
21759}
21760
21761// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
21762func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
21763	s.PreferredMaintenanceWindow = &v
21764	return s
21765}
21766
21767// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
21768func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
21769	s.VpcSecurityGroupIds = v
21770	return s
21771}
21772
21773// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterResult
21774type ModifyDBClusterOutput struct {
21775	_ struct{} `type:"structure"`
21776
21777	// Contains the details of an Amazon RDS DB cluster.
21778	//
21779	// This data type is used as a response element in the DescribeDBClusters action.
21780	DBCluster *DBCluster `type:"structure"`
21781}
21782
21783// String returns the string representation
21784func (s ModifyDBClusterOutput) String() string {
21785	return awsutil.Prettify(s)
21786}
21787
21788// GoString returns the string representation
21789func (s ModifyDBClusterOutput) GoString() string {
21790	return s.String()
21791}
21792
21793// SetDBCluster sets the DBCluster field's value.
21794func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
21795	s.DBCluster = v
21796	return s
21797}
21798
21799// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroupMessage
21800type ModifyDBClusterParameterGroupInput struct {
21801	_ struct{} `type:"structure"`
21802
21803	// The name of the DB cluster parameter group to modify.
21804	//
21805	// DBClusterParameterGroupName is a required field
21806	DBClusterParameterGroupName *string `type:"string" required:"true"`
21807
21808	// A list of parameters in the DB cluster parameter group to modify.
21809	//
21810	// Parameters is a required field
21811	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
21812}
21813
21814// String returns the string representation
21815func (s ModifyDBClusterParameterGroupInput) String() string {
21816	return awsutil.Prettify(s)
21817}
21818
21819// GoString returns the string representation
21820func (s ModifyDBClusterParameterGroupInput) GoString() string {
21821	return s.String()
21822}
21823
21824// Validate inspects the fields of the type to determine if they are valid.
21825func (s *ModifyDBClusterParameterGroupInput) Validate() error {
21826	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
21827	if s.DBClusterParameterGroupName == nil {
21828		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
21829	}
21830	if s.Parameters == nil {
21831		invalidParams.Add(request.NewErrParamRequired("Parameters"))
21832	}
21833
21834	if invalidParams.Len() > 0 {
21835		return invalidParams
21836	}
21837	return nil
21838}
21839
21840// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
21841func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
21842	s.DBClusterParameterGroupName = &v
21843	return s
21844}
21845
21846// SetParameters sets the Parameters field's value.
21847func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
21848	s.Parameters = v
21849	return s
21850}
21851
21852// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttributeMessage
21853type ModifyDBClusterSnapshotAttributeInput struct {
21854	_ struct{} `type:"structure"`
21855
21856	// The name of the DB cluster snapshot attribute to modify.
21857	//
21858	// To manage authorization for other AWS accounts to copy or restore a manual
21859	// DB cluster snapshot, set this value to restore.
21860	//
21861	// AttributeName is a required field
21862	AttributeName *string `type:"string" required:"true"`
21863
21864	// The identifier for the DB cluster snapshot to modify the attributes for.
21865	//
21866	// DBClusterSnapshotIdentifier is a required field
21867	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
21868
21869	// A list of DB cluster snapshot attributes to add to the attribute specified
21870	// by AttributeName.
21871	//
21872	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
21873	// set this list to include one or more AWS account IDs, or all to make the
21874	// manual DB cluster snapshot restorable by any AWS account. Do not add the
21875	// all value for any manual DB cluster snapshots that contain private information
21876	// that you don't want available to all AWS accounts.
21877	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
21878
21879	// A list of DB cluster snapshot attributes to remove from the attribute specified
21880	// by AttributeName.
21881	//
21882	// To remove authorization for other AWS accounts to copy or restore a manual
21883	// DB cluster snapshot, set this list to include one or more AWS account identifiers,
21884	// or all to remove authorization for any AWS account to copy or restore the
21885	// DB cluster snapshot. If you specify all, an AWS account whose account ID
21886	// is explicitly added to the restore attribute can still copy or restore a
21887	// manual DB cluster snapshot.
21888	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
21889}
21890
21891// String returns the string representation
21892func (s ModifyDBClusterSnapshotAttributeInput) String() string {
21893	return awsutil.Prettify(s)
21894}
21895
21896// GoString returns the string representation
21897func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
21898	return s.String()
21899}
21900
21901// Validate inspects the fields of the type to determine if they are valid.
21902func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
21903	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
21904	if s.AttributeName == nil {
21905		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
21906	}
21907	if s.DBClusterSnapshotIdentifier == nil {
21908		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
21909	}
21910
21911	if invalidParams.Len() > 0 {
21912		return invalidParams
21913	}
21914	return nil
21915}
21916
21917// SetAttributeName sets the AttributeName field's value.
21918func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
21919	s.AttributeName = &v
21920	return s
21921}
21922
21923// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
21924func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
21925	s.DBClusterSnapshotIdentifier = &v
21926	return s
21927}
21928
21929// SetValuesToAdd sets the ValuesToAdd field's value.
21930func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
21931	s.ValuesToAdd = v
21932	return s
21933}
21934
21935// SetValuesToRemove sets the ValuesToRemove field's value.
21936func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
21937	s.ValuesToRemove = v
21938	return s
21939}
21940
21941// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttributeResult
21942type ModifyDBClusterSnapshotAttributeOutput struct {
21943	_ struct{} `type:"structure"`
21944
21945	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
21946	// API action.
21947	//
21948	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
21949	// to copy or restore a manual DB cluster snapshot. For more information, see
21950	// the ModifyDBClusterSnapshotAttribute API action.
21951	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
21952}
21953
21954// String returns the string representation
21955func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
21956	return awsutil.Prettify(s)
21957}
21958
21959// GoString returns the string representation
21960func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
21961	return s.String()
21962}
21963
21964// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
21965func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
21966	s.DBClusterSnapshotAttributesResult = v
21967	return s
21968}
21969
21970// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstanceMessage
21971type ModifyDBInstanceInput struct {
21972	_ struct{} `type:"structure"`
21973
21974	// The new amount of storage (in gibibytes) to allocate for the DB instance.
21975	//
21976	// For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at
21977	// least 10% greater than the current value. Values that are not at least 10%
21978	// greater than the existing value are rounded up so that they are 10% greater
21979	// than the current value.
21980	//
21981	// For the valid values for allocated storage for each engine, see CreateDBInstance.
21982	AllocatedStorage *int64 `type:"integer"`
21983
21984	// Indicates that major version upgrades are allowed. Changing this parameter
21985	// does not result in an outage and the change is asynchronously applied as
21986	// soon as possible.
21987	//
21988	// Constraints: This parameter must be set to true when specifying a value for
21989	// the EngineVersion parameter that is a different major version than the DB
21990	// instance's current version.
21991	AllowMajorVersionUpgrade *bool `type:"boolean"`
21992
21993	// Specifies whether the modifications in this request and any pending modifications
21994	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
21995	// setting for the DB instance.
21996	//
21997	// If this parameter is set to false, changes to the DB instance are applied
21998	// during the next maintenance window. Some parameter changes can cause an outage
21999	// and are applied on the next call to RebootDBInstance, or the next failure
22000	// reboot. Review the table of parameters in Modifying a DB Instance and Using
22001	// the Apply Immediately Parameter (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
22002	// to see the impact that setting ApplyImmediately to true or false has for
22003	// each modified parameter and to determine when the changes are applied.
22004	//
22005	// Default: false
22006	ApplyImmediately *bool `type:"boolean"`
22007
22008	// Indicates that minor version upgrades are applied automatically to the DB
22009	// instance during the maintenance window. Changing this parameter does not
22010	// result in an outage except in the following case and the change is asynchronously
22011	// applied as soon as possible. An outage will result if this parameter is set
22012	// to true during the maintenance window, and a newer minor version is available,
22013	// and RDS has enabled auto patching for that engine version.
22014	AutoMinorVersionUpgrade *bool `type:"boolean"`
22015
22016	// The number of days to retain automated backups. Setting this parameter to
22017	// a positive number enables backups. Setting this parameter to 0 disables automated
22018	// backups.
22019	//
22020	// Changing this parameter can result in an outage if you change from 0 to a
22021	// non-zero value or from a non-zero value to 0. These changes are applied during
22022	// the next maintenance window unless the ApplyImmediately parameter is set
22023	// to true for this request. If you change the parameter from one non-zero value
22024	// to another non-zero value, the change is asynchronously applied as soon as
22025	// possible.
22026	//
22027	// Amazon Aurora
22028	//
22029	// Not applicable. The retention period for automated backups is managed by
22030	// the DB cluster. For more information, see ModifyDBCluster.
22031	//
22032	// Default: Uses existing setting
22033	//
22034	// Constraints:
22035	//
22036	//    * Must be a value from 0 to 35
22037	//
22038	//    * Can be specified for a MySQL Read Replica only if the source is running
22039	//    MySQL 5.6
22040	//
22041	//    * Can be specified for a PostgreSQL Read Replica only if the source is
22042	//    running PostgreSQL 9.3.5
22043	//
22044	//    * Cannot be set to 0 if the DB instance is a source to Read Replicas
22045	BackupRetentionPeriod *int64 `type:"integer"`
22046
22047	// Indicates the certificate that needs to be associated with the instance.
22048	CACertificateIdentifier *string `type:"string"`
22049
22050	// True to copy all tags from the DB instance to snapshots of the DB instance,
22051	// and otherwise false. The default is false.
22052	CopyTagsToSnapshot *bool `type:"boolean"`
22053
22054	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
22055	// Not all DB instance classes are available in all AWS Regions, or for all
22056	// database engines. For the full list of DB instance classes, and availability
22057	// for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
22058	// in the Amazon RDS User Guide.
22059	//
22060	// If you modify the DB instance class, an outage occurs during the change.
22061	// The change is applied during the next maintenance window, unless ApplyImmediately
22062	// is specified as true for this request.
22063	//
22064	// Default: Uses existing setting
22065	DBInstanceClass *string `type:"string"`
22066
22067	// The DB instance identifier. This value is stored as a lowercase string.
22068	//
22069	// Constraints:
22070	//
22071	//    * Must match the identifier of an existing DBInstance.
22072	//
22073	// DBInstanceIdentifier is a required field
22074	DBInstanceIdentifier *string `type:"string" required:"true"`
22075
22076	// The name of the DB parameter group to apply to the DB instance. Changing
22077	// this setting does not result in an outage. The parameter group name itself
22078	// is changed immediately, but the actual parameter changes are not applied
22079	// until you reboot the instance without failover. The db instance will NOT
22080	// be rebooted automatically and the parameter changes will NOT be applied during
22081	// the next maintenance window.
22082	//
22083	// Default: Uses existing setting
22084	//
22085	// Constraints: The DB parameter group must be in the same DB parameter group
22086	// family as this DB instance.
22087	DBParameterGroupName *string `type:"string"`
22088
22089	// The port number on which the database accepts connections.
22090	//
22091	// The value of the DBPortNumber parameter must not match any of the port values
22092	// specified for options in the option group for the DB instance.
22093	//
22094	// Your database will restart when you change the DBPortNumber value regardless
22095	// of the value of the ApplyImmediately parameter.
22096	//
22097	// MySQL
22098	//
22099	// Default: 3306
22100	//
22101	// Valid Values: 1150-65535
22102	//
22103	// MariaDB
22104	//
22105	// Default: 3306
22106	//
22107	// Valid Values: 1150-65535
22108	//
22109	// PostgreSQL
22110	//
22111	// Default: 5432
22112	//
22113	// Valid Values: 1150-65535
22114	//
22115	// Type: Integer
22116	//
22117	// Oracle
22118	//
22119	// Default: 1521
22120	//
22121	// Valid Values: 1150-65535
22122	//
22123	// SQL Server
22124	//
22125	// Default: 1433
22126	//
22127	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
22128	// 49156.
22129	//
22130	// Amazon Aurora
22131	//
22132	// Default: 3306
22133	//
22134	// Valid Values: 1150-65535
22135	DBPortNumber *int64 `type:"integer"`
22136
22137	// A list of DB security groups to authorize on this DB instance. Changing this
22138	// setting does not result in an outage and the change is asynchronously applied
22139	// as soon as possible.
22140	//
22141	// Constraints:
22142	//
22143	//    * If supplied, must match existing DBSecurityGroups.
22144	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
22145
22146	// The new DB subnet group for the DB instance. You can use this parameter to
22147	// move your DB instance to a different VPC. If your DB instance is not in a
22148	// VPC, you can also use this parameter to move your DB instance into a VPC.
22149	// For more information, see Updating the VPC for a DB Instance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC).
22150	//
22151	// Changing the subnet group causes an outage during the change. The change
22152	// is applied during the next maintenance window, unless you specify true for
22153	// the ApplyImmediately parameter.
22154	//
22155	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
22156	//
22157	// Example: mySubnetGroup
22158	DBSubnetGroupName *string `type:"string"`
22159
22160	// The Active Directory Domain to move the instance to. Specify none to remove
22161	// the instance from its current domain. The domain must be created prior to
22162	// this operation. Currently only a Microsoft SQL Server instance can be created
22163	// in a Active Directory Domain.
22164	Domain *string `type:"string"`
22165
22166	// The name of the IAM role to use when making API calls to the Directory Service.
22167	DomainIAMRoleName *string `type:"string"`
22168
22169	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
22170	// to database accounts, and otherwise false.
22171	//
22172	// You can enable IAM database authentication for the following database engines
22173	//
22174	// Amazon Aurora
22175	//
22176	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
22177	// by the DB cluster. For more information, see ModifyDBCluster.
22178	//
22179	// MySQL
22180	//
22181	//    * For MySQL 5.6, minor version 5.6.34 or higher
22182	//
22183	//    * For MySQL 5.7, minor version 5.7.16 or higher
22184	//
22185	// Default: false
22186	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
22187
22188	// True to enable Performance Insights for the DB instance, and otherwise false.
22189	EnablePerformanceInsights *bool `type:"boolean"`
22190
22191	// The version number of the database engine to upgrade to. Changing this parameter
22192	// results in an outage and the change is applied during the next maintenance
22193	// window unless the ApplyImmediately parameter is set to true for this request.
22194	//
22195	// For major version upgrades, if a nondefault DB parameter group is currently
22196	// in use, a new DB parameter group in the DB parameter group family for the
22197	// new engine version must be specified. The new DB parameter group can be the
22198	// default for that DB parameter group family.
22199	//
22200	// For a list of valid engine versions, see CreateDBInstance.
22201	EngineVersion *string `type:"string"`
22202
22203	// The new Provisioned IOPS (I/O operations per second) value for the RDS instance.
22204	//
22205	// Changing this setting does not result in an outage and the change is applied
22206	// during the next maintenance window unless the ApplyImmediately parameter
22207	// is set to true for this request. If you are migrating from Provisioned IOPS
22208	// to standard storage, set this value to 0. The DB instance will require a
22209	// reboot for the change in storage type to take effect.
22210	//
22211	// If you choose to migrate your DB instance from using standard storage to
22212	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
22213	// storage, the process can take time. The duration of the migration depends
22214	// on several factors such as database load, storage size, storage type (standard
22215	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
22216	// of prior scale storage operations. Typical migration times are under 24 hours,
22217	// but the process can take up to several days in some cases. During the migration,
22218	// the DB instance is available for use, but might experience performance degradation.
22219	// While the migration takes place, nightly backups for the instance are suspended.
22220	// No other Amazon RDS operations can take place for the instance, including
22221	// modifying the instance, rebooting the instance, deleting the instance, creating
22222	// a Read Replica for the instance, and creating a DB snapshot of the instance.
22223	//
22224	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied
22225	// must be at least 10% greater than the current value. Values that are not
22226	// at least 10% greater than the existing value are rounded up so that they
22227	// are 10% greater than the current value.
22228	//
22229	// Default: Uses existing setting
22230	Iops *int64 `type:"integer"`
22231
22232	// The license model for the DB instance.
22233	//
22234	// Valid values: license-included | bring-your-own-license | general-public-license
22235	LicenseModel *string `type:"string"`
22236
22237	// The new password for the master user. The password can include any printable
22238	// ASCII character except "/", """, or "@".
22239	//
22240	// Changing this parameter does not result in an outage and the change is asynchronously
22241	// applied as soon as possible. Between the time of the request and the completion
22242	// of the request, the MasterUserPassword element exists in the PendingModifiedValues
22243	// element of the operation response.
22244	//
22245	// Amazon Aurora
22246	//
22247	// Not applicable. The password for the master user is managed by the DB cluster.
22248	// For more information, see ModifyDBCluster.
22249	//
22250	// Default: Uses existing setting
22251	//
22252	// MariaDB
22253	//
22254	// Constraints: Must contain from 8 to 41 characters.
22255	//
22256	// Microsoft SQL Server
22257	//
22258	// Constraints: Must contain from 8 to 128 characters.
22259	//
22260	// MySQL
22261	//
22262	// Constraints: Must contain from 8 to 41 characters.
22263	//
22264	// Oracle
22265	//
22266	// Constraints: Must contain from 8 to 30 characters.
22267	//
22268	// PostgreSQL
22269	//
22270	// Constraints: Must contain from 8 to 128 characters.
22271	//
22272	// Amazon RDS API actions never return the password, so this action provides
22273	// a way to regain access to a primary instance user if the password is lost.
22274	// This includes restoring privileges that might have been accidentally revoked.
22275	MasterUserPassword *string `type:"string"`
22276
22277	// The interval, in seconds, between points when Enhanced Monitoring metrics
22278	// are collected for the DB instance. To disable collecting Enhanced Monitoring
22279	// metrics, specify 0. The default is 0.
22280	//
22281	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
22282	// to a value other than 0.
22283	//
22284	// Valid Values: 0, 1, 5, 10, 15, 30, 60
22285	MonitoringInterval *int64 `type:"integer"`
22286
22287	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
22288	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
22289	// For information on creating a monitoring role, go to To create an IAM role
22290	// for Amazon RDS Enhanced Monitoring (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole).
22291	//
22292	// If MonitoringInterval is set to a value other than 0, then you must supply
22293	// a MonitoringRoleArn value.
22294	MonitoringRoleArn *string `type:"string"`
22295
22296	// Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter
22297	// does not result in an outage and the change is applied during the next maintenance
22298	// window unless the ApplyImmediately parameter is set to true for this request.
22299	//
22300	// Constraints: Cannot be specified if the DB instance is a Read Replica.
22301	MultiAZ *bool `type:"boolean"`
22302
22303	// The new DB instance identifier for the DB instance when renaming a DB instance.
22304	// When you change the DB instance identifier, an instance reboot will occur
22305	// immediately if you set Apply Immediately to true, or will occur during the
22306	// next maintenance window if Apply Immediately to false. This value is stored
22307	// as a lowercase string.
22308	//
22309	// Constraints:
22310	//
22311	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
22312	//
22313	//    * The first character must be a letter.
22314	//
22315	//    * Cannot end with a hyphen or contain two consecutive hyphens.
22316	//
22317	// Example: mydbinstance
22318	NewDBInstanceIdentifier *string `type:"string"`
22319
22320	// Indicates that the DB instance should be associated with the specified option
22321	// group. Changing this parameter does not result in an outage except in the
22322	// following case and the change is applied during the next maintenance window
22323	// unless the ApplyImmediately parameter is set to true for this request. If
22324	// the parameter change results in an option group that enables OEM, this change
22325	// can cause a brief (sub-second) period during which new connections are rejected
22326	// but existing connections are not interrupted.
22327	//
22328	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
22329	// can't be removed from an option group, and that option group can't be removed
22330	// from a DB instance once it is associated with a DB instance
22331	OptionGroupName *string `type:"string"`
22332
22333	// The AWS KMS key identifier for encryption of Performance Insights data. The
22334	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
22335	// KMS key alias for the KMS encryption key.
22336	PerformanceInsightsKMSKeyId *string `type:"string"`
22337
22338	// The daily time range during which automated backups are created if automated
22339	// backups are enabled, as determined by the BackupRetentionPeriod parameter.
22340	// Changing this parameter does not result in an outage and the change is asynchronously
22341	// applied as soon as possible.
22342	//
22343	// Amazon Aurora
22344	//
22345	// Not applicable. The daily time range for creating automated backups is managed
22346	// by the DB cluster. For more information, see ModifyDBCluster.
22347	//
22348	// Constraints:
22349	//
22350	//    * Must be in the format hh24:mi-hh24:mi
22351	//
22352	//    * Must be in Universal Time Coordinated (UTC)
22353	//
22354	//    * Must not conflict with the preferred maintenance window
22355	//
22356	//    * Must be at least 30 minutes
22357	PreferredBackupWindow *string `type:"string"`
22358
22359	// The weekly time range (in UTC) during which system maintenance can occur,
22360	// which might result in an outage. Changing this parameter does not result
22361	// in an outage, except in the following situation, and the change is asynchronously
22362	// applied as soon as possible. If there are pending actions that cause a reboot,
22363	// and the maintenance window is changed to include the current time, then changing
22364	// this parameter will cause a reboot of the DB instance. If moving this window
22365	// to the current time, there must be at least 30 minutes between the current
22366	// time and end of the window to ensure pending changes are applied.
22367	//
22368	// Default: Uses existing setting
22369	//
22370	// Format: ddd:hh24:mi-ddd:hh24:mi
22371	//
22372	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
22373	//
22374	// Constraints: Must be at least 30 minutes
22375	PreferredMaintenanceWindow *string `type:"string"`
22376
22377	// A value that specifies the order in which an Aurora Replica is promoted to
22378	// the primary instance after a failure of the existing primary instance. For
22379	// more information, see  Fault Tolerance for an Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance).
22380	//
22381	// Default: 1
22382	//
22383	// Valid Values: 0 - 15
22384	PromotionTier *int64 `type:"integer"`
22385
22386	// Boolean value that indicates if the DB instance has a publicly resolvable
22387	// DNS name. Set to True to make the DB instance Internet-facing with a publicly
22388	// resolvable DNS name, which resolves to a public IP address. Set to False
22389	// to make the DB instance internal with a DNS name that resolves to a private
22390	// IP address.
22391	//
22392	// PubliclyAccessible only applies to DB instances in a VPC. The DB instance
22393	// must be part of a public subnet and PubliclyAccessible must be true in order
22394	// for it to be publicly accessible.
22395	//
22396	// Changes to the PubliclyAccessible parameter are applied immediately regardless
22397	// of the value of the ApplyImmediately parameter.
22398	//
22399	// Default: false
22400	PubliclyAccessible *bool `type:"boolean"`
22401
22402	// Specifies the storage type to be associated with the DB instance.
22403	//
22404	// If you specify Provisioned IOPS (io1), you must also include a value for
22405	// the Iops parameter.
22406	//
22407	// If you choose to migrate your DB instance from using standard storage to
22408	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
22409	// storage, the process can take time. The duration of the migration depends
22410	// on several factors such as database load, storage size, storage type (standard
22411	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
22412	// of prior scale storage operations. Typical migration times are under 24 hours,
22413	// but the process can take up to several days in some cases. During the migration,
22414	// the DB instance is available for use, but might experience performance degradation.
22415	// While the migration takes place, nightly backups for the instance are suspended.
22416	// No other Amazon RDS operations can take place for the instance, including
22417	// modifying the instance, rebooting the instance, deleting the instance, creating
22418	// a Read Replica for the instance, and creating a DB snapshot of the instance.
22419	//
22420	// Valid values: standard | gp2 | io1
22421	//
22422	// Default: io1 if the Iops parameter is specified, otherwise standard
22423	StorageType *string `type:"string"`
22424
22425	// The ARN from the key store with which to associate the instance for TDE encryption.
22426	TdeCredentialArn *string `type:"string"`
22427
22428	// The password for the given ARN from the key store in order to access the
22429	// device.
22430	TdeCredentialPassword *string `type:"string"`
22431
22432	// A list of EC2 VPC security groups to authorize on this DB instance. This
22433	// change is asynchronously applied as soon as possible.
22434	//
22435	// Amazon Aurora
22436	//
22437	// Not applicable. The associated list of EC2 VPC security groups is managed
22438	// by the DB cluster. For more information, see ModifyDBCluster.
22439	//
22440	// Constraints:
22441	//
22442	//    * If supplied, must match existing VpcSecurityGroupIds.
22443	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
22444}
22445
22446// String returns the string representation
22447func (s ModifyDBInstanceInput) String() string {
22448	return awsutil.Prettify(s)
22449}
22450
22451// GoString returns the string representation
22452func (s ModifyDBInstanceInput) GoString() string {
22453	return s.String()
22454}
22455
22456// Validate inspects the fields of the type to determine if they are valid.
22457func (s *ModifyDBInstanceInput) Validate() error {
22458	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
22459	if s.DBInstanceIdentifier == nil {
22460		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
22461	}
22462
22463	if invalidParams.Len() > 0 {
22464		return invalidParams
22465	}
22466	return nil
22467}
22468
22469// SetAllocatedStorage sets the AllocatedStorage field's value.
22470func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
22471	s.AllocatedStorage = &v
22472	return s
22473}
22474
22475// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
22476func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
22477	s.AllowMajorVersionUpgrade = &v
22478	return s
22479}
22480
22481// SetApplyImmediately sets the ApplyImmediately field's value.
22482func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
22483	s.ApplyImmediately = &v
22484	return s
22485}
22486
22487// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
22488func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
22489	s.AutoMinorVersionUpgrade = &v
22490	return s
22491}
22492
22493// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
22494func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
22495	s.BackupRetentionPeriod = &v
22496	return s
22497}
22498
22499// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
22500func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
22501	s.CACertificateIdentifier = &v
22502	return s
22503}
22504
22505// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
22506func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
22507	s.CopyTagsToSnapshot = &v
22508	return s
22509}
22510
22511// SetDBInstanceClass sets the DBInstanceClass field's value.
22512func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
22513	s.DBInstanceClass = &v
22514	return s
22515}
22516
22517// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
22518func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
22519	s.DBInstanceIdentifier = &v
22520	return s
22521}
22522
22523// SetDBParameterGroupName sets the DBParameterGroupName field's value.
22524func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
22525	s.DBParameterGroupName = &v
22526	return s
22527}
22528
22529// SetDBPortNumber sets the DBPortNumber field's value.
22530func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
22531	s.DBPortNumber = &v
22532	return s
22533}
22534
22535// SetDBSecurityGroups sets the DBSecurityGroups field's value.
22536func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
22537	s.DBSecurityGroups = v
22538	return s
22539}
22540
22541// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
22542func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
22543	s.DBSubnetGroupName = &v
22544	return s
22545}
22546
22547// SetDomain sets the Domain field's value.
22548func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
22549	s.Domain = &v
22550	return s
22551}
22552
22553// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
22554func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
22555	s.DomainIAMRoleName = &v
22556	return s
22557}
22558
22559// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
22560func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
22561	s.EnableIAMDatabaseAuthentication = &v
22562	return s
22563}
22564
22565// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
22566func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
22567	s.EnablePerformanceInsights = &v
22568	return s
22569}
22570
22571// SetEngineVersion sets the EngineVersion field's value.
22572func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
22573	s.EngineVersion = &v
22574	return s
22575}
22576
22577// SetIops sets the Iops field's value.
22578func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
22579	s.Iops = &v
22580	return s
22581}
22582
22583// SetLicenseModel sets the LicenseModel field's value.
22584func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
22585	s.LicenseModel = &v
22586	return s
22587}
22588
22589// SetMasterUserPassword sets the MasterUserPassword field's value.
22590func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
22591	s.MasterUserPassword = &v
22592	return s
22593}
22594
22595// SetMonitoringInterval sets the MonitoringInterval field's value.
22596func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
22597	s.MonitoringInterval = &v
22598	return s
22599}
22600
22601// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
22602func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
22603	s.MonitoringRoleArn = &v
22604	return s
22605}
22606
22607// SetMultiAZ sets the MultiAZ field's value.
22608func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
22609	s.MultiAZ = &v
22610	return s
22611}
22612
22613// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
22614func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
22615	s.NewDBInstanceIdentifier = &v
22616	return s
22617}
22618
22619// SetOptionGroupName sets the OptionGroupName field's value.
22620func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
22621	s.OptionGroupName = &v
22622	return s
22623}
22624
22625// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
22626func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
22627	s.PerformanceInsightsKMSKeyId = &v
22628	return s
22629}
22630
22631// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
22632func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
22633	s.PreferredBackupWindow = &v
22634	return s
22635}
22636
22637// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
22638func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
22639	s.PreferredMaintenanceWindow = &v
22640	return s
22641}
22642
22643// SetPromotionTier sets the PromotionTier field's value.
22644func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
22645	s.PromotionTier = &v
22646	return s
22647}
22648
22649// SetPubliclyAccessible sets the PubliclyAccessible field's value.
22650func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
22651	s.PubliclyAccessible = &v
22652	return s
22653}
22654
22655// SetStorageType sets the StorageType field's value.
22656func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
22657	s.StorageType = &v
22658	return s
22659}
22660
22661// SetTdeCredentialArn sets the TdeCredentialArn field's value.
22662func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
22663	s.TdeCredentialArn = &v
22664	return s
22665}
22666
22667// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
22668func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
22669	s.TdeCredentialPassword = &v
22670	return s
22671}
22672
22673// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
22674func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
22675	s.VpcSecurityGroupIds = v
22676	return s
22677}
22678
22679// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstanceResult
22680type ModifyDBInstanceOutput struct {
22681	_ struct{} `type:"structure"`
22682
22683	// Contains the details of an Amazon RDS DB instance.
22684	//
22685	// This data type is used as a response element in the DescribeDBInstances action.
22686	DBInstance *DBInstance `type:"structure"`
22687}
22688
22689// String returns the string representation
22690func (s ModifyDBInstanceOutput) String() string {
22691	return awsutil.Prettify(s)
22692}
22693
22694// GoString returns the string representation
22695func (s ModifyDBInstanceOutput) GoString() string {
22696	return s.String()
22697}
22698
22699// SetDBInstance sets the DBInstance field's value.
22700func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
22701	s.DBInstance = v
22702	return s
22703}
22704
22705// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroupMessage
22706type ModifyDBParameterGroupInput struct {
22707	_ struct{} `type:"structure"`
22708
22709	// The name of the DB parameter group.
22710	//
22711	// Constraints:
22712	//
22713	//    * If supplied, must match the name of an existing DBParameterGroup.
22714	//
22715	// DBParameterGroupName is a required field
22716	DBParameterGroupName *string `type:"string" required:"true"`
22717
22718	// An array of parameter names, values, and the apply method for the parameter
22719	// update. At least one parameter name, value, and apply method must be supplied;
22720	// subsequent arguments are optional. A maximum of 20 parameters can be modified
22721	// in a single request.
22722	//
22723	// Valid Values (for the application method): immediate | pending-reboot
22724	//
22725	// You can use the immediate value with dynamic parameters only. You can use
22726	// the pending-reboot value for both dynamic and static parameters, and changes
22727	// are applied when you reboot the DB instance without failover.
22728	//
22729	// Parameters is a required field
22730	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
22731}
22732
22733// String returns the string representation
22734func (s ModifyDBParameterGroupInput) String() string {
22735	return awsutil.Prettify(s)
22736}
22737
22738// GoString returns the string representation
22739func (s ModifyDBParameterGroupInput) GoString() string {
22740	return s.String()
22741}
22742
22743// Validate inspects the fields of the type to determine if they are valid.
22744func (s *ModifyDBParameterGroupInput) Validate() error {
22745	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
22746	if s.DBParameterGroupName == nil {
22747		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
22748	}
22749	if s.Parameters == nil {
22750		invalidParams.Add(request.NewErrParamRequired("Parameters"))
22751	}
22752
22753	if invalidParams.Len() > 0 {
22754		return invalidParams
22755	}
22756	return nil
22757}
22758
22759// SetDBParameterGroupName sets the DBParameterGroupName field's value.
22760func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
22761	s.DBParameterGroupName = &v
22762	return s
22763}
22764
22765// SetParameters sets the Parameters field's value.
22766func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
22767	s.Parameters = v
22768	return s
22769}
22770
22771// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttributeMessage
22772type ModifyDBSnapshotAttributeInput struct {
22773	_ struct{} `type:"structure"`
22774
22775	// The name of the DB snapshot attribute to modify.
22776	//
22777	// To manage authorization for other AWS accounts to copy or restore a manual
22778	// DB snapshot, set this value to restore.
22779	//
22780	// AttributeName is a required field
22781	AttributeName *string `type:"string" required:"true"`
22782
22783	// The identifier for the DB snapshot to modify the attributes for.
22784	//
22785	// DBSnapshotIdentifier is a required field
22786	DBSnapshotIdentifier *string `type:"string" required:"true"`
22787
22788	// A list of DB snapshot attributes to add to the attribute specified by AttributeName.
22789	//
22790	// To authorize other AWS accounts to copy or restore a manual snapshot, set
22791	// this list to include one or more AWS account IDs, or all to make the manual
22792	// DB snapshot restorable by any AWS account. Do not add the all value for any
22793	// manual DB snapshots that contain private information that you don't want
22794	// available to all AWS accounts.
22795	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
22796
22797	// A list of DB snapshot attributes to remove from the attribute specified by
22798	// AttributeName.
22799	//
22800	// To remove authorization for other AWS accounts to copy or restore a manual
22801	// snapshot, set this list to include one or more AWS account identifiers, or
22802	// all to remove authorization for any AWS account to copy or restore the DB
22803	// snapshot. If you specify all, an AWS account whose account ID is explicitly
22804	// added to the restore attribute can still copy or restore the manual DB snapshot.
22805	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
22806}
22807
22808// String returns the string representation
22809func (s ModifyDBSnapshotAttributeInput) String() string {
22810	return awsutil.Prettify(s)
22811}
22812
22813// GoString returns the string representation
22814func (s ModifyDBSnapshotAttributeInput) GoString() string {
22815	return s.String()
22816}
22817
22818// Validate inspects the fields of the type to determine if they are valid.
22819func (s *ModifyDBSnapshotAttributeInput) Validate() error {
22820	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"}
22821	if s.AttributeName == nil {
22822		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
22823	}
22824	if s.DBSnapshotIdentifier == nil {
22825		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
22826	}
22827
22828	if invalidParams.Len() > 0 {
22829		return invalidParams
22830	}
22831	return nil
22832}
22833
22834// SetAttributeName sets the AttributeName field's value.
22835func (s *ModifyDBSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBSnapshotAttributeInput {
22836	s.AttributeName = &v
22837	return s
22838}
22839
22840// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
22841func (s *ModifyDBSnapshotAttributeInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotAttributeInput {
22842	s.DBSnapshotIdentifier = &v
22843	return s
22844}
22845
22846// SetValuesToAdd sets the ValuesToAdd field's value.
22847func (s *ModifyDBSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBSnapshotAttributeInput {
22848	s.ValuesToAdd = v
22849	return s
22850}
22851
22852// SetValuesToRemove sets the ValuesToRemove field's value.
22853func (s *ModifyDBSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBSnapshotAttributeInput {
22854	s.ValuesToRemove = v
22855	return s
22856}
22857
22858// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttributeResult
22859type ModifyDBSnapshotAttributeOutput struct {
22860	_ struct{} `type:"structure"`
22861
22862	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
22863	// API action.
22864	//
22865	// Manual DB snapshot attributes are used to authorize other AWS accounts to
22866	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
22867	// API action.
22868	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
22869}
22870
22871// String returns the string representation
22872func (s ModifyDBSnapshotAttributeOutput) String() string {
22873	return awsutil.Prettify(s)
22874}
22875
22876// GoString returns the string representation
22877func (s ModifyDBSnapshotAttributeOutput) GoString() string {
22878	return s.String()
22879}
22880
22881// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
22882func (s *ModifyDBSnapshotAttributeOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *ModifyDBSnapshotAttributeOutput {
22883	s.DBSnapshotAttributesResult = v
22884	return s
22885}
22886
22887// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotMessage
22888type ModifyDBSnapshotInput struct {
22889	_ struct{} `type:"structure"`
22890
22891	// The identifier of the DB snapshot to modify.
22892	//
22893	// DBSnapshotIdentifier is a required field
22894	DBSnapshotIdentifier *string `type:"string" required:"true"`
22895
22896	// The engine version to upgrade the DB snapshot to.
22897	//
22898	// The following are the database engines and engine versions that are available
22899	// when you upgrade a DB snapshot.
22900	//
22901	// MySQL
22902	//
22903	//    * 5.5.46 (supported for 5.1 DB snapshots)
22904	//
22905	// Oracle
22906	//
22907	//    * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
22908	//
22909	//    * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
22910	//
22911	//    * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
22912	EngineVersion *string `type:"string"`
22913
22914	// The option group to identify with the upgraded DB snapshot.
22915	//
22916	// You can specify this parameter when you upgrade an Oracle DB snapshot. The
22917	// same option group considerations apply when upgrading a DB snapshot as when
22918	// upgrading a DB instance. For more information, see Option Group Considerations
22919	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG).
22920	OptionGroupName *string `type:"string"`
22921}
22922
22923// String returns the string representation
22924func (s ModifyDBSnapshotInput) String() string {
22925	return awsutil.Prettify(s)
22926}
22927
22928// GoString returns the string representation
22929func (s ModifyDBSnapshotInput) GoString() string {
22930	return s.String()
22931}
22932
22933// Validate inspects the fields of the type to determine if they are valid.
22934func (s *ModifyDBSnapshotInput) Validate() error {
22935	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotInput"}
22936	if s.DBSnapshotIdentifier == nil {
22937		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
22938	}
22939
22940	if invalidParams.Len() > 0 {
22941		return invalidParams
22942	}
22943	return nil
22944}
22945
22946// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
22947func (s *ModifyDBSnapshotInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotInput {
22948	s.DBSnapshotIdentifier = &v
22949	return s
22950}
22951
22952// SetEngineVersion sets the EngineVersion field's value.
22953func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInput {
22954	s.EngineVersion = &v
22955	return s
22956}
22957
22958// SetOptionGroupName sets the OptionGroupName field's value.
22959func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput {
22960	s.OptionGroupName = &v
22961	return s
22962}
22963
22964// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotResult
22965type ModifyDBSnapshotOutput struct {
22966	_ struct{} `type:"structure"`
22967
22968	// Contains the details of an Amazon RDS DB snapshot.
22969	//
22970	// This data type is used as a response element in the DescribeDBSnapshots action.
22971	DBSnapshot *DBSnapshot `type:"structure"`
22972}
22973
22974// String returns the string representation
22975func (s ModifyDBSnapshotOutput) String() string {
22976	return awsutil.Prettify(s)
22977}
22978
22979// GoString returns the string representation
22980func (s ModifyDBSnapshotOutput) GoString() string {
22981	return s.String()
22982}
22983
22984// SetDBSnapshot sets the DBSnapshot field's value.
22985func (s *ModifyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *ModifyDBSnapshotOutput {
22986	s.DBSnapshot = v
22987	return s
22988}
22989
22990// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroupMessage
22991type ModifyDBSubnetGroupInput struct {
22992	_ struct{} `type:"structure"`
22993
22994	// The description for the DB subnet group.
22995	DBSubnetGroupDescription *string `type:"string"`
22996
22997	// The name for the DB subnet group. This value is stored as a lowercase string.
22998	// You can't modify the default subnet group.
22999	//
23000	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
23001	// default.
23002	//
23003	// Example: mySubnetgroup
23004	//
23005	// DBSubnetGroupName is a required field
23006	DBSubnetGroupName *string `type:"string" required:"true"`
23007
23008	// The EC2 subnet IDs for the DB subnet group.
23009	//
23010	// SubnetIds is a required field
23011	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
23012}
23013
23014// String returns the string representation
23015func (s ModifyDBSubnetGroupInput) String() string {
23016	return awsutil.Prettify(s)
23017}
23018
23019// GoString returns the string representation
23020func (s ModifyDBSubnetGroupInput) GoString() string {
23021	return s.String()
23022}
23023
23024// Validate inspects the fields of the type to determine if they are valid.
23025func (s *ModifyDBSubnetGroupInput) Validate() error {
23026	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
23027	if s.DBSubnetGroupName == nil {
23028		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
23029	}
23030	if s.SubnetIds == nil {
23031		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
23032	}
23033
23034	if invalidParams.Len() > 0 {
23035		return invalidParams
23036	}
23037	return nil
23038}
23039
23040// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
23041func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
23042	s.DBSubnetGroupDescription = &v
23043	return s
23044}
23045
23046// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
23047func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
23048	s.DBSubnetGroupName = &v
23049	return s
23050}
23051
23052// SetSubnetIds sets the SubnetIds field's value.
23053func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
23054	s.SubnetIds = v
23055	return s
23056}
23057
23058// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroupResult
23059type ModifyDBSubnetGroupOutput struct {
23060	_ struct{} `type:"structure"`
23061
23062	// Contains the details of an Amazon RDS DB subnet group.
23063	//
23064	// This data type is used as a response element in the DescribeDBSubnetGroups
23065	// action.
23066	DBSubnetGroup *DBSubnetGroup `type:"structure"`
23067}
23068
23069// String returns the string representation
23070func (s ModifyDBSubnetGroupOutput) String() string {
23071	return awsutil.Prettify(s)
23072}
23073
23074// GoString returns the string representation
23075func (s ModifyDBSubnetGroupOutput) GoString() string {
23076	return s.String()
23077}
23078
23079// SetDBSubnetGroup sets the DBSubnetGroup field's value.
23080func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
23081	s.DBSubnetGroup = v
23082	return s
23083}
23084
23085// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscriptionMessage
23086type ModifyEventSubscriptionInput struct {
23087	_ struct{} `type:"structure"`
23088
23089	// A Boolean value; set to true to activate the subscription.
23090	Enabled *bool `type:"boolean"`
23091
23092	// A list of event categories for a SourceType that you want to subscribe to.
23093	// You can see a list of the categories for a given SourceType in the Events
23094	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
23095	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
23096	// action.
23097	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
23098
23099	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
23100	// The ARN is created by Amazon SNS when you create a topic and subscribe to
23101	// it.
23102	SnsTopicArn *string `type:"string"`
23103
23104	// The type of source that is generating the events. For example, if you want
23105	// to be notified of events generated by a DB instance, you would set this parameter
23106	// to db-instance. if this value is not specified, all events are returned.
23107	//
23108	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
23109	SourceType *string `type:"string"`
23110
23111	// The name of the RDS event notification subscription.
23112	//
23113	// SubscriptionName is a required field
23114	SubscriptionName *string `type:"string" required:"true"`
23115}
23116
23117// String returns the string representation
23118func (s ModifyEventSubscriptionInput) String() string {
23119	return awsutil.Prettify(s)
23120}
23121
23122// GoString returns the string representation
23123func (s ModifyEventSubscriptionInput) GoString() string {
23124	return s.String()
23125}
23126
23127// Validate inspects the fields of the type to determine if they are valid.
23128func (s *ModifyEventSubscriptionInput) Validate() error {
23129	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
23130	if s.SubscriptionName == nil {
23131		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
23132	}
23133
23134	if invalidParams.Len() > 0 {
23135		return invalidParams
23136	}
23137	return nil
23138}
23139
23140// SetEnabled sets the Enabled field's value.
23141func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
23142	s.Enabled = &v
23143	return s
23144}
23145
23146// SetEventCategories sets the EventCategories field's value.
23147func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
23148	s.EventCategories = v
23149	return s
23150}
23151
23152// SetSnsTopicArn sets the SnsTopicArn field's value.
23153func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
23154	s.SnsTopicArn = &v
23155	return s
23156}
23157
23158// SetSourceType sets the SourceType field's value.
23159func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
23160	s.SourceType = &v
23161	return s
23162}
23163
23164// SetSubscriptionName sets the SubscriptionName field's value.
23165func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
23166	s.SubscriptionName = &v
23167	return s
23168}
23169
23170// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscriptionResult
23171type ModifyEventSubscriptionOutput struct {
23172	_ struct{} `type:"structure"`
23173
23174	// Contains the results of a successful invocation of the DescribeEventSubscriptions
23175	// action.
23176	EventSubscription *EventSubscription `type:"structure"`
23177}
23178
23179// String returns the string representation
23180func (s ModifyEventSubscriptionOutput) String() string {
23181	return awsutil.Prettify(s)
23182}
23183
23184// GoString returns the string representation
23185func (s ModifyEventSubscriptionOutput) GoString() string {
23186	return s.String()
23187}
23188
23189// SetEventSubscription sets the EventSubscription field's value.
23190func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
23191	s.EventSubscription = v
23192	return s
23193}
23194
23195// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroupMessage
23196type ModifyOptionGroupInput struct {
23197	_ struct{} `type:"structure"`
23198
23199	// Indicates whether the changes should be applied immediately, or during the
23200	// next maintenance window for each instance associated with the option group.
23201	ApplyImmediately *bool `type:"boolean"`
23202
23203	// The name of the option group to be modified.
23204	//
23205	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
23206	// can't be removed from an option group, and that option group can't be removed
23207	// from a DB instance once it is associated with a DB instance
23208	//
23209	// OptionGroupName is a required field
23210	OptionGroupName *string `type:"string" required:"true"`
23211
23212	// Options in this list are added to the option group or, if already present,
23213	// the specified configuration is used to update the existing configuration.
23214	OptionsToInclude []*OptionConfiguration `locationNameList:"OptionConfiguration" type:"list"`
23215
23216	// Options in this list are removed from the option group.
23217	OptionsToRemove []*string `type:"list"`
23218}
23219
23220// String returns the string representation
23221func (s ModifyOptionGroupInput) String() string {
23222	return awsutil.Prettify(s)
23223}
23224
23225// GoString returns the string representation
23226func (s ModifyOptionGroupInput) GoString() string {
23227	return s.String()
23228}
23229
23230// Validate inspects the fields of the type to determine if they are valid.
23231func (s *ModifyOptionGroupInput) Validate() error {
23232	invalidParams := request.ErrInvalidParams{Context: "ModifyOptionGroupInput"}
23233	if s.OptionGroupName == nil {
23234		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
23235	}
23236	if s.OptionsToInclude != nil {
23237		for i, v := range s.OptionsToInclude {
23238			if v == nil {
23239				continue
23240			}
23241			if err := v.Validate(); err != nil {
23242				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToInclude", i), err.(request.ErrInvalidParams))
23243			}
23244		}
23245	}
23246
23247	if invalidParams.Len() > 0 {
23248		return invalidParams
23249	}
23250	return nil
23251}
23252
23253// SetApplyImmediately sets the ApplyImmediately field's value.
23254func (s *ModifyOptionGroupInput) SetApplyImmediately(v bool) *ModifyOptionGroupInput {
23255	s.ApplyImmediately = &v
23256	return s
23257}
23258
23259// SetOptionGroupName sets the OptionGroupName field's value.
23260func (s *ModifyOptionGroupInput) SetOptionGroupName(v string) *ModifyOptionGroupInput {
23261	s.OptionGroupName = &v
23262	return s
23263}
23264
23265// SetOptionsToInclude sets the OptionsToInclude field's value.
23266func (s *ModifyOptionGroupInput) SetOptionsToInclude(v []*OptionConfiguration) *ModifyOptionGroupInput {
23267	s.OptionsToInclude = v
23268	return s
23269}
23270
23271// SetOptionsToRemove sets the OptionsToRemove field's value.
23272func (s *ModifyOptionGroupInput) SetOptionsToRemove(v []*string) *ModifyOptionGroupInput {
23273	s.OptionsToRemove = v
23274	return s
23275}
23276
23277// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroupResult
23278type ModifyOptionGroupOutput struct {
23279	_ struct{} `type:"structure"`
23280
23281	OptionGroup *OptionGroup `type:"structure"`
23282}
23283
23284// String returns the string representation
23285func (s ModifyOptionGroupOutput) String() string {
23286	return awsutil.Prettify(s)
23287}
23288
23289// GoString returns the string representation
23290func (s ModifyOptionGroupOutput) GoString() string {
23291	return s.String()
23292}
23293
23294// SetOptionGroup sets the OptionGroup field's value.
23295func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGroupOutput {
23296	s.OptionGroup = v
23297	return s
23298}
23299
23300// Option details.
23301// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Option
23302type Option struct {
23303	_ struct{} `type:"structure"`
23304
23305	// If the option requires access to a port, then this DB security group allows
23306	// access to the port.
23307	DBSecurityGroupMemberships []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
23308
23309	// The description of the option.
23310	OptionDescription *string `type:"string"`
23311
23312	// The name of the option.
23313	OptionName *string `type:"string"`
23314
23315	// The option settings for this option.
23316	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
23317
23318	// The version of the option.
23319	OptionVersion *string `type:"string"`
23320
23321	// Indicate if this option is permanent.
23322	Permanent *bool `type:"boolean"`
23323
23324	// Indicate if this option is persistent.
23325	Persistent *bool `type:"boolean"`
23326
23327	// If required, the port configured for this option to use.
23328	Port *int64 `type:"integer"`
23329
23330	// If the option requires access to a port, then this VPC security group allows
23331	// access to the port.
23332	VpcSecurityGroupMemberships []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
23333}
23334
23335// String returns the string representation
23336func (s Option) String() string {
23337	return awsutil.Prettify(s)
23338}
23339
23340// GoString returns the string representation
23341func (s Option) GoString() string {
23342	return s.String()
23343}
23344
23345// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
23346func (s *Option) SetDBSecurityGroupMemberships(v []*DBSecurityGroupMembership) *Option {
23347	s.DBSecurityGroupMemberships = v
23348	return s
23349}
23350
23351// SetOptionDescription sets the OptionDescription field's value.
23352func (s *Option) SetOptionDescription(v string) *Option {
23353	s.OptionDescription = &v
23354	return s
23355}
23356
23357// SetOptionName sets the OptionName field's value.
23358func (s *Option) SetOptionName(v string) *Option {
23359	s.OptionName = &v
23360	return s
23361}
23362
23363// SetOptionSettings sets the OptionSettings field's value.
23364func (s *Option) SetOptionSettings(v []*OptionSetting) *Option {
23365	s.OptionSettings = v
23366	return s
23367}
23368
23369// SetOptionVersion sets the OptionVersion field's value.
23370func (s *Option) SetOptionVersion(v string) *Option {
23371	s.OptionVersion = &v
23372	return s
23373}
23374
23375// SetPermanent sets the Permanent field's value.
23376func (s *Option) SetPermanent(v bool) *Option {
23377	s.Permanent = &v
23378	return s
23379}
23380
23381// SetPersistent sets the Persistent field's value.
23382func (s *Option) SetPersistent(v bool) *Option {
23383	s.Persistent = &v
23384	return s
23385}
23386
23387// SetPort sets the Port field's value.
23388func (s *Option) SetPort(v int64) *Option {
23389	s.Port = &v
23390	return s
23391}
23392
23393// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
23394func (s *Option) SetVpcSecurityGroupMemberships(v []*VpcSecurityGroupMembership) *Option {
23395	s.VpcSecurityGroupMemberships = v
23396	return s
23397}
23398
23399// A list of all available options
23400// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionConfiguration
23401type OptionConfiguration struct {
23402	_ struct{} `type:"structure"`
23403
23404	// A list of DBSecurityGroupMemebrship name strings used for this option.
23405	DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"`
23406
23407	// The configuration of options to include in a group.
23408	//
23409	// OptionName is a required field
23410	OptionName *string `type:"string" required:"true"`
23411
23412	// The option settings to include in an option group.
23413	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
23414
23415	// The version for the option.
23416	OptionVersion *string `type:"string"`
23417
23418	// The optional port for the option.
23419	Port *int64 `type:"integer"`
23420
23421	// A list of VpcSecurityGroupMemebrship name strings used for this option.
23422	VpcSecurityGroupMemberships []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
23423}
23424
23425// String returns the string representation
23426func (s OptionConfiguration) String() string {
23427	return awsutil.Prettify(s)
23428}
23429
23430// GoString returns the string representation
23431func (s OptionConfiguration) GoString() string {
23432	return s.String()
23433}
23434
23435// Validate inspects the fields of the type to determine if they are valid.
23436func (s *OptionConfiguration) Validate() error {
23437	invalidParams := request.ErrInvalidParams{Context: "OptionConfiguration"}
23438	if s.OptionName == nil {
23439		invalidParams.Add(request.NewErrParamRequired("OptionName"))
23440	}
23441
23442	if invalidParams.Len() > 0 {
23443		return invalidParams
23444	}
23445	return nil
23446}
23447
23448// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
23449func (s *OptionConfiguration) SetDBSecurityGroupMemberships(v []*string) *OptionConfiguration {
23450	s.DBSecurityGroupMemberships = v
23451	return s
23452}
23453
23454// SetOptionName sets the OptionName field's value.
23455func (s *OptionConfiguration) SetOptionName(v string) *OptionConfiguration {
23456	s.OptionName = &v
23457	return s
23458}
23459
23460// SetOptionSettings sets the OptionSettings field's value.
23461func (s *OptionConfiguration) SetOptionSettings(v []*OptionSetting) *OptionConfiguration {
23462	s.OptionSettings = v
23463	return s
23464}
23465
23466// SetOptionVersion sets the OptionVersion field's value.
23467func (s *OptionConfiguration) SetOptionVersion(v string) *OptionConfiguration {
23468	s.OptionVersion = &v
23469	return s
23470}
23471
23472// SetPort sets the Port field's value.
23473func (s *OptionConfiguration) SetPort(v int64) *OptionConfiguration {
23474	s.Port = &v
23475	return s
23476}
23477
23478// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
23479func (s *OptionConfiguration) SetVpcSecurityGroupMemberships(v []*string) *OptionConfiguration {
23480	s.VpcSecurityGroupMemberships = v
23481	return s
23482}
23483
23484// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionGroup
23485type OptionGroup struct {
23486	_ struct{} `type:"structure"`
23487
23488	// Indicates whether this option group can be applied to both VPC and non-VPC
23489	// instances. The value true indicates the option group can be applied to both
23490	// VPC and non-VPC instances.
23491	AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"`
23492
23493	// Indicates the name of the engine that this option group can be applied to.
23494	EngineName *string `type:"string"`
23495
23496	// Indicates the major engine version associated with this option group.
23497	MajorEngineVersion *string `type:"string"`
23498
23499	// The Amazon Resource Name (ARN) for the option group.
23500	OptionGroupArn *string `type:"string"`
23501
23502	// Provides a description of the option group.
23503	OptionGroupDescription *string `type:"string"`
23504
23505	// Specifies the name of the option group.
23506	OptionGroupName *string `type:"string"`
23507
23508	// Indicates what options are available in the option group.
23509	Options []*Option `locationNameList:"Option" type:"list"`
23510
23511	// If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If
23512	// AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then
23513	// this option group can be applied to both VPC and non-VPC instances. If this
23514	// field contains a value, then this option group can only be applied to instances
23515	// that are in the VPC indicated by this field.
23516	VpcId *string `type:"string"`
23517}
23518
23519// String returns the string representation
23520func (s OptionGroup) String() string {
23521	return awsutil.Prettify(s)
23522}
23523
23524// GoString returns the string representation
23525func (s OptionGroup) GoString() string {
23526	return s.String()
23527}
23528
23529// SetAllowsVpcAndNonVpcInstanceMemberships sets the AllowsVpcAndNonVpcInstanceMemberships field's value.
23530func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGroup {
23531	s.AllowsVpcAndNonVpcInstanceMemberships = &v
23532	return s
23533}
23534
23535// SetEngineName sets the EngineName field's value.
23536func (s *OptionGroup) SetEngineName(v string) *OptionGroup {
23537	s.EngineName = &v
23538	return s
23539}
23540
23541// SetMajorEngineVersion sets the MajorEngineVersion field's value.
23542func (s *OptionGroup) SetMajorEngineVersion(v string) *OptionGroup {
23543	s.MajorEngineVersion = &v
23544	return s
23545}
23546
23547// SetOptionGroupArn sets the OptionGroupArn field's value.
23548func (s *OptionGroup) SetOptionGroupArn(v string) *OptionGroup {
23549	s.OptionGroupArn = &v
23550	return s
23551}
23552
23553// SetOptionGroupDescription sets the OptionGroupDescription field's value.
23554func (s *OptionGroup) SetOptionGroupDescription(v string) *OptionGroup {
23555	s.OptionGroupDescription = &v
23556	return s
23557}
23558
23559// SetOptionGroupName sets the OptionGroupName field's value.
23560func (s *OptionGroup) SetOptionGroupName(v string) *OptionGroup {
23561	s.OptionGroupName = &v
23562	return s
23563}
23564
23565// SetOptions sets the Options field's value.
23566func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup {
23567	s.Options = v
23568	return s
23569}
23570
23571// SetVpcId sets the VpcId field's value.
23572func (s *OptionGroup) SetVpcId(v string) *OptionGroup {
23573	s.VpcId = &v
23574	return s
23575}
23576
23577// Provides information on the option groups the DB instance is a member of.
23578// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionGroupMembership
23579type OptionGroupMembership struct {
23580	_ struct{} `type:"structure"`
23581
23582	// The name of the option group that the instance belongs to.
23583	OptionGroupName *string `type:"string"`
23584
23585	// The status of the DB instance's option group membership. Valid values are:
23586	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
23587	// applying, removing, and failed.
23588	Status *string `type:"string"`
23589}
23590
23591// String returns the string representation
23592func (s OptionGroupMembership) String() string {
23593	return awsutil.Prettify(s)
23594}
23595
23596// GoString returns the string representation
23597func (s OptionGroupMembership) GoString() string {
23598	return s.String()
23599}
23600
23601// SetOptionGroupName sets the OptionGroupName field's value.
23602func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
23603	s.OptionGroupName = &v
23604	return s
23605}
23606
23607// SetStatus sets the Status field's value.
23608func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
23609	s.Status = &v
23610	return s
23611}
23612
23613// Available option.
23614// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionGroupOption
23615type OptionGroupOption struct {
23616	_ struct{} `type:"structure"`
23617
23618	// If the option requires a port, specifies the default port for the option.
23619	DefaultPort *int64 `type:"integer"`
23620
23621	// The description of the option.
23622	Description *string `type:"string"`
23623
23624	// The name of the engine that this option can be applied to.
23625	EngineName *string `type:"string"`
23626
23627	// Indicates the major engine version that the option is available for.
23628	MajorEngineVersion *string `type:"string"`
23629
23630	// The minimum required engine version for the option to be applied.
23631	MinimumRequiredMinorEngineVersion *string `type:"string"`
23632
23633	// The name of the option.
23634	Name *string `type:"string"`
23635
23636	// The option settings that are available (and the default value) for each option
23637	// in an option group.
23638	OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"`
23639
23640	// The versions that are available for the option.
23641	OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"`
23642
23643	// The options that conflict with this option.
23644	OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"`
23645
23646	// The options that are prerequisites for this option.
23647	OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"`
23648
23649	// Permanent options can never be removed from an option group. An option group
23650	// containing a permanent option can't be removed from a DB instance.
23651	Permanent *bool `type:"boolean"`
23652
23653	// Persistent options can't be removed from an option group while DB instances
23654	// are associated with the option group. If you disassociate all DB instances
23655	// from the option group, your can remove the persistent option from the option
23656	// group.
23657	Persistent *bool `type:"boolean"`
23658
23659	// Specifies whether the option requires a port.
23660	PortRequired *bool `type:"boolean"`
23661
23662	// If true, you must enable the Auto Minor Version Upgrade setting for your
23663	// DB instance before you can use this option. You can enable Auto Minor Version
23664	// Upgrade when you first create your DB instance, or by modifying your DB instance
23665	// later.
23666	RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"`
23667
23668	// If true, you can change the option to an earlier version of the option. This
23669	// only applies to options that have different versions available.
23670	SupportsOptionVersionDowngrade *bool `type:"boolean"`
23671
23672	// If true, you can only use this option with a DB instance that is in a VPC.
23673	VpcOnly *bool `type:"boolean"`
23674}
23675
23676// String returns the string representation
23677func (s OptionGroupOption) String() string {
23678	return awsutil.Prettify(s)
23679}
23680
23681// GoString returns the string representation
23682func (s OptionGroupOption) GoString() string {
23683	return s.String()
23684}
23685
23686// SetDefaultPort sets the DefaultPort field's value.
23687func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption {
23688	s.DefaultPort = &v
23689	return s
23690}
23691
23692// SetDescription sets the Description field's value.
23693func (s *OptionGroupOption) SetDescription(v string) *OptionGroupOption {
23694	s.Description = &v
23695	return s
23696}
23697
23698// SetEngineName sets the EngineName field's value.
23699func (s *OptionGroupOption) SetEngineName(v string) *OptionGroupOption {
23700	s.EngineName = &v
23701	return s
23702}
23703
23704// SetMajorEngineVersion sets the MajorEngineVersion field's value.
23705func (s *OptionGroupOption) SetMajorEngineVersion(v string) *OptionGroupOption {
23706	s.MajorEngineVersion = &v
23707	return s
23708}
23709
23710// SetMinimumRequiredMinorEngineVersion sets the MinimumRequiredMinorEngineVersion field's value.
23711func (s *OptionGroupOption) SetMinimumRequiredMinorEngineVersion(v string) *OptionGroupOption {
23712	s.MinimumRequiredMinorEngineVersion = &v
23713	return s
23714}
23715
23716// SetName sets the Name field's value.
23717func (s *OptionGroupOption) SetName(v string) *OptionGroupOption {
23718	s.Name = &v
23719	return s
23720}
23721
23722// SetOptionGroupOptionSettings sets the OptionGroupOptionSettings field's value.
23723func (s *OptionGroupOption) SetOptionGroupOptionSettings(v []*OptionGroupOptionSetting) *OptionGroupOption {
23724	s.OptionGroupOptionSettings = v
23725	return s
23726}
23727
23728// SetOptionGroupOptionVersions sets the OptionGroupOptionVersions field's value.
23729func (s *OptionGroupOption) SetOptionGroupOptionVersions(v []*OptionVersion) *OptionGroupOption {
23730	s.OptionGroupOptionVersions = v
23731	return s
23732}
23733
23734// SetOptionsConflictsWith sets the OptionsConflictsWith field's value.
23735func (s *OptionGroupOption) SetOptionsConflictsWith(v []*string) *OptionGroupOption {
23736	s.OptionsConflictsWith = v
23737	return s
23738}
23739
23740// SetOptionsDependedOn sets the OptionsDependedOn field's value.
23741func (s *OptionGroupOption) SetOptionsDependedOn(v []*string) *OptionGroupOption {
23742	s.OptionsDependedOn = v
23743	return s
23744}
23745
23746// SetPermanent sets the Permanent field's value.
23747func (s *OptionGroupOption) SetPermanent(v bool) *OptionGroupOption {
23748	s.Permanent = &v
23749	return s
23750}
23751
23752// SetPersistent sets the Persistent field's value.
23753func (s *OptionGroupOption) SetPersistent(v bool) *OptionGroupOption {
23754	s.Persistent = &v
23755	return s
23756}
23757
23758// SetPortRequired sets the PortRequired field's value.
23759func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption {
23760	s.PortRequired = &v
23761	return s
23762}
23763
23764// SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value.
23765func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption {
23766	s.RequiresAutoMinorEngineVersionUpgrade = &v
23767	return s
23768}
23769
23770// SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value.
23771func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption {
23772	s.SupportsOptionVersionDowngrade = &v
23773	return s
23774}
23775
23776// SetVpcOnly sets the VpcOnly field's value.
23777func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption {
23778	s.VpcOnly = &v
23779	return s
23780}
23781
23782// Option group option settings are used to display settings available for each
23783// option with their default values and other information. These values are
23784// used with the DescribeOptionGroupOptions action.
23785// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionGroupOptionSetting
23786type OptionGroupOptionSetting struct {
23787	_ struct{} `type:"structure"`
23788
23789	// Indicates the acceptable values for the option group option.
23790	AllowedValues *string `type:"string"`
23791
23792	// The DB engine specific parameter type for the option group option.
23793	ApplyType *string `type:"string"`
23794
23795	// The default value for the option group option.
23796	DefaultValue *string `type:"string"`
23797
23798	// Boolean value where true indicates that this option group option can be changed
23799	// from the default value.
23800	IsModifiable *bool `type:"boolean"`
23801
23802	// The description of the option group option.
23803	SettingDescription *string `type:"string"`
23804
23805	// The name of the option group option.
23806	SettingName *string `type:"string"`
23807}
23808
23809// String returns the string representation
23810func (s OptionGroupOptionSetting) String() string {
23811	return awsutil.Prettify(s)
23812}
23813
23814// GoString returns the string representation
23815func (s OptionGroupOptionSetting) GoString() string {
23816	return s.String()
23817}
23818
23819// SetAllowedValues sets the AllowedValues field's value.
23820func (s *OptionGroupOptionSetting) SetAllowedValues(v string) *OptionGroupOptionSetting {
23821	s.AllowedValues = &v
23822	return s
23823}
23824
23825// SetApplyType sets the ApplyType field's value.
23826func (s *OptionGroupOptionSetting) SetApplyType(v string) *OptionGroupOptionSetting {
23827	s.ApplyType = &v
23828	return s
23829}
23830
23831// SetDefaultValue sets the DefaultValue field's value.
23832func (s *OptionGroupOptionSetting) SetDefaultValue(v string) *OptionGroupOptionSetting {
23833	s.DefaultValue = &v
23834	return s
23835}
23836
23837// SetIsModifiable sets the IsModifiable field's value.
23838func (s *OptionGroupOptionSetting) SetIsModifiable(v bool) *OptionGroupOptionSetting {
23839	s.IsModifiable = &v
23840	return s
23841}
23842
23843// SetSettingDescription sets the SettingDescription field's value.
23844func (s *OptionGroupOptionSetting) SetSettingDescription(v string) *OptionGroupOptionSetting {
23845	s.SettingDescription = &v
23846	return s
23847}
23848
23849// SetSettingName sets the SettingName field's value.
23850func (s *OptionGroupOptionSetting) SetSettingName(v string) *OptionGroupOptionSetting {
23851	s.SettingName = &v
23852	return s
23853}
23854
23855// Option settings are the actual settings being applied or configured for that
23856// option. It is used when you modify an option group or describe option groups.
23857// For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER
23858// that can have several different values.
23859// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionSetting
23860type OptionSetting struct {
23861	_ struct{} `type:"structure"`
23862
23863	// The allowed values of the option setting.
23864	AllowedValues *string `type:"string"`
23865
23866	// The DB engine specific parameter type.
23867	ApplyType *string `type:"string"`
23868
23869	// The data type of the option setting.
23870	DataType *string `type:"string"`
23871
23872	// The default value of the option setting.
23873	DefaultValue *string `type:"string"`
23874
23875	// The description of the option setting.
23876	Description *string `type:"string"`
23877
23878	// Indicates if the option setting is part of a collection.
23879	IsCollection *bool `type:"boolean"`
23880
23881	// A Boolean value that, when true, indicates the option setting can be modified
23882	// from the default.
23883	IsModifiable *bool `type:"boolean"`
23884
23885	// The name of the option that has settings that you can set.
23886	Name *string `type:"string"`
23887
23888	// The current value of the option setting.
23889	Value *string `type:"string"`
23890}
23891
23892// String returns the string representation
23893func (s OptionSetting) String() string {
23894	return awsutil.Prettify(s)
23895}
23896
23897// GoString returns the string representation
23898func (s OptionSetting) GoString() string {
23899	return s.String()
23900}
23901
23902// SetAllowedValues sets the AllowedValues field's value.
23903func (s *OptionSetting) SetAllowedValues(v string) *OptionSetting {
23904	s.AllowedValues = &v
23905	return s
23906}
23907
23908// SetApplyType sets the ApplyType field's value.
23909func (s *OptionSetting) SetApplyType(v string) *OptionSetting {
23910	s.ApplyType = &v
23911	return s
23912}
23913
23914// SetDataType sets the DataType field's value.
23915func (s *OptionSetting) SetDataType(v string) *OptionSetting {
23916	s.DataType = &v
23917	return s
23918}
23919
23920// SetDefaultValue sets the DefaultValue field's value.
23921func (s *OptionSetting) SetDefaultValue(v string) *OptionSetting {
23922	s.DefaultValue = &v
23923	return s
23924}
23925
23926// SetDescription sets the Description field's value.
23927func (s *OptionSetting) SetDescription(v string) *OptionSetting {
23928	s.Description = &v
23929	return s
23930}
23931
23932// SetIsCollection sets the IsCollection field's value.
23933func (s *OptionSetting) SetIsCollection(v bool) *OptionSetting {
23934	s.IsCollection = &v
23935	return s
23936}
23937
23938// SetIsModifiable sets the IsModifiable field's value.
23939func (s *OptionSetting) SetIsModifiable(v bool) *OptionSetting {
23940	s.IsModifiable = &v
23941	return s
23942}
23943
23944// SetName sets the Name field's value.
23945func (s *OptionSetting) SetName(v string) *OptionSetting {
23946	s.Name = &v
23947	return s
23948}
23949
23950// SetValue sets the Value field's value.
23951func (s *OptionSetting) SetValue(v string) *OptionSetting {
23952	s.Value = &v
23953	return s
23954}
23955
23956// The version for an option. Option group option versions are returned by the
23957// DescribeOptionGroupOptions action.
23958// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OptionVersion
23959type OptionVersion struct {
23960	_ struct{} `type:"structure"`
23961
23962	// True if the version is the default version of the option, and otherwise false.
23963	IsDefault *bool `type:"boolean"`
23964
23965	// The version of the option.
23966	Version *string `type:"string"`
23967}
23968
23969// String returns the string representation
23970func (s OptionVersion) String() string {
23971	return awsutil.Prettify(s)
23972}
23973
23974// GoString returns the string representation
23975func (s OptionVersion) GoString() string {
23976	return s.String()
23977}
23978
23979// SetIsDefault sets the IsDefault field's value.
23980func (s *OptionVersion) SetIsDefault(v bool) *OptionVersion {
23981	s.IsDefault = &v
23982	return s
23983}
23984
23985// SetVersion sets the Version field's value.
23986func (s *OptionVersion) SetVersion(v string) *OptionVersion {
23987	s.Version = &v
23988	return s
23989}
23990
23991// Contains a list of available options for a DB instance.
23992//
23993// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
23994// action.
23995// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/OrderableDBInstanceOption
23996type OrderableDBInstanceOption struct {
23997	_ struct{} `type:"structure"`
23998
23999	// A list of Availability Zones for a DB instance.
24000	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
24001
24002	// The DB instance class for a DB instance.
24003	DBInstanceClass *string `type:"string"`
24004
24005	// The engine type of a DB instance.
24006	Engine *string `type:"string"`
24007
24008	// The engine version of a DB instance.
24009	EngineVersion *string `type:"string"`
24010
24011	// The license model for a DB instance.
24012	LicenseModel *string `type:"string"`
24013
24014	// Maximum total provisioned IOPS for a DB instance.
24015	MaxIopsPerDbInstance *int64 `type:"integer"`
24016
24017	// Maximum provisioned IOPS per GiB for a DB instance.
24018	MaxIopsPerGib *float64 `type:"double"`
24019
24020	// Maximum storage size for a DB instance.
24021	MaxStorageSize *int64 `type:"integer"`
24022
24023	// Minimum total provisioned IOPS for a DB instance.
24024	MinIopsPerDbInstance *int64 `type:"integer"`
24025
24026	// Minimum provisioned IOPS per GiB for a DB instance.
24027	MinIopsPerGib *float64 `type:"double"`
24028
24029	// Minimum storage size for a DB instance.
24030	MinStorageSize *int64 `type:"integer"`
24031
24032	// Indicates whether a DB instance is Multi-AZ capable.
24033	MultiAZCapable *bool `type:"boolean"`
24034
24035	// Indicates whether a DB instance can have a Read Replica.
24036	ReadReplicaCapable *bool `type:"boolean"`
24037
24038	// Indicates the storage type for a DB instance.
24039	StorageType *string `type:"string"`
24040
24041	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
24042	// from 1 to 60 seconds.
24043	SupportsEnhancedMonitoring *bool `type:"boolean"`
24044
24045	// Indicates whether a DB instance supports IAM database authentication.
24046	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
24047
24048	// Indicates whether a DB instance supports provisioned IOPS.
24049	SupportsIops *bool `type:"boolean"`
24050
24051	// True if a DB instance supports Performance Insights, otherwise false.
24052	SupportsPerformanceInsights *bool `type:"boolean"`
24053
24054	// Indicates whether a DB instance supports encrypted storage.
24055	SupportsStorageEncryption *bool `type:"boolean"`
24056
24057	// Indicates whether a DB instance is in a VPC.
24058	Vpc *bool `type:"boolean"`
24059}
24060
24061// String returns the string representation
24062func (s OrderableDBInstanceOption) String() string {
24063	return awsutil.Prettify(s)
24064}
24065
24066// GoString returns the string representation
24067func (s OrderableDBInstanceOption) GoString() string {
24068	return s.String()
24069}
24070
24071// SetAvailabilityZones sets the AvailabilityZones field's value.
24072func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
24073	s.AvailabilityZones = v
24074	return s
24075}
24076
24077// SetDBInstanceClass sets the DBInstanceClass field's value.
24078func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
24079	s.DBInstanceClass = &v
24080	return s
24081}
24082
24083// SetEngine sets the Engine field's value.
24084func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
24085	s.Engine = &v
24086	return s
24087}
24088
24089// SetEngineVersion sets the EngineVersion field's value.
24090func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
24091	s.EngineVersion = &v
24092	return s
24093}
24094
24095// SetLicenseModel sets the LicenseModel field's value.
24096func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
24097	s.LicenseModel = &v
24098	return s
24099}
24100
24101// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
24102func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
24103	s.MaxIopsPerDbInstance = &v
24104	return s
24105}
24106
24107// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
24108func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
24109	s.MaxIopsPerGib = &v
24110	return s
24111}
24112
24113// SetMaxStorageSize sets the MaxStorageSize field's value.
24114func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
24115	s.MaxStorageSize = &v
24116	return s
24117}
24118
24119// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
24120func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
24121	s.MinIopsPerDbInstance = &v
24122	return s
24123}
24124
24125// SetMinIopsPerGib sets the MinIopsPerGib field's value.
24126func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
24127	s.MinIopsPerGib = &v
24128	return s
24129}
24130
24131// SetMinStorageSize sets the MinStorageSize field's value.
24132func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
24133	s.MinStorageSize = &v
24134	return s
24135}
24136
24137// SetMultiAZCapable sets the MultiAZCapable field's value.
24138func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
24139	s.MultiAZCapable = &v
24140	return s
24141}
24142
24143// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
24144func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
24145	s.ReadReplicaCapable = &v
24146	return s
24147}
24148
24149// SetStorageType sets the StorageType field's value.
24150func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
24151	s.StorageType = &v
24152	return s
24153}
24154
24155// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
24156func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
24157	s.SupportsEnhancedMonitoring = &v
24158	return s
24159}
24160
24161// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
24162func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
24163	s.SupportsIAMDatabaseAuthentication = &v
24164	return s
24165}
24166
24167// SetSupportsIops sets the SupportsIops field's value.
24168func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
24169	s.SupportsIops = &v
24170	return s
24171}
24172
24173// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
24174func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
24175	s.SupportsPerformanceInsights = &v
24176	return s
24177}
24178
24179// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
24180func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
24181	s.SupportsStorageEncryption = &v
24182	return s
24183}
24184
24185// SetVpc sets the Vpc field's value.
24186func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
24187	s.Vpc = &v
24188	return s
24189}
24190
24191// This data type is used as a request parameter in the ModifyDBParameterGroup
24192// and ResetDBParameterGroup actions.
24193//
24194// This data type is used as a response element in the DescribeEngineDefaultParameters
24195// and DescribeDBParameters actions.
24196// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Parameter
24197type Parameter struct {
24198	_ struct{} `type:"structure"`
24199
24200	// Specifies the valid range of values for the parameter.
24201	AllowedValues *string `type:"string"`
24202
24203	// Indicates when to apply parameter updates.
24204	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
24205
24206	// Specifies the engine specific parameters type.
24207	ApplyType *string `type:"string"`
24208
24209	// Specifies the valid data type for the parameter.
24210	DataType *string `type:"string"`
24211
24212	// Provides a description of the parameter.
24213	Description *string `type:"string"`
24214
24215	// Indicates whether (true) or not (false) the parameter can be modified. Some
24216	// parameters have security or operational implications that prevent them from
24217	// being changed.
24218	IsModifiable *bool `type:"boolean"`
24219
24220	// The earliest engine version to which the parameter can apply.
24221	MinimumEngineVersion *string `type:"string"`
24222
24223	// Specifies the name of the parameter.
24224	ParameterName *string `type:"string"`
24225
24226	// Specifies the value of the parameter.
24227	ParameterValue *string `type:"string"`
24228
24229	// Indicates the source of the parameter value.
24230	Source *string `type:"string"`
24231}
24232
24233// String returns the string representation
24234func (s Parameter) String() string {
24235	return awsutil.Prettify(s)
24236}
24237
24238// GoString returns the string representation
24239func (s Parameter) GoString() string {
24240	return s.String()
24241}
24242
24243// SetAllowedValues sets the AllowedValues field's value.
24244func (s *Parameter) SetAllowedValues(v string) *Parameter {
24245	s.AllowedValues = &v
24246	return s
24247}
24248
24249// SetApplyMethod sets the ApplyMethod field's value.
24250func (s *Parameter) SetApplyMethod(v string) *Parameter {
24251	s.ApplyMethod = &v
24252	return s
24253}
24254
24255// SetApplyType sets the ApplyType field's value.
24256func (s *Parameter) SetApplyType(v string) *Parameter {
24257	s.ApplyType = &v
24258	return s
24259}
24260
24261// SetDataType sets the DataType field's value.
24262func (s *Parameter) SetDataType(v string) *Parameter {
24263	s.DataType = &v
24264	return s
24265}
24266
24267// SetDescription sets the Description field's value.
24268func (s *Parameter) SetDescription(v string) *Parameter {
24269	s.Description = &v
24270	return s
24271}
24272
24273// SetIsModifiable sets the IsModifiable field's value.
24274func (s *Parameter) SetIsModifiable(v bool) *Parameter {
24275	s.IsModifiable = &v
24276	return s
24277}
24278
24279// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
24280func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
24281	s.MinimumEngineVersion = &v
24282	return s
24283}
24284
24285// SetParameterName sets the ParameterName field's value.
24286func (s *Parameter) SetParameterName(v string) *Parameter {
24287	s.ParameterName = &v
24288	return s
24289}
24290
24291// SetParameterValue sets the ParameterValue field's value.
24292func (s *Parameter) SetParameterValue(v string) *Parameter {
24293	s.ParameterValue = &v
24294	return s
24295}
24296
24297// SetSource sets the Source field's value.
24298func (s *Parameter) SetSource(v string) *Parameter {
24299	s.Source = &v
24300	return s
24301}
24302
24303// Provides information about a pending maintenance action for a resource.
24304// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PendingMaintenanceAction
24305type PendingMaintenanceAction struct {
24306	_ struct{} `type:"structure"`
24307
24308	// The type of pending maintenance action that is available for the resource.
24309	Action *string `type:"string"`
24310
24311	// The date of the maintenance window when the action is applied. The maintenance
24312	// action is applied to the resource during its first maintenance window after
24313	// this date. If this date is specified, any next-maintenance opt-in requests
24314	// are ignored.
24315	AutoAppliedAfterDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
24316
24317	// The effective date when the pending maintenance action is applied to the
24318	// resource. This date takes into account opt-in requests received from the
24319	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
24320	// This value is blank if an opt-in request has not been received and nothing
24321	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
24322	CurrentApplyDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
24323
24324	// A description providing more detail about the maintenance action.
24325	Description *string `type:"string"`
24326
24327	// The date when the maintenance action is automatically applied. The maintenance
24328	// action is applied to the resource on this date regardless of the maintenance
24329	// window for the resource. If this date is specified, any immediate opt-in
24330	// requests are ignored.
24331	ForcedApplyDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
24332
24333	// Indicates the type of opt-in request that has been received for the resource.
24334	OptInStatus *string `type:"string"`
24335}
24336
24337// String returns the string representation
24338func (s PendingMaintenanceAction) String() string {
24339	return awsutil.Prettify(s)
24340}
24341
24342// GoString returns the string representation
24343func (s PendingMaintenanceAction) GoString() string {
24344	return s.String()
24345}
24346
24347// SetAction sets the Action field's value.
24348func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
24349	s.Action = &v
24350	return s
24351}
24352
24353// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
24354func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
24355	s.AutoAppliedAfterDate = &v
24356	return s
24357}
24358
24359// SetCurrentApplyDate sets the CurrentApplyDate field's value.
24360func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
24361	s.CurrentApplyDate = &v
24362	return s
24363}
24364
24365// SetDescription sets the Description field's value.
24366func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
24367	s.Description = &v
24368	return s
24369}
24370
24371// SetForcedApplyDate sets the ForcedApplyDate field's value.
24372func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
24373	s.ForcedApplyDate = &v
24374	return s
24375}
24376
24377// SetOptInStatus sets the OptInStatus field's value.
24378func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
24379	s.OptInStatus = &v
24380	return s
24381}
24382
24383// This data type is used as a response element in the ModifyDBInstance action.
24384// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PendingModifiedValues
24385type PendingModifiedValues struct {
24386	_ struct{} `type:"structure"`
24387
24388	// Contains the new AllocatedStorage size for the DB instance that will be applied
24389	// or is currently being applied.
24390	AllocatedStorage *int64 `type:"integer"`
24391
24392	// Specifies the pending number of days for which automated backups are retained.
24393	BackupRetentionPeriod *int64 `type:"integer"`
24394
24395	// Specifies the identifier of the CA certificate for the DB instance.
24396	CACertificateIdentifier *string `type:"string"`
24397
24398	// Contains the new DBInstanceClass for the DB instance that will be applied
24399	// or is currently being applied.
24400	DBInstanceClass *string `type:"string"`
24401
24402	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
24403	// or is currently being applied.
24404	DBInstanceIdentifier *string `type:"string"`
24405
24406	// The new DB subnet group for the DB instance.
24407	DBSubnetGroupName *string `type:"string"`
24408
24409	// Indicates the database engine version.
24410	EngineVersion *string `type:"string"`
24411
24412	// Specifies the new Provisioned IOPS value for the DB instance that will be
24413	// applied or is currently being applied.
24414	Iops *int64 `type:"integer"`
24415
24416	// The license model for the DB instance.
24417	//
24418	// Valid values: license-included | bring-your-own-license | general-public-license
24419	LicenseModel *string `type:"string"`
24420
24421	// Contains the pending or currently-in-progress change of the master credentials
24422	// for the DB instance.
24423	MasterUserPassword *string `type:"string"`
24424
24425	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
24426	MultiAZ *bool `type:"boolean"`
24427
24428	// Specifies the pending port for the DB instance.
24429	Port *int64 `type:"integer"`
24430
24431	// Specifies the storage type to be associated with the DB instance.
24432	StorageType *string `type:"string"`
24433}
24434
24435// String returns the string representation
24436func (s PendingModifiedValues) String() string {
24437	return awsutil.Prettify(s)
24438}
24439
24440// GoString returns the string representation
24441func (s PendingModifiedValues) GoString() string {
24442	return s.String()
24443}
24444
24445// SetAllocatedStorage sets the AllocatedStorage field's value.
24446func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
24447	s.AllocatedStorage = &v
24448	return s
24449}
24450
24451// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
24452func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
24453	s.BackupRetentionPeriod = &v
24454	return s
24455}
24456
24457// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
24458func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
24459	s.CACertificateIdentifier = &v
24460	return s
24461}
24462
24463// SetDBInstanceClass sets the DBInstanceClass field's value.
24464func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
24465	s.DBInstanceClass = &v
24466	return s
24467}
24468
24469// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
24470func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
24471	s.DBInstanceIdentifier = &v
24472	return s
24473}
24474
24475// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
24476func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
24477	s.DBSubnetGroupName = &v
24478	return s
24479}
24480
24481// SetEngineVersion sets the EngineVersion field's value.
24482func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
24483	s.EngineVersion = &v
24484	return s
24485}
24486
24487// SetIops sets the Iops field's value.
24488func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
24489	s.Iops = &v
24490	return s
24491}
24492
24493// SetLicenseModel sets the LicenseModel field's value.
24494func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
24495	s.LicenseModel = &v
24496	return s
24497}
24498
24499// SetMasterUserPassword sets the MasterUserPassword field's value.
24500func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
24501	s.MasterUserPassword = &v
24502	return s
24503}
24504
24505// SetMultiAZ sets the MultiAZ field's value.
24506func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
24507	s.MultiAZ = &v
24508	return s
24509}
24510
24511// SetPort sets the Port field's value.
24512func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
24513	s.Port = &v
24514	return s
24515}
24516
24517// SetStorageType sets the StorageType field's value.
24518func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
24519	s.StorageType = &v
24520	return s
24521}
24522
24523// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBClusterMessage
24524type PromoteReadReplicaDBClusterInput struct {
24525	_ struct{} `type:"structure"`
24526
24527	// The identifier of the DB cluster Read Replica to promote. This parameter
24528	// is not case-sensitive.
24529	//
24530	// Constraints:
24531	//
24532	//    * Must match the identifier of an existing DBCluster Read Replica.
24533	//
24534	// Example: my-cluster-replica1
24535	//
24536	// DBClusterIdentifier is a required field
24537	DBClusterIdentifier *string `type:"string" required:"true"`
24538}
24539
24540// String returns the string representation
24541func (s PromoteReadReplicaDBClusterInput) String() string {
24542	return awsutil.Prettify(s)
24543}
24544
24545// GoString returns the string representation
24546func (s PromoteReadReplicaDBClusterInput) GoString() string {
24547	return s.String()
24548}
24549
24550// Validate inspects the fields of the type to determine if they are valid.
24551func (s *PromoteReadReplicaDBClusterInput) Validate() error {
24552	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
24553	if s.DBClusterIdentifier == nil {
24554		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
24555	}
24556
24557	if invalidParams.Len() > 0 {
24558		return invalidParams
24559	}
24560	return nil
24561}
24562
24563// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
24564func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
24565	s.DBClusterIdentifier = &v
24566	return s
24567}
24568
24569// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBClusterResult
24570type PromoteReadReplicaDBClusterOutput struct {
24571	_ struct{} `type:"structure"`
24572
24573	// Contains the details of an Amazon RDS DB cluster.
24574	//
24575	// This data type is used as a response element in the DescribeDBClusters action.
24576	DBCluster *DBCluster `type:"structure"`
24577}
24578
24579// String returns the string representation
24580func (s PromoteReadReplicaDBClusterOutput) String() string {
24581	return awsutil.Prettify(s)
24582}
24583
24584// GoString returns the string representation
24585func (s PromoteReadReplicaDBClusterOutput) GoString() string {
24586	return s.String()
24587}
24588
24589// SetDBCluster sets the DBCluster field's value.
24590func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
24591	s.DBCluster = v
24592	return s
24593}
24594
24595// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaMessage
24596type PromoteReadReplicaInput struct {
24597	_ struct{} `type:"structure"`
24598
24599	// The number of days to retain automated backups. Setting this parameter to
24600	// a positive number enables backups. Setting this parameter to 0 disables automated
24601	// backups.
24602	//
24603	// Default: 1
24604	//
24605	// Constraints:
24606	//
24607	//    * Must be a value from 0 to 8
24608	BackupRetentionPeriod *int64 `type:"integer"`
24609
24610	// The DB instance identifier. This value is stored as a lowercase string.
24611	//
24612	// Constraints:
24613	//
24614	//    * Must match the identifier of an existing Read Replica DB instance.
24615	//
24616	// Example: mydbinstance
24617	//
24618	// DBInstanceIdentifier is a required field
24619	DBInstanceIdentifier *string `type:"string" required:"true"`
24620
24621	// The daily time range during which automated backups are created if automated
24622	// backups are enabled, using the BackupRetentionPeriod parameter.
24623	//
24624	// The default is a 30-minute window selected at random from an 8-hour block
24625	// of time for each AWS Region. To see the time blocks available, see  Adjusting
24626	// the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
24627	// in the Amazon RDS User Guide.
24628	//
24629	// Constraints:
24630	//
24631	//    * Must be in the format hh24:mi-hh24:mi.
24632	//
24633	//    * Must be in Universal Coordinated Time (UTC).
24634	//
24635	//    * Must not conflict with the preferred maintenance window.
24636	//
24637	//    * Must be at least 30 minutes.
24638	PreferredBackupWindow *string `type:"string"`
24639}
24640
24641// String returns the string representation
24642func (s PromoteReadReplicaInput) String() string {
24643	return awsutil.Prettify(s)
24644}
24645
24646// GoString returns the string representation
24647func (s PromoteReadReplicaInput) GoString() string {
24648	return s.String()
24649}
24650
24651// Validate inspects the fields of the type to determine if they are valid.
24652func (s *PromoteReadReplicaInput) Validate() error {
24653	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaInput"}
24654	if s.DBInstanceIdentifier == nil {
24655		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
24656	}
24657
24658	if invalidParams.Len() > 0 {
24659		return invalidParams
24660	}
24661	return nil
24662}
24663
24664// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
24665func (s *PromoteReadReplicaInput) SetBackupRetentionPeriod(v int64) *PromoteReadReplicaInput {
24666	s.BackupRetentionPeriod = &v
24667	return s
24668}
24669
24670// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
24671func (s *PromoteReadReplicaInput) SetDBInstanceIdentifier(v string) *PromoteReadReplicaInput {
24672	s.DBInstanceIdentifier = &v
24673	return s
24674}
24675
24676// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
24677func (s *PromoteReadReplicaInput) SetPreferredBackupWindow(v string) *PromoteReadReplicaInput {
24678	s.PreferredBackupWindow = &v
24679	return s
24680}
24681
24682// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaResult
24683type PromoteReadReplicaOutput struct {
24684	_ struct{} `type:"structure"`
24685
24686	// Contains the details of an Amazon RDS DB instance.
24687	//
24688	// This data type is used as a response element in the DescribeDBInstances action.
24689	DBInstance *DBInstance `type:"structure"`
24690}
24691
24692// String returns the string representation
24693func (s PromoteReadReplicaOutput) String() string {
24694	return awsutil.Prettify(s)
24695}
24696
24697// GoString returns the string representation
24698func (s PromoteReadReplicaOutput) GoString() string {
24699	return s.String()
24700}
24701
24702// SetDBInstance sets the DBInstance field's value.
24703func (s *PromoteReadReplicaOutput) SetDBInstance(v *DBInstance) *PromoteReadReplicaOutput {
24704	s.DBInstance = v
24705	return s
24706}
24707
24708// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOfferingMessage
24709type PurchaseReservedDBInstancesOfferingInput struct {
24710	_ struct{} `type:"structure"`
24711
24712	// The number of instances to reserve.
24713	//
24714	// Default: 1
24715	DBInstanceCount *int64 `type:"integer"`
24716
24717	// Customer-specified identifier to track this reservation.
24718	//
24719	// Example: myreservationID
24720	ReservedDBInstanceId *string `type:"string"`
24721
24722	// The ID of the Reserved DB instance offering to purchase.
24723	//
24724	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
24725	//
24726	// ReservedDBInstancesOfferingId is a required field
24727	ReservedDBInstancesOfferingId *string `type:"string" required:"true"`
24728
24729	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
24730	Tags []*Tag `locationNameList:"Tag" type:"list"`
24731}
24732
24733// String returns the string representation
24734func (s PurchaseReservedDBInstancesOfferingInput) String() string {
24735	return awsutil.Prettify(s)
24736}
24737
24738// GoString returns the string representation
24739func (s PurchaseReservedDBInstancesOfferingInput) GoString() string {
24740	return s.String()
24741}
24742
24743// Validate inspects the fields of the type to determine if they are valid.
24744func (s *PurchaseReservedDBInstancesOfferingInput) Validate() error {
24745	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedDBInstancesOfferingInput"}
24746	if s.ReservedDBInstancesOfferingId == nil {
24747		invalidParams.Add(request.NewErrParamRequired("ReservedDBInstancesOfferingId"))
24748	}
24749
24750	if invalidParams.Len() > 0 {
24751		return invalidParams
24752	}
24753	return nil
24754}
24755
24756// SetDBInstanceCount sets the DBInstanceCount field's value.
24757func (s *PurchaseReservedDBInstancesOfferingInput) SetDBInstanceCount(v int64) *PurchaseReservedDBInstancesOfferingInput {
24758	s.DBInstanceCount = &v
24759	return s
24760}
24761
24762// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
24763func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstanceId(v string) *PurchaseReservedDBInstancesOfferingInput {
24764	s.ReservedDBInstanceId = &v
24765	return s
24766}
24767
24768// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
24769func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstancesOfferingId(v string) *PurchaseReservedDBInstancesOfferingInput {
24770	s.ReservedDBInstancesOfferingId = &v
24771	return s
24772}
24773
24774// SetTags sets the Tags field's value.
24775func (s *PurchaseReservedDBInstancesOfferingInput) SetTags(v []*Tag) *PurchaseReservedDBInstancesOfferingInput {
24776	s.Tags = v
24777	return s
24778}
24779
24780// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOfferingResult
24781type PurchaseReservedDBInstancesOfferingOutput struct {
24782	_ struct{} `type:"structure"`
24783
24784	// This data type is used as a response element in the DescribeReservedDBInstances
24785	// and PurchaseReservedDBInstancesOffering actions.
24786	ReservedDBInstance *ReservedDBInstance `type:"structure"`
24787}
24788
24789// String returns the string representation
24790func (s PurchaseReservedDBInstancesOfferingOutput) String() string {
24791	return awsutil.Prettify(s)
24792}
24793
24794// GoString returns the string representation
24795func (s PurchaseReservedDBInstancesOfferingOutput) GoString() string {
24796	return s.String()
24797}
24798
24799// SetReservedDBInstance sets the ReservedDBInstance field's value.
24800func (s *PurchaseReservedDBInstancesOfferingOutput) SetReservedDBInstance(v *ReservedDBInstance) *PurchaseReservedDBInstancesOfferingOutput {
24801	s.ReservedDBInstance = v
24802	return s
24803}
24804
24805// A range of integer values.
24806// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Range
24807type Range struct {
24808	_ struct{} `type:"structure"`
24809
24810	// The minimum value in the range.
24811	From *int64 `type:"integer"`
24812
24813	// The step value for the range. For example, if you have a range of 5,000 to
24814	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
24815	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
24816	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
24817	Step *int64 `type:"integer"`
24818
24819	// The maximum value in the range.
24820	To *int64 `type:"integer"`
24821}
24822
24823// String returns the string representation
24824func (s Range) String() string {
24825	return awsutil.Prettify(s)
24826}
24827
24828// GoString returns the string representation
24829func (s Range) GoString() string {
24830	return s.String()
24831}
24832
24833// SetFrom sets the From field's value.
24834func (s *Range) SetFrom(v int64) *Range {
24835	s.From = &v
24836	return s
24837}
24838
24839// SetStep sets the Step field's value.
24840func (s *Range) SetStep(v int64) *Range {
24841	s.Step = &v
24842	return s
24843}
24844
24845// SetTo sets the To field's value.
24846func (s *Range) SetTo(v int64) *Range {
24847	s.To = &v
24848	return s
24849}
24850
24851// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstanceMessage
24852type RebootDBInstanceInput struct {
24853	_ struct{} `type:"structure"`
24854
24855	// The DB instance identifier. This parameter is stored as a lowercase string.
24856	//
24857	// Constraints:
24858	//
24859	//    * Must match the identifier of an existing DBInstance.
24860	//
24861	// DBInstanceIdentifier is a required field
24862	DBInstanceIdentifier *string `type:"string" required:"true"`
24863
24864	// When true, the reboot is conducted through a MultiAZ failover.
24865	//
24866	// Constraint: You can't specify true if the instance is not configured for
24867	// MultiAZ.
24868	ForceFailover *bool `type:"boolean"`
24869}
24870
24871// String returns the string representation
24872func (s RebootDBInstanceInput) String() string {
24873	return awsutil.Prettify(s)
24874}
24875
24876// GoString returns the string representation
24877func (s RebootDBInstanceInput) GoString() string {
24878	return s.String()
24879}
24880
24881// Validate inspects the fields of the type to determine if they are valid.
24882func (s *RebootDBInstanceInput) Validate() error {
24883	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
24884	if s.DBInstanceIdentifier == nil {
24885		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
24886	}
24887
24888	if invalidParams.Len() > 0 {
24889		return invalidParams
24890	}
24891	return nil
24892}
24893
24894// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
24895func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
24896	s.DBInstanceIdentifier = &v
24897	return s
24898}
24899
24900// SetForceFailover sets the ForceFailover field's value.
24901func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
24902	s.ForceFailover = &v
24903	return s
24904}
24905
24906// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstanceResult
24907type RebootDBInstanceOutput struct {
24908	_ struct{} `type:"structure"`
24909
24910	// Contains the details of an Amazon RDS DB instance.
24911	//
24912	// This data type is used as a response element in the DescribeDBInstances action.
24913	DBInstance *DBInstance `type:"structure"`
24914}
24915
24916// String returns the string representation
24917func (s RebootDBInstanceOutput) String() string {
24918	return awsutil.Prettify(s)
24919}
24920
24921// GoString returns the string representation
24922func (s RebootDBInstanceOutput) GoString() string {
24923	return s.String()
24924}
24925
24926// SetDBInstance sets the DBInstance field's value.
24927func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
24928	s.DBInstance = v
24929	return s
24930}
24931
24932// This data type is used as a response element in the DescribeReservedDBInstances
24933// and DescribeReservedDBInstancesOfferings actions.
24934// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RecurringCharge
24935type RecurringCharge struct {
24936	_ struct{} `type:"structure"`
24937
24938	// The amount of the recurring charge.
24939	RecurringChargeAmount *float64 `type:"double"`
24940
24941	// The frequency of the recurring charge.
24942	RecurringChargeFrequency *string `type:"string"`
24943}
24944
24945// String returns the string representation
24946func (s RecurringCharge) String() string {
24947	return awsutil.Prettify(s)
24948}
24949
24950// GoString returns the string representation
24951func (s RecurringCharge) GoString() string {
24952	return s.String()
24953}
24954
24955// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
24956func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
24957	s.RecurringChargeAmount = &v
24958	return s
24959}
24960
24961// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
24962func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
24963	s.RecurringChargeFrequency = &v
24964	return s
24965}
24966
24967// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBClusterMessage
24968type RemoveRoleFromDBClusterInput struct {
24969	_ struct{} `type:"structure"`
24970
24971	// The name of the DB cluster to disassociate the IAM role from.
24972	//
24973	// DBClusterIdentifier is a required field
24974	DBClusterIdentifier *string `type:"string" required:"true"`
24975
24976	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora
24977	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
24978	//
24979	// RoleArn is a required field
24980	RoleArn *string `type:"string" required:"true"`
24981}
24982
24983// String returns the string representation
24984func (s RemoveRoleFromDBClusterInput) String() string {
24985	return awsutil.Prettify(s)
24986}
24987
24988// GoString returns the string representation
24989func (s RemoveRoleFromDBClusterInput) GoString() string {
24990	return s.String()
24991}
24992
24993// Validate inspects the fields of the type to determine if they are valid.
24994func (s *RemoveRoleFromDBClusterInput) Validate() error {
24995	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
24996	if s.DBClusterIdentifier == nil {
24997		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
24998	}
24999	if s.RoleArn == nil {
25000		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
25001	}
25002
25003	if invalidParams.Len() > 0 {
25004		return invalidParams
25005	}
25006	return nil
25007}
25008
25009// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25010func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
25011	s.DBClusterIdentifier = &v
25012	return s
25013}
25014
25015// SetRoleArn sets the RoleArn field's value.
25016func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
25017	s.RoleArn = &v
25018	return s
25019}
25020
25021// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBClusterOutput
25022type RemoveRoleFromDBClusterOutput struct {
25023	_ struct{} `type:"structure"`
25024}
25025
25026// String returns the string representation
25027func (s RemoveRoleFromDBClusterOutput) String() string {
25028	return awsutil.Prettify(s)
25029}
25030
25031// GoString returns the string representation
25032func (s RemoveRoleFromDBClusterOutput) GoString() string {
25033	return s.String()
25034}
25035
25036// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscriptionMessage
25037type RemoveSourceIdentifierFromSubscriptionInput struct {
25038	_ struct{} `type:"structure"`
25039
25040	// The source identifier to be removed from the subscription, such as the DB
25041	// instance identifier for a DB instance or the name of a security group.
25042	//
25043	// SourceIdentifier is a required field
25044	SourceIdentifier *string `type:"string" required:"true"`
25045
25046	// The name of the RDS event notification subscription you want to remove a
25047	// source identifier from.
25048	//
25049	// SubscriptionName is a required field
25050	SubscriptionName *string `type:"string" required:"true"`
25051}
25052
25053// String returns the string representation
25054func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
25055	return awsutil.Prettify(s)
25056}
25057
25058// GoString returns the string representation
25059func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
25060	return s.String()
25061}
25062
25063// Validate inspects the fields of the type to determine if they are valid.
25064func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
25065	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
25066	if s.SourceIdentifier == nil {
25067		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
25068	}
25069	if s.SubscriptionName == nil {
25070		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
25071	}
25072
25073	if invalidParams.Len() > 0 {
25074		return invalidParams
25075	}
25076	return nil
25077}
25078
25079// SetSourceIdentifier sets the SourceIdentifier field's value.
25080func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
25081	s.SourceIdentifier = &v
25082	return s
25083}
25084
25085// SetSubscriptionName sets the SubscriptionName field's value.
25086func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
25087	s.SubscriptionName = &v
25088	return s
25089}
25090
25091// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscriptionResult
25092type RemoveSourceIdentifierFromSubscriptionOutput struct {
25093	_ struct{} `type:"structure"`
25094
25095	// Contains the results of a successful invocation of the DescribeEventSubscriptions
25096	// action.
25097	EventSubscription *EventSubscription `type:"structure"`
25098}
25099
25100// String returns the string representation
25101func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
25102	return awsutil.Prettify(s)
25103}
25104
25105// GoString returns the string representation
25106func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
25107	return s.String()
25108}
25109
25110// SetEventSubscription sets the EventSubscription field's value.
25111func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
25112	s.EventSubscription = v
25113	return s
25114}
25115
25116// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResourceMessage
25117type RemoveTagsFromResourceInput struct {
25118	_ struct{} `type:"structure"`
25119
25120	// The Amazon RDS resource that the tags are removed from. This value is an
25121	// Amazon Resource Name (ARN). For information about creating an ARN, see  Constructing
25122	// an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
25123	//
25124	// ResourceName is a required field
25125	ResourceName *string `type:"string" required:"true"`
25126
25127	// The tag key (name) of the tag to be removed.
25128	//
25129	// TagKeys is a required field
25130	TagKeys []*string `type:"list" required:"true"`
25131}
25132
25133// String returns the string representation
25134func (s RemoveTagsFromResourceInput) String() string {
25135	return awsutil.Prettify(s)
25136}
25137
25138// GoString returns the string representation
25139func (s RemoveTagsFromResourceInput) GoString() string {
25140	return s.String()
25141}
25142
25143// Validate inspects the fields of the type to determine if they are valid.
25144func (s *RemoveTagsFromResourceInput) Validate() error {
25145	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
25146	if s.ResourceName == nil {
25147		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
25148	}
25149	if s.TagKeys == nil {
25150		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
25151	}
25152
25153	if invalidParams.Len() > 0 {
25154		return invalidParams
25155	}
25156	return nil
25157}
25158
25159// SetResourceName sets the ResourceName field's value.
25160func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
25161	s.ResourceName = &v
25162	return s
25163}
25164
25165// SetTagKeys sets the TagKeys field's value.
25166func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
25167	s.TagKeys = v
25168	return s
25169}
25170
25171// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResourceOutput
25172type RemoveTagsFromResourceOutput struct {
25173	_ struct{} `type:"structure"`
25174}
25175
25176// String returns the string representation
25177func (s RemoveTagsFromResourceOutput) String() string {
25178	return awsutil.Prettify(s)
25179}
25180
25181// GoString returns the string representation
25182func (s RemoveTagsFromResourceOutput) GoString() string {
25183	return s.String()
25184}
25185
25186// This data type is used as a response element in the DescribeReservedDBInstances
25187// and PurchaseReservedDBInstancesOffering actions.
25188// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ReservedDBInstance
25189type ReservedDBInstance struct {
25190	_ struct{} `type:"structure"`
25191
25192	// The currency code for the reserved DB instance.
25193	CurrencyCode *string `type:"string"`
25194
25195	// The DB instance class for the reserved DB instance.
25196	DBInstanceClass *string `type:"string"`
25197
25198	// The number of reserved DB instances.
25199	DBInstanceCount *int64 `type:"integer"`
25200
25201	// The duration of the reservation in seconds.
25202	Duration *int64 `type:"integer"`
25203
25204	// The fixed price charged for this reserved DB instance.
25205	FixedPrice *float64 `type:"double"`
25206
25207	// Indicates if the reservation applies to Multi-AZ deployments.
25208	MultiAZ *bool `type:"boolean"`
25209
25210	// The offering type of this reserved DB instance.
25211	OfferingType *string `type:"string"`
25212
25213	// The description of the reserved DB instance.
25214	ProductDescription *string `type:"string"`
25215
25216	// The recurring price charged to run this reserved DB instance.
25217	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
25218
25219	// The Amazon Resource Name (ARN) for the reserved DB instance.
25220	ReservedDBInstanceArn *string `type:"string"`
25221
25222	// The unique identifier for the reservation.
25223	ReservedDBInstanceId *string `type:"string"`
25224
25225	// The offering identifier.
25226	ReservedDBInstancesOfferingId *string `type:"string"`
25227
25228	// The time the reservation started.
25229	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
25230
25231	// The state of the reserved DB instance.
25232	State *string `type:"string"`
25233
25234	// The hourly price charged for this reserved DB instance.
25235	UsagePrice *float64 `type:"double"`
25236}
25237
25238// String returns the string representation
25239func (s ReservedDBInstance) String() string {
25240	return awsutil.Prettify(s)
25241}
25242
25243// GoString returns the string representation
25244func (s ReservedDBInstance) GoString() string {
25245	return s.String()
25246}
25247
25248// SetCurrencyCode sets the CurrencyCode field's value.
25249func (s *ReservedDBInstance) SetCurrencyCode(v string) *ReservedDBInstance {
25250	s.CurrencyCode = &v
25251	return s
25252}
25253
25254// SetDBInstanceClass sets the DBInstanceClass field's value.
25255func (s *ReservedDBInstance) SetDBInstanceClass(v string) *ReservedDBInstance {
25256	s.DBInstanceClass = &v
25257	return s
25258}
25259
25260// SetDBInstanceCount sets the DBInstanceCount field's value.
25261func (s *ReservedDBInstance) SetDBInstanceCount(v int64) *ReservedDBInstance {
25262	s.DBInstanceCount = &v
25263	return s
25264}
25265
25266// SetDuration sets the Duration field's value.
25267func (s *ReservedDBInstance) SetDuration(v int64) *ReservedDBInstance {
25268	s.Duration = &v
25269	return s
25270}
25271
25272// SetFixedPrice sets the FixedPrice field's value.
25273func (s *ReservedDBInstance) SetFixedPrice(v float64) *ReservedDBInstance {
25274	s.FixedPrice = &v
25275	return s
25276}
25277
25278// SetMultiAZ sets the MultiAZ field's value.
25279func (s *ReservedDBInstance) SetMultiAZ(v bool) *ReservedDBInstance {
25280	s.MultiAZ = &v
25281	return s
25282}
25283
25284// SetOfferingType sets the OfferingType field's value.
25285func (s *ReservedDBInstance) SetOfferingType(v string) *ReservedDBInstance {
25286	s.OfferingType = &v
25287	return s
25288}
25289
25290// SetProductDescription sets the ProductDescription field's value.
25291func (s *ReservedDBInstance) SetProductDescription(v string) *ReservedDBInstance {
25292	s.ProductDescription = &v
25293	return s
25294}
25295
25296// SetRecurringCharges sets the RecurringCharges field's value.
25297func (s *ReservedDBInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstance {
25298	s.RecurringCharges = v
25299	return s
25300}
25301
25302// SetReservedDBInstanceArn sets the ReservedDBInstanceArn field's value.
25303func (s *ReservedDBInstance) SetReservedDBInstanceArn(v string) *ReservedDBInstance {
25304	s.ReservedDBInstanceArn = &v
25305	return s
25306}
25307
25308// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
25309func (s *ReservedDBInstance) SetReservedDBInstanceId(v string) *ReservedDBInstance {
25310	s.ReservedDBInstanceId = &v
25311	return s
25312}
25313
25314// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
25315func (s *ReservedDBInstance) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstance {
25316	s.ReservedDBInstancesOfferingId = &v
25317	return s
25318}
25319
25320// SetStartTime sets the StartTime field's value.
25321func (s *ReservedDBInstance) SetStartTime(v time.Time) *ReservedDBInstance {
25322	s.StartTime = &v
25323	return s
25324}
25325
25326// SetState sets the State field's value.
25327func (s *ReservedDBInstance) SetState(v string) *ReservedDBInstance {
25328	s.State = &v
25329	return s
25330}
25331
25332// SetUsagePrice sets the UsagePrice field's value.
25333func (s *ReservedDBInstance) SetUsagePrice(v float64) *ReservedDBInstance {
25334	s.UsagePrice = &v
25335	return s
25336}
25337
25338// This data type is used as a response element in the DescribeReservedDBInstancesOfferings
25339// action.
25340// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ReservedDBInstancesOffering
25341type ReservedDBInstancesOffering struct {
25342	_ struct{} `type:"structure"`
25343
25344	// The currency code for the reserved DB instance offering.
25345	CurrencyCode *string `type:"string"`
25346
25347	// The DB instance class for the reserved DB instance.
25348	DBInstanceClass *string `type:"string"`
25349
25350	// The duration of the offering in seconds.
25351	Duration *int64 `type:"integer"`
25352
25353	// The fixed price charged for this offering.
25354	FixedPrice *float64 `type:"double"`
25355
25356	// Indicates if the offering applies to Multi-AZ deployments.
25357	MultiAZ *bool `type:"boolean"`
25358
25359	// The offering type.
25360	OfferingType *string `type:"string"`
25361
25362	// The database engine used by the offering.
25363	ProductDescription *string `type:"string"`
25364
25365	// The recurring price charged to run this reserved DB instance.
25366	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
25367
25368	// The offering identifier.
25369	ReservedDBInstancesOfferingId *string `type:"string"`
25370
25371	// The hourly price charged for this offering.
25372	UsagePrice *float64 `type:"double"`
25373}
25374
25375// String returns the string representation
25376func (s ReservedDBInstancesOffering) String() string {
25377	return awsutil.Prettify(s)
25378}
25379
25380// GoString returns the string representation
25381func (s ReservedDBInstancesOffering) GoString() string {
25382	return s.String()
25383}
25384
25385// SetCurrencyCode sets the CurrencyCode field's value.
25386func (s *ReservedDBInstancesOffering) SetCurrencyCode(v string) *ReservedDBInstancesOffering {
25387	s.CurrencyCode = &v
25388	return s
25389}
25390
25391// SetDBInstanceClass sets the DBInstanceClass field's value.
25392func (s *ReservedDBInstancesOffering) SetDBInstanceClass(v string) *ReservedDBInstancesOffering {
25393	s.DBInstanceClass = &v
25394	return s
25395}
25396
25397// SetDuration sets the Duration field's value.
25398func (s *ReservedDBInstancesOffering) SetDuration(v int64) *ReservedDBInstancesOffering {
25399	s.Duration = &v
25400	return s
25401}
25402
25403// SetFixedPrice sets the FixedPrice field's value.
25404func (s *ReservedDBInstancesOffering) SetFixedPrice(v float64) *ReservedDBInstancesOffering {
25405	s.FixedPrice = &v
25406	return s
25407}
25408
25409// SetMultiAZ sets the MultiAZ field's value.
25410func (s *ReservedDBInstancesOffering) SetMultiAZ(v bool) *ReservedDBInstancesOffering {
25411	s.MultiAZ = &v
25412	return s
25413}
25414
25415// SetOfferingType sets the OfferingType field's value.
25416func (s *ReservedDBInstancesOffering) SetOfferingType(v string) *ReservedDBInstancesOffering {
25417	s.OfferingType = &v
25418	return s
25419}
25420
25421// SetProductDescription sets the ProductDescription field's value.
25422func (s *ReservedDBInstancesOffering) SetProductDescription(v string) *ReservedDBInstancesOffering {
25423	s.ProductDescription = &v
25424	return s
25425}
25426
25427// SetRecurringCharges sets the RecurringCharges field's value.
25428func (s *ReservedDBInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstancesOffering {
25429	s.RecurringCharges = v
25430	return s
25431}
25432
25433// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
25434func (s *ReservedDBInstancesOffering) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstancesOffering {
25435	s.ReservedDBInstancesOfferingId = &v
25436	return s
25437}
25438
25439// SetUsagePrice sets the UsagePrice field's value.
25440func (s *ReservedDBInstancesOffering) SetUsagePrice(v float64) *ReservedDBInstancesOffering {
25441	s.UsagePrice = &v
25442	return s
25443}
25444
25445// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroupMessage
25446type ResetDBClusterParameterGroupInput struct {
25447	_ struct{} `type:"structure"`
25448
25449	// The name of the DB cluster parameter group to reset.
25450	//
25451	// DBClusterParameterGroupName is a required field
25452	DBClusterParameterGroupName *string `type:"string" required:"true"`
25453
25454	// A list of parameter names in the DB cluster parameter group to reset to the
25455	// default values. You can't use this parameter if the ResetAllParameters parameter
25456	// is set to true.
25457	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
25458
25459	// A value that is set to true to reset all parameters in the DB cluster parameter
25460	// group to their default values, and false otherwise. You can't use this parameter
25461	// if there is a list of parameter names specified for the Parameters parameter.
25462	ResetAllParameters *bool `type:"boolean"`
25463}
25464
25465// String returns the string representation
25466func (s ResetDBClusterParameterGroupInput) String() string {
25467	return awsutil.Prettify(s)
25468}
25469
25470// GoString returns the string representation
25471func (s ResetDBClusterParameterGroupInput) GoString() string {
25472	return s.String()
25473}
25474
25475// Validate inspects the fields of the type to determine if they are valid.
25476func (s *ResetDBClusterParameterGroupInput) Validate() error {
25477	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
25478	if s.DBClusterParameterGroupName == nil {
25479		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
25480	}
25481
25482	if invalidParams.Len() > 0 {
25483		return invalidParams
25484	}
25485	return nil
25486}
25487
25488// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
25489func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
25490	s.DBClusterParameterGroupName = &v
25491	return s
25492}
25493
25494// SetParameters sets the Parameters field's value.
25495func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
25496	s.Parameters = v
25497	return s
25498}
25499
25500// SetResetAllParameters sets the ResetAllParameters field's value.
25501func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
25502	s.ResetAllParameters = &v
25503	return s
25504}
25505
25506// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroupMessage
25507type ResetDBParameterGroupInput struct {
25508	_ struct{} `type:"structure"`
25509
25510	// The name of the DB parameter group.
25511	//
25512	// Constraints:
25513	//
25514	//    * Must match the name of an existing DBParameterGroup.
25515	//
25516	// DBParameterGroupName is a required field
25517	DBParameterGroupName *string `type:"string" required:"true"`
25518
25519	// To reset the entire DB parameter group, specify the DBParameterGroup name
25520	// and ResetAllParameters parameters. To reset specific parameters, provide
25521	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
25522	// can be modified in a single request.
25523	//
25524	// MySQL
25525	//
25526	// Valid Values (for Apply method): immediate | pending-reboot
25527	//
25528	// You can use the immediate value with dynamic parameters only. You can use
25529	// the pending-reboot value for both dynamic and static parameters, and changes
25530	// are applied when DB instance reboots.
25531	//
25532	// MariaDB
25533	//
25534	// Valid Values (for Apply method): immediate | pending-reboot
25535	//
25536	// You can use the immediate value with dynamic parameters only. You can use
25537	// the pending-reboot value for both dynamic and static parameters, and changes
25538	// are applied when DB instance reboots.
25539	//
25540	// Oracle
25541	//
25542	// Valid Values (for Apply method): pending-reboot
25543	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
25544
25545	// Specifies whether (true) or not (false) to reset all parameters in the DB
25546	// parameter group to default values.
25547	//
25548	// Default: true
25549	ResetAllParameters *bool `type:"boolean"`
25550}
25551
25552// String returns the string representation
25553func (s ResetDBParameterGroupInput) String() string {
25554	return awsutil.Prettify(s)
25555}
25556
25557// GoString returns the string representation
25558func (s ResetDBParameterGroupInput) GoString() string {
25559	return s.String()
25560}
25561
25562// Validate inspects the fields of the type to determine if they are valid.
25563func (s *ResetDBParameterGroupInput) Validate() error {
25564	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
25565	if s.DBParameterGroupName == nil {
25566		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
25567	}
25568
25569	if invalidParams.Len() > 0 {
25570		return invalidParams
25571	}
25572	return nil
25573}
25574
25575// SetDBParameterGroupName sets the DBParameterGroupName field's value.
25576func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
25577	s.DBParameterGroupName = &v
25578	return s
25579}
25580
25581// SetParameters sets the Parameters field's value.
25582func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
25583	s.Parameters = v
25584	return s
25585}
25586
25587// SetResetAllParameters sets the ResetAllParameters field's value.
25588func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
25589	s.ResetAllParameters = &v
25590	return s
25591}
25592
25593// Describes the pending maintenance actions for a resource.
25594// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResourcePendingMaintenanceActions
25595type ResourcePendingMaintenanceActions struct {
25596	_ struct{} `type:"structure"`
25597
25598	// A list that provides details about the pending maintenance actions for the
25599	// resource.
25600	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
25601
25602	// The ARN of the resource that has pending maintenance actions.
25603	ResourceIdentifier *string `type:"string"`
25604}
25605
25606// String returns the string representation
25607func (s ResourcePendingMaintenanceActions) String() string {
25608	return awsutil.Prettify(s)
25609}
25610
25611// GoString returns the string representation
25612func (s ResourcePendingMaintenanceActions) GoString() string {
25613	return s.String()
25614}
25615
25616// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
25617func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
25618	s.PendingMaintenanceActionDetails = v
25619	return s
25620}
25621
25622// SetResourceIdentifier sets the ResourceIdentifier field's value.
25623func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
25624	s.ResourceIdentifier = &v
25625	return s
25626}
25627
25628// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3Message
25629type RestoreDBClusterFromS3Input struct {
25630	_ struct{} `type:"structure"`
25631
25632	// A list of EC2 Availability Zones that instances in the restored DB cluster
25633	// can be created in.
25634	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
25635
25636	// The number of days for which automated backups of the restored DB cluster
25637	// are retained. You must specify a minimum value of 1.
25638	//
25639	// Default: 1
25640	//
25641	// Constraints:
25642	//
25643	//    * Must be a value from 1 to 35
25644	BackupRetentionPeriod *int64 `type:"integer"`
25645
25646	// A value that indicates that the restored DB cluster should be associated
25647	// with the specified CharacterSet.
25648	CharacterSetName *string `type:"string"`
25649
25650	// The name of the DB cluster to create from the source data in the Amazon S3
25651	// bucket. This parameter is isn't case-sensitive.
25652	//
25653	// Constraints:
25654	//
25655	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
25656	//
25657	//    * First character must be a letter.
25658	//
25659	//    * Cannot end with a hyphen or contain two consecutive hyphens.
25660	//
25661	// Example: my-cluster1
25662	//
25663	// DBClusterIdentifier is a required field
25664	DBClusterIdentifier *string `type:"string" required:"true"`
25665
25666	// The name of the DB cluster parameter group to associate with the restored
25667	// DB cluster. If this argument is omitted, default.aurora5.6 is used.
25668	//
25669	// Constraints:
25670	//
25671	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
25672	DBClusterParameterGroupName *string `type:"string"`
25673
25674	// A DB subnet group to associate with the restored DB cluster.
25675	//
25676	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
25677	//
25678	// Example: mySubnetgroup
25679	DBSubnetGroupName *string `type:"string"`
25680
25681	// The database name for the restored DB cluster.
25682	DatabaseName *string `type:"string"`
25683
25684	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
25685	// to database accounts, and otherwise false.
25686	//
25687	// Default: false
25688	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
25689
25690	// The name of the database engine to be used for the restored DB cluster.
25691	//
25692	// Valid Values: aurora, aurora-postgresql
25693	//
25694	// Engine is a required field
25695	Engine *string `type:"string" required:"true"`
25696
25697	// The version number of the database engine to use.
25698	//
25699	// Aurora
25700	//
25701	// Example: 5.6.10a
25702	EngineVersion *string `type:"string"`
25703
25704	// The AWS KMS key identifier for an encrypted DB cluster.
25705	//
25706	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
25707	// key. If you are creating a DB cluster with the same AWS account that owns
25708	// the KMS encryption key used to encrypt the new DB cluster, then you can use
25709	// the KMS key alias instead of the ARN for the KM encryption key.
25710	//
25711	// If the StorageEncrypted parameter is true, and you do not specify a value
25712	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
25713	// key. AWS KMS creates the default encryption key for your AWS account. Your
25714	// AWS account has a different default encryption key for each AWS Region.
25715	KmsKeyId *string `type:"string"`
25716
25717	// The password for the master database user. This password can contain any
25718	// printable ASCII character except "/", """, or "@".
25719	//
25720	// Constraints: Must contain from 8 to 41 characters.
25721	//
25722	// MasterUserPassword is a required field
25723	MasterUserPassword *string `type:"string" required:"true"`
25724
25725	// The name of the master user for the restored DB cluster.
25726	//
25727	// Constraints:
25728	//
25729	//    * Must be 1 to 16 letters or numbers.
25730	//
25731	//    * First character must be a letter.
25732	//
25733	//    * Cannot be a reserved word for the chosen database engine.
25734	//
25735	// MasterUsername is a required field
25736	MasterUsername *string `type:"string" required:"true"`
25737
25738	// A value that indicates that the restored DB cluster should be associated
25739	// with the specified option group.
25740	//
25741	// Permanent options can't be removed from an option group. An option group
25742	// can't be removed from a DB cluster once it is associated with a DB cluster.
25743	OptionGroupName *string `type:"string"`
25744
25745	// The port number on which the instances in the restored DB cluster accept
25746	// connections.
25747	//
25748	// Default: 3306
25749	Port *int64 `type:"integer"`
25750
25751	// The daily time range during which automated backups are created if automated
25752	// backups are enabled using the BackupRetentionPeriod parameter.
25753	//
25754	// The default is a 30-minute window selected at random from an 8-hour block
25755	// of time for each AWS Region. To see the time blocks available, see  Adjusting
25756	// the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
25757	// in the Amazon RDS User Guide.
25758	//
25759	// Constraints:
25760	//
25761	//    * Must be in the format hh24:mi-hh24:mi.
25762	//
25763	//    * Must be in Universal Coordinated Time (UTC).
25764	//
25765	//    * Must not conflict with the preferred maintenance window.
25766	//
25767	//    * Must be at least 30 minutes.
25768	PreferredBackupWindow *string `type:"string"`
25769
25770	// The weekly time range during which system maintenance can occur, in Universal
25771	// Coordinated Time (UTC).
25772	//
25773	// Format: ddd:hh24:mi-ddd:hh24:mi
25774	//
25775	// The default is a 30-minute window selected at random from an 8-hour block
25776	// of time for each AWS Region, occurring on a random day of the week. To see
25777	// the time blocks available, see  Adjusting the Preferred Maintenance Window
25778	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
25779	// in the Amazon RDS User Guide.
25780	//
25781	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
25782	//
25783	// Constraints: Minimum 30-minute window.
25784	PreferredMaintenanceWindow *string `type:"string"`
25785
25786	// The name of the Amazon S3 bucket that contains the data used to create the
25787	// Amazon Aurora DB cluster.
25788	//
25789	// S3BucketName is a required field
25790	S3BucketName *string `type:"string" required:"true"`
25791
25792	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
25793	// (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your
25794	// behalf.
25795	//
25796	// S3IngestionRoleArn is a required field
25797	S3IngestionRoleArn *string `type:"string" required:"true"`
25798
25799	// The prefix for all of the file names that contain the data used to create
25800	// the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value,
25801	// then the Amazon Aurora DB cluster is created by using all of the files in
25802	// the Amazon S3 bucket.
25803	S3Prefix *string `type:"string"`
25804
25805	// The identifier for the database engine that was backed up to create the files
25806	// stored in the Amazon S3 bucket.
25807	//
25808	// Valid values: mysql
25809	//
25810	// SourceEngine is a required field
25811	SourceEngine *string `type:"string" required:"true"`
25812
25813	// The version of the database that the backup files were created from.
25814	//
25815	// MySQL version 5.5 and 5.6 are supported.
25816	//
25817	// Example: 5.6.22
25818	//
25819	// SourceEngineVersion is a required field
25820	SourceEngineVersion *string `type:"string" required:"true"`
25821
25822	// Specifies whether the restored DB cluster is encrypted.
25823	StorageEncrypted *bool `type:"boolean"`
25824
25825	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
25826	Tags []*Tag `locationNameList:"Tag" type:"list"`
25827
25828	// A list of EC2 VPC security groups to associate with the restored DB cluster.
25829	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
25830}
25831
25832// String returns the string representation
25833func (s RestoreDBClusterFromS3Input) String() string {
25834	return awsutil.Prettify(s)
25835}
25836
25837// GoString returns the string representation
25838func (s RestoreDBClusterFromS3Input) GoString() string {
25839	return s.String()
25840}
25841
25842// Validate inspects the fields of the type to determine if they are valid.
25843func (s *RestoreDBClusterFromS3Input) Validate() error {
25844	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"}
25845	if s.DBClusterIdentifier == nil {
25846		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
25847	}
25848	if s.Engine == nil {
25849		invalidParams.Add(request.NewErrParamRequired("Engine"))
25850	}
25851	if s.MasterUserPassword == nil {
25852		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
25853	}
25854	if s.MasterUsername == nil {
25855		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
25856	}
25857	if s.S3BucketName == nil {
25858		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
25859	}
25860	if s.S3IngestionRoleArn == nil {
25861		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
25862	}
25863	if s.SourceEngine == nil {
25864		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
25865	}
25866	if s.SourceEngineVersion == nil {
25867		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
25868	}
25869
25870	if invalidParams.Len() > 0 {
25871		return invalidParams
25872	}
25873	return nil
25874}
25875
25876// SetAvailabilityZones sets the AvailabilityZones field's value.
25877func (s *RestoreDBClusterFromS3Input) SetAvailabilityZones(v []*string) *RestoreDBClusterFromS3Input {
25878	s.AvailabilityZones = v
25879	return s
25880}
25881
25882// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
25883func (s *RestoreDBClusterFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBClusterFromS3Input {
25884	s.BackupRetentionPeriod = &v
25885	return s
25886}
25887
25888// SetCharacterSetName sets the CharacterSetName field's value.
25889func (s *RestoreDBClusterFromS3Input) SetCharacterSetName(v string) *RestoreDBClusterFromS3Input {
25890	s.CharacterSetName = &v
25891	return s
25892}
25893
25894// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25895func (s *RestoreDBClusterFromS3Input) SetDBClusterIdentifier(v string) *RestoreDBClusterFromS3Input {
25896	s.DBClusterIdentifier = &v
25897	return s
25898}
25899
25900// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
25901func (s *RestoreDBClusterFromS3Input) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromS3Input {
25902	s.DBClusterParameterGroupName = &v
25903	return s
25904}
25905
25906// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
25907func (s *RestoreDBClusterFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBClusterFromS3Input {
25908	s.DBSubnetGroupName = &v
25909	return s
25910}
25911
25912// SetDatabaseName sets the DatabaseName field's value.
25913func (s *RestoreDBClusterFromS3Input) SetDatabaseName(v string) *RestoreDBClusterFromS3Input {
25914	s.DatabaseName = &v
25915	return s
25916}
25917
25918// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
25919func (s *RestoreDBClusterFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromS3Input {
25920	s.EnableIAMDatabaseAuthentication = &v
25921	return s
25922}
25923
25924// SetEngine sets the Engine field's value.
25925func (s *RestoreDBClusterFromS3Input) SetEngine(v string) *RestoreDBClusterFromS3Input {
25926	s.Engine = &v
25927	return s
25928}
25929
25930// SetEngineVersion sets the EngineVersion field's value.
25931func (s *RestoreDBClusterFromS3Input) SetEngineVersion(v string) *RestoreDBClusterFromS3Input {
25932	s.EngineVersion = &v
25933	return s
25934}
25935
25936// SetKmsKeyId sets the KmsKeyId field's value.
25937func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFromS3Input {
25938	s.KmsKeyId = &v
25939	return s
25940}
25941
25942// SetMasterUserPassword sets the MasterUserPassword field's value.
25943func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
25944	s.MasterUserPassword = &v
25945	return s
25946}
25947
25948// SetMasterUsername sets the MasterUsername field's value.
25949func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
25950	s.MasterUsername = &v
25951	return s
25952}
25953
25954// SetOptionGroupName sets the OptionGroupName field's value.
25955func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input {
25956	s.OptionGroupName = &v
25957	return s
25958}
25959
25960// SetPort sets the Port field's value.
25961func (s *RestoreDBClusterFromS3Input) SetPort(v int64) *RestoreDBClusterFromS3Input {
25962	s.Port = &v
25963	return s
25964}
25965
25966// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
25967func (s *RestoreDBClusterFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBClusterFromS3Input {
25968	s.PreferredBackupWindow = &v
25969	return s
25970}
25971
25972// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
25973func (s *RestoreDBClusterFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBClusterFromS3Input {
25974	s.PreferredMaintenanceWindow = &v
25975	return s
25976}
25977
25978// SetS3BucketName sets the S3BucketName field's value.
25979func (s *RestoreDBClusterFromS3Input) SetS3BucketName(v string) *RestoreDBClusterFromS3Input {
25980	s.S3BucketName = &v
25981	return s
25982}
25983
25984// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
25985func (s *RestoreDBClusterFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBClusterFromS3Input {
25986	s.S3IngestionRoleArn = &v
25987	return s
25988}
25989
25990// SetS3Prefix sets the S3Prefix field's value.
25991func (s *RestoreDBClusterFromS3Input) SetS3Prefix(v string) *RestoreDBClusterFromS3Input {
25992	s.S3Prefix = &v
25993	return s
25994}
25995
25996// SetSourceEngine sets the SourceEngine field's value.
25997func (s *RestoreDBClusterFromS3Input) SetSourceEngine(v string) *RestoreDBClusterFromS3Input {
25998	s.SourceEngine = &v
25999	return s
26000}
26001
26002// SetSourceEngineVersion sets the SourceEngineVersion field's value.
26003func (s *RestoreDBClusterFromS3Input) SetSourceEngineVersion(v string) *RestoreDBClusterFromS3Input {
26004	s.SourceEngineVersion = &v
26005	return s
26006}
26007
26008// SetStorageEncrypted sets the StorageEncrypted field's value.
26009func (s *RestoreDBClusterFromS3Input) SetStorageEncrypted(v bool) *RestoreDBClusterFromS3Input {
26010	s.StorageEncrypted = &v
26011	return s
26012}
26013
26014// SetTags sets the Tags field's value.
26015func (s *RestoreDBClusterFromS3Input) SetTags(v []*Tag) *RestoreDBClusterFromS3Input {
26016	s.Tags = v
26017	return s
26018}
26019
26020// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
26021func (s *RestoreDBClusterFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromS3Input {
26022	s.VpcSecurityGroupIds = v
26023	return s
26024}
26025
26026// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3Result
26027type RestoreDBClusterFromS3Output struct {
26028	_ struct{} `type:"structure"`
26029
26030	// Contains the details of an Amazon RDS DB cluster.
26031	//
26032	// This data type is used as a response element in the DescribeDBClusters action.
26033	DBCluster *DBCluster `type:"structure"`
26034}
26035
26036// String returns the string representation
26037func (s RestoreDBClusterFromS3Output) String() string {
26038	return awsutil.Prettify(s)
26039}
26040
26041// GoString returns the string representation
26042func (s RestoreDBClusterFromS3Output) GoString() string {
26043	return s.String()
26044}
26045
26046// SetDBCluster sets the DBCluster field's value.
26047func (s *RestoreDBClusterFromS3Output) SetDBCluster(v *DBCluster) *RestoreDBClusterFromS3Output {
26048	s.DBCluster = v
26049	return s
26050}
26051
26052// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshotMessage
26053type RestoreDBClusterFromSnapshotInput struct {
26054	_ struct{} `type:"structure"`
26055
26056	// Provides the list of EC2 Availability Zones that instances in the restored
26057	// DB cluster can be created in.
26058	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
26059
26060	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
26061	// This parameter isn't case-sensitive.
26062	//
26063	// Constraints:
26064	//
26065	//    * Must contain from 1 to 255 letters, numbers, or hyphens
26066	//
26067	//    * First character must be a letter
26068	//
26069	//    * Cannot end with a hyphen or contain two consecutive hyphens
26070	//
26071	// Example: my-snapshot-id
26072	//
26073	// DBClusterIdentifier is a required field
26074	DBClusterIdentifier *string `type:"string" required:"true"`
26075
26076	// The name of the DB subnet group to use for the new DB cluster.
26077	//
26078	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
26079	//
26080	// Example: mySubnetgroup
26081	DBSubnetGroupName *string `type:"string"`
26082
26083	// The database name for the restored DB cluster.
26084	DatabaseName *string `type:"string"`
26085
26086	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
26087	// to database accounts, and otherwise false.
26088	//
26089	// Default: false
26090	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
26091
26092	// The database engine to use for the new DB cluster.
26093	//
26094	// Default: The same as source
26095	//
26096	// Constraint: Must be compatible with the engine of the source
26097	//
26098	// Engine is a required field
26099	Engine *string `type:"string" required:"true"`
26100
26101	// The version of the database engine to use for the new DB cluster.
26102	EngineVersion *string `type:"string"`
26103
26104	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
26105	// from a DB snapshot or DB cluster snapshot.
26106	//
26107	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
26108	// key. If you are restoring a DB cluster with the same AWS account that owns
26109	// the KMS encryption key used to encrypt the new DB cluster, then you can use
26110	// the KMS key alias instead of the ARN for the KMS encryption key.
26111	//
26112	// If you do not specify a value for the KmsKeyId parameter, then the following
26113	// will occur:
26114	//
26115	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
26116	//    then the restored DB cluster is encrypted using the KMS key that was used
26117	//    to encrypt the DB snapshot or DB cluster snapshot.
26118	//
26119	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not
26120	//    encrypted, then the restored DB cluster is not encrypted.
26121	KmsKeyId *string `type:"string"`
26122
26123	// The name of the option group to use for the restored DB cluster.
26124	OptionGroupName *string `type:"string"`
26125
26126	// The port number on which the new DB cluster accepts connections.
26127	//
26128	// Constraints: Value must be 1150-65535
26129	//
26130	// Default: The same port as the original DB cluster.
26131	Port *int64 `type:"integer"`
26132
26133	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
26134	//
26135	// You can use either the name or the Amazon Resource Name (ARN) to specify
26136	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
26137	// snapshot.
26138	//
26139	// Constraints:
26140	//
26141	//    * Must match the identifier of an existing Snapshot.
26142	//
26143	// SnapshotIdentifier is a required field
26144	SnapshotIdentifier *string `type:"string" required:"true"`
26145
26146	// The tags to be assigned to the restored DB cluster.
26147	Tags []*Tag `locationNameList:"Tag" type:"list"`
26148
26149	// A list of VPC security groups that the new DB cluster will belong to.
26150	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
26151}
26152
26153// String returns the string representation
26154func (s RestoreDBClusterFromSnapshotInput) String() string {
26155	return awsutil.Prettify(s)
26156}
26157
26158// GoString returns the string representation
26159func (s RestoreDBClusterFromSnapshotInput) GoString() string {
26160	return s.String()
26161}
26162
26163// Validate inspects the fields of the type to determine if they are valid.
26164func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
26165	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
26166	if s.DBClusterIdentifier == nil {
26167		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
26168	}
26169	if s.Engine == nil {
26170		invalidParams.Add(request.NewErrParamRequired("Engine"))
26171	}
26172	if s.SnapshotIdentifier == nil {
26173		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
26174	}
26175
26176	if invalidParams.Len() > 0 {
26177		return invalidParams
26178	}
26179	return nil
26180}
26181
26182// SetAvailabilityZones sets the AvailabilityZones field's value.
26183func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
26184	s.AvailabilityZones = v
26185	return s
26186}
26187
26188// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
26189func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
26190	s.DBClusterIdentifier = &v
26191	return s
26192}
26193
26194// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
26195func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
26196	s.DBSubnetGroupName = &v
26197	return s
26198}
26199
26200// SetDatabaseName sets the DatabaseName field's value.
26201func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
26202	s.DatabaseName = &v
26203	return s
26204}
26205
26206// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
26207func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
26208	s.EnableIAMDatabaseAuthentication = &v
26209	return s
26210}
26211
26212// SetEngine sets the Engine field's value.
26213func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
26214	s.Engine = &v
26215	return s
26216}
26217
26218// SetEngineVersion sets the EngineVersion field's value.
26219func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
26220	s.EngineVersion = &v
26221	return s
26222}
26223
26224// SetKmsKeyId sets the KmsKeyId field's value.
26225func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
26226	s.KmsKeyId = &v
26227	return s
26228}
26229
26230// SetOptionGroupName sets the OptionGroupName field's value.
26231func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
26232	s.OptionGroupName = &v
26233	return s
26234}
26235
26236// SetPort sets the Port field's value.
26237func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
26238	s.Port = &v
26239	return s
26240}
26241
26242// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
26243func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
26244	s.SnapshotIdentifier = &v
26245	return s
26246}
26247
26248// SetTags sets the Tags field's value.
26249func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
26250	s.Tags = v
26251	return s
26252}
26253
26254// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
26255func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
26256	s.VpcSecurityGroupIds = v
26257	return s
26258}
26259
26260// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshotResult
26261type RestoreDBClusterFromSnapshotOutput struct {
26262	_ struct{} `type:"structure"`
26263
26264	// Contains the details of an Amazon RDS DB cluster.
26265	//
26266	// This data type is used as a response element in the DescribeDBClusters action.
26267	DBCluster *DBCluster `type:"structure"`
26268}
26269
26270// String returns the string representation
26271func (s RestoreDBClusterFromSnapshotOutput) String() string {
26272	return awsutil.Prettify(s)
26273}
26274
26275// GoString returns the string representation
26276func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
26277	return s.String()
26278}
26279
26280// SetDBCluster sets the DBCluster field's value.
26281func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
26282	s.DBCluster = v
26283	return s
26284}
26285
26286// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTimeMessage
26287type RestoreDBClusterToPointInTimeInput struct {
26288	_ struct{} `type:"structure"`
26289
26290	// The name of the new DB cluster to be created.
26291	//
26292	// Constraints:
26293	//
26294	//    * Must contain from 1 to 63 letters, numbers, or hyphens
26295	//
26296	//    * First character must be a letter
26297	//
26298	//    * Cannot end with a hyphen or contain two consecutive hyphens
26299	//
26300	// DBClusterIdentifier is a required field
26301	DBClusterIdentifier *string `type:"string" required:"true"`
26302
26303	// The DB subnet group name to use for the new DB cluster.
26304	//
26305	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
26306	//
26307	// Example: mySubnetgroup
26308	DBSubnetGroupName *string `type:"string"`
26309
26310	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
26311	// to database accounts, and otherwise false.
26312	//
26313	// Default: false
26314	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
26315
26316	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
26317	// from an encrypted DB cluster.
26318	//
26319	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
26320	// key. If you are restoring a DB cluster with the same AWS account that owns
26321	// the KMS encryption key used to encrypt the new DB cluster, then you can use
26322	// the KMS key alias instead of the ARN for the KMS encryption key.
26323	//
26324	// You can restore to a new DB cluster and encrypt the new DB cluster with a
26325	// KMS key that is different than the KMS key used to encrypt the source DB
26326	// cluster. The new DB cluster is encrypted with the KMS key identified by the
26327	// KmsKeyId parameter.
26328	//
26329	// If you do not specify a value for the KmsKeyId parameter, then the following
26330	// will occur:
26331	//
26332	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
26333	//    using the KMS key that was used to encrypt the source DB cluster.
26334	//
26335	//    * If the DB cluster is not encrypted, then the restored DB cluster is
26336	//    not encrypted.
26337	//
26338	// If DBClusterIdentifier refers to a DB cluster that is not encrypted, then
26339	// the restore request is rejected.
26340	KmsKeyId *string `type:"string"`
26341
26342	// The name of the option group for the new DB cluster.
26343	OptionGroupName *string `type:"string"`
26344
26345	// The port number on which the new DB cluster accepts connections.
26346	//
26347	// Constraints: Value must be 1150-65535
26348	//
26349	// Default: The same port as the original DB cluster.
26350	Port *int64 `type:"integer"`
26351
26352	// The date and time to restore the DB cluster to.
26353	//
26354	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
26355	//
26356	// Constraints:
26357	//
26358	//    * Must be before the latest restorable time for the DB instance
26359	//
26360	//    * Must be specified if UseLatestRestorableTime parameter is not provided
26361	//
26362	//    * Cannot be specified if UseLatestRestorableTime parameter is true
26363	//
26364	//    * Cannot be specified if RestoreType parameter is copy-on-write
26365	//
26366	// Example: 2015-03-07T23:45:00Z
26367	RestoreToTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
26368
26369	// The type of restore to be performed. You can specify one of the following
26370	// values:
26371	//
26372	//    * full-copy - The new DB cluster is restored as a full copy of the source
26373	//    DB cluster.
26374	//
26375	//    * copy-on-write - The new DB cluster is restored as a clone of the source
26376	//    DB cluster.
26377	//
26378	// Constraints: You can't specify copy-on-write if the engine version of the
26379	// source DB cluster is earlier than 1.11.
26380	//
26381	// If you don't specify a RestoreType value, then the new DB cluster is restored
26382	// as a full copy of the source DB cluster.
26383	RestoreType *string `type:"string"`
26384
26385	// The identifier of the source DB cluster from which to restore.
26386	//
26387	// Constraints:
26388	//
26389	//    * Must match the identifier of an existing DBCluster.
26390	//
26391	// SourceDBClusterIdentifier is a required field
26392	SourceDBClusterIdentifier *string `type:"string" required:"true"`
26393
26394	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
26395	Tags []*Tag `locationNameList:"Tag" type:"list"`
26396
26397	// A value that is set to true to restore the DB cluster to the latest restorable
26398	// backup time, and false otherwise.
26399	//
26400	// Default: false
26401	//
26402	// Constraints: Cannot be specified if RestoreToTime parameter is provided.
26403	UseLatestRestorableTime *bool `type:"boolean"`
26404
26405	// A list of VPC security groups that the new DB cluster belongs to.
26406	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
26407}
26408
26409// String returns the string representation
26410func (s RestoreDBClusterToPointInTimeInput) String() string {
26411	return awsutil.Prettify(s)
26412}
26413
26414// GoString returns the string representation
26415func (s RestoreDBClusterToPointInTimeInput) GoString() string {
26416	return s.String()
26417}
26418
26419// Validate inspects the fields of the type to determine if they are valid.
26420func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
26421	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
26422	if s.DBClusterIdentifier == nil {
26423		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
26424	}
26425	if s.SourceDBClusterIdentifier == nil {
26426		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
26427	}
26428
26429	if invalidParams.Len() > 0 {
26430		return invalidParams
26431	}
26432	return nil
26433}
26434
26435// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
26436func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
26437	s.DBClusterIdentifier = &v
26438	return s
26439}
26440
26441// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
26442func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
26443	s.DBSubnetGroupName = &v
26444	return s
26445}
26446
26447// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
26448func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
26449	s.EnableIAMDatabaseAuthentication = &v
26450	return s
26451}
26452
26453// SetKmsKeyId sets the KmsKeyId field's value.
26454func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
26455	s.KmsKeyId = &v
26456	return s
26457}
26458
26459// SetOptionGroupName sets the OptionGroupName field's value.
26460func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
26461	s.OptionGroupName = &v
26462	return s
26463}
26464
26465// SetPort sets the Port field's value.
26466func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
26467	s.Port = &v
26468	return s
26469}
26470
26471// SetRestoreToTime sets the RestoreToTime field's value.
26472func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
26473	s.RestoreToTime = &v
26474	return s
26475}
26476
26477// SetRestoreType sets the RestoreType field's value.
26478func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
26479	s.RestoreType = &v
26480	return s
26481}
26482
26483// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
26484func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
26485	s.SourceDBClusterIdentifier = &v
26486	return s
26487}
26488
26489// SetTags sets the Tags field's value.
26490func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
26491	s.Tags = v
26492	return s
26493}
26494
26495// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
26496func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
26497	s.UseLatestRestorableTime = &v
26498	return s
26499}
26500
26501// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
26502func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
26503	s.VpcSecurityGroupIds = v
26504	return s
26505}
26506
26507// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTimeResult
26508type RestoreDBClusterToPointInTimeOutput struct {
26509	_ struct{} `type:"structure"`
26510
26511	// Contains the details of an Amazon RDS DB cluster.
26512	//
26513	// This data type is used as a response element in the DescribeDBClusters action.
26514	DBCluster *DBCluster `type:"structure"`
26515}
26516
26517// String returns the string representation
26518func (s RestoreDBClusterToPointInTimeOutput) String() string {
26519	return awsutil.Prettify(s)
26520}
26521
26522// GoString returns the string representation
26523func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
26524	return s.String()
26525}
26526
26527// SetDBCluster sets the DBCluster field's value.
26528func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
26529	s.DBCluster = v
26530	return s
26531}
26532
26533// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshotMessage
26534type RestoreDBInstanceFromDBSnapshotInput struct {
26535	_ struct{} `type:"structure"`
26536
26537	// Indicates that minor version upgrades are applied automatically to the DB
26538	// instance during the maintenance window.
26539	AutoMinorVersionUpgrade *bool `type:"boolean"`
26540
26541	// The EC2 Availability Zone that the DB instance is created in.
26542	//
26543	// Default: A random, system-chosen Availability Zone.
26544	//
26545	// Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ
26546	// parameter is set to true.
26547	//
26548	// Example: us-east-1a
26549	AvailabilityZone *string `type:"string"`
26550
26551	// True to copy all tags from the restored DB instance to snapshots of the DB
26552	// instance, and otherwise false. The default is false.
26553	CopyTagsToSnapshot *bool `type:"boolean"`
26554
26555	// The compute and memory capacity of the Amazon RDS DB instance, for example,
26556	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
26557	// or for all database engines. For the full list of DB instance classes, and
26558	// availability for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
26559	// in the Amazon RDS User Guide.
26560	//
26561	// Default: The same DBInstanceClass as the original DB instance.
26562	DBInstanceClass *string `type:"string"`
26563
26564	// Name of the DB instance to create from the DB snapshot. This parameter isn't
26565	// case-sensitive.
26566	//
26567	// Constraints:
26568	//
26569	//    * Must contain from 1 to 63 numbers, letters, or hyphens
26570	//
26571	//    * First character must be a letter
26572	//
26573	//    * Cannot end with a hyphen or contain two consecutive hyphens
26574	//
26575	// Example: my-snapshot-id
26576	//
26577	// DBInstanceIdentifier is a required field
26578	DBInstanceIdentifier *string `type:"string" required:"true"`
26579
26580	// The database name for the restored DB instance.
26581	//
26582	// This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.
26583	DBName *string `type:"string"`
26584
26585	// The identifier for the DB snapshot to restore from.
26586	//
26587	// Constraints:
26588	//
26589	//    * Must match the identifier of an existing DBSnapshot.
26590	//
26591	//    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
26592	//    must be the ARN of the shared DB snapshot.
26593	//
26594	// DBSnapshotIdentifier is a required field
26595	DBSnapshotIdentifier *string `type:"string" required:"true"`
26596
26597	// The DB subnet group name to use for the new instance.
26598	//
26599	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
26600	//
26601	// Example: mySubnetgroup
26602	DBSubnetGroupName *string `type:"string"`
26603
26604	// Specify the Active Directory Domain to restore the instance in.
26605	Domain *string `type:"string"`
26606
26607	// Specify the name of the IAM role to be used when making API calls to the
26608	// Directory Service.
26609	DomainIAMRoleName *string `type:"string"`
26610
26611	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
26612	// to database accounts, and otherwise false.
26613	//
26614	// You can enable IAM database authentication for the following database engines
26615	//
26616	//    * For MySQL 5.6, minor version 5.6.34 or higher
26617	//
26618	//    * For MySQL 5.7, minor version 5.7.16 or higher
26619	//
26620	//    * Aurora 5.6 or higher.
26621	//
26622	// Default: false
26623	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
26624
26625	// The database engine to use for the new instance.
26626	//
26627	// Default: The same as source
26628	//
26629	// Constraint: Must be compatible with the engine of the source. You can restore
26630	// a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.
26631	//
26632	// Valid Values:
26633	//
26634	//    * aurora
26635	//
26636	//    * aurora-postgresql
26637	//
26638	//    * mariadb
26639	//
26640	//    * mysql
26641	//
26642	//    * oracle-ee
26643	//
26644	//    * oracle-se2
26645	//
26646	//    * oracle-se1
26647	//
26648	//    * oracle-se
26649	//
26650	//    * postgres
26651	//
26652	//    * sqlserver-ee
26653	//
26654	//    * sqlserver-se
26655	//
26656	//    * sqlserver-ex
26657	//
26658	//    * sqlserver-web
26659	Engine *string `type:"string"`
26660
26661	// Specifies the amount of provisioned IOPS for the DB instance, expressed in
26662	// I/O operations per second. If this parameter is not specified, the IOPS value
26663	// is taken from the backup. If this parameter is set to 0, the new instance
26664	// is converted to a non-PIOPS instance. The conversion takes additional time,
26665	// though your DB instance is available for connections before the conversion
26666	// starts.
26667	//
26668	// The provisioned IOPS value must follow the requirements for your database
26669	// engine. For more information, see Amazon RDS Provisioned IOPS Storage to
26670	// Improve Performance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS).
26671	//
26672	// Constraints: Must be an integer greater than 1000.
26673	Iops *int64 `type:"integer"`
26674
26675	// License model information for the restored DB instance.
26676	//
26677	// Default: Same as source.
26678	//
26679	// Valid values: license-included | bring-your-own-license | general-public-license
26680	LicenseModel *string `type:"string"`
26681
26682	// Specifies if the DB instance is a Multi-AZ deployment.
26683	//
26684	// Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ
26685	// parameter is set to true.
26686	MultiAZ *bool `type:"boolean"`
26687
26688	// The name of the option group to be used for the restored DB instance.
26689	//
26690	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
26691	// can't be removed from an option group, and that option group can't be removed
26692	// from a DB instance once it is associated with a DB instance
26693	OptionGroupName *string `type:"string"`
26694
26695	// The port number on which the database accepts connections.
26696	//
26697	// Default: The same port as the original DB instance
26698	//
26699	// Constraints: Value must be 1150-65535
26700	Port *int64 `type:"integer"`
26701
26702	// Specifies the accessibility options for the DB instance. A value of true
26703	// specifies an Internet-facing instance with a publicly resolvable DNS name,
26704	// which resolves to a public IP address. A value of false specifies an internal
26705	// instance with a DNS name that resolves to a private IP address.
26706	//
26707	// Default: The default behavior varies depending on whether a VPC has been
26708	// requested or not. The following list shows the default behavior in each case.
26709	//
26710	//    * Default VPC: true
26711	//
26712	//    * VPC: false
26713	//
26714	// If no DB subnet group has been specified as part of the request and the PubliclyAccessible
26715	// value has not been set, the DB instance is publicly accessible. If a specific
26716	// DB subnet group has been specified as part of the request and the PubliclyAccessible
26717	// value has not been set, the DB instance is private.
26718	PubliclyAccessible *bool `type:"boolean"`
26719
26720	// Specifies the storage type to be associated with the DB instance.
26721	//
26722	// Valid values: standard | gp2 | io1
26723	//
26724	// If you specify io1, you must also include a value for the Iops parameter.
26725	//
26726	// Default: io1 if the Iops parameter is specified, otherwise standard
26727	StorageType *string `type:"string"`
26728
26729	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
26730	Tags []*Tag `locationNameList:"Tag" type:"list"`
26731
26732	// The ARN from the key store with which to associate the instance for TDE encryption.
26733	TdeCredentialArn *string `type:"string"`
26734
26735	// The password for the given ARN from the key store in order to access the
26736	// device.
26737	TdeCredentialPassword *string `type:"string"`
26738}
26739
26740// String returns the string representation
26741func (s RestoreDBInstanceFromDBSnapshotInput) String() string {
26742	return awsutil.Prettify(s)
26743}
26744
26745// GoString returns the string representation
26746func (s RestoreDBInstanceFromDBSnapshotInput) GoString() string {
26747	return s.String()
26748}
26749
26750// Validate inspects the fields of the type to determine if they are valid.
26751func (s *RestoreDBInstanceFromDBSnapshotInput) Validate() error {
26752	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromDBSnapshotInput"}
26753	if s.DBInstanceIdentifier == nil {
26754		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
26755	}
26756	if s.DBSnapshotIdentifier == nil {
26757		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
26758	}
26759
26760	if invalidParams.Len() > 0 {
26761		return invalidParams
26762	}
26763	return nil
26764}
26765
26766// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
26767func (s *RestoreDBInstanceFromDBSnapshotInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromDBSnapshotInput {
26768	s.AutoMinorVersionUpgrade = &v
26769	return s
26770}
26771
26772// SetAvailabilityZone sets the AvailabilityZone field's value.
26773func (s *RestoreDBInstanceFromDBSnapshotInput) SetAvailabilityZone(v string) *RestoreDBInstanceFromDBSnapshotInput {
26774	s.AvailabilityZone = &v
26775	return s
26776}
26777
26778// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
26779func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
26780	s.CopyTagsToSnapshot = &v
26781	return s
26782}
26783
26784// SetDBInstanceClass sets the DBInstanceClass field's value.
26785func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceClass(v string) *RestoreDBInstanceFromDBSnapshotInput {
26786	s.DBInstanceClass = &v
26787	return s
26788}
26789
26790// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
26791func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
26792	s.DBInstanceIdentifier = &v
26793	return s
26794}
26795
26796// SetDBName sets the DBName field's value.
26797func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBName(v string) *RestoreDBInstanceFromDBSnapshotInput {
26798	s.DBName = &v
26799	return s
26800}
26801
26802// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
26803func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSnapshotIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
26804	s.DBSnapshotIdentifier = &v
26805	return s
26806}
26807
26808// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
26809func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
26810	s.DBSubnetGroupName = &v
26811	return s
26812}
26813
26814// SetDomain sets the Domain field's value.
26815func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomain(v string) *RestoreDBInstanceFromDBSnapshotInput {
26816	s.Domain = &v
26817	return s
26818}
26819
26820// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
26821func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceFromDBSnapshotInput {
26822	s.DomainIAMRoleName = &v
26823	return s
26824}
26825
26826// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
26827func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput {
26828	s.EnableIAMDatabaseAuthentication = &v
26829	return s
26830}
26831
26832// SetEngine sets the Engine field's value.
26833func (s *RestoreDBInstanceFromDBSnapshotInput) SetEngine(v string) *RestoreDBInstanceFromDBSnapshotInput {
26834	s.Engine = &v
26835	return s
26836}
26837
26838// SetIops sets the Iops field's value.
26839func (s *RestoreDBInstanceFromDBSnapshotInput) SetIops(v int64) *RestoreDBInstanceFromDBSnapshotInput {
26840	s.Iops = &v
26841	return s
26842}
26843
26844// SetLicenseModel sets the LicenseModel field's value.
26845func (s *RestoreDBInstanceFromDBSnapshotInput) SetLicenseModel(v string) *RestoreDBInstanceFromDBSnapshotInput {
26846	s.LicenseModel = &v
26847	return s
26848}
26849
26850// SetMultiAZ sets the MultiAZ field's value.
26851func (s *RestoreDBInstanceFromDBSnapshotInput) SetMultiAZ(v bool) *RestoreDBInstanceFromDBSnapshotInput {
26852	s.MultiAZ = &v
26853	return s
26854}
26855
26856// SetOptionGroupName sets the OptionGroupName field's value.
26857func (s *RestoreDBInstanceFromDBSnapshotInput) SetOptionGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
26858	s.OptionGroupName = &v
26859	return s
26860}
26861
26862// SetPort sets the Port field's value.
26863func (s *RestoreDBInstanceFromDBSnapshotInput) SetPort(v int64) *RestoreDBInstanceFromDBSnapshotInput {
26864	s.Port = &v
26865	return s
26866}
26867
26868// SetPubliclyAccessible sets the PubliclyAccessible field's value.
26869func (s *RestoreDBInstanceFromDBSnapshotInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromDBSnapshotInput {
26870	s.PubliclyAccessible = &v
26871	return s
26872}
26873
26874// SetStorageType sets the StorageType field's value.
26875func (s *RestoreDBInstanceFromDBSnapshotInput) SetStorageType(v string) *RestoreDBInstanceFromDBSnapshotInput {
26876	s.StorageType = &v
26877	return s
26878}
26879
26880// SetTags sets the Tags field's value.
26881func (s *RestoreDBInstanceFromDBSnapshotInput) SetTags(v []*Tag) *RestoreDBInstanceFromDBSnapshotInput {
26882	s.Tags = v
26883	return s
26884}
26885
26886// SetTdeCredentialArn sets the TdeCredentialArn field's value.
26887func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialArn(v string) *RestoreDBInstanceFromDBSnapshotInput {
26888	s.TdeCredentialArn = &v
26889	return s
26890}
26891
26892// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
26893func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceFromDBSnapshotInput {
26894	s.TdeCredentialPassword = &v
26895	return s
26896}
26897
26898// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshotResult
26899type RestoreDBInstanceFromDBSnapshotOutput struct {
26900	_ struct{} `type:"structure"`
26901
26902	// Contains the details of an Amazon RDS DB instance.
26903	//
26904	// This data type is used as a response element in the DescribeDBInstances action.
26905	DBInstance *DBInstance `type:"structure"`
26906}
26907
26908// String returns the string representation
26909func (s RestoreDBInstanceFromDBSnapshotOutput) String() string {
26910	return awsutil.Prettify(s)
26911}
26912
26913// GoString returns the string representation
26914func (s RestoreDBInstanceFromDBSnapshotOutput) GoString() string {
26915	return s.String()
26916}
26917
26918// SetDBInstance sets the DBInstance field's value.
26919func (s *RestoreDBInstanceFromDBSnapshotOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromDBSnapshotOutput {
26920	s.DBInstance = v
26921	return s
26922}
26923
26924// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3Message
26925type RestoreDBInstanceFromS3Input struct {
26926	_ struct{} `type:"structure"`
26927
26928	// The amount of storage (in gigabytes) to allocate initially for the DB instance.
26929	// Follow the allocation rules specified in CreateDBInstance.
26930	//
26931	// Be sure to allocate enough memory for your new DB instance so that the restore
26932	// operation can succeed. You can also allocate additional memory for future
26933	// growth.
26934	AllocatedStorage *int64 `type:"integer"`
26935
26936	// True to indicate that minor engine upgrades are applied automatically to
26937	// the DB instance during the maintenance window, and otherwise false.
26938	//
26939	// Default: true
26940	AutoMinorVersionUpgrade *bool `type:"boolean"`
26941
26942	// The Availability Zone that the DB instance is created in. For information
26943	// about AWS Regions and Availability Zones, see Regions and Availability Zones
26944	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
26945	//
26946	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
26947	// Region.
26948	//
26949	// Example: us-east-1d
26950	//
26951	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
26952	// parameter is set to true. The specified Availability Zone must be in the
26953	// same AWS Region as the current endpoint.
26954	AvailabilityZone *string `type:"string"`
26955
26956	// The number of days for which automated backups are retained. Setting this
26957	// parameter to a positive number enables backups. For more information, see
26958	// CreateDBInstance.
26959	BackupRetentionPeriod *int64 `type:"integer"`
26960
26961	// True to copy all tags from the DB instance to snapshots of the DB instance,
26962	// and otherwise false.
26963	//
26964	// Default: false.
26965	CopyTagsToSnapshot *bool `type:"boolean"`
26966
26967	// The compute and memory capacity of the DB instance, for example, db.m4.large.
26968	// Not all DB instance classes are available in all AWS Regions, or for all
26969	// database engines. For the full list of DB instance classes, and availability
26970	// for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
26971	// in the Amazon RDS User Guide.
26972	//
26973	// Importing from Amazon S3 is not supported on the db.t2.micro DB instance
26974	// class.
26975	//
26976	// DBInstanceClass is a required field
26977	DBInstanceClass *string `type:"string" required:"true"`
26978
26979	// The DB instance identifier. This parameter is stored as a lowercase string.
26980	//
26981	// Constraints:
26982	//
26983	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
26984	//
26985	//    * First character must be a letter.
26986	//
26987	//    * Cannot end with a hyphen or contain two consecutive hyphens.
26988	//
26989	// Example: mydbinstance
26990	//
26991	// DBInstanceIdentifier is a required field
26992	DBInstanceIdentifier *string `type:"string" required:"true"`
26993
26994	// The name of the database to create when the DB instance is created. Follow
26995	// the naming rules specified in CreateDBInstance.
26996	DBName *string `type:"string"`
26997
26998	// The name of the DB parameter group to associate with this DB instance. If
26999	// this argument is omitted, the default parameter group for the specified engine
27000	// is used.
27001	DBParameterGroupName *string `type:"string"`
27002
27003	// A list of DB security groups to associate with this DB instance.
27004	//
27005	// Default: The default DB security group for the database engine.
27006	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
27007
27008	// A DB subnet group to associate with this DB instance.
27009	DBSubnetGroupName *string `type:"string"`
27010
27011	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
27012	// to database accounts, and otherwise false.
27013	//
27014	// Default: false
27015	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
27016
27017	// True to enable Performance Insights for the DB instance, and otherwise false.
27018	EnablePerformanceInsights *bool `type:"boolean"`
27019
27020	// The name of the database engine to be used for this instance.
27021	//
27022	// Valid Values: mysql
27023	//
27024	// Engine is a required field
27025	Engine *string `type:"string" required:"true"`
27026
27027	// The version number of the database engine to use. Choose the latest minor
27028	// version of your database engine as specified in CreateDBInstance.
27029	EngineVersion *string `type:"string"`
27030
27031	// The amount of Provisioned IOPS (input/output operations per second) to allocate
27032	// initially for the DB instance. For information about valid Iops values, see
27033	// see Amazon RDS Provisioned IOPS Storage to Improve Performance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS).
27034	Iops *int64 `type:"integer"`
27035
27036	// The AWS KMS key identifier for an encrypted DB instance.
27037	//
27038	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
27039	// key. If you are creating a DB instance with the same AWS account that owns
27040	// the KMS encryption key used to encrypt the new DB instance, then you can
27041	// use the KMS key alias instead of the ARN for the KM encryption key.
27042	//
27043	// If the StorageEncrypted parameter is true, and you do not specify a value
27044	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
27045	// key. AWS KMS creates the default encryption key for your AWS account. Your
27046	// AWS account has a different default encryption key for each AWS Region.
27047	KmsKeyId *string `type:"string"`
27048
27049	// The license model for this DB instance. Use general-public-license.
27050	LicenseModel *string `type:"string"`
27051
27052	// The password for the master user. The password can include any printable
27053	// ASCII character except "/", """, or "@".
27054	//
27055	// Constraints: Must contain from 8 to 41 characters.
27056	MasterUserPassword *string `type:"string"`
27057
27058	// The name for the master user.
27059	//
27060	// Constraints:
27061	//
27062	//    * Must be 1 to 16 letters or numbers.
27063	//
27064	//    * First character must be a letter.
27065	//
27066	//    * Cannot be a reserved word for the chosen database engine.
27067	MasterUsername *string `type:"string"`
27068
27069	// The interval, in seconds, between points when Enhanced Monitoring metrics
27070	// are collected for the DB instance. To disable collecting Enhanced Monitoring
27071	// metrics, specify 0.
27072	//
27073	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
27074	// to a value other than 0.
27075	//
27076	// Valid Values: 0, 1, 5, 10, 15, 30, 60
27077	//
27078	// Default: 0
27079	MonitoringInterval *int64 `type:"integer"`
27080
27081	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
27082	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
27083	// For information on creating a monitoring role, see Setting Up and Enabling
27084	// Enhanced Monitoring (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling).
27085	//
27086	// If MonitoringInterval is set to a value other than 0, then you must supply
27087	// a MonitoringRoleArn value.
27088	MonitoringRoleArn *string `type:"string"`
27089
27090	// Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ is
27091	// set to true, you can't set the AvailabilityZone parameter.
27092	MultiAZ *bool `type:"boolean"`
27093
27094	// The name of the option group to associate with this DB instance. If this
27095	// argument is omitted, the default option group for the specified engine is
27096	// used.
27097	OptionGroupName *string `type:"string"`
27098
27099	// The AWS KMS key identifier for encryption of Performance Insights data. The
27100	// KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or
27101	// the KMS key alias for the KMS encryption key.
27102	PerformanceInsightsKMSKeyId *string `type:"string"`
27103
27104	// The port number on which the database accepts connections.
27105	//
27106	// Type: Integer
27107	//
27108	// Valid Values: 1150-65535
27109	//
27110	// Default: 3306
27111	Port *int64 `type:"integer"`
27112
27113	// The time range each day during which automated backups are created if automated
27114	// backups are enabled. For more information, see The Backup Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow).
27115	//
27116	// Constraints:
27117	//
27118	//    * Must be in the format hh24:mi-hh24:mi.
27119	//
27120	//    * Must be in Universal Coordinated Time (UTC).
27121	//
27122	//    * Must not conflict with the preferred maintenance window.
27123	//
27124	//    * Must be at least 30 minutes.
27125	PreferredBackupWindow *string `type:"string"`
27126
27127	// The time range each week during which system maintenance can occur, in Universal
27128	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
27129	// Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
27130	//
27131	// Constraints:
27132	//
27133	//    * Must be in the format ddd:hh24:mi-ddd:hh24:mi.
27134	//
27135	//    * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
27136	//
27137	//    * Must be in Universal Coordinated Time (UTC).
27138	//
27139	//    * Must not conflict with the preferred backup window.
27140	//
27141	//    * Must be at least 30 minutes.
27142	PreferredMaintenanceWindow *string `type:"string"`
27143
27144	// Specifies whether the DB instance is publicly accessible or not. For more
27145	// information, see CreateDBInstance.
27146	PubliclyAccessible *bool `type:"boolean"`
27147
27148	// The name of your Amazon S3 bucket that contains your database backup file.
27149	//
27150	// S3BucketName is a required field
27151	S3BucketName *string `type:"string" required:"true"`
27152
27153	// An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access
27154	// your Amazon S3 bucket.
27155	//
27156	// S3IngestionRoleArn is a required field
27157	S3IngestionRoleArn *string `type:"string" required:"true"`
27158
27159	// The prefix of your Amazon S3 bucket.
27160	S3Prefix *string `type:"string"`
27161
27162	// The name of the engine of your source database.
27163	//
27164	// Valid Values: mysql
27165	//
27166	// SourceEngine is a required field
27167	SourceEngine *string `type:"string" required:"true"`
27168
27169	// The engine version of your source database.
27170	//
27171	// Valid Values: 5.6
27172	//
27173	// SourceEngineVersion is a required field
27174	SourceEngineVersion *string `type:"string" required:"true"`
27175
27176	// Specifies whether the new DB instance is encrypted or not.
27177	StorageEncrypted *bool `type:"boolean"`
27178
27179	// Specifies the storage type to be associated with the DB instance.
27180	//
27181	// Valid values: standard | gp2 | io1
27182	//
27183	// If you specify io1, you must also include a value for the Iops parameter.
27184	//
27185	// Default: io1 if the Iops parameter is specified; otherwise standard
27186	StorageType *string `type:"string"`
27187
27188	// A list of tags to associate with this DB instance. For more information,
27189	// see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
27190	Tags []*Tag `locationNameList:"Tag" type:"list"`
27191
27192	// A list of VPC security groups to associate with this DB instance.
27193	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
27194}
27195
27196// String returns the string representation
27197func (s RestoreDBInstanceFromS3Input) String() string {
27198	return awsutil.Prettify(s)
27199}
27200
27201// GoString returns the string representation
27202func (s RestoreDBInstanceFromS3Input) GoString() string {
27203	return s.String()
27204}
27205
27206// Validate inspects the fields of the type to determine if they are valid.
27207func (s *RestoreDBInstanceFromS3Input) Validate() error {
27208	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromS3Input"}
27209	if s.DBInstanceClass == nil {
27210		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
27211	}
27212	if s.DBInstanceIdentifier == nil {
27213		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
27214	}
27215	if s.Engine == nil {
27216		invalidParams.Add(request.NewErrParamRequired("Engine"))
27217	}
27218	if s.S3BucketName == nil {
27219		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
27220	}
27221	if s.S3IngestionRoleArn == nil {
27222		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
27223	}
27224	if s.SourceEngine == nil {
27225		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
27226	}
27227	if s.SourceEngineVersion == nil {
27228		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
27229	}
27230
27231	if invalidParams.Len() > 0 {
27232		return invalidParams
27233	}
27234	return nil
27235}
27236
27237// SetAllocatedStorage sets the AllocatedStorage field's value.
27238func (s *RestoreDBInstanceFromS3Input) SetAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
27239	s.AllocatedStorage = &v
27240	return s
27241}
27242
27243// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
27244func (s *RestoreDBInstanceFromS3Input) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromS3Input {
27245	s.AutoMinorVersionUpgrade = &v
27246	return s
27247}
27248
27249// SetAvailabilityZone sets the AvailabilityZone field's value.
27250func (s *RestoreDBInstanceFromS3Input) SetAvailabilityZone(v string) *RestoreDBInstanceFromS3Input {
27251	s.AvailabilityZone = &v
27252	return s
27253}
27254
27255// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
27256func (s *RestoreDBInstanceFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
27257	s.BackupRetentionPeriod = &v
27258	return s
27259}
27260
27261// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
27262func (s *RestoreDBInstanceFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromS3Input {
27263	s.CopyTagsToSnapshot = &v
27264	return s
27265}
27266
27267// SetDBInstanceClass sets the DBInstanceClass field's value.
27268func (s *RestoreDBInstanceFromS3Input) SetDBInstanceClass(v string) *RestoreDBInstanceFromS3Input {
27269	s.DBInstanceClass = &v
27270	return s
27271}
27272
27273// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
27274func (s *RestoreDBInstanceFromS3Input) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromS3Input {
27275	s.DBInstanceIdentifier = &v
27276	return s
27277}
27278
27279// SetDBName sets the DBName field's value.
27280func (s *RestoreDBInstanceFromS3Input) SetDBName(v string) *RestoreDBInstanceFromS3Input {
27281	s.DBName = &v
27282	return s
27283}
27284
27285// SetDBParameterGroupName sets the DBParameterGroupName field's value.
27286func (s *RestoreDBInstanceFromS3Input) SetDBParameterGroupName(v string) *RestoreDBInstanceFromS3Input {
27287	s.DBParameterGroupName = &v
27288	return s
27289}
27290
27291// SetDBSecurityGroups sets the DBSecurityGroups field's value.
27292func (s *RestoreDBInstanceFromS3Input) SetDBSecurityGroups(v []*string) *RestoreDBInstanceFromS3Input {
27293	s.DBSecurityGroups = v
27294	return s
27295}
27296
27297// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
27298func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromS3Input {
27299	s.DBSubnetGroupName = &v
27300	return s
27301}
27302
27303// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
27304func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input {
27305	s.EnableIAMDatabaseAuthentication = &v
27306	return s
27307}
27308
27309// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
27310func (s *RestoreDBInstanceFromS3Input) SetEnablePerformanceInsights(v bool) *RestoreDBInstanceFromS3Input {
27311	s.EnablePerformanceInsights = &v
27312	return s
27313}
27314
27315// SetEngine sets the Engine field's value.
27316func (s *RestoreDBInstanceFromS3Input) SetEngine(v string) *RestoreDBInstanceFromS3Input {
27317	s.Engine = &v
27318	return s
27319}
27320
27321// SetEngineVersion sets the EngineVersion field's value.
27322func (s *RestoreDBInstanceFromS3Input) SetEngineVersion(v string) *RestoreDBInstanceFromS3Input {
27323	s.EngineVersion = &v
27324	return s
27325}
27326
27327// SetIops sets the Iops field's value.
27328func (s *RestoreDBInstanceFromS3Input) SetIops(v int64) *RestoreDBInstanceFromS3Input {
27329	s.Iops = &v
27330	return s
27331}
27332
27333// SetKmsKeyId sets the KmsKeyId field's value.
27334func (s *RestoreDBInstanceFromS3Input) SetKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
27335	s.KmsKeyId = &v
27336	return s
27337}
27338
27339// SetLicenseModel sets the LicenseModel field's value.
27340func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInstanceFromS3Input {
27341	s.LicenseModel = &v
27342	return s
27343}
27344
27345// SetMasterUserPassword sets the MasterUserPassword field's value.
27346func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
27347	s.MasterUserPassword = &v
27348	return s
27349}
27350
27351// SetMasterUsername sets the MasterUsername field's value.
27352func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
27353	s.MasterUsername = &v
27354	return s
27355}
27356
27357// SetMonitoringInterval sets the MonitoringInterval field's value.
27358func (s *RestoreDBInstanceFromS3Input) SetMonitoringInterval(v int64) *RestoreDBInstanceFromS3Input {
27359	s.MonitoringInterval = &v
27360	return s
27361}
27362
27363// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
27364func (s *RestoreDBInstanceFromS3Input) SetMonitoringRoleArn(v string) *RestoreDBInstanceFromS3Input {
27365	s.MonitoringRoleArn = &v
27366	return s
27367}
27368
27369// SetMultiAZ sets the MultiAZ field's value.
27370func (s *RestoreDBInstanceFromS3Input) SetMultiAZ(v bool) *RestoreDBInstanceFromS3Input {
27371	s.MultiAZ = &v
27372	return s
27373}
27374
27375// SetOptionGroupName sets the OptionGroupName field's value.
27376func (s *RestoreDBInstanceFromS3Input) SetOptionGroupName(v string) *RestoreDBInstanceFromS3Input {
27377	s.OptionGroupName = &v
27378	return s
27379}
27380
27381// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
27382func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsKMSKeyId(v string) *RestoreDBInstanceFromS3Input {
27383	s.PerformanceInsightsKMSKeyId = &v
27384	return s
27385}
27386
27387// SetPort sets the Port field's value.
27388func (s *RestoreDBInstanceFromS3Input) SetPort(v int64) *RestoreDBInstanceFromS3Input {
27389	s.Port = &v
27390	return s
27391}
27392
27393// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
27394func (s *RestoreDBInstanceFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBInstanceFromS3Input {
27395	s.PreferredBackupWindow = &v
27396	return s
27397}
27398
27399// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
27400func (s *RestoreDBInstanceFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBInstanceFromS3Input {
27401	s.PreferredMaintenanceWindow = &v
27402	return s
27403}
27404
27405// SetPubliclyAccessible sets the PubliclyAccessible field's value.
27406func (s *RestoreDBInstanceFromS3Input) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromS3Input {
27407	s.PubliclyAccessible = &v
27408	return s
27409}
27410
27411// SetS3BucketName sets the S3BucketName field's value.
27412func (s *RestoreDBInstanceFromS3Input) SetS3BucketName(v string) *RestoreDBInstanceFromS3Input {
27413	s.S3BucketName = &v
27414	return s
27415}
27416
27417// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
27418func (s *RestoreDBInstanceFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBInstanceFromS3Input {
27419	s.S3IngestionRoleArn = &v
27420	return s
27421}
27422
27423// SetS3Prefix sets the S3Prefix field's value.
27424func (s *RestoreDBInstanceFromS3Input) SetS3Prefix(v string) *RestoreDBInstanceFromS3Input {
27425	s.S3Prefix = &v
27426	return s
27427}
27428
27429// SetSourceEngine sets the SourceEngine field's value.
27430func (s *RestoreDBInstanceFromS3Input) SetSourceEngine(v string) *RestoreDBInstanceFromS3Input {
27431	s.SourceEngine = &v
27432	return s
27433}
27434
27435// SetSourceEngineVersion sets the SourceEngineVersion field's value.
27436func (s *RestoreDBInstanceFromS3Input) SetSourceEngineVersion(v string) *RestoreDBInstanceFromS3Input {
27437	s.SourceEngineVersion = &v
27438	return s
27439}
27440
27441// SetStorageEncrypted sets the StorageEncrypted field's value.
27442func (s *RestoreDBInstanceFromS3Input) SetStorageEncrypted(v bool) *RestoreDBInstanceFromS3Input {
27443	s.StorageEncrypted = &v
27444	return s
27445}
27446
27447// SetStorageType sets the StorageType field's value.
27448func (s *RestoreDBInstanceFromS3Input) SetStorageType(v string) *RestoreDBInstanceFromS3Input {
27449	s.StorageType = &v
27450	return s
27451}
27452
27453// SetTags sets the Tags field's value.
27454func (s *RestoreDBInstanceFromS3Input) SetTags(v []*Tag) *RestoreDBInstanceFromS3Input {
27455	s.Tags = v
27456	return s
27457}
27458
27459// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
27460func (s *RestoreDBInstanceFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromS3Input {
27461	s.VpcSecurityGroupIds = v
27462	return s
27463}
27464
27465// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3Result
27466type RestoreDBInstanceFromS3Output struct {
27467	_ struct{} `type:"structure"`
27468
27469	// Contains the details of an Amazon RDS DB instance.
27470	//
27471	// This data type is used as a response element in the DescribeDBInstances action.
27472	DBInstance *DBInstance `type:"structure"`
27473}
27474
27475// String returns the string representation
27476func (s RestoreDBInstanceFromS3Output) String() string {
27477	return awsutil.Prettify(s)
27478}
27479
27480// GoString returns the string representation
27481func (s RestoreDBInstanceFromS3Output) GoString() string {
27482	return s.String()
27483}
27484
27485// SetDBInstance sets the DBInstance field's value.
27486func (s *RestoreDBInstanceFromS3Output) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromS3Output {
27487	s.DBInstance = v
27488	return s
27489}
27490
27491// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTimeMessage
27492type RestoreDBInstanceToPointInTimeInput struct {
27493	_ struct{} `type:"structure"`
27494
27495	// Indicates that minor version upgrades are applied automatically to the DB
27496	// instance during the maintenance window.
27497	AutoMinorVersionUpgrade *bool `type:"boolean"`
27498
27499	// The EC2 Availability Zone that the DB instance is created in.
27500	//
27501	// Default: A random, system-chosen Availability Zone.
27502	//
27503	// Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ
27504	// parameter is set to true.
27505	//
27506	// Example: us-east-1a
27507	AvailabilityZone *string `type:"string"`
27508
27509	// True to copy all tags from the restored DB instance to snapshots of the DB
27510	// instance, and otherwise false. The default is false.
27511	CopyTagsToSnapshot *bool `type:"boolean"`
27512
27513	// The compute and memory capacity of the Amazon RDS DB instance, for example,
27514	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
27515	// or for all database engines. For the full list of DB instance classes, and
27516	// availability for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
27517	// in the Amazon RDS User Guide.
27518	//
27519	// Default: The same DBInstanceClass as the original DB instance.
27520	DBInstanceClass *string `type:"string"`
27521
27522	// The database name for the restored DB instance.
27523	//
27524	// This parameter is not used for the MySQL or MariaDB engines.
27525	DBName *string `type:"string"`
27526
27527	// The DB subnet group name to use for the new instance.
27528	//
27529	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
27530	//
27531	// Example: mySubnetgroup
27532	DBSubnetGroupName *string `type:"string"`
27533
27534	// Specify the Active Directory Domain to restore the instance in.
27535	Domain *string `type:"string"`
27536
27537	// Specify the name of the IAM role to be used when making API calls to the
27538	// Directory Service.
27539	DomainIAMRoleName *string `type:"string"`
27540
27541	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
27542	// to database accounts, and otherwise false.
27543	//
27544	// You can enable IAM database authentication for the following database engines
27545	//
27546	//    * For MySQL 5.6, minor version 5.6.34 or higher
27547	//
27548	//    * For MySQL 5.7, minor version 5.7.16 or higher
27549	//
27550	//    * Aurora 5.6 or higher.
27551	//
27552	// Default: false
27553	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
27554
27555	// The database engine to use for the new instance.
27556	//
27557	// Default: The same as source
27558	//
27559	// Constraint: Must be compatible with the engine of the source
27560	//
27561	// Valid Values:
27562	//
27563	//    * aurora
27564	//
27565	//    * aurora-postgresql
27566	//
27567	//    * mariadb
27568	//
27569	//    * mysql
27570	//
27571	//    * oracle-ee
27572	//
27573	//    * oracle-se2
27574	//
27575	//    * oracle-se1
27576	//
27577	//    * oracle-se
27578	//
27579	//    * postgres
27580	//
27581	//    * sqlserver-ee
27582	//
27583	//    * sqlserver-se
27584	//
27585	//    * sqlserver-ex
27586	//
27587	//    * sqlserver-web
27588	Engine *string `type:"string"`
27589
27590	// The amount of Provisioned IOPS (input/output operations per second) to be
27591	// initially allocated for the DB instance.
27592	//
27593	// Constraints: Must be an integer greater than 1000.
27594	//
27595	// SQL Server
27596	//
27597	// Setting the IOPS value for the SQL Server database engine is not supported.
27598	Iops *int64 `type:"integer"`
27599
27600	// License model information for the restored DB instance.
27601	//
27602	// Default: Same as source.
27603	//
27604	// Valid values: license-included | bring-your-own-license | general-public-license
27605	LicenseModel *string `type:"string"`
27606
27607	// Specifies if the DB instance is a Multi-AZ deployment.
27608	//
27609	// Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ
27610	// parameter is set to true.
27611	MultiAZ *bool `type:"boolean"`
27612
27613	// The name of the option group to be used for the restored DB instance.
27614	//
27615	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
27616	// can't be removed from an option group, and that option group can't be removed
27617	// from a DB instance once it is associated with a DB instance
27618	OptionGroupName *string `type:"string"`
27619
27620	// The port number on which the database accepts connections.
27621	//
27622	// Constraints: Value must be 1150-65535
27623	//
27624	// Default: The same port as the original DB instance.
27625	Port *int64 `type:"integer"`
27626
27627	// Specifies the accessibility options for the DB instance. A value of true
27628	// specifies an Internet-facing instance with a publicly resolvable DNS name,
27629	// which resolves to a public IP address. A value of false specifies an internal
27630	// instance with a DNS name that resolves to a private IP address.
27631	//
27632	// Default: The default behavior varies depending on whether a VPC has been
27633	// requested or not. The following list shows the default behavior in each case.
27634	//
27635	//    * Default VPC:true
27636	//
27637	//    * VPC:false
27638	//
27639	// If no DB subnet group has been specified as part of the request and the PubliclyAccessible
27640	// value has not been set, the DB instance is publicly accessible. If a specific
27641	// DB subnet group has been specified as part of the request and the PubliclyAccessible
27642	// value has not been set, the DB instance is private.
27643	PubliclyAccessible *bool `type:"boolean"`
27644
27645	// The date and time to restore from.
27646	//
27647	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
27648	//
27649	// Constraints:
27650	//
27651	//    * Must be before the latest restorable time for the DB instance
27652	//
27653	//    * Cannot be specified if UseLatestRestorableTime parameter is true
27654	//
27655	// Example: 2009-09-07T23:45:00Z
27656	RestoreTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
27657
27658	// The identifier of the source DB instance from which to restore.
27659	//
27660	// Constraints:
27661	//
27662	//    * Must match the identifier of an existing DBInstance.
27663	//
27664	// SourceDBInstanceIdentifier is a required field
27665	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
27666
27667	// Specifies the storage type to be associated with the DB instance.
27668	//
27669	// Valid values: standard | gp2 | io1
27670	//
27671	// If you specify io1, you must also include a value for the Iops parameter.
27672	//
27673	// Default: io1 if the Iops parameter is specified, otherwise standard
27674	StorageType *string `type:"string"`
27675
27676	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
27677	Tags []*Tag `locationNameList:"Tag" type:"list"`
27678
27679	// The name of the new DB instance to be created.
27680	//
27681	// Constraints:
27682	//
27683	//    * Must contain from 1 to 63 letters, numbers, or hyphens
27684	//
27685	//    * First character must be a letter
27686	//
27687	//    * Cannot end with a hyphen or contain two consecutive hyphens
27688	//
27689	// TargetDBInstanceIdentifier is a required field
27690	TargetDBInstanceIdentifier *string `type:"string" required:"true"`
27691
27692	// The ARN from the key store with which to associate the instance for TDE encryption.
27693	TdeCredentialArn *string `type:"string"`
27694
27695	// The password for the given ARN from the key store in order to access the
27696	// device.
27697	TdeCredentialPassword *string `type:"string"`
27698
27699	// Specifies whether (true) or not (false) the DB instance is restored from
27700	// the latest backup time.
27701	//
27702	// Default: false
27703	//
27704	// Constraints: Cannot be specified if RestoreTime parameter is provided.
27705	UseLatestRestorableTime *bool `type:"boolean"`
27706}
27707
27708// String returns the string representation
27709func (s RestoreDBInstanceToPointInTimeInput) String() string {
27710	return awsutil.Prettify(s)
27711}
27712
27713// GoString returns the string representation
27714func (s RestoreDBInstanceToPointInTimeInput) GoString() string {
27715	return s.String()
27716}
27717
27718// Validate inspects the fields of the type to determine if they are valid.
27719func (s *RestoreDBInstanceToPointInTimeInput) Validate() error {
27720	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceToPointInTimeInput"}
27721	if s.SourceDBInstanceIdentifier == nil {
27722		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
27723	}
27724	if s.TargetDBInstanceIdentifier == nil {
27725		invalidParams.Add(request.NewErrParamRequired("TargetDBInstanceIdentifier"))
27726	}
27727
27728	if invalidParams.Len() > 0 {
27729		return invalidParams
27730	}
27731	return nil
27732}
27733
27734// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
27735func (s *RestoreDBInstanceToPointInTimeInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceToPointInTimeInput {
27736	s.AutoMinorVersionUpgrade = &v
27737	return s
27738}
27739
27740// SetAvailabilityZone sets the AvailabilityZone field's value.
27741func (s *RestoreDBInstanceToPointInTimeInput) SetAvailabilityZone(v string) *RestoreDBInstanceToPointInTimeInput {
27742	s.AvailabilityZone = &v
27743	return s
27744}
27745
27746// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
27747func (s *RestoreDBInstanceToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceToPointInTimeInput {
27748	s.CopyTagsToSnapshot = &v
27749	return s
27750}
27751
27752// SetDBInstanceClass sets the DBInstanceClass field's value.
27753func (s *RestoreDBInstanceToPointInTimeInput) SetDBInstanceClass(v string) *RestoreDBInstanceToPointInTimeInput {
27754	s.DBInstanceClass = &v
27755	return s
27756}
27757
27758// SetDBName sets the DBName field's value.
27759func (s *RestoreDBInstanceToPointInTimeInput) SetDBName(v string) *RestoreDBInstanceToPointInTimeInput {
27760	s.DBName = &v
27761	return s
27762}
27763
27764// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
27765func (s *RestoreDBInstanceToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
27766	s.DBSubnetGroupName = &v
27767	return s
27768}
27769
27770// SetDomain sets the Domain field's value.
27771func (s *RestoreDBInstanceToPointInTimeInput) SetDomain(v string) *RestoreDBInstanceToPointInTimeInput {
27772	s.Domain = &v
27773	return s
27774}
27775
27776// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
27777func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceToPointInTimeInput {
27778	s.DomainIAMRoleName = &v
27779	return s
27780}
27781
27782// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
27783func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput {
27784	s.EnableIAMDatabaseAuthentication = &v
27785	return s
27786}
27787
27788// SetEngine sets the Engine field's value.
27789func (s *RestoreDBInstanceToPointInTimeInput) SetEngine(v string) *RestoreDBInstanceToPointInTimeInput {
27790	s.Engine = &v
27791	return s
27792}
27793
27794// SetIops sets the Iops field's value.
27795func (s *RestoreDBInstanceToPointInTimeInput) SetIops(v int64) *RestoreDBInstanceToPointInTimeInput {
27796	s.Iops = &v
27797	return s
27798}
27799
27800// SetLicenseModel sets the LicenseModel field's value.
27801func (s *RestoreDBInstanceToPointInTimeInput) SetLicenseModel(v string) *RestoreDBInstanceToPointInTimeInput {
27802	s.LicenseModel = &v
27803	return s
27804}
27805
27806// SetMultiAZ sets the MultiAZ field's value.
27807func (s *RestoreDBInstanceToPointInTimeInput) SetMultiAZ(v bool) *RestoreDBInstanceToPointInTimeInput {
27808	s.MultiAZ = &v
27809	return s
27810}
27811
27812// SetOptionGroupName sets the OptionGroupName field's value.
27813func (s *RestoreDBInstanceToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
27814	s.OptionGroupName = &v
27815	return s
27816}
27817
27818// SetPort sets the Port field's value.
27819func (s *RestoreDBInstanceToPointInTimeInput) SetPort(v int64) *RestoreDBInstanceToPointInTimeInput {
27820	s.Port = &v
27821	return s
27822}
27823
27824// SetPubliclyAccessible sets the PubliclyAccessible field's value.
27825func (s *RestoreDBInstanceToPointInTimeInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceToPointInTimeInput {
27826	s.PubliclyAccessible = &v
27827	return s
27828}
27829
27830// SetRestoreTime sets the RestoreTime field's value.
27831func (s *RestoreDBInstanceToPointInTimeInput) SetRestoreTime(v time.Time) *RestoreDBInstanceToPointInTimeInput {
27832	s.RestoreTime = &v
27833	return s
27834}
27835
27836// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
27837func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
27838	s.SourceDBInstanceIdentifier = &v
27839	return s
27840}
27841
27842// SetStorageType sets the StorageType field's value.
27843func (s *RestoreDBInstanceToPointInTimeInput) SetStorageType(v string) *RestoreDBInstanceToPointInTimeInput {
27844	s.StorageType = &v
27845	return s
27846}
27847
27848// SetTags sets the Tags field's value.
27849func (s *RestoreDBInstanceToPointInTimeInput) SetTags(v []*Tag) *RestoreDBInstanceToPointInTimeInput {
27850	s.Tags = v
27851	return s
27852}
27853
27854// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
27855func (s *RestoreDBInstanceToPointInTimeInput) SetTargetDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
27856	s.TargetDBInstanceIdentifier = &v
27857	return s
27858}
27859
27860// SetTdeCredentialArn sets the TdeCredentialArn field's value.
27861func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialArn(v string) *RestoreDBInstanceToPointInTimeInput {
27862	s.TdeCredentialArn = &v
27863	return s
27864}
27865
27866// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
27867func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceToPointInTimeInput {
27868	s.TdeCredentialPassword = &v
27869	return s
27870}
27871
27872// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
27873func (s *RestoreDBInstanceToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBInstanceToPointInTimeInput {
27874	s.UseLatestRestorableTime = &v
27875	return s
27876}
27877
27878// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTimeResult
27879type RestoreDBInstanceToPointInTimeOutput struct {
27880	_ struct{} `type:"structure"`
27881
27882	// Contains the details of an Amazon RDS DB instance.
27883	//
27884	// This data type is used as a response element in the DescribeDBInstances action.
27885	DBInstance *DBInstance `type:"structure"`
27886}
27887
27888// String returns the string representation
27889func (s RestoreDBInstanceToPointInTimeOutput) String() string {
27890	return awsutil.Prettify(s)
27891}
27892
27893// GoString returns the string representation
27894func (s RestoreDBInstanceToPointInTimeOutput) GoString() string {
27895	return s.String()
27896}
27897
27898// SetDBInstance sets the DBInstance field's value.
27899func (s *RestoreDBInstanceToPointInTimeOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceToPointInTimeOutput {
27900	s.DBInstance = v
27901	return s
27902}
27903
27904// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngressMessage
27905type RevokeDBSecurityGroupIngressInput struct {
27906	_ struct{} `type:"structure"`
27907
27908	// The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP
27909	// is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId
27910	// can't be provided.
27911	CIDRIP *string `type:"string"`
27912
27913	// The name of the DB security group to revoke ingress from.
27914	//
27915	// DBSecurityGroupName is a required field
27916	DBSecurityGroupName *string `type:"string" required:"true"`
27917
27918	// The id of the EC2 security group to revoke access from. For VPC DB security
27919	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
27920	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
27921	EC2SecurityGroupId *string `type:"string"`
27922
27923	// The name of the EC2 security group to revoke access from. For VPC DB security
27924	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
27925	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
27926	EC2SecurityGroupName *string `type:"string"`
27927
27928	// The AWS Account Number of the owner of the EC2 security group specified in
27929	// the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable
27930	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
27931	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
27932	// must be provided.
27933	EC2SecurityGroupOwnerId *string `type:"string"`
27934}
27935
27936// String returns the string representation
27937func (s RevokeDBSecurityGroupIngressInput) String() string {
27938	return awsutil.Prettify(s)
27939}
27940
27941// GoString returns the string representation
27942func (s RevokeDBSecurityGroupIngressInput) GoString() string {
27943	return s.String()
27944}
27945
27946// Validate inspects the fields of the type to determine if they are valid.
27947func (s *RevokeDBSecurityGroupIngressInput) Validate() error {
27948	invalidParams := request.ErrInvalidParams{Context: "RevokeDBSecurityGroupIngressInput"}
27949	if s.DBSecurityGroupName == nil {
27950		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
27951	}
27952
27953	if invalidParams.Len() > 0 {
27954		return invalidParams
27955	}
27956	return nil
27957}
27958
27959// SetCIDRIP sets the CIDRIP field's value.
27960func (s *RevokeDBSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeDBSecurityGroupIngressInput {
27961	s.CIDRIP = &v
27962	return s
27963}
27964
27965// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
27966func (s *RevokeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
27967	s.DBSecurityGroupName = &v
27968	return s
27969}
27970
27971// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
27972func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *RevokeDBSecurityGroupIngressInput {
27973	s.EC2SecurityGroupId = &v
27974	return s
27975}
27976
27977// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
27978func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
27979	s.EC2SecurityGroupName = &v
27980	return s
27981}
27982
27983// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
27984func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeDBSecurityGroupIngressInput {
27985	s.EC2SecurityGroupOwnerId = &v
27986	return s
27987}
27988
27989// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngressResult
27990type RevokeDBSecurityGroupIngressOutput struct {
27991	_ struct{} `type:"structure"`
27992
27993	// Contains the details for an Amazon RDS DB security group.
27994	//
27995	// This data type is used as a response element in the DescribeDBSecurityGroups
27996	// action.
27997	DBSecurityGroup *DBSecurityGroup `type:"structure"`
27998}
27999
28000// String returns the string representation
28001func (s RevokeDBSecurityGroupIngressOutput) String() string {
28002	return awsutil.Prettify(s)
28003}
28004
28005// GoString returns the string representation
28006func (s RevokeDBSecurityGroupIngressOutput) GoString() string {
28007	return s.String()
28008}
28009
28010// SetDBSecurityGroup sets the DBSecurityGroup field's value.
28011func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *RevokeDBSecurityGroupIngressOutput {
28012	s.DBSecurityGroup = v
28013	return s
28014}
28015
28016// Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions
28017// action.
28018// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/SourceRegion
28019type SourceRegion struct {
28020	_ struct{} `type:"structure"`
28021
28022	// The endpoint for the source AWS Region endpoint.
28023	Endpoint *string `type:"string"`
28024
28025	// The name of the source AWS Region.
28026	RegionName *string `type:"string"`
28027
28028	// The status of the source AWS Region.
28029	Status *string `type:"string"`
28030}
28031
28032// String returns the string representation
28033func (s SourceRegion) String() string {
28034	return awsutil.Prettify(s)
28035}
28036
28037// GoString returns the string representation
28038func (s SourceRegion) GoString() string {
28039	return s.String()
28040}
28041
28042// SetEndpoint sets the Endpoint field's value.
28043func (s *SourceRegion) SetEndpoint(v string) *SourceRegion {
28044	s.Endpoint = &v
28045	return s
28046}
28047
28048// SetRegionName sets the RegionName field's value.
28049func (s *SourceRegion) SetRegionName(v string) *SourceRegion {
28050	s.RegionName = &v
28051	return s
28052}
28053
28054// SetStatus sets the Status field's value.
28055func (s *SourceRegion) SetStatus(v string) *SourceRegion {
28056	s.Status = &v
28057	return s
28058}
28059
28060// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstanceMessage
28061type StartDBInstanceInput struct {
28062	_ struct{} `type:"structure"`
28063
28064	// The user-supplied instance identifier.
28065	//
28066	// DBInstanceIdentifier is a required field
28067	DBInstanceIdentifier *string `type:"string" required:"true"`
28068}
28069
28070// String returns the string representation
28071func (s StartDBInstanceInput) String() string {
28072	return awsutil.Prettify(s)
28073}
28074
28075// GoString returns the string representation
28076func (s StartDBInstanceInput) GoString() string {
28077	return s.String()
28078}
28079
28080// Validate inspects the fields of the type to determine if they are valid.
28081func (s *StartDBInstanceInput) Validate() error {
28082	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceInput"}
28083	if s.DBInstanceIdentifier == nil {
28084		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
28085	}
28086
28087	if invalidParams.Len() > 0 {
28088		return invalidParams
28089	}
28090	return nil
28091}
28092
28093// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
28094func (s *StartDBInstanceInput) SetDBInstanceIdentifier(v string) *StartDBInstanceInput {
28095	s.DBInstanceIdentifier = &v
28096	return s
28097}
28098
28099// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstanceResult
28100type StartDBInstanceOutput struct {
28101	_ struct{} `type:"structure"`
28102
28103	// Contains the details of an Amazon RDS DB instance.
28104	//
28105	// This data type is used as a response element in the DescribeDBInstances action.
28106	DBInstance *DBInstance `type:"structure"`
28107}
28108
28109// String returns the string representation
28110func (s StartDBInstanceOutput) String() string {
28111	return awsutil.Prettify(s)
28112}
28113
28114// GoString returns the string representation
28115func (s StartDBInstanceOutput) GoString() string {
28116	return s.String()
28117}
28118
28119// SetDBInstance sets the DBInstance field's value.
28120func (s *StartDBInstanceOutput) SetDBInstance(v *DBInstance) *StartDBInstanceOutput {
28121	s.DBInstance = v
28122	return s
28123}
28124
28125// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstanceMessage
28126type StopDBInstanceInput struct {
28127	_ struct{} `type:"structure"`
28128
28129	// The user-supplied instance identifier.
28130	//
28131	// DBInstanceIdentifier is a required field
28132	DBInstanceIdentifier *string `type:"string" required:"true"`
28133
28134	// The user-supplied instance identifier of the DB Snapshot created immediately
28135	// before the DB instance is stopped.
28136	DBSnapshotIdentifier *string `type:"string"`
28137}
28138
28139// String returns the string representation
28140func (s StopDBInstanceInput) String() string {
28141	return awsutil.Prettify(s)
28142}
28143
28144// GoString returns the string representation
28145func (s StopDBInstanceInput) GoString() string {
28146	return s.String()
28147}
28148
28149// Validate inspects the fields of the type to determine if they are valid.
28150func (s *StopDBInstanceInput) Validate() error {
28151	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceInput"}
28152	if s.DBInstanceIdentifier == nil {
28153		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
28154	}
28155
28156	if invalidParams.Len() > 0 {
28157		return invalidParams
28158	}
28159	return nil
28160}
28161
28162// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
28163func (s *StopDBInstanceInput) SetDBInstanceIdentifier(v string) *StopDBInstanceInput {
28164	s.DBInstanceIdentifier = &v
28165	return s
28166}
28167
28168// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
28169func (s *StopDBInstanceInput) SetDBSnapshotIdentifier(v string) *StopDBInstanceInput {
28170	s.DBSnapshotIdentifier = &v
28171	return s
28172}
28173
28174// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstanceResult
28175type StopDBInstanceOutput struct {
28176	_ struct{} `type:"structure"`
28177
28178	// Contains the details of an Amazon RDS DB instance.
28179	//
28180	// This data type is used as a response element in the DescribeDBInstances action.
28181	DBInstance *DBInstance `type:"structure"`
28182}
28183
28184// String returns the string representation
28185func (s StopDBInstanceOutput) String() string {
28186	return awsutil.Prettify(s)
28187}
28188
28189// GoString returns the string representation
28190func (s StopDBInstanceOutput) GoString() string {
28191	return s.String()
28192}
28193
28194// SetDBInstance sets the DBInstance field's value.
28195func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutput {
28196	s.DBInstance = v
28197	return s
28198}
28199
28200// This data type is used as a response element in the DescribeDBSubnetGroups
28201// action.
28202// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Subnet
28203type Subnet struct {
28204	_ struct{} `type:"structure"`
28205
28206	// Contains Availability Zone information.
28207	//
28208	// This data type is used as an element in the following data type:
28209	//
28210	//    * OrderableDBInstanceOption
28211	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
28212
28213	// Specifies the identifier of the subnet.
28214	SubnetIdentifier *string `type:"string"`
28215
28216	// Specifies the status of the subnet.
28217	SubnetStatus *string `type:"string"`
28218}
28219
28220// String returns the string representation
28221func (s Subnet) String() string {
28222	return awsutil.Prettify(s)
28223}
28224
28225// GoString returns the string representation
28226func (s Subnet) GoString() string {
28227	return s.String()
28228}
28229
28230// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
28231func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
28232	s.SubnetAvailabilityZone = v
28233	return s
28234}
28235
28236// SetSubnetIdentifier sets the SubnetIdentifier field's value.
28237func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
28238	s.SubnetIdentifier = &v
28239	return s
28240}
28241
28242// SetSubnetStatus sets the SubnetStatus field's value.
28243func (s *Subnet) SetSubnetStatus(v string) *Subnet {
28244	s.SubnetStatus = &v
28245	return s
28246}
28247
28248// Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
28249// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Tag
28250type Tag struct {
28251	_ struct{} `type:"structure"`
28252
28253	// A key is the required name of the tag. The string value can be from 1 to
28254	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
28255	// The string can only contain only the set of Unicode letters, digits, white-space,
28256	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
28257	Key *string `type:"string"`
28258
28259	// A value is the optional value of the tag. The string value can be from 1
28260	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
28261	// "rds:". The string can only contain only the set of Unicode letters, digits,
28262	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
28263	Value *string `type:"string"`
28264}
28265
28266// String returns the string representation
28267func (s Tag) String() string {
28268	return awsutil.Prettify(s)
28269}
28270
28271// GoString returns the string representation
28272func (s Tag) GoString() string {
28273	return s.String()
28274}
28275
28276// SetKey sets the Key field's value.
28277func (s *Tag) SetKey(v string) *Tag {
28278	s.Key = &v
28279	return s
28280}
28281
28282// SetValue sets the Value field's value.
28283func (s *Tag) SetValue(v string) *Tag {
28284	s.Value = &v
28285	return s
28286}
28287
28288// A time zone associated with a DBInstance or a DBSnapshot. This data type
28289// is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots,
28290// and the DescribeDBEngineVersions actions.
28291// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Timezone
28292type Timezone struct {
28293	_ struct{} `type:"structure"`
28294
28295	// The name of the time zone.
28296	TimezoneName *string `type:"string"`
28297}
28298
28299// String returns the string representation
28300func (s Timezone) String() string {
28301	return awsutil.Prettify(s)
28302}
28303
28304// GoString returns the string representation
28305func (s Timezone) GoString() string {
28306	return s.String()
28307}
28308
28309// SetTimezoneName sets the TimezoneName field's value.
28310func (s *Timezone) SetTimezoneName(v string) *Timezone {
28311	s.TimezoneName = &v
28312	return s
28313}
28314
28315// The version of the database engine that a DB instance can be upgraded to.
28316// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/UpgradeTarget
28317type UpgradeTarget struct {
28318	_ struct{} `type:"structure"`
28319
28320	// A value that indicates whether the target version is applied to any source
28321	// DB instances that have AutoMinorVersionUpgrade set to true.
28322	AutoUpgrade *bool `type:"boolean"`
28323
28324	// The version of the database engine that a DB instance can be upgraded to.
28325	Description *string `type:"string"`
28326
28327	// The name of the upgrade target database engine.
28328	Engine *string `type:"string"`
28329
28330	// The version number of the upgrade target database engine.
28331	EngineVersion *string `type:"string"`
28332
28333	// A value that indicates whether a database engine is upgraded to a major version.
28334	IsMajorVersionUpgrade *bool `type:"boolean"`
28335}
28336
28337// String returns the string representation
28338func (s UpgradeTarget) String() string {
28339	return awsutil.Prettify(s)
28340}
28341
28342// GoString returns the string representation
28343func (s UpgradeTarget) GoString() string {
28344	return s.String()
28345}
28346
28347// SetAutoUpgrade sets the AutoUpgrade field's value.
28348func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
28349	s.AutoUpgrade = &v
28350	return s
28351}
28352
28353// SetDescription sets the Description field's value.
28354func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
28355	s.Description = &v
28356	return s
28357}
28358
28359// SetEngine sets the Engine field's value.
28360func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
28361	s.Engine = &v
28362	return s
28363}
28364
28365// SetEngineVersion sets the EngineVersion field's value.
28366func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
28367	s.EngineVersion = &v
28368	return s
28369}
28370
28371// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
28372func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
28373	s.IsMajorVersionUpgrade = &v
28374	return s
28375}
28376
28377// Information about valid modifications that you can make to your DB instance.
28378// Contains the result of a successful call to the DescribeValidDBInstanceModifications
28379// action. You can use this information when you call ModifyDBInstance.
28380// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ValidDBInstanceModificationsMessage
28381type ValidDBInstanceModificationsMessage struct {
28382	_ struct{} `type:"structure"`
28383
28384	// Valid storage options for your DB instance.
28385	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
28386}
28387
28388// String returns the string representation
28389func (s ValidDBInstanceModificationsMessage) String() string {
28390	return awsutil.Prettify(s)
28391}
28392
28393// GoString returns the string representation
28394func (s ValidDBInstanceModificationsMessage) GoString() string {
28395	return s.String()
28396}
28397
28398// SetStorage sets the Storage field's value.
28399func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
28400	s.Storage = v
28401	return s
28402}
28403
28404// Information about valid modifications that you can make to your DB instance.
28405// Contains the result of a successful call to the DescribeValidDBInstanceModifications
28406// action.
28407// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ValidStorageOptions
28408type ValidStorageOptions struct {
28409	_ struct{} `type:"structure"`
28410
28411	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
28412	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
28413	// times storage.
28414	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
28415
28416	// The valid range of provisioned IOPS. For example, 1000-20000.
28417	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
28418
28419	// The valid range of storage in gibibytes. For example, 100 to 16384.
28420	StorageSize []*Range `locationNameList:"Range" type:"list"`
28421
28422	// The valid storage types for your DB instance. For example, gp2, io1.
28423	StorageType *string `type:"string"`
28424}
28425
28426// String returns the string representation
28427func (s ValidStorageOptions) String() string {
28428	return awsutil.Prettify(s)
28429}
28430
28431// GoString returns the string representation
28432func (s ValidStorageOptions) GoString() string {
28433	return s.String()
28434}
28435
28436// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
28437func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
28438	s.IopsToStorageRatio = v
28439	return s
28440}
28441
28442// SetProvisionedIops sets the ProvisionedIops field's value.
28443func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
28444	s.ProvisionedIops = v
28445	return s
28446}
28447
28448// SetStorageSize sets the StorageSize field's value.
28449func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
28450	s.StorageSize = v
28451	return s
28452}
28453
28454// SetStorageType sets the StorageType field's value.
28455func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
28456	s.StorageType = &v
28457	return s
28458}
28459
28460// This data type is used as a response element for queries on VPC security
28461// group membership.
28462// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/VpcSecurityGroupMembership
28463type VpcSecurityGroupMembership struct {
28464	_ struct{} `type:"structure"`
28465
28466	// The status of the VPC security group.
28467	Status *string `type:"string"`
28468
28469	// The name of the VPC security group.
28470	VpcSecurityGroupId *string `type:"string"`
28471}
28472
28473// String returns the string representation
28474func (s VpcSecurityGroupMembership) String() string {
28475	return awsutil.Prettify(s)
28476}
28477
28478// GoString returns the string representation
28479func (s VpcSecurityGroupMembership) GoString() string {
28480	return s.String()
28481}
28482
28483// SetStatus sets the Status field's value.
28484func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
28485	s.Status = &v
28486	return s
28487}
28488
28489// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
28490func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
28491	s.VpcSecurityGroupId = &v
28492	return s
28493}
28494
28495const (
28496	// ApplyMethodImmediate is a ApplyMethod enum value
28497	ApplyMethodImmediate = "immediate"
28498
28499	// ApplyMethodPendingReboot is a ApplyMethod enum value
28500	ApplyMethodPendingReboot = "pending-reboot"
28501)
28502
28503const (
28504	// SourceTypeDbInstance is a SourceType enum value
28505	SourceTypeDbInstance = "db-instance"
28506
28507	// SourceTypeDbParameterGroup is a SourceType enum value
28508	SourceTypeDbParameterGroup = "db-parameter-group"
28509
28510	// SourceTypeDbSecurityGroup is a SourceType enum value
28511	SourceTypeDbSecurityGroup = "db-security-group"
28512
28513	// SourceTypeDbSnapshot is a SourceType enum value
28514	SourceTypeDbSnapshot = "db-snapshot"
28515
28516	// SourceTypeDbCluster is a SourceType enum value
28517	SourceTypeDbCluster = "db-cluster"
28518
28519	// SourceTypeDbClusterSnapshot is a SourceType enum value
28520	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
28521)
28522