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 completes
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 doesn't 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 isn't 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 completes
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 completes
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 doesn't refer to an existing DB instance.
255//
256//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
257//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
258//
259//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
260//   DBClusterIdentifier doesn't 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 completes
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 completes
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 doesn't refer to an existing DB security group.
432//
433//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
434//   The state of the DB security group doesn't allow deletion.
435//
436//   * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists"
437//   The specified CIDRIP or Amazon EC2 security group is already authorized for
438//   the specified DB security group.
439//
440//   * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded"
441//   The 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 opBacktrackDBCluster = "BacktrackDBCluster"
466
467// BacktrackDBClusterRequest generates a "aws/request.Request" representing the
468// client's request for the BacktrackDBCluster operation. The "output" return
469// value will be populated with the request's response once the request completes
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 BacktrackDBCluster for more information on using the BacktrackDBCluster
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 BacktrackDBClusterRequest method.
483//    req, resp := client.BacktrackDBClusterRequest(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/BacktrackDBCluster
491func (c *RDS) BacktrackDBClusterRequest(input *BacktrackDBClusterInput) (req *request.Request, output *BacktrackDBClusterOutput) {
492	op := &request.Operation{
493		Name:       opBacktrackDBCluster,
494		HTTPMethod: "POST",
495		HTTPPath:   "/",
496	}
497
498	if input == nil {
499		input = &BacktrackDBClusterInput{}
500	}
501
502	output = &BacktrackDBClusterOutput{}
503	req = c.newRequest(op, input, output)
504	return
505}
506
507// BacktrackDBCluster API operation for Amazon Relational Database Service.
508//
509// Backtracks a DB cluster to a specific time, without creating a new DB cluster.
510//
511// For more information on backtracking, see  Backtracking an Aurora DB Cluster
512// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Managing.Backtrack.html)
513// in the Amazon RDS User Guide.
514//
515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
516// with awserr.Error's Code and Message methods to get detailed information about
517// the error.
518//
519// See the AWS API reference guide for Amazon Relational Database Service's
520// API operation BacktrackDBCluster for usage and error information.
521//
522// Returned Error Codes:
523//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
524//   DBClusterIdentifier doesn't refer to an existing DB cluster.
525//
526//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
527//   The DB cluster isn't in a valid state.
528//
529// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
530func (c *RDS) BacktrackDBCluster(input *BacktrackDBClusterInput) (*BacktrackDBClusterOutput, error) {
531	req, out := c.BacktrackDBClusterRequest(input)
532	return out, req.Send()
533}
534
535// BacktrackDBClusterWithContext is the same as BacktrackDBCluster with the addition of
536// the ability to pass a context and additional request options.
537//
538// See BacktrackDBCluster 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) BacktrackDBClusterWithContext(ctx aws.Context, input *BacktrackDBClusterInput, opts ...request.Option) (*BacktrackDBClusterOutput, error) {
545	req, out := c.BacktrackDBClusterRequest(input)
546	req.SetContext(ctx)
547	req.ApplyOptions(opts...)
548	return out, req.Send()
549}
550
551const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
552
553// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
554// client's request for the CopyDBClusterParameterGroup operation. The "output" return
555// value will be populated with the request's response once the request completes
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 CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
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 CopyDBClusterParameterGroupRequest method.
569//    req, resp := client.CopyDBClusterParameterGroupRequest(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/CopyDBClusterParameterGroup
577func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
578	op := &request.Operation{
579		Name:       opCopyDBClusterParameterGroup,
580		HTTPMethod: "POST",
581		HTTPPath:   "/",
582	}
583
584	if input == nil {
585		input = &CopyDBClusterParameterGroupInput{}
586	}
587
588	output = &CopyDBClusterParameterGroupOutput{}
589	req = c.newRequest(op, input, output)
590	return
591}
592
593// CopyDBClusterParameterGroup API operation for Amazon Relational Database Service.
594//
595// Copies the specified DB cluster parameter group.
596//
597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
598// with awserr.Error's Code and Message methods to get detailed information about
599// the error.
600//
601// See the AWS API reference guide for Amazon Relational Database Service's
602// API operation CopyDBClusterParameterGroup for usage and error information.
603//
604// Returned Error Codes:
605//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
606//   DBParameterGroupName doesn't refer to an existing DB parameter group.
607//
608//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
609//   The request would result in the user exceeding the allowed number of DB parameter
610//   groups.
611//
612//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
613//   A DB parameter group with the same name exists.
614//
615// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
616func (c *RDS) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
617	req, out := c.CopyDBClusterParameterGroupRequest(input)
618	return out, req.Send()
619}
620
621// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
622// the ability to pass a context and additional request options.
623//
624// See CopyDBClusterParameterGroup for details on how to use this API operation.
625//
626// The context must be non-nil and will be used for request cancellation. If
627// the context is nil a panic will occur. In the future the SDK may create
628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
629// for more information on using Contexts.
630func (c *RDS) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
631	req, out := c.CopyDBClusterParameterGroupRequest(input)
632	req.SetContext(ctx)
633	req.ApplyOptions(opts...)
634	return out, req.Send()
635}
636
637const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
638
639// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
640// client's request for the CopyDBClusterSnapshot operation. The "output" return
641// value will be populated with the request's response once the request completes
642// successfuly.
643//
644// Use "Send" method on the returned Request to send the API call to the service.
645// the "output" return value is not valid until after Send returns without error.
646//
647// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
648// API call, and error handling.
649//
650// This method is useful when you want to inject custom logic or configuration
651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
652//
653//
654//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
655//    req, resp := client.CopyDBClusterSnapshotRequest(params)
656//
657//    err := req.Send()
658//    if err == nil { // resp is now filled
659//        fmt.Println(resp)
660//    }
661//
662// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
663func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
664	op := &request.Operation{
665		Name:       opCopyDBClusterSnapshot,
666		HTTPMethod: "POST",
667		HTTPPath:   "/",
668	}
669
670	if input == nil {
671		input = &CopyDBClusterSnapshotInput{}
672	}
673
674	output = &CopyDBClusterSnapshotOutput{}
675	req = c.newRequest(op, input, output)
676	return
677}
678
679// CopyDBClusterSnapshot API operation for Amazon Relational Database Service.
680//
681// Copies a snapshot of a DB cluster.
682//
683// To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
684// must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
685//
686// You can copy an encrypted DB cluster snapshot from another AWS Region. In
687// that case, the AWS Region where you call the CopyDBClusterSnapshot action
688// is the destination AWS Region for the encrypted DB cluster snapshot to be
689// copied to. To copy an encrypted DB cluster snapshot from another AWS Region,
690// you must provide the following values:
691//
692//    * KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for
693//    the key to use to encrypt the copy of the DB cluster snapshot in the destination
694//    AWS Region.
695//
696//    * PreSignedUrl - A URL that contains a Signature Version 4 signed request
697//    for the CopyDBClusterSnapshot action to be called in the source AWS Region
698//    where the DB cluster snapshot is copied from. The pre-signed URL must
699//    be a valid request for the CopyDBClusterSnapshot API action that can be
700//    executed in the source AWS Region that contains the encrypted DB cluster
701//    snapshot to be copied.
702//
703// The pre-signed URL request must contain the following parameter values:
704//
705// KmsKeyId - The KMS key identifier for the key to use to encrypt the copy
706//    of the DB cluster snapshot in the destination AWS Region. This is the
707//    same identifier for both the CopyDBClusterSnapshot action that is called
708//    in the destination AWS Region, and the action contained in the pre-signed
709//    URL.
710//
711// DestinationRegion - The name of the AWS Region that the DB cluster snapshot
712//    will be created in.
713//
714// SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for
715//    the encrypted DB cluster snapshot to be copied. This identifier must be
716//    in the Amazon Resource Name (ARN) format for the source AWS Region. For
717//    example, if you are copying an encrypted DB cluster snapshot from the
718//    us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks
719//    like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
720//
721// To learn how to generate a Signature Version 4 signed request, see  Authenticating
722//    Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
723//    and  Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
724//
725//    * TargetDBClusterSnapshotIdentifier - The identifier for the new copy
726//    of the DB cluster snapshot in the destination AWS Region.
727//
728//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
729//    for the encrypted DB cluster snapshot to be copied. This identifier must
730//    be in the ARN format for the source AWS Region and is the same value as
731//    the SourceDBClusterSnapshotIdentifier in the pre-signed URL.
732//
733// To cancel the copy operation once it is in progress, delete the target DB
734// cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that
735// DB cluster snapshot is in "copying" status.
736//
737// For more information on copying encrypted DB cluster snapshots from one AWS
738// Region to another, see  Copying a DB Cluster Snapshot in the Same Account,
739// Either in the Same Region or Across Regions (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBClusterSnapshot.CrossRegion)
740// in the Amazon RDS User Guide.
741//
742// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
743// in the Amazon RDS User Guide.
744//
745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
746// with awserr.Error's Code and Message methods to get detailed information about
747// the error.
748//
749// See the AWS API reference guide for Amazon Relational Database Service's
750// API operation CopyDBClusterSnapshot for usage and error information.
751//
752// Returned Error Codes:
753//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
754//   The user already has a DB cluster snapshot with the given identifier.
755//
756//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
757//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
758//
759//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
760//   The DB cluster isn't in a valid state.
761//
762//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
763//   The supplied value isn't a valid DB cluster snapshot state.
764//
765//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
766//   The request would result in the user exceeding the allowed number of DB snapshots.
767//
768//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
769//   An error occurred accessing an AWS KMS key.
770//
771// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
772func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
773	req, out := c.CopyDBClusterSnapshotRequest(input)
774	return out, req.Send()
775}
776
777// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
778// the ability to pass a context and additional request options.
779//
780// See CopyDBClusterSnapshot 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) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
787	req, out := c.CopyDBClusterSnapshotRequest(input)
788	req.SetContext(ctx)
789	req.ApplyOptions(opts...)
790	return out, req.Send()
791}
792
793const opCopyDBParameterGroup = "CopyDBParameterGroup"
794
795// CopyDBParameterGroupRequest generates a "aws/request.Request" representing the
796// client's request for the CopyDBParameterGroup operation. The "output" return
797// value will be populated with the request's response once the request completes
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 CopyDBParameterGroup for more information on using the CopyDBParameterGroup
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 CopyDBParameterGroupRequest method.
811//    req, resp := client.CopyDBParameterGroupRequest(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/CopyDBParameterGroup
819func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) {
820	op := &request.Operation{
821		Name:       opCopyDBParameterGroup,
822		HTTPMethod: "POST",
823		HTTPPath:   "/",
824	}
825
826	if input == nil {
827		input = &CopyDBParameterGroupInput{}
828	}
829
830	output = &CopyDBParameterGroupOutput{}
831	req = c.newRequest(op, input, output)
832	return
833}
834
835// CopyDBParameterGroup API operation for Amazon Relational Database Service.
836//
837// Copies the specified DB parameter group.
838//
839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
840// with awserr.Error's Code and Message methods to get detailed information about
841// the error.
842//
843// See the AWS API reference guide for Amazon Relational Database Service's
844// API operation CopyDBParameterGroup for usage and error information.
845//
846// Returned Error Codes:
847//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
848//   DBParameterGroupName doesn't refer to an existing DB parameter group.
849//
850//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
851//   A DB parameter group with the same name exists.
852//
853//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
854//   The request would result in the user exceeding the allowed number of DB parameter
855//   groups.
856//
857// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
858func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) {
859	req, out := c.CopyDBParameterGroupRequest(input)
860	return out, req.Send()
861}
862
863// CopyDBParameterGroupWithContext is the same as CopyDBParameterGroup with the addition of
864// the ability to pass a context and additional request options.
865//
866// See CopyDBParameterGroup for details on how to use this API operation.
867//
868// The context must be non-nil and will be used for request cancellation. If
869// the context is nil a panic will occur. In the future the SDK may create
870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
871// for more information on using Contexts.
872func (c *RDS) CopyDBParameterGroupWithContext(ctx aws.Context, input *CopyDBParameterGroupInput, opts ...request.Option) (*CopyDBParameterGroupOutput, error) {
873	req, out := c.CopyDBParameterGroupRequest(input)
874	req.SetContext(ctx)
875	req.ApplyOptions(opts...)
876	return out, req.Send()
877}
878
879const opCopyDBSnapshot = "CopyDBSnapshot"
880
881// CopyDBSnapshotRequest generates a "aws/request.Request" representing the
882// client's request for the CopyDBSnapshot operation. The "output" return
883// value will be populated with the request's response once the request completes
884// successfuly.
885//
886// Use "Send" method on the returned Request to send the API call to the service.
887// the "output" return value is not valid until after Send returns without error.
888//
889// See CopyDBSnapshot for more information on using the CopyDBSnapshot
890// API call, and error handling.
891//
892// This method is useful when you want to inject custom logic or configuration
893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
894//
895//
896//    // Example sending a request using the CopyDBSnapshotRequest method.
897//    req, resp := client.CopyDBSnapshotRequest(params)
898//
899//    err := req.Send()
900//    if err == nil { // resp is now filled
901//        fmt.Println(resp)
902//    }
903//
904// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
905func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Request, output *CopyDBSnapshotOutput) {
906	op := &request.Operation{
907		Name:       opCopyDBSnapshot,
908		HTTPMethod: "POST",
909		HTTPPath:   "/",
910	}
911
912	if input == nil {
913		input = &CopyDBSnapshotInput{}
914	}
915
916	output = &CopyDBSnapshotOutput{}
917	req = c.newRequest(op, input, output)
918	return
919}
920
921// CopyDBSnapshot API operation for Amazon Relational Database Service.
922//
923// Copies the specified DB snapshot. The source DB snapshot must be in the "available"
924// state.
925//
926// You can copy a snapshot from one AWS Region to another. In that case, the
927// AWS Region where you call the CopyDBSnapshot action is the destination AWS
928// Region for the DB snapshot copy.
929//
930// For more information about copying snapshots, see Copying a DB Snapshot (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopyDBSnapshot.html)
931// in the Amazon RDS User Guide.
932//
933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
934// with awserr.Error's Code and Message methods to get detailed information about
935// the error.
936//
937// See the AWS API reference guide for Amazon Relational Database Service's
938// API operation CopyDBSnapshot for usage and error information.
939//
940// Returned Error Codes:
941//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
942//   DBSnapshotIdentifier is already used by an existing snapshot.
943//
944//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
945//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
946//
947//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
948//   The state of the DB snapshot doesn't allow deletion.
949//
950//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
951//   The request would result in the user exceeding the allowed number of DB snapshots.
952//
953//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
954//   An error occurred accessing an AWS KMS key.
955//
956// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
957func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, error) {
958	req, out := c.CopyDBSnapshotRequest(input)
959	return out, req.Send()
960}
961
962// CopyDBSnapshotWithContext is the same as CopyDBSnapshot with the addition of
963// the ability to pass a context and additional request options.
964//
965// See CopyDBSnapshot for details on how to use this API operation.
966//
967// The context must be non-nil and will be used for request cancellation. If
968// the context is nil a panic will occur. In the future the SDK may create
969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
970// for more information on using Contexts.
971func (c *RDS) CopyDBSnapshotWithContext(ctx aws.Context, input *CopyDBSnapshotInput, opts ...request.Option) (*CopyDBSnapshotOutput, error) {
972	req, out := c.CopyDBSnapshotRequest(input)
973	req.SetContext(ctx)
974	req.ApplyOptions(opts...)
975	return out, req.Send()
976}
977
978const opCopyOptionGroup = "CopyOptionGroup"
979
980// CopyOptionGroupRequest generates a "aws/request.Request" representing the
981// client's request for the CopyOptionGroup operation. The "output" return
982// value will be populated with the request's response once the request completes
983// successfuly.
984//
985// Use "Send" method on the returned Request to send the API call to the service.
986// the "output" return value is not valid until after Send returns without error.
987//
988// See CopyOptionGroup for more information on using the CopyOptionGroup
989// API call, and error handling.
990//
991// This method is useful when you want to inject custom logic or configuration
992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
993//
994//
995//    // Example sending a request using the CopyOptionGroupRequest method.
996//    req, resp := client.CopyOptionGroupRequest(params)
997//
998//    err := req.Send()
999//    if err == nil { // resp is now filled
1000//        fmt.Println(resp)
1001//    }
1002//
1003// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1004func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request.Request, output *CopyOptionGroupOutput) {
1005	op := &request.Operation{
1006		Name:       opCopyOptionGroup,
1007		HTTPMethod: "POST",
1008		HTTPPath:   "/",
1009	}
1010
1011	if input == nil {
1012		input = &CopyOptionGroupInput{}
1013	}
1014
1015	output = &CopyOptionGroupOutput{}
1016	req = c.newRequest(op, input, output)
1017	return
1018}
1019
1020// CopyOptionGroup API operation for Amazon Relational Database Service.
1021//
1022// Copies the specified option group.
1023//
1024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1025// with awserr.Error's Code and Message methods to get detailed information about
1026// the error.
1027//
1028// See the AWS API reference guide for Amazon Relational Database Service's
1029// API operation CopyOptionGroup for usage and error information.
1030//
1031// Returned Error Codes:
1032//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
1033//   The option group you are trying to create already exists.
1034//
1035//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1036//   The specified option group could not be found.
1037//
1038//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
1039//   The quota of 20 option groups was exceeded for this AWS account.
1040//
1041// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1042func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutput, error) {
1043	req, out := c.CopyOptionGroupRequest(input)
1044	return out, req.Send()
1045}
1046
1047// CopyOptionGroupWithContext is the same as CopyOptionGroup with the addition of
1048// the ability to pass a context and additional request options.
1049//
1050// See CopyOptionGroup for details on how to use this API operation.
1051//
1052// The context must be non-nil and will be used for request cancellation. If
1053// the context is nil a panic will occur. In the future the SDK may create
1054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1055// for more information on using Contexts.
1056func (c *RDS) CopyOptionGroupWithContext(ctx aws.Context, input *CopyOptionGroupInput, opts ...request.Option) (*CopyOptionGroupOutput, error) {
1057	req, out := c.CopyOptionGroupRequest(input)
1058	req.SetContext(ctx)
1059	req.ApplyOptions(opts...)
1060	return out, req.Send()
1061}
1062
1063const opCreateDBCluster = "CreateDBCluster"
1064
1065// CreateDBClusterRequest generates a "aws/request.Request" representing the
1066// client's request for the CreateDBCluster operation. The "output" return
1067// value will be populated with the request's response once the request completes
1068// successfuly.
1069//
1070// Use "Send" method on the returned Request to send the API call to the service.
1071// the "output" return value is not valid until after Send returns without error.
1072//
1073// See CreateDBCluster for more information on using the CreateDBCluster
1074// API call, and error handling.
1075//
1076// This method is useful when you want to inject custom logic or configuration
1077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1078//
1079//
1080//    // Example sending a request using the CreateDBClusterRequest method.
1081//    req, resp := client.CreateDBClusterRequest(params)
1082//
1083//    err := req.Send()
1084//    if err == nil { // resp is now filled
1085//        fmt.Println(resp)
1086//    }
1087//
1088// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1089func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
1090	op := &request.Operation{
1091		Name:       opCreateDBCluster,
1092		HTTPMethod: "POST",
1093		HTTPPath:   "/",
1094	}
1095
1096	if input == nil {
1097		input = &CreateDBClusterInput{}
1098	}
1099
1100	output = &CreateDBClusterOutput{}
1101	req = c.newRequest(op, input, output)
1102	return
1103}
1104
1105// CreateDBCluster API operation for Amazon Relational Database Service.
1106//
1107// Creates a new Amazon Aurora DB cluster.
1108//
1109// You can use the ReplicationSourceIdentifier parameter to create the DB cluster
1110// as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance.
1111// For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier
1112// is encrypted, you must also specify the PreSignedUrl parameter.
1113//
1114// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
1115// in the Amazon RDS User Guide.
1116//
1117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1118// with awserr.Error's Code and Message methods to get detailed information about
1119// the error.
1120//
1121// See the AWS API reference guide for Amazon Relational Database Service's
1122// API operation CreateDBCluster for usage and error information.
1123//
1124// Returned Error Codes:
1125//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
1126//   The user already has a DB cluster with the given identifier.
1127//
1128//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
1129//   There is insufficient storage available for the current action. You might
1130//   be able to resolve this error by updating your subnet group to use different
1131//   Availability Zones that have more storage available.
1132//
1133//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
1134//   The user attempted to create a new DB cluster and the user has already reached
1135//   the maximum allowed DB cluster quota.
1136//
1137//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1138//   The request would result in the user exceeding the allowed amount of storage
1139//   available across all DB instances.
1140//
1141//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1142//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1143//
1144//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1145//   The DB subnet group doesn't cover all Availability Zones after it's created
1146//   because of users' change.
1147//
1148//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1149//   The DB cluster isn't in a valid state.
1150//
1151//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1152//   The DB subnet group cannot be deleted because it's in use.
1153//
1154//   * ErrCodeInvalidSubnet "InvalidSubnet"
1155//   The requested subnet is invalid, or multiple subnets were requested that
1156//   are not all in a common VPC.
1157//
1158//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1159//   The specified DB instance isn't in the available state.
1160//
1161//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
1162//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
1163//   group.
1164//
1165//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1166//   An error occurred accessing an AWS KMS key.
1167//
1168//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1169//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1170//
1171//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1172//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1173//
1174//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1175//   Subnets in the DB subnet group should cover at least two Availability Zones
1176//   unless there is only one Availability Zone.
1177//
1178// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1179func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
1180	req, out := c.CreateDBClusterRequest(input)
1181	return out, req.Send()
1182}
1183
1184// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
1185// the ability to pass a context and additional request options.
1186//
1187// See CreateDBCluster for details on how to use this API operation.
1188//
1189// The context must be non-nil and will be used for request cancellation. If
1190// the context is nil a panic will occur. In the future the SDK may create
1191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1192// for more information on using Contexts.
1193func (c *RDS) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
1194	req, out := c.CreateDBClusterRequest(input)
1195	req.SetContext(ctx)
1196	req.ApplyOptions(opts...)
1197	return out, req.Send()
1198}
1199
1200const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
1201
1202// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1203// client's request for the CreateDBClusterParameterGroup operation. The "output" return
1204// value will be populated with the request's response once the request completes
1205// successfuly.
1206//
1207// Use "Send" method on the returned Request to send the API call to the service.
1208// the "output" return value is not valid until after Send returns without error.
1209//
1210// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
1211// API call, and error handling.
1212//
1213// This method is useful when you want to inject custom logic or configuration
1214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1215//
1216//
1217//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
1218//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
1219//
1220//    err := req.Send()
1221//    if err == nil { // resp is now filled
1222//        fmt.Println(resp)
1223//    }
1224//
1225// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1226func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
1227	op := &request.Operation{
1228		Name:       opCreateDBClusterParameterGroup,
1229		HTTPMethod: "POST",
1230		HTTPPath:   "/",
1231	}
1232
1233	if input == nil {
1234		input = &CreateDBClusterParameterGroupInput{}
1235	}
1236
1237	output = &CreateDBClusterParameterGroupOutput{}
1238	req = c.newRequest(op, input, output)
1239	return
1240}
1241
1242// CreateDBClusterParameterGroup API operation for Amazon Relational Database Service.
1243//
1244// Creates a new DB cluster parameter group.
1245//
1246// Parameters in a DB cluster parameter group apply to all of the instances
1247// in a DB cluster.
1248//
1249// A DB cluster parameter group is initially created with the default parameters
1250// for the database engine used by instances in the DB cluster. To provide custom
1251// values for any of the parameters, you must modify the group after creating
1252// it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
1253// parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
1254// When you associate a new DB cluster parameter group with a running DB cluster,
1255// you need to reboot the DB instances in the DB cluster without failover for
1256// the new DB cluster parameter group and associated settings to take effect.
1257//
1258// After you create a DB cluster parameter group, you should wait at least 5
1259// minutes before creating your first DB cluster that uses that DB cluster parameter
1260// group as the default parameter group. This allows Amazon RDS to fully complete
1261// the create action before the DB cluster parameter group is used as the default
1262// for a new DB cluster. This is especially important for parameters that are
1263// critical when creating the default database for a DB cluster, such as the
1264// character set for the default database defined by the character_set_database
1265// parameter. You can use the Parameter Groups option of the Amazon RDS console
1266// (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
1267// command to verify that your DB cluster parameter group has been created or
1268// modified.
1269//
1270// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
1271// in the Amazon RDS User Guide.
1272//
1273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1274// with awserr.Error's Code and Message methods to get detailed information about
1275// the error.
1276//
1277// See the AWS API reference guide for Amazon Relational Database Service's
1278// API operation CreateDBClusterParameterGroup for usage and error information.
1279//
1280// Returned Error Codes:
1281//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1282//   The request would result in the user exceeding the allowed number of DB parameter
1283//   groups.
1284//
1285//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1286//   A DB parameter group with the same name exists.
1287//
1288// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1289func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
1290	req, out := c.CreateDBClusterParameterGroupRequest(input)
1291	return out, req.Send()
1292}
1293
1294// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
1295// the ability to pass a context and additional request options.
1296//
1297// See CreateDBClusterParameterGroup for details on how to use this API operation.
1298//
1299// The context must be non-nil and will be used for request cancellation. If
1300// the context is nil a panic will occur. In the future the SDK may create
1301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1302// for more information on using Contexts.
1303func (c *RDS) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
1304	req, out := c.CreateDBClusterParameterGroupRequest(input)
1305	req.SetContext(ctx)
1306	req.ApplyOptions(opts...)
1307	return out, req.Send()
1308}
1309
1310const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
1311
1312// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1313// client's request for the CreateDBClusterSnapshot operation. The "output" return
1314// value will be populated with the request's response once the request completes
1315// successfuly.
1316//
1317// Use "Send" method on the returned Request to send the API call to the service.
1318// the "output" return value is not valid until after Send returns without error.
1319//
1320// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
1321// API call, and error handling.
1322//
1323// This method is useful when you want to inject custom logic or configuration
1324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1325//
1326//
1327//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
1328//    req, resp := client.CreateDBClusterSnapshotRequest(params)
1329//
1330//    err := req.Send()
1331//    if err == nil { // resp is now filled
1332//        fmt.Println(resp)
1333//    }
1334//
1335// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1336func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
1337	op := &request.Operation{
1338		Name:       opCreateDBClusterSnapshot,
1339		HTTPMethod: "POST",
1340		HTTPPath:   "/",
1341	}
1342
1343	if input == nil {
1344		input = &CreateDBClusterSnapshotInput{}
1345	}
1346
1347	output = &CreateDBClusterSnapshotOutput{}
1348	req = c.newRequest(op, input, output)
1349	return
1350}
1351
1352// CreateDBClusterSnapshot API operation for Amazon Relational Database Service.
1353//
1354// Creates a snapshot of a DB cluster. For more information on Amazon Aurora,
1355// see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
1356// in the Amazon RDS User Guide.
1357//
1358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1359// with awserr.Error's Code and Message methods to get detailed information about
1360// the error.
1361//
1362// See the AWS API reference guide for Amazon Relational Database Service's
1363// API operation CreateDBClusterSnapshot for usage and error information.
1364//
1365// Returned Error Codes:
1366//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1367//   The user already has a DB cluster snapshot with the given identifier.
1368//
1369//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1370//   The DB cluster isn't in a valid state.
1371//
1372//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1373//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1374//
1375//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1376//   The request would result in the user exceeding the allowed number of DB snapshots.
1377//
1378//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1379//   The supplied value isn't a valid DB cluster snapshot state.
1380//
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1382func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
1383	req, out := c.CreateDBClusterSnapshotRequest(input)
1384	return out, req.Send()
1385}
1386
1387// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
1388// the ability to pass a context and additional request options.
1389//
1390// See CreateDBClusterSnapshot for details on how to use this API operation.
1391//
1392// The context must be non-nil and will be used for request cancellation. If
1393// the context is nil a panic will occur. In the future the SDK may create
1394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1395// for more information on using Contexts.
1396func (c *RDS) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
1397	req, out := c.CreateDBClusterSnapshotRequest(input)
1398	req.SetContext(ctx)
1399	req.ApplyOptions(opts...)
1400	return out, req.Send()
1401}
1402
1403const opCreateDBInstance = "CreateDBInstance"
1404
1405// CreateDBInstanceRequest generates a "aws/request.Request" representing the
1406// client's request for the CreateDBInstance operation. The "output" return
1407// value will be populated with the request's response once the request completes
1408// successfuly.
1409//
1410// Use "Send" method on the returned Request to send the API call to the service.
1411// the "output" return value is not valid until after Send returns without error.
1412//
1413// See CreateDBInstance for more information on using the CreateDBInstance
1414// API call, and error handling.
1415//
1416// This method is useful when you want to inject custom logic or configuration
1417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1418//
1419//
1420//    // Example sending a request using the CreateDBInstanceRequest method.
1421//    req, resp := client.CreateDBInstanceRequest(params)
1422//
1423//    err := req.Send()
1424//    if err == nil { // resp is now filled
1425//        fmt.Println(resp)
1426//    }
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1429func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
1430	op := &request.Operation{
1431		Name:       opCreateDBInstance,
1432		HTTPMethod: "POST",
1433		HTTPPath:   "/",
1434	}
1435
1436	if input == nil {
1437		input = &CreateDBInstanceInput{}
1438	}
1439
1440	output = &CreateDBInstanceOutput{}
1441	req = c.newRequest(op, input, output)
1442	return
1443}
1444
1445// CreateDBInstance API operation for Amazon Relational Database Service.
1446//
1447// Creates a new DB instance.
1448//
1449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1450// with awserr.Error's Code and Message methods to get detailed information about
1451// the error.
1452//
1453// See the AWS API reference guide for Amazon Relational Database Service's
1454// API operation CreateDBInstance for usage and error information.
1455//
1456// Returned Error Codes:
1457//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1458//   The user already has a DB instance with the given identifier.
1459//
1460//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1461//   The specified DB instance class isn't available in the specified Availability
1462//   Zone.
1463//
1464//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1465//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1466//
1467//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1468//   DBSecurityGroupName doesn't refer to an existing DB security group.
1469//
1470//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1471//   The request would result in the user exceeding the allowed number of DB instances.
1472//
1473//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1474//   The request would result in the user exceeding the allowed amount of storage
1475//   available across all DB instances.
1476//
1477//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1478//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1479//
1480//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1481//   Subnets in the DB subnet group should cover at least two Availability Zones
1482//   unless there is only one Availability Zone.
1483//
1484//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1485//   The DB cluster isn't in a valid state.
1486//
1487//   * ErrCodeInvalidSubnet "InvalidSubnet"
1488//   The requested subnet is invalid, or multiple subnets were requested that
1489//   are not all in a common VPC.
1490//
1491//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1492//   The DB subnet group doesn't cover all Availability Zones after it's created
1493//   because of users' change.
1494//
1495//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1496//   Provisioned IOPS not available in the specified Availability Zone.
1497//
1498//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1499//   The specified option group could not be found.
1500//
1501//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1502//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1503//
1504//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1505//   Storage of the StorageType specified can't be associated with the DB instance.
1506//
1507//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
1508//   The specified CIDRIP or Amazon EC2 security group isn't authorized for the
1509//   specified DB security group.
1510//
1511//   RDS also may not be authorized by using IAM to perform necessary actions
1512//   on your behalf.
1513//
1514//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1515//   An error occurred accessing an AWS KMS key.
1516//
1517//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1518//   Domain doesn't refer to an existing Active Directory domain.
1519//
1520//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
1521//
1522// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1523func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
1524	req, out := c.CreateDBInstanceRequest(input)
1525	return out, req.Send()
1526}
1527
1528// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
1529// the ability to pass a context and additional request options.
1530//
1531// See CreateDBInstance for details on how to use this API operation.
1532//
1533// The context must be non-nil and will be used for request cancellation. If
1534// the context is nil a panic will occur. In the future the SDK may create
1535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1536// for more information on using Contexts.
1537func (c *RDS) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
1538	req, out := c.CreateDBInstanceRequest(input)
1539	req.SetContext(ctx)
1540	req.ApplyOptions(opts...)
1541	return out, req.Send()
1542}
1543
1544const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica"
1545
1546// CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the
1547// client's request for the CreateDBInstanceReadReplica operation. The "output" return
1548// value will be populated with the request's response once the request completes
1549// successfuly.
1550//
1551// Use "Send" method on the returned Request to send the API call to the service.
1552// the "output" return value is not valid until after Send returns without error.
1553//
1554// See CreateDBInstanceReadReplica for more information on using the CreateDBInstanceReadReplica
1555// API call, and error handling.
1556//
1557// This method is useful when you want to inject custom logic or configuration
1558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1559//
1560//
1561//    // Example sending a request using the CreateDBInstanceReadReplicaRequest method.
1562//    req, resp := client.CreateDBInstanceReadReplicaRequest(params)
1563//
1564//    err := req.Send()
1565//    if err == nil { // resp is now filled
1566//        fmt.Println(resp)
1567//    }
1568//
1569// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
1570func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadReplicaInput) (req *request.Request, output *CreateDBInstanceReadReplicaOutput) {
1571	op := &request.Operation{
1572		Name:       opCreateDBInstanceReadReplica,
1573		HTTPMethod: "POST",
1574		HTTPPath:   "/",
1575	}
1576
1577	if input == nil {
1578		input = &CreateDBInstanceReadReplicaInput{}
1579	}
1580
1581	output = &CreateDBInstanceReadReplicaOutput{}
1582	req = c.newRequest(op, input, output)
1583	return
1584}
1585
1586// CreateDBInstanceReadReplica API operation for Amazon Relational Database Service.
1587//
1588// Creates a new DB instance that acts as a Read Replica for an existing source
1589// DB instance. You can create a Read Replica for a DB instance running MySQL,
1590// MariaDB, or PostgreSQL. For more information, see Working with PostgreSQL,
1591// MySQL, and MariaDB Read Replicas (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html).
1592//
1593// Amazon Aurora doesn't support this action. You must call the CreateDBInstance
1594// action to create a DB instance for an Aurora DB cluster.
1595//
1596// All Read Replica DB instances are created with backups disabled. All other
1597// DB instance attributes (including DB security groups and DB parameter groups)
1598// are inherited from the source DB instance, except as specified following.
1599//
1600// Your source DB instance must have backup retention enabled.
1601//
1602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1603// with awserr.Error's Code and Message methods to get detailed information about
1604// the error.
1605//
1606// See the AWS API reference guide for Amazon Relational Database Service's
1607// API operation CreateDBInstanceReadReplica for usage and error information.
1608//
1609// Returned Error Codes:
1610//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1611//   The user already has a DB instance with the given identifier.
1612//
1613//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1614//   The specified DB instance class isn't available in the specified Availability
1615//   Zone.
1616//
1617//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1618//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1619//
1620//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1621//   DBSecurityGroupName doesn't refer to an existing DB security group.
1622//
1623//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1624//   The request would result in the user exceeding the allowed number of DB instances.
1625//
1626//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1627//   The request would result in the user exceeding the allowed amount of storage
1628//   available across all DB instances.
1629//
1630//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1631//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1632//
1633//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1634//   The specified DB instance isn't in the available state.
1635//
1636//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1637//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1638//
1639//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1640//   Subnets in the DB subnet group should cover at least two Availability Zones
1641//   unless there is only one Availability Zone.
1642//
1643//   * ErrCodeInvalidSubnet "InvalidSubnet"
1644//   The requested subnet is invalid, or multiple subnets were requested that
1645//   are not all in a common VPC.
1646//
1647//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1648//   The DB subnet group doesn't cover all Availability Zones after it's created
1649//   because of users' change.
1650//
1651//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1652//   Provisioned IOPS not available in the specified Availability Zone.
1653//
1654//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1655//   The specified option group could not be found.
1656//
1657//   * ErrCodeDBSubnetGroupNotAllowedFault "DBSubnetGroupNotAllowedFault"
1658//   The DBSubnetGroup shouldn't be specified while creating read replicas that
1659//   lie in the same region as the source instance.
1660//
1661//   * ErrCodeInvalidDBSubnetGroupFault "InvalidDBSubnetGroupFault"
1662//   The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region
1663//   read replica of the same source instance.
1664//
1665//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1666//   Storage of the StorageType specified can't be associated with the DB instance.
1667//
1668//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1669//   An error occurred accessing an AWS KMS key.
1670//
1671// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
1672func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) {
1673	req, out := c.CreateDBInstanceReadReplicaRequest(input)
1674	return out, req.Send()
1675}
1676
1677// CreateDBInstanceReadReplicaWithContext is the same as CreateDBInstanceReadReplica with the addition of
1678// the ability to pass a context and additional request options.
1679//
1680// See CreateDBInstanceReadReplica for details on how to use this API operation.
1681//
1682// The context must be non-nil and will be used for request cancellation. If
1683// the context is nil a panic will occur. In the future the SDK may create
1684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1685// for more information on using Contexts.
1686func (c *RDS) CreateDBInstanceReadReplicaWithContext(ctx aws.Context, input *CreateDBInstanceReadReplicaInput, opts ...request.Option) (*CreateDBInstanceReadReplicaOutput, error) {
1687	req, out := c.CreateDBInstanceReadReplicaRequest(input)
1688	req.SetContext(ctx)
1689	req.ApplyOptions(opts...)
1690	return out, req.Send()
1691}
1692
1693const opCreateDBParameterGroup = "CreateDBParameterGroup"
1694
1695// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
1696// client's request for the CreateDBParameterGroup operation. The "output" return
1697// value will be populated with the request's response once the request completes
1698// successfuly.
1699//
1700// Use "Send" method on the returned Request to send the API call to the service.
1701// the "output" return value is not valid until after Send returns without error.
1702//
1703// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
1704// API call, and error handling.
1705//
1706// This method is useful when you want to inject custom logic or configuration
1707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1708//
1709//
1710//    // Example sending a request using the CreateDBParameterGroupRequest method.
1711//    req, resp := client.CreateDBParameterGroupRequest(params)
1712//
1713//    err := req.Send()
1714//    if err == nil { // resp is now filled
1715//        fmt.Println(resp)
1716//    }
1717//
1718// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
1719func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
1720	op := &request.Operation{
1721		Name:       opCreateDBParameterGroup,
1722		HTTPMethod: "POST",
1723		HTTPPath:   "/",
1724	}
1725
1726	if input == nil {
1727		input = &CreateDBParameterGroupInput{}
1728	}
1729
1730	output = &CreateDBParameterGroupOutput{}
1731	req = c.newRequest(op, input, output)
1732	return
1733}
1734
1735// CreateDBParameterGroup API operation for Amazon Relational Database Service.
1736//
1737// Creates a new DB parameter group.
1738//
1739// A DB parameter group is initially created with the default parameters for
1740// the database engine used by the DB instance. To provide custom values for
1741// any of the parameters, you must modify the group after creating it using
1742// ModifyDBParameterGroup. Once you've created a DB parameter group, you need
1743// to associate it with your DB instance using ModifyDBInstance. When you associate
1744// a new DB parameter group with a running DB instance, you need to reboot the
1745// DB instance without failover for the new DB parameter group and associated
1746// settings to take effect.
1747//
1748// After you create a DB parameter group, you should wait at least 5 minutes
1749// before creating your first DB instance that uses that DB parameter group
1750// as the default parameter group. This allows Amazon RDS to fully complete
1751// the create action before the parameter group is used as the default for a
1752// new DB instance. This is especially important for parameters that are critical
1753// when creating the default database for a DB instance, such as the character
1754// set for the default database defined by the character_set_database parameter.
1755// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
1756// or the DescribeDBParameters command to verify that your DB parameter group
1757// has been created or modified.
1758//
1759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1760// with awserr.Error's Code and Message methods to get detailed information about
1761// the error.
1762//
1763// See the AWS API reference guide for Amazon Relational Database Service's
1764// API operation CreateDBParameterGroup for usage and error information.
1765//
1766// Returned Error Codes:
1767//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1768//   The request would result in the user exceeding the allowed number of DB parameter
1769//   groups.
1770//
1771//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1772//   A DB parameter group with the same name exists.
1773//
1774// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
1775func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
1776	req, out := c.CreateDBParameterGroupRequest(input)
1777	return out, req.Send()
1778}
1779
1780// CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
1781// the ability to pass a context and additional request options.
1782//
1783// See CreateDBParameterGroup for details on how to use this API operation.
1784//
1785// The context must be non-nil and will be used for request cancellation. If
1786// the context is nil a panic will occur. In the future the SDK may create
1787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1788// for more information on using Contexts.
1789func (c *RDS) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
1790	req, out := c.CreateDBParameterGroupRequest(input)
1791	req.SetContext(ctx)
1792	req.ApplyOptions(opts...)
1793	return out, req.Send()
1794}
1795
1796const opCreateDBSecurityGroup = "CreateDBSecurityGroup"
1797
1798// CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the
1799// client's request for the CreateDBSecurityGroup operation. The "output" return
1800// value will be populated with the request's response once the request completes
1801// successfuly.
1802//
1803// Use "Send" method on the returned Request to send the API call to the service.
1804// the "output" return value is not valid until after Send returns without error.
1805//
1806// See CreateDBSecurityGroup for more information on using the CreateDBSecurityGroup
1807// API call, and error handling.
1808//
1809// This method is useful when you want to inject custom logic or configuration
1810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1811//
1812//
1813//    // Example sending a request using the CreateDBSecurityGroupRequest method.
1814//    req, resp := client.CreateDBSecurityGroupRequest(params)
1815//
1816//    err := req.Send()
1817//    if err == nil { // resp is now filled
1818//        fmt.Println(resp)
1819//    }
1820//
1821// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
1822func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (req *request.Request, output *CreateDBSecurityGroupOutput) {
1823	op := &request.Operation{
1824		Name:       opCreateDBSecurityGroup,
1825		HTTPMethod: "POST",
1826		HTTPPath:   "/",
1827	}
1828
1829	if input == nil {
1830		input = &CreateDBSecurityGroupInput{}
1831	}
1832
1833	output = &CreateDBSecurityGroupOutput{}
1834	req = c.newRequest(op, input, output)
1835	return
1836}
1837
1838// CreateDBSecurityGroup API operation for Amazon Relational Database Service.
1839//
1840// Creates a new DB security group. DB security groups control access to a DB
1841// instance.
1842//
1843// A DB security group controls access to EC2-Classic DB instances that are
1844// not in a VPC.
1845//
1846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1847// with awserr.Error's Code and Message methods to get detailed information about
1848// the error.
1849//
1850// See the AWS API reference guide for Amazon Relational Database Service's
1851// API operation CreateDBSecurityGroup for usage and error information.
1852//
1853// Returned Error Codes:
1854//   * ErrCodeDBSecurityGroupAlreadyExistsFault "DBSecurityGroupAlreadyExists"
1855//   A DB security group with the name specified in DBSecurityGroupName already
1856//   exists.
1857//
1858//   * ErrCodeDBSecurityGroupQuotaExceededFault "QuotaExceeded.DBSecurityGroup"
1859//   The request would result in the user exceeding the allowed number of DB security
1860//   groups.
1861//
1862//   * ErrCodeDBSecurityGroupNotSupportedFault "DBSecurityGroupNotSupported"
1863//   A DB security group isn't allowed for this action.
1864//
1865// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
1866func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateDBSecurityGroupOutput, error) {
1867	req, out := c.CreateDBSecurityGroupRequest(input)
1868	return out, req.Send()
1869}
1870
1871// CreateDBSecurityGroupWithContext is the same as CreateDBSecurityGroup with the addition of
1872// the ability to pass a context and additional request options.
1873//
1874// See CreateDBSecurityGroup for details on how to use this API operation.
1875//
1876// The context must be non-nil and will be used for request cancellation. If
1877// the context is nil a panic will occur. In the future the SDK may create
1878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1879// for more information on using Contexts.
1880func (c *RDS) CreateDBSecurityGroupWithContext(ctx aws.Context, input *CreateDBSecurityGroupInput, opts ...request.Option) (*CreateDBSecurityGroupOutput, error) {
1881	req, out := c.CreateDBSecurityGroupRequest(input)
1882	req.SetContext(ctx)
1883	req.ApplyOptions(opts...)
1884	return out, req.Send()
1885}
1886
1887const opCreateDBSnapshot = "CreateDBSnapshot"
1888
1889// CreateDBSnapshotRequest generates a "aws/request.Request" representing the
1890// client's request for the CreateDBSnapshot operation. The "output" return
1891// value will be populated with the request's response once the request completes
1892// successfuly.
1893//
1894// Use "Send" method on the returned Request to send the API call to the service.
1895// the "output" return value is not valid until after Send returns without error.
1896//
1897// See CreateDBSnapshot for more information on using the CreateDBSnapshot
1898// API call, and error handling.
1899//
1900// This method is useful when you want to inject custom logic or configuration
1901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1902//
1903//
1904//    // Example sending a request using the CreateDBSnapshotRequest method.
1905//    req, resp := client.CreateDBSnapshotRequest(params)
1906//
1907//    err := req.Send()
1908//    if err == nil { // resp is now filled
1909//        fmt.Println(resp)
1910//    }
1911//
1912// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
1913func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *request.Request, output *CreateDBSnapshotOutput) {
1914	op := &request.Operation{
1915		Name:       opCreateDBSnapshot,
1916		HTTPMethod: "POST",
1917		HTTPPath:   "/",
1918	}
1919
1920	if input == nil {
1921		input = &CreateDBSnapshotInput{}
1922	}
1923
1924	output = &CreateDBSnapshotOutput{}
1925	req = c.newRequest(op, input, output)
1926	return
1927}
1928
1929// CreateDBSnapshot API operation for Amazon Relational Database Service.
1930//
1931// Creates a DBSnapshot. The source DBInstance must be in "available" state.
1932//
1933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1934// with awserr.Error's Code and Message methods to get detailed information about
1935// the error.
1936//
1937// See the AWS API reference guide for Amazon Relational Database Service's
1938// API operation CreateDBSnapshot for usage and error information.
1939//
1940// Returned Error Codes:
1941//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1942//   DBSnapshotIdentifier is already used by an existing snapshot.
1943//
1944//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1945//   The specified DB instance isn't in the available state.
1946//
1947//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1948//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1949//
1950//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1951//   The request would result in the user exceeding the allowed number of DB snapshots.
1952//
1953// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
1954func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotOutput, error) {
1955	req, out := c.CreateDBSnapshotRequest(input)
1956	return out, req.Send()
1957}
1958
1959// CreateDBSnapshotWithContext is the same as CreateDBSnapshot with the addition of
1960// the ability to pass a context and additional request options.
1961//
1962// See CreateDBSnapshot for details on how to use this API operation.
1963//
1964// The context must be non-nil and will be used for request cancellation. If
1965// the context is nil a panic will occur. In the future the SDK may create
1966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1967// for more information on using Contexts.
1968func (c *RDS) CreateDBSnapshotWithContext(ctx aws.Context, input *CreateDBSnapshotInput, opts ...request.Option) (*CreateDBSnapshotOutput, error) {
1969	req, out := c.CreateDBSnapshotRequest(input)
1970	req.SetContext(ctx)
1971	req.ApplyOptions(opts...)
1972	return out, req.Send()
1973}
1974
1975const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
1976
1977// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
1978// client's request for the CreateDBSubnetGroup operation. The "output" return
1979// value will be populated with the request's response once the request completes
1980// successfuly.
1981//
1982// Use "Send" method on the returned Request to send the API call to the service.
1983// the "output" return value is not valid until after Send returns without error.
1984//
1985// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
1986// API call, and error handling.
1987//
1988// This method is useful when you want to inject custom logic or configuration
1989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1990//
1991//
1992//    // Example sending a request using the CreateDBSubnetGroupRequest method.
1993//    req, resp := client.CreateDBSubnetGroupRequest(params)
1994//
1995//    err := req.Send()
1996//    if err == nil { // resp is now filled
1997//        fmt.Println(resp)
1998//    }
1999//
2000// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2001func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
2002	op := &request.Operation{
2003		Name:       opCreateDBSubnetGroup,
2004		HTTPMethod: "POST",
2005		HTTPPath:   "/",
2006	}
2007
2008	if input == nil {
2009		input = &CreateDBSubnetGroupInput{}
2010	}
2011
2012	output = &CreateDBSubnetGroupOutput{}
2013	req = c.newRequest(op, input, output)
2014	return
2015}
2016
2017// CreateDBSubnetGroup API operation for Amazon Relational Database Service.
2018//
2019// Creates a new DB subnet group. DB subnet groups must contain at least one
2020// subnet in at least two AZs in the AWS Region.
2021//
2022// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2023// with awserr.Error's Code and Message methods to get detailed information about
2024// the error.
2025//
2026// See the AWS API reference guide for Amazon Relational Database Service's
2027// API operation CreateDBSubnetGroup for usage and error information.
2028//
2029// Returned Error Codes:
2030//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
2031//   DBSubnetGroupName is already used by an existing DB subnet group.
2032//
2033//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
2034//   The request would result in the user exceeding the allowed number of DB subnet
2035//   groups.
2036//
2037//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
2038//   The request would result in the user exceeding the allowed number of subnets
2039//   in a DB subnet groups.
2040//
2041//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2042//   Subnets in the DB subnet group should cover at least two Availability Zones
2043//   unless there is only one Availability Zone.
2044//
2045//   * ErrCodeInvalidSubnet "InvalidSubnet"
2046//   The requested subnet is invalid, or multiple subnets were requested that
2047//   are not all in a common VPC.
2048//
2049// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2050func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
2051	req, out := c.CreateDBSubnetGroupRequest(input)
2052	return out, req.Send()
2053}
2054
2055// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
2056// the ability to pass a context and additional request options.
2057//
2058// See CreateDBSubnetGroup for details on how to use this API operation.
2059//
2060// The context must be non-nil and will be used for request cancellation. If
2061// the context is nil a panic will occur. In the future the SDK may create
2062// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2063// for more information on using Contexts.
2064func (c *RDS) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
2065	req, out := c.CreateDBSubnetGroupRequest(input)
2066	req.SetContext(ctx)
2067	req.ApplyOptions(opts...)
2068	return out, req.Send()
2069}
2070
2071const opCreateEventSubscription = "CreateEventSubscription"
2072
2073// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
2074// client's request for the CreateEventSubscription operation. The "output" return
2075// value will be populated with the request's response once the request completes
2076// successfuly.
2077//
2078// Use "Send" method on the returned Request to send the API call to the service.
2079// the "output" return value is not valid until after Send returns without error.
2080//
2081// See CreateEventSubscription for more information on using the CreateEventSubscription
2082// API call, and error handling.
2083//
2084// This method is useful when you want to inject custom logic or configuration
2085// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2086//
2087//
2088//    // Example sending a request using the CreateEventSubscriptionRequest method.
2089//    req, resp := client.CreateEventSubscriptionRequest(params)
2090//
2091//    err := req.Send()
2092//    if err == nil { // resp is now filled
2093//        fmt.Println(resp)
2094//    }
2095//
2096// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2097func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
2098	op := &request.Operation{
2099		Name:       opCreateEventSubscription,
2100		HTTPMethod: "POST",
2101		HTTPPath:   "/",
2102	}
2103
2104	if input == nil {
2105		input = &CreateEventSubscriptionInput{}
2106	}
2107
2108	output = &CreateEventSubscriptionOutput{}
2109	req = c.newRequest(op, input, output)
2110	return
2111}
2112
2113// CreateEventSubscription API operation for Amazon Relational Database Service.
2114//
2115// Creates an RDS event notification subscription. This action requires a topic
2116// ARN (Amazon Resource Name) created by either the RDS console, the SNS console,
2117// or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon
2118// SNS and subscribe to the topic. The ARN is displayed in the SNS console.
2119//
2120// You can specify the type of source (SourceType) you want to be notified of,
2121// provide a list of RDS sources (SourceIds) that triggers the events, and provide
2122// a list of event categories (EventCategories) for events you want to be notified
2123// of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1,
2124// mydbinstance2 and EventCategories = Availability, Backup.
2125//
2126// If you specify both the SourceType and SourceIds, such as SourceType = db-instance
2127// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
2128// events for the specified source. If you specify a SourceType but do not specify
2129// a SourceIdentifier, you receive notice of the events for that source type
2130// for all your RDS sources. If you do not specify either the SourceType nor
2131// the SourceIdentifier, you are notified of events generated from all RDS sources
2132// belonging to your customer account.
2133//
2134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2135// with awserr.Error's Code and Message methods to get detailed information about
2136// the error.
2137//
2138// See the AWS API reference guide for Amazon Relational Database Service's
2139// API operation CreateEventSubscription for usage and error information.
2140//
2141// Returned Error Codes:
2142//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
2143//   You have reached the maximum number of event subscriptions.
2144//
2145//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
2146//   The supplied subscription name already exists.
2147//
2148//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
2149//   SNS has responded that there is a problem with the SND topic specified.
2150//
2151//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
2152//   You do not have permission to publish to the SNS topic ARN.
2153//
2154//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
2155//   The SNS topic ARN does not exist.
2156//
2157//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
2158//   The supplied category does not exist.
2159//
2160//   * ErrCodeSourceNotFoundFault "SourceNotFound"
2161//   The requested source could not be found.
2162//
2163// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2164func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
2165	req, out := c.CreateEventSubscriptionRequest(input)
2166	return out, req.Send()
2167}
2168
2169// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
2170// the ability to pass a context and additional request options.
2171//
2172// See CreateEventSubscription for details on how to use this API operation.
2173//
2174// The context must be non-nil and will be used for request cancellation. If
2175// the context is nil a panic will occur. In the future the SDK may create
2176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2177// for more information on using Contexts.
2178func (c *RDS) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
2179	req, out := c.CreateEventSubscriptionRequest(input)
2180	req.SetContext(ctx)
2181	req.ApplyOptions(opts...)
2182	return out, req.Send()
2183}
2184
2185const opCreateOptionGroup = "CreateOptionGroup"
2186
2187// CreateOptionGroupRequest generates a "aws/request.Request" representing the
2188// client's request for the CreateOptionGroup operation. The "output" return
2189// value will be populated with the request's response once the request completes
2190// successfuly.
2191//
2192// Use "Send" method on the returned Request to send the API call to the service.
2193// the "output" return value is not valid until after Send returns without error.
2194//
2195// See CreateOptionGroup for more information on using the CreateOptionGroup
2196// API call, and error handling.
2197//
2198// This method is useful when you want to inject custom logic or configuration
2199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2200//
2201//
2202//    // Example sending a request using the CreateOptionGroupRequest method.
2203//    req, resp := client.CreateOptionGroupRequest(params)
2204//
2205//    err := req.Send()
2206//    if err == nil { // resp is now filled
2207//        fmt.Println(resp)
2208//    }
2209//
2210// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2211func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *request.Request, output *CreateOptionGroupOutput) {
2212	op := &request.Operation{
2213		Name:       opCreateOptionGroup,
2214		HTTPMethod: "POST",
2215		HTTPPath:   "/",
2216	}
2217
2218	if input == nil {
2219		input = &CreateOptionGroupInput{}
2220	}
2221
2222	output = &CreateOptionGroupOutput{}
2223	req = c.newRequest(op, input, output)
2224	return
2225}
2226
2227// CreateOptionGroup API operation for Amazon Relational Database Service.
2228//
2229// Creates a new option group. You can create up to 20 option groups.
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 CreateOptionGroup for usage and error information.
2237//
2238// Returned Error Codes:
2239//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
2240//   The option group you are trying to create already exists.
2241//
2242//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
2243//   The quota of 20 option groups was exceeded for this AWS account.
2244//
2245// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2246func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGroupOutput, error) {
2247	req, out := c.CreateOptionGroupRequest(input)
2248	return out, req.Send()
2249}
2250
2251// CreateOptionGroupWithContext is the same as CreateOptionGroup with the addition of
2252// the ability to pass a context and additional request options.
2253//
2254// See CreateOptionGroup for details on how to use this API operation.
2255//
2256// The context must be non-nil and will be used for request cancellation. If
2257// the context is nil a panic will occur. In the future the SDK may create
2258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2259// for more information on using Contexts.
2260func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionGroupInput, opts ...request.Option) (*CreateOptionGroupOutput, error) {
2261	req, out := c.CreateOptionGroupRequest(input)
2262	req.SetContext(ctx)
2263	req.ApplyOptions(opts...)
2264	return out, req.Send()
2265}
2266
2267const opDeleteDBCluster = "DeleteDBCluster"
2268
2269// DeleteDBClusterRequest generates a "aws/request.Request" representing the
2270// client's request for the DeleteDBCluster operation. The "output" return
2271// value will be populated with the request's response once the request completes
2272// successfuly.
2273//
2274// Use "Send" method on the returned Request to send the API call to the service.
2275// the "output" return value is not valid until after Send returns without error.
2276//
2277// See DeleteDBCluster for more information on using the DeleteDBCluster
2278// API call, and error handling.
2279//
2280// This method is useful when you want to inject custom logic or configuration
2281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2282//
2283//
2284//    // Example sending a request using the DeleteDBClusterRequest method.
2285//    req, resp := client.DeleteDBClusterRequest(params)
2286//
2287//    err := req.Send()
2288//    if err == nil { // resp is now filled
2289//        fmt.Println(resp)
2290//    }
2291//
2292// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
2293func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
2294	op := &request.Operation{
2295		Name:       opDeleteDBCluster,
2296		HTTPMethod: "POST",
2297		HTTPPath:   "/",
2298	}
2299
2300	if input == nil {
2301		input = &DeleteDBClusterInput{}
2302	}
2303
2304	output = &DeleteDBClusterOutput{}
2305	req = c.newRequest(op, input, output)
2306	return
2307}
2308
2309// DeleteDBCluster API operation for Amazon Relational Database Service.
2310//
2311// The DeleteDBCluster action deletes a previously provisioned DB cluster. When
2312// you delete a DB cluster, all automated backups for that DB cluster are deleted
2313// and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
2314// are not deleted.
2315//
2316// 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.
2317//
2318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2319// with awserr.Error's Code and Message methods to get detailed information about
2320// the error.
2321//
2322// See the AWS API reference guide for Amazon Relational Database Service's
2323// API operation DeleteDBCluster for usage and error information.
2324//
2325// Returned Error Codes:
2326//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2327//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2328//
2329//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2330//   The DB cluster isn't in a valid state.
2331//
2332//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
2333//   The user already has a DB cluster snapshot with the given identifier.
2334//
2335//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2336//   The request would result in the user exceeding the allowed number of DB snapshots.
2337//
2338//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
2339//   The supplied value isn't a valid DB cluster snapshot state.
2340//
2341// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
2342func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
2343	req, out := c.DeleteDBClusterRequest(input)
2344	return out, req.Send()
2345}
2346
2347// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
2348// the ability to pass a context and additional request options.
2349//
2350// See DeleteDBCluster for details on how to use this API operation.
2351//
2352// The context must be non-nil and will be used for request cancellation. If
2353// the context is nil a panic will occur. In the future the SDK may create
2354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2355// for more information on using Contexts.
2356func (c *RDS) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
2357	req, out := c.DeleteDBClusterRequest(input)
2358	req.SetContext(ctx)
2359	req.ApplyOptions(opts...)
2360	return out, req.Send()
2361}
2362
2363const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
2364
2365// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
2366// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
2367// value will be populated with the request's response once the request completes
2368// successfuly.
2369//
2370// Use "Send" method on the returned Request to send the API call to the service.
2371// the "output" return value is not valid until after Send returns without error.
2372//
2373// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
2374// API call, and error handling.
2375//
2376// This method is useful when you want to inject custom logic or configuration
2377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2378//
2379//
2380//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
2381//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
2382//
2383//    err := req.Send()
2384//    if err == nil { // resp is now filled
2385//        fmt.Println(resp)
2386//    }
2387//
2388// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
2389func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
2390	op := &request.Operation{
2391		Name:       opDeleteDBClusterParameterGroup,
2392		HTTPMethod: "POST",
2393		HTTPPath:   "/",
2394	}
2395
2396	if input == nil {
2397		input = &DeleteDBClusterParameterGroupInput{}
2398	}
2399
2400	output = &DeleteDBClusterParameterGroupOutput{}
2401	req = c.newRequest(op, input, output)
2402	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
2403	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2404	return
2405}
2406
2407// DeleteDBClusterParameterGroup API operation for Amazon Relational Database Service.
2408//
2409// Deletes a specified DB cluster parameter group. The DB cluster parameter
2410// group to be deleted can't be associated with any DB clusters.
2411//
2412// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
2413// in the Amazon RDS User Guide.
2414//
2415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2416// with awserr.Error's Code and Message methods to get detailed information about
2417// the error.
2418//
2419// See the AWS API reference guide for Amazon Relational Database Service's
2420// API operation DeleteDBClusterParameterGroup for usage and error information.
2421//
2422// Returned Error Codes:
2423//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
2424//   The DB parameter group is in use or is in an invalid state. If you are attempting
2425//   to delete the parameter group, you can't delete it when the parameter group
2426//   is in this state.
2427//
2428//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2429//   DBParameterGroupName doesn't refer to an existing DB parameter group.
2430//
2431// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
2432func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
2433	req, out := c.DeleteDBClusterParameterGroupRequest(input)
2434	return out, req.Send()
2435}
2436
2437// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
2438// the ability to pass a context and additional request options.
2439//
2440// See DeleteDBClusterParameterGroup for details on how to use this API operation.
2441//
2442// The context must be non-nil and will be used for request cancellation. If
2443// the context is nil a panic will occur. In the future the SDK may create
2444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2445// for more information on using Contexts.
2446func (c *RDS) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
2447	req, out := c.DeleteDBClusterParameterGroupRequest(input)
2448	req.SetContext(ctx)
2449	req.ApplyOptions(opts...)
2450	return out, req.Send()
2451}
2452
2453const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
2454
2455// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
2456// client's request for the DeleteDBClusterSnapshot operation. The "output" return
2457// value will be populated with the request's response once the request completes
2458// successfuly.
2459//
2460// Use "Send" method on the returned Request to send the API call to the service.
2461// the "output" return value is not valid until after Send returns without error.
2462//
2463// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
2464// API call, and error handling.
2465//
2466// This method is useful when you want to inject custom logic or configuration
2467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2468//
2469//
2470//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
2471//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
2472//
2473//    err := req.Send()
2474//    if err == nil { // resp is now filled
2475//        fmt.Println(resp)
2476//    }
2477//
2478// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
2479func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
2480	op := &request.Operation{
2481		Name:       opDeleteDBClusterSnapshot,
2482		HTTPMethod: "POST",
2483		HTTPPath:   "/",
2484	}
2485
2486	if input == nil {
2487		input = &DeleteDBClusterSnapshotInput{}
2488	}
2489
2490	output = &DeleteDBClusterSnapshotOutput{}
2491	req = c.newRequest(op, input, output)
2492	return
2493}
2494
2495// DeleteDBClusterSnapshot API operation for Amazon Relational Database Service.
2496//
2497// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
2498// operation is terminated.
2499//
2500// The DB cluster snapshot must be in the available state to be deleted.
2501//
2502// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
2503// in the Amazon RDS User Guide.
2504//
2505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2506// with awserr.Error's Code and Message methods to get detailed information about
2507// the error.
2508//
2509// See the AWS API reference guide for Amazon Relational Database Service's
2510// API operation DeleteDBClusterSnapshot for usage and error information.
2511//
2512// Returned Error Codes:
2513//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
2514//   The supplied value isn't a valid DB cluster snapshot state.
2515//
2516//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
2517//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
2518//
2519// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
2520func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
2521	req, out := c.DeleteDBClusterSnapshotRequest(input)
2522	return out, req.Send()
2523}
2524
2525// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
2526// the ability to pass a context and additional request options.
2527//
2528// See DeleteDBClusterSnapshot for details on how to use this API operation.
2529//
2530// The context must be non-nil and will be used for request cancellation. If
2531// the context is nil a panic will occur. In the future the SDK may create
2532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2533// for more information on using Contexts.
2534func (c *RDS) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
2535	req, out := c.DeleteDBClusterSnapshotRequest(input)
2536	req.SetContext(ctx)
2537	req.ApplyOptions(opts...)
2538	return out, req.Send()
2539}
2540
2541const opDeleteDBInstance = "DeleteDBInstance"
2542
2543// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
2544// client's request for the DeleteDBInstance operation. The "output" return
2545// value will be populated with the request's response once the request completes
2546// successfuly.
2547//
2548// Use "Send" method on the returned Request to send the API call to the service.
2549// the "output" return value is not valid until after Send returns without error.
2550//
2551// See DeleteDBInstance for more information on using the DeleteDBInstance
2552// API call, and error handling.
2553//
2554// This method is useful when you want to inject custom logic or configuration
2555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2556//
2557//
2558//    // Example sending a request using the DeleteDBInstanceRequest method.
2559//    req, resp := client.DeleteDBInstanceRequest(params)
2560//
2561//    err := req.Send()
2562//    if err == nil { // resp is now filled
2563//        fmt.Println(resp)
2564//    }
2565//
2566// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
2567func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
2568	op := &request.Operation{
2569		Name:       opDeleteDBInstance,
2570		HTTPMethod: "POST",
2571		HTTPPath:   "/",
2572	}
2573
2574	if input == nil {
2575		input = &DeleteDBInstanceInput{}
2576	}
2577
2578	output = &DeleteDBInstanceOutput{}
2579	req = c.newRequest(op, input, output)
2580	return
2581}
2582
2583// DeleteDBInstance API operation for Amazon Relational Database Service.
2584//
2585// The DeleteDBInstance action deletes a previously provisioned DB instance.
2586// When you delete a DB instance, all automated backups for that instance are
2587// deleted and can't be recovered. Manual DB snapshots of the DB instance to
2588// be deleted by DeleteDBInstance are not deleted.
2589//
2590// If you request a final DB snapshot the status of the Amazon RDS DB instance
2591// is deleting until the DB snapshot is created. The API action DescribeDBInstance
2592// is used to monitor the status of this operation. The action can't be canceled
2593// or reverted once submitted.
2594//
2595// Note that when a DB instance is in a failure state and has a status of failed,
2596// incompatible-restore, or incompatible-network, you can only delete it when
2597// the SkipFinalSnapshot parameter is set to true.
2598//
2599// If the specified DB instance is part of an Amazon Aurora DB cluster, you
2600// can't delete the DB instance if both of the following conditions are true:
2601//
2602//    * The DB cluster is a Read Replica of another Amazon Aurora DB cluster.
2603//
2604//    * The DB instance is the only instance in the DB cluster.
2605//
2606// To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster
2607// API action to promote the DB cluster so it's no longer a Read Replica. After
2608// the promotion completes, then call the DeleteDBInstance API action to delete
2609// the final instance in the DB cluster.
2610//
2611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2612// with awserr.Error's Code and Message methods to get detailed information about
2613// the error.
2614//
2615// See the AWS API reference guide for Amazon Relational Database Service's
2616// API operation DeleteDBInstance for usage and error information.
2617//
2618// Returned Error Codes:
2619//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2620//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2621//
2622//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2623//   The specified DB instance isn't in the available state.
2624//
2625//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
2626//   DBSnapshotIdentifier is already used by an existing snapshot.
2627//
2628//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2629//   The request would result in the user exceeding the allowed number of DB snapshots.
2630//
2631//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2632//   The DB cluster isn't in a valid state.
2633//
2634// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
2635func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
2636	req, out := c.DeleteDBInstanceRequest(input)
2637	return out, req.Send()
2638}
2639
2640// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
2641// the ability to pass a context and additional request options.
2642//
2643// See DeleteDBInstance 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) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
2650	req, out := c.DeleteDBInstanceRequest(input)
2651	req.SetContext(ctx)
2652	req.ApplyOptions(opts...)
2653	return out, req.Send()
2654}
2655
2656const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
2657
2658// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
2659// client's request for the DeleteDBParameterGroup operation. The "output" return
2660// value will be populated with the request's response once the request completes
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 DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
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 DeleteDBParameterGroupRequest method.
2674//    req, resp := client.DeleteDBParameterGroupRequest(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/DeleteDBParameterGroup
2682func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
2683	op := &request.Operation{
2684		Name:       opDeleteDBParameterGroup,
2685		HTTPMethod: "POST",
2686		HTTPPath:   "/",
2687	}
2688
2689	if input == nil {
2690		input = &DeleteDBParameterGroupInput{}
2691	}
2692
2693	output = &DeleteDBParameterGroupOutput{}
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// DeleteDBParameterGroup API operation for Amazon Relational Database Service.
2701//
2702// Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted
2703// can't be associated with any DB instances.
2704//
2705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2706// with awserr.Error's Code and Message methods to get detailed information about
2707// the error.
2708//
2709// See the AWS API reference guide for Amazon Relational Database Service's
2710// API operation DeleteDBParameterGroup for usage and error information.
2711//
2712// Returned Error Codes:
2713//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
2714//   The DB parameter group is in use or is in an invalid state. If you are attempting
2715//   to delete the parameter group, you can't delete it when the parameter group
2716//   is in this state.
2717//
2718//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2719//   DBParameterGroupName doesn't refer to an existing DB parameter group.
2720//
2721// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
2722func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
2723	req, out := c.DeleteDBParameterGroupRequest(input)
2724	return out, req.Send()
2725}
2726
2727// DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
2728// the ability to pass a context and additional request options.
2729//
2730// See DeleteDBParameterGroup for details on how to use this API operation.
2731//
2732// The context must be non-nil and will be used for request cancellation. If
2733// the context is nil a panic will occur. In the future the SDK may create
2734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2735// for more information on using Contexts.
2736func (c *RDS) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
2737	req, out := c.DeleteDBParameterGroupRequest(input)
2738	req.SetContext(ctx)
2739	req.ApplyOptions(opts...)
2740	return out, req.Send()
2741}
2742
2743const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup"
2744
2745// DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the
2746// client's request for the DeleteDBSecurityGroup operation. The "output" return
2747// value will be populated with the request's response once the request completes
2748// successfuly.
2749//
2750// Use "Send" method on the returned Request to send the API call to the service.
2751// the "output" return value is not valid until after Send returns without error.
2752//
2753// See DeleteDBSecurityGroup for more information on using the DeleteDBSecurityGroup
2754// API call, and error handling.
2755//
2756// This method is useful when you want to inject custom logic or configuration
2757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2758//
2759//
2760//    // Example sending a request using the DeleteDBSecurityGroupRequest method.
2761//    req, resp := client.DeleteDBSecurityGroupRequest(params)
2762//
2763//    err := req.Send()
2764//    if err == nil { // resp is now filled
2765//        fmt.Println(resp)
2766//    }
2767//
2768// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
2769func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (req *request.Request, output *DeleteDBSecurityGroupOutput) {
2770	op := &request.Operation{
2771		Name:       opDeleteDBSecurityGroup,
2772		HTTPMethod: "POST",
2773		HTTPPath:   "/",
2774	}
2775
2776	if input == nil {
2777		input = &DeleteDBSecurityGroupInput{}
2778	}
2779
2780	output = &DeleteDBSecurityGroupOutput{}
2781	req = c.newRequest(op, input, output)
2782	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
2783	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2784	return
2785}
2786
2787// DeleteDBSecurityGroup API operation for Amazon Relational Database Service.
2788//
2789// Deletes a DB security group.
2790//
2791// The specified DB security group must not be associated with any DB instances.
2792//
2793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2794// with awserr.Error's Code and Message methods to get detailed information about
2795// the error.
2796//
2797// See the AWS API reference guide for Amazon Relational Database Service's
2798// API operation DeleteDBSecurityGroup for usage and error information.
2799//
2800// Returned Error Codes:
2801//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
2802//   The state of the DB security group doesn't allow deletion.
2803//
2804//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
2805//   DBSecurityGroupName doesn't refer to an existing DB security group.
2806//
2807// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
2808func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteDBSecurityGroupOutput, error) {
2809	req, out := c.DeleteDBSecurityGroupRequest(input)
2810	return out, req.Send()
2811}
2812
2813// DeleteDBSecurityGroupWithContext is the same as DeleteDBSecurityGroup with the addition of
2814// the ability to pass a context and additional request options.
2815//
2816// See DeleteDBSecurityGroup for details on how to use this API operation.
2817//
2818// The context must be non-nil and will be used for request cancellation. If
2819// the context is nil a panic will occur. In the future the SDK may create
2820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2821// for more information on using Contexts.
2822func (c *RDS) DeleteDBSecurityGroupWithContext(ctx aws.Context, input *DeleteDBSecurityGroupInput, opts ...request.Option) (*DeleteDBSecurityGroupOutput, error) {
2823	req, out := c.DeleteDBSecurityGroupRequest(input)
2824	req.SetContext(ctx)
2825	req.ApplyOptions(opts...)
2826	return out, req.Send()
2827}
2828
2829const opDeleteDBSnapshot = "DeleteDBSnapshot"
2830
2831// DeleteDBSnapshotRequest generates a "aws/request.Request" representing the
2832// client's request for the DeleteDBSnapshot operation. The "output" return
2833// value will be populated with the request's response once the request completes
2834// successfuly.
2835//
2836// Use "Send" method on the returned Request to send the API call to the service.
2837// the "output" return value is not valid until after Send returns without error.
2838//
2839// See DeleteDBSnapshot for more information on using the DeleteDBSnapshot
2840// API call, and error handling.
2841//
2842// This method is useful when you want to inject custom logic or configuration
2843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2844//
2845//
2846//    // Example sending a request using the DeleteDBSnapshotRequest method.
2847//    req, resp := client.DeleteDBSnapshotRequest(params)
2848//
2849//    err := req.Send()
2850//    if err == nil { // resp is now filled
2851//        fmt.Println(resp)
2852//    }
2853//
2854// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
2855func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *request.Request, output *DeleteDBSnapshotOutput) {
2856	op := &request.Operation{
2857		Name:       opDeleteDBSnapshot,
2858		HTTPMethod: "POST",
2859		HTTPPath:   "/",
2860	}
2861
2862	if input == nil {
2863		input = &DeleteDBSnapshotInput{}
2864	}
2865
2866	output = &DeleteDBSnapshotOutput{}
2867	req = c.newRequest(op, input, output)
2868	return
2869}
2870
2871// DeleteDBSnapshot API operation for Amazon Relational Database Service.
2872//
2873// Deletes a DBSnapshot. If the snapshot is being copied, the copy operation
2874// is terminated.
2875//
2876// The DBSnapshot must be in the available state to be deleted.
2877//
2878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2879// with awserr.Error's Code and Message methods to get detailed information about
2880// the error.
2881//
2882// See the AWS API reference guide for Amazon Relational Database Service's
2883// API operation DeleteDBSnapshot for usage and error information.
2884//
2885// Returned Error Codes:
2886//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
2887//   The state of the DB snapshot doesn't allow deletion.
2888//
2889//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
2890//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
2891//
2892// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
2893func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotOutput, error) {
2894	req, out := c.DeleteDBSnapshotRequest(input)
2895	return out, req.Send()
2896}
2897
2898// DeleteDBSnapshotWithContext is the same as DeleteDBSnapshot with the addition of
2899// the ability to pass a context and additional request options.
2900//
2901// See DeleteDBSnapshot for details on how to use this API operation.
2902//
2903// The context must be non-nil and will be used for request cancellation. If
2904// the context is nil a panic will occur. In the future the SDK may create
2905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2906// for more information on using Contexts.
2907func (c *RDS) DeleteDBSnapshotWithContext(ctx aws.Context, input *DeleteDBSnapshotInput, opts ...request.Option) (*DeleteDBSnapshotOutput, error) {
2908	req, out := c.DeleteDBSnapshotRequest(input)
2909	req.SetContext(ctx)
2910	req.ApplyOptions(opts...)
2911	return out, req.Send()
2912}
2913
2914const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
2915
2916// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
2917// client's request for the DeleteDBSubnetGroup operation. The "output" return
2918// value will be populated with the request's response once the request completes
2919// successfuly.
2920//
2921// Use "Send" method on the returned Request to send the API call to the service.
2922// the "output" return value is not valid until after Send returns without error.
2923//
2924// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
2925// API call, and error handling.
2926//
2927// This method is useful when you want to inject custom logic or configuration
2928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2929//
2930//
2931//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
2932//    req, resp := client.DeleteDBSubnetGroupRequest(params)
2933//
2934//    err := req.Send()
2935//    if err == nil { // resp is now filled
2936//        fmt.Println(resp)
2937//    }
2938//
2939// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
2940func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
2941	op := &request.Operation{
2942		Name:       opDeleteDBSubnetGroup,
2943		HTTPMethod: "POST",
2944		HTTPPath:   "/",
2945	}
2946
2947	if input == nil {
2948		input = &DeleteDBSubnetGroupInput{}
2949	}
2950
2951	output = &DeleteDBSubnetGroupOutput{}
2952	req = c.newRequest(op, input, output)
2953	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
2954	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2955	return
2956}
2957
2958// DeleteDBSubnetGroup API operation for Amazon Relational Database Service.
2959//
2960// Deletes a DB subnet group.
2961//
2962// The specified database subnet group must not be associated with any DB instances.
2963//
2964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2965// with awserr.Error's Code and Message methods to get detailed information about
2966// the error.
2967//
2968// See the AWS API reference guide for Amazon Relational Database Service's
2969// API operation DeleteDBSubnetGroup for usage and error information.
2970//
2971// Returned Error Codes:
2972//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
2973//   The DB subnet group cannot be deleted because it's in use.
2974//
2975//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
2976//   The DB subnet isn't in the available state.
2977//
2978//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2979//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
2980//
2981// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
2982func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
2983	req, out := c.DeleteDBSubnetGroupRequest(input)
2984	return out, req.Send()
2985}
2986
2987// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
2988// the ability to pass a context and additional request options.
2989//
2990// See DeleteDBSubnetGroup for details on how to use this API operation.
2991//
2992// The context must be non-nil and will be used for request cancellation. If
2993// the context is nil a panic will occur. In the future the SDK may create
2994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2995// for more information on using Contexts.
2996func (c *RDS) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
2997	req, out := c.DeleteDBSubnetGroupRequest(input)
2998	req.SetContext(ctx)
2999	req.ApplyOptions(opts...)
3000	return out, req.Send()
3001}
3002
3003const opDeleteEventSubscription = "DeleteEventSubscription"
3004
3005// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
3006// client's request for the DeleteEventSubscription operation. The "output" return
3007// value will be populated with the request's response once the request completes
3008// successfuly.
3009//
3010// Use "Send" method on the returned Request to send the API call to the service.
3011// the "output" return value is not valid until after Send returns without error.
3012//
3013// See DeleteEventSubscription for more information on using the DeleteEventSubscription
3014// API call, and error handling.
3015//
3016// This method is useful when you want to inject custom logic or configuration
3017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3018//
3019//
3020//    // Example sending a request using the DeleteEventSubscriptionRequest method.
3021//    req, resp := client.DeleteEventSubscriptionRequest(params)
3022//
3023//    err := req.Send()
3024//    if err == nil { // resp is now filled
3025//        fmt.Println(resp)
3026//    }
3027//
3028// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
3029func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
3030	op := &request.Operation{
3031		Name:       opDeleteEventSubscription,
3032		HTTPMethod: "POST",
3033		HTTPPath:   "/",
3034	}
3035
3036	if input == nil {
3037		input = &DeleteEventSubscriptionInput{}
3038	}
3039
3040	output = &DeleteEventSubscriptionOutput{}
3041	req = c.newRequest(op, input, output)
3042	return
3043}
3044
3045// DeleteEventSubscription API operation for Amazon Relational Database Service.
3046//
3047// Deletes an RDS event notification subscription.
3048//
3049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3050// with awserr.Error's Code and Message methods to get detailed information about
3051// the error.
3052//
3053// See the AWS API reference guide for Amazon Relational Database Service's
3054// API operation DeleteEventSubscription for usage and error information.
3055//
3056// Returned Error Codes:
3057//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
3058//   The subscription name does not exist.
3059//
3060//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
3061//   This error can occur if someone else is modifying a subscription. You should
3062//   retry the action.
3063//
3064// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
3065func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
3066	req, out := c.DeleteEventSubscriptionRequest(input)
3067	return out, req.Send()
3068}
3069
3070// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
3071// the ability to pass a context and additional request options.
3072//
3073// See DeleteEventSubscription for details on how to use this API operation.
3074//
3075// The context must be non-nil and will be used for request cancellation. If
3076// the context is nil a panic will occur. In the future the SDK may create
3077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3078// for more information on using Contexts.
3079func (c *RDS) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
3080	req, out := c.DeleteEventSubscriptionRequest(input)
3081	req.SetContext(ctx)
3082	req.ApplyOptions(opts...)
3083	return out, req.Send()
3084}
3085
3086const opDeleteOptionGroup = "DeleteOptionGroup"
3087
3088// DeleteOptionGroupRequest generates a "aws/request.Request" representing the
3089// client's request for the DeleteOptionGroup operation. The "output" return
3090// value will be populated with the request's response once the request completes
3091// successfuly.
3092//
3093// Use "Send" method on the returned Request to send the API call to the service.
3094// the "output" return value is not valid until after Send returns without error.
3095//
3096// See DeleteOptionGroup for more information on using the DeleteOptionGroup
3097// API call, and error handling.
3098//
3099// This method is useful when you want to inject custom logic or configuration
3100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3101//
3102//
3103//    // Example sending a request using the DeleteOptionGroupRequest method.
3104//    req, resp := client.DeleteOptionGroupRequest(params)
3105//
3106//    err := req.Send()
3107//    if err == nil { // resp is now filled
3108//        fmt.Println(resp)
3109//    }
3110//
3111// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
3112func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *request.Request, output *DeleteOptionGroupOutput) {
3113	op := &request.Operation{
3114		Name:       opDeleteOptionGroup,
3115		HTTPMethod: "POST",
3116		HTTPPath:   "/",
3117	}
3118
3119	if input == nil {
3120		input = &DeleteOptionGroupInput{}
3121	}
3122
3123	output = &DeleteOptionGroupOutput{}
3124	req = c.newRequest(op, input, output)
3125	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
3126	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
3127	return
3128}
3129
3130// DeleteOptionGroup API operation for Amazon Relational Database Service.
3131//
3132// Deletes an existing option group.
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 DeleteOptionGroup for usage and error information.
3140//
3141// Returned Error Codes:
3142//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
3143//   The specified option group could not be found.
3144//
3145//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
3146//   The option group isn't in the available state.
3147//
3148// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
3149func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGroupOutput, error) {
3150	req, out := c.DeleteOptionGroupRequest(input)
3151	return out, req.Send()
3152}
3153
3154// DeleteOptionGroupWithContext is the same as DeleteOptionGroup with the addition of
3155// the ability to pass a context and additional request options.
3156//
3157// See DeleteOptionGroup for details on how to use this API operation.
3158//
3159// The context must be non-nil and will be used for request cancellation. If
3160// the context is nil a panic will occur. In the future the SDK may create
3161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3162// for more information on using Contexts.
3163func (c *RDS) DeleteOptionGroupWithContext(ctx aws.Context, input *DeleteOptionGroupInput, opts ...request.Option) (*DeleteOptionGroupOutput, error) {
3164	req, out := c.DeleteOptionGroupRequest(input)
3165	req.SetContext(ctx)
3166	req.ApplyOptions(opts...)
3167	return out, req.Send()
3168}
3169
3170const opDescribeAccountAttributes = "DescribeAccountAttributes"
3171
3172// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
3173// client's request for the DescribeAccountAttributes operation. The "output" return
3174// value will be populated with the request's response once the request completes
3175// successfuly.
3176//
3177// Use "Send" method on the returned Request to send the API call to the service.
3178// the "output" return value is not valid until after Send returns without error.
3179//
3180// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
3181// API call, and error handling.
3182//
3183// This method is useful when you want to inject custom logic or configuration
3184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3185//
3186//
3187//    // Example sending a request using the DescribeAccountAttributesRequest method.
3188//    req, resp := client.DescribeAccountAttributesRequest(params)
3189//
3190//    err := req.Send()
3191//    if err == nil { // resp is now filled
3192//        fmt.Println(resp)
3193//    }
3194//
3195// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
3196func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
3197	op := &request.Operation{
3198		Name:       opDescribeAccountAttributes,
3199		HTTPMethod: "POST",
3200		HTTPPath:   "/",
3201	}
3202
3203	if input == nil {
3204		input = &DescribeAccountAttributesInput{}
3205	}
3206
3207	output = &DescribeAccountAttributesOutput{}
3208	req = c.newRequest(op, input, output)
3209	return
3210}
3211
3212// DescribeAccountAttributes API operation for Amazon Relational Database Service.
3213//
3214// Lists all of the attributes for a customer account. The attributes include
3215// Amazon RDS quotas for the account, such as the number of DB instances allowed.
3216// The description for a quota includes the quota name, current usage toward
3217// that quota, and the quota's maximum value.
3218//
3219// This command doesn't take any parameters.
3220//
3221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3222// with awserr.Error's Code and Message methods to get detailed information about
3223// the error.
3224//
3225// See the AWS API reference guide for Amazon Relational Database Service's
3226// API operation DescribeAccountAttributes for usage and error information.
3227// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
3228func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
3229	req, out := c.DescribeAccountAttributesRequest(input)
3230	return out, req.Send()
3231}
3232
3233// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
3234// the ability to pass a context and additional request options.
3235//
3236// See DescribeAccountAttributes for details on how to use this API operation.
3237//
3238// The context must be non-nil and will be used for request cancellation. If
3239// the context is nil a panic will occur. In the future the SDK may create
3240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3241// for more information on using Contexts.
3242func (c *RDS) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
3243	req, out := c.DescribeAccountAttributesRequest(input)
3244	req.SetContext(ctx)
3245	req.ApplyOptions(opts...)
3246	return out, req.Send()
3247}
3248
3249const opDescribeCertificates = "DescribeCertificates"
3250
3251// DescribeCertificatesRequest generates a "aws/request.Request" representing the
3252// client's request for the DescribeCertificates operation. The "output" return
3253// value will be populated with the request's response once the request completes
3254// successfuly.
3255//
3256// Use "Send" method on the returned Request to send the API call to the service.
3257// the "output" return value is not valid until after Send returns without error.
3258//
3259// See DescribeCertificates for more information on using the DescribeCertificates
3260// API call, and error handling.
3261//
3262// This method is useful when you want to inject custom logic or configuration
3263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3264//
3265//
3266//    // Example sending a request using the DescribeCertificatesRequest method.
3267//    req, resp := client.DescribeCertificatesRequest(params)
3268//
3269//    err := req.Send()
3270//    if err == nil { // resp is now filled
3271//        fmt.Println(resp)
3272//    }
3273//
3274// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
3275func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
3276	op := &request.Operation{
3277		Name:       opDescribeCertificates,
3278		HTTPMethod: "POST",
3279		HTTPPath:   "/",
3280	}
3281
3282	if input == nil {
3283		input = &DescribeCertificatesInput{}
3284	}
3285
3286	output = &DescribeCertificatesOutput{}
3287	req = c.newRequest(op, input, output)
3288	return
3289}
3290
3291// DescribeCertificates API operation for Amazon Relational Database Service.
3292//
3293// Lists the set of CA certificates provided by Amazon RDS for this AWS account.
3294//
3295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3296// with awserr.Error's Code and Message methods to get detailed information about
3297// the error.
3298//
3299// See the AWS API reference guide for Amazon Relational Database Service's
3300// API operation DescribeCertificates for usage and error information.
3301//
3302// Returned Error Codes:
3303//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
3304//   CertificateIdentifier doesn't refer to an existing certificate.
3305//
3306// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
3307func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
3308	req, out := c.DescribeCertificatesRequest(input)
3309	return out, req.Send()
3310}
3311
3312// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
3313// the ability to pass a context and additional request options.
3314//
3315// See DescribeCertificates for details on how to use this API operation.
3316//
3317// The context must be non-nil and will be used for request cancellation. If
3318// the context is nil a panic will occur. In the future the SDK may create
3319// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3320// for more information on using Contexts.
3321func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
3322	req, out := c.DescribeCertificatesRequest(input)
3323	req.SetContext(ctx)
3324	req.ApplyOptions(opts...)
3325	return out, req.Send()
3326}
3327
3328const opDescribeDBClusterBacktracks = "DescribeDBClusterBacktracks"
3329
3330// DescribeDBClusterBacktracksRequest generates a "aws/request.Request" representing the
3331// client's request for the DescribeDBClusterBacktracks operation. The "output" return
3332// value will be populated with the request's response once the request completes
3333// successfuly.
3334//
3335// Use "Send" method on the returned Request to send the API call to the service.
3336// the "output" return value is not valid until after Send returns without error.
3337//
3338// See DescribeDBClusterBacktracks for more information on using the DescribeDBClusterBacktracks
3339// API call, and error handling.
3340//
3341// This method is useful when you want to inject custom logic or configuration
3342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3343//
3344//
3345//    // Example sending a request using the DescribeDBClusterBacktracksRequest method.
3346//    req, resp := client.DescribeDBClusterBacktracksRequest(params)
3347//
3348//    err := req.Send()
3349//    if err == nil { // resp is now filled
3350//        fmt.Println(resp)
3351//    }
3352//
3353// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
3354func (c *RDS) DescribeDBClusterBacktracksRequest(input *DescribeDBClusterBacktracksInput) (req *request.Request, output *DescribeDBClusterBacktracksOutput) {
3355	op := &request.Operation{
3356		Name:       opDescribeDBClusterBacktracks,
3357		HTTPMethod: "POST",
3358		HTTPPath:   "/",
3359	}
3360
3361	if input == nil {
3362		input = &DescribeDBClusterBacktracksInput{}
3363	}
3364
3365	output = &DescribeDBClusterBacktracksOutput{}
3366	req = c.newRequest(op, input, output)
3367	return
3368}
3369
3370// DescribeDBClusterBacktracks API operation for Amazon Relational Database Service.
3371//
3372// Returns information about backtracks for a DB cluster.
3373//
3374// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3375// in the Amazon RDS User Guide.
3376//
3377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3378// with awserr.Error's Code and Message methods to get detailed information about
3379// the error.
3380//
3381// See the AWS API reference guide for Amazon Relational Database Service's
3382// API operation DescribeDBClusterBacktracks for usage and error information.
3383//
3384// Returned Error Codes:
3385//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3386//   DBClusterIdentifier doesn't refer to an existing DB cluster.
3387//
3388//   * ErrCodeDBClusterBacktrackNotFoundFault "DBClusterBacktrackNotFoundFault"
3389//   BacktrackIdentifier doesn't refer to an existing backtrack.
3390//
3391// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
3392func (c *RDS) DescribeDBClusterBacktracks(input *DescribeDBClusterBacktracksInput) (*DescribeDBClusterBacktracksOutput, error) {
3393	req, out := c.DescribeDBClusterBacktracksRequest(input)
3394	return out, req.Send()
3395}
3396
3397// DescribeDBClusterBacktracksWithContext is the same as DescribeDBClusterBacktracks with the addition of
3398// the ability to pass a context and additional request options.
3399//
3400// See DescribeDBClusterBacktracks for details on how to use this API operation.
3401//
3402// The context must be non-nil and will be used for request cancellation. If
3403// the context is nil a panic will occur. In the future the SDK may create
3404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3405// for more information on using Contexts.
3406func (c *RDS) DescribeDBClusterBacktracksWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, opts ...request.Option) (*DescribeDBClusterBacktracksOutput, error) {
3407	req, out := c.DescribeDBClusterBacktracksRequest(input)
3408	req.SetContext(ctx)
3409	req.ApplyOptions(opts...)
3410	return out, req.Send()
3411}
3412
3413const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
3414
3415// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
3416// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
3417// value will be populated with the request's response once the request completes
3418// successfuly.
3419//
3420// Use "Send" method on the returned Request to send the API call to the service.
3421// the "output" return value is not valid until after Send returns without error.
3422//
3423// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
3424// API call, and error handling.
3425//
3426// This method is useful when you want to inject custom logic or configuration
3427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3428//
3429//
3430//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
3431//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
3432//
3433//    err := req.Send()
3434//    if err == nil { // resp is now filled
3435//        fmt.Println(resp)
3436//    }
3437//
3438// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
3439func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
3440	op := &request.Operation{
3441		Name:       opDescribeDBClusterParameterGroups,
3442		HTTPMethod: "POST",
3443		HTTPPath:   "/",
3444	}
3445
3446	if input == nil {
3447		input = &DescribeDBClusterParameterGroupsInput{}
3448	}
3449
3450	output = &DescribeDBClusterParameterGroupsOutput{}
3451	req = c.newRequest(op, input, output)
3452	return
3453}
3454
3455// DescribeDBClusterParameterGroups API operation for Amazon Relational Database Service.
3456//
3457// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
3458// parameter is specified, the list will contain only the description of the
3459// specified DB cluster parameter group.
3460//
3461// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3462// in the Amazon RDS User Guide.
3463//
3464// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3465// with awserr.Error's Code and Message methods to get detailed information about
3466// the error.
3467//
3468// See the AWS API reference guide for Amazon Relational Database Service's
3469// API operation DescribeDBClusterParameterGroups for usage and error information.
3470//
3471// Returned Error Codes:
3472//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3473//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3474//
3475// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
3476func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
3477	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
3478	return out, req.Send()
3479}
3480
3481// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
3482// the ability to pass a context and additional request options.
3483//
3484// See DescribeDBClusterParameterGroups for details on how to use this API operation.
3485//
3486// The context must be non-nil and will be used for request cancellation. If
3487// the context is nil a panic will occur. In the future the SDK may create
3488// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3489// for more information on using Contexts.
3490func (c *RDS) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
3491	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
3492	req.SetContext(ctx)
3493	req.ApplyOptions(opts...)
3494	return out, req.Send()
3495}
3496
3497const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
3498
3499// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
3500// client's request for the DescribeDBClusterParameters operation. The "output" return
3501// value will be populated with the request's response once the request completes
3502// successfuly.
3503//
3504// Use "Send" method on the returned Request to send the API call to the service.
3505// the "output" return value is not valid until after Send returns without error.
3506//
3507// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
3508// API call, and error handling.
3509//
3510// This method is useful when you want to inject custom logic or configuration
3511// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3512//
3513//
3514//    // Example sending a request using the DescribeDBClusterParametersRequest method.
3515//    req, resp := client.DescribeDBClusterParametersRequest(params)
3516//
3517//    err := req.Send()
3518//    if err == nil { // resp is now filled
3519//        fmt.Println(resp)
3520//    }
3521//
3522// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
3523func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
3524	op := &request.Operation{
3525		Name:       opDescribeDBClusterParameters,
3526		HTTPMethod: "POST",
3527		HTTPPath:   "/",
3528	}
3529
3530	if input == nil {
3531		input = &DescribeDBClusterParametersInput{}
3532	}
3533
3534	output = &DescribeDBClusterParametersOutput{}
3535	req = c.newRequest(op, input, output)
3536	return
3537}
3538
3539// DescribeDBClusterParameters API operation for Amazon Relational Database Service.
3540//
3541// Returns the detailed parameter list for a particular DB cluster parameter
3542// group.
3543//
3544// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3545// in the Amazon RDS User Guide.
3546//
3547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3548// with awserr.Error's Code and Message methods to get detailed information about
3549// the error.
3550//
3551// See the AWS API reference guide for Amazon Relational Database Service's
3552// API operation DescribeDBClusterParameters for usage and error information.
3553//
3554// Returned Error Codes:
3555//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3556//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3557//
3558// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
3559func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
3560	req, out := c.DescribeDBClusterParametersRequest(input)
3561	return out, req.Send()
3562}
3563
3564// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
3565// the ability to pass a context and additional request options.
3566//
3567// See DescribeDBClusterParameters for details on how to use this API operation.
3568//
3569// The context must be non-nil and will be used for request cancellation. If
3570// the context is nil a panic will occur. In the future the SDK may create
3571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3572// for more information on using Contexts.
3573func (c *RDS) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
3574	req, out := c.DescribeDBClusterParametersRequest(input)
3575	req.SetContext(ctx)
3576	req.ApplyOptions(opts...)
3577	return out, req.Send()
3578}
3579
3580const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
3581
3582// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
3583// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
3584// value will be populated with the request's response once the request completes
3585// successfuly.
3586//
3587// Use "Send" method on the returned Request to send the API call to the service.
3588// the "output" return value is not valid until after Send returns without error.
3589//
3590// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
3591// API call, and error handling.
3592//
3593// This method is useful when you want to inject custom logic or configuration
3594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3595//
3596//
3597//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
3598//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
3599//
3600//    err := req.Send()
3601//    if err == nil { // resp is now filled
3602//        fmt.Println(resp)
3603//    }
3604//
3605// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
3606func (c *RDS) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
3607	op := &request.Operation{
3608		Name:       opDescribeDBClusterSnapshotAttributes,
3609		HTTPMethod: "POST",
3610		HTTPPath:   "/",
3611	}
3612
3613	if input == nil {
3614		input = &DescribeDBClusterSnapshotAttributesInput{}
3615	}
3616
3617	output = &DescribeDBClusterSnapshotAttributesOutput{}
3618	req = c.newRequest(op, input, output)
3619	return
3620}
3621
3622// DescribeDBClusterSnapshotAttributes API operation for Amazon Relational Database Service.
3623//
3624// Returns a list of DB cluster snapshot attribute names and values for a manual
3625// DB cluster snapshot.
3626//
3627// When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
3628// returns the restore attribute and a list of IDs for the AWS accounts that
3629// are authorized to copy or restore the manual DB cluster snapshot. If all
3630// is included in the list of values for the restore attribute, then the manual
3631// DB cluster snapshot is public and can be copied or restored by all AWS accounts.
3632//
3633// To add or remove access for an AWS account to copy or restore a manual DB
3634// cluster snapshot, or to make the manual DB cluster snapshot public or private,
3635// use the ModifyDBClusterSnapshotAttribute API action.
3636//
3637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3638// with awserr.Error's Code and Message methods to get detailed information about
3639// the error.
3640//
3641// See the AWS API reference guide for Amazon Relational Database Service's
3642// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
3643//
3644// Returned Error Codes:
3645//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3646//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3647//
3648// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
3649func (c *RDS) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
3650	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
3651	return out, req.Send()
3652}
3653
3654// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
3655// the ability to pass a context and additional request options.
3656//
3657// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
3658//
3659// The context must be non-nil and will be used for request cancellation. If
3660// the context is nil a panic will occur. In the future the SDK may create
3661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3662// for more information on using Contexts.
3663func (c *RDS) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
3664	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
3665	req.SetContext(ctx)
3666	req.ApplyOptions(opts...)
3667	return out, req.Send()
3668}
3669
3670const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
3671
3672// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
3673// client's request for the DescribeDBClusterSnapshots operation. The "output" return
3674// value will be populated with the request's response once the request completes
3675// successfuly.
3676//
3677// Use "Send" method on the returned Request to send the API call to the service.
3678// the "output" return value is not valid until after Send returns without error.
3679//
3680// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
3681// API call, and error handling.
3682//
3683// This method is useful when you want to inject custom logic or configuration
3684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3685//
3686//
3687//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
3688//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
3689//
3690//    err := req.Send()
3691//    if err == nil { // resp is now filled
3692//        fmt.Println(resp)
3693//    }
3694//
3695// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
3696func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
3697	op := &request.Operation{
3698		Name:       opDescribeDBClusterSnapshots,
3699		HTTPMethod: "POST",
3700		HTTPPath:   "/",
3701	}
3702
3703	if input == nil {
3704		input = &DescribeDBClusterSnapshotsInput{}
3705	}
3706
3707	output = &DescribeDBClusterSnapshotsOutput{}
3708	req = c.newRequest(op, input, output)
3709	return
3710}
3711
3712// DescribeDBClusterSnapshots API operation for Amazon Relational Database Service.
3713//
3714// Returns information about DB cluster snapshots. This API action supports
3715// pagination.
3716//
3717// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3718// in the Amazon RDS User Guide.
3719//
3720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3721// with awserr.Error's Code and Message methods to get detailed information about
3722// the error.
3723//
3724// See the AWS API reference guide for Amazon Relational Database Service's
3725// API operation DescribeDBClusterSnapshots for usage and error information.
3726//
3727// Returned Error Codes:
3728//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3729//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3730//
3731// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
3732func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
3733	req, out := c.DescribeDBClusterSnapshotsRequest(input)
3734	return out, req.Send()
3735}
3736
3737// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
3738// the ability to pass a context and additional request options.
3739//
3740// See DescribeDBClusterSnapshots for details on how to use this API operation.
3741//
3742// The context must be non-nil and will be used for request cancellation. If
3743// the context is nil a panic will occur. In the future the SDK may create
3744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3745// for more information on using Contexts.
3746func (c *RDS) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
3747	req, out := c.DescribeDBClusterSnapshotsRequest(input)
3748	req.SetContext(ctx)
3749	req.ApplyOptions(opts...)
3750	return out, req.Send()
3751}
3752
3753const opDescribeDBClusters = "DescribeDBClusters"
3754
3755// DescribeDBClustersRequest generates a "aws/request.Request" representing the
3756// client's request for the DescribeDBClusters operation. The "output" return
3757// value will be populated with the request's response once the request completes
3758// successfuly.
3759//
3760// Use "Send" method on the returned Request to send the API call to the service.
3761// the "output" return value is not valid until after Send returns without error.
3762//
3763// See DescribeDBClusters for more information on using the DescribeDBClusters
3764// API call, and error handling.
3765//
3766// This method is useful when you want to inject custom logic or configuration
3767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3768//
3769//
3770//    // Example sending a request using the DescribeDBClustersRequest method.
3771//    req, resp := client.DescribeDBClustersRequest(params)
3772//
3773//    err := req.Send()
3774//    if err == nil { // resp is now filled
3775//        fmt.Println(resp)
3776//    }
3777//
3778// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
3779func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
3780	op := &request.Operation{
3781		Name:       opDescribeDBClusters,
3782		HTTPMethod: "POST",
3783		HTTPPath:   "/",
3784	}
3785
3786	if input == nil {
3787		input = &DescribeDBClustersInput{}
3788	}
3789
3790	output = &DescribeDBClustersOutput{}
3791	req = c.newRequest(op, input, output)
3792	return
3793}
3794
3795// DescribeDBClusters API operation for Amazon Relational Database Service.
3796//
3797// Returns information about provisioned Aurora DB clusters. This API supports
3798// pagination.
3799//
3800// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
3801// in the Amazon RDS User Guide.
3802//
3803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3804// with awserr.Error's Code and Message methods to get detailed information about
3805// the error.
3806//
3807// See the AWS API reference guide for Amazon Relational Database Service's
3808// API operation DescribeDBClusters for usage and error information.
3809//
3810// Returned Error Codes:
3811//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3812//   DBClusterIdentifier doesn't refer to an existing DB cluster.
3813//
3814// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
3815func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
3816	req, out := c.DescribeDBClustersRequest(input)
3817	return out, req.Send()
3818}
3819
3820// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
3821// the ability to pass a context and additional request options.
3822//
3823// See DescribeDBClusters for details on how to use this API operation.
3824//
3825// The context must be non-nil and will be used for request cancellation. If
3826// the context is nil a panic will occur. In the future the SDK may create
3827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3828// for more information on using Contexts.
3829func (c *RDS) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
3830	req, out := c.DescribeDBClustersRequest(input)
3831	req.SetContext(ctx)
3832	req.ApplyOptions(opts...)
3833	return out, req.Send()
3834}
3835
3836const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
3837
3838// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
3839// client's request for the DescribeDBEngineVersions operation. The "output" return
3840// value will be populated with the request's response once the request completes
3841// successfuly.
3842//
3843// Use "Send" method on the returned Request to send the API call to the service.
3844// the "output" return value is not valid until after Send returns without error.
3845//
3846// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
3847// API call, and error handling.
3848//
3849// This method is useful when you want to inject custom logic or configuration
3850// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3851//
3852//
3853//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
3854//    req, resp := client.DescribeDBEngineVersionsRequest(params)
3855//
3856//    err := req.Send()
3857//    if err == nil { // resp is now filled
3858//        fmt.Println(resp)
3859//    }
3860//
3861// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
3862func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
3863	op := &request.Operation{
3864		Name:       opDescribeDBEngineVersions,
3865		HTTPMethod: "POST",
3866		HTTPPath:   "/",
3867		Paginator: &request.Paginator{
3868			InputTokens:     []string{"Marker"},
3869			OutputTokens:    []string{"Marker"},
3870			LimitToken:      "MaxRecords",
3871			TruncationToken: "",
3872		},
3873	}
3874
3875	if input == nil {
3876		input = &DescribeDBEngineVersionsInput{}
3877	}
3878
3879	output = &DescribeDBEngineVersionsOutput{}
3880	req = c.newRequest(op, input, output)
3881	return
3882}
3883
3884// DescribeDBEngineVersions API operation for Amazon Relational Database Service.
3885//
3886// Returns a list of the available DB engines.
3887//
3888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3889// with awserr.Error's Code and Message methods to get detailed information about
3890// the error.
3891//
3892// See the AWS API reference guide for Amazon Relational Database Service's
3893// API operation DescribeDBEngineVersions for usage and error information.
3894// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
3895func (c *RDS) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
3896	req, out := c.DescribeDBEngineVersionsRequest(input)
3897	return out, req.Send()
3898}
3899
3900// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
3901// the ability to pass a context and additional request options.
3902//
3903// See DescribeDBEngineVersions for details on how to use this API operation.
3904//
3905// The context must be non-nil and will be used for request cancellation. If
3906// the context is nil a panic will occur. In the future the SDK may create
3907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3908// for more information on using Contexts.
3909func (c *RDS) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
3910	req, out := c.DescribeDBEngineVersionsRequest(input)
3911	req.SetContext(ctx)
3912	req.ApplyOptions(opts...)
3913	return out, req.Send()
3914}
3915
3916// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
3917// calling the "fn" function with the response data for each page. To stop
3918// iterating, return false from the fn function.
3919//
3920// See DescribeDBEngineVersions method for more information on how to use this operation.
3921//
3922// Note: This operation can generate multiple requests to a service.
3923//
3924//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
3925//    pageNum := 0
3926//    err := client.DescribeDBEngineVersionsPages(params,
3927//        func(page *DescribeDBEngineVersionsOutput, lastPage bool) bool {
3928//            pageNum++
3929//            fmt.Println(page)
3930//            return pageNum <= 3
3931//        })
3932//
3933func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
3934	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
3935}
3936
3937// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
3938// it takes a Context and allows setting request options on the pages.
3939//
3940// The context must be non-nil and will be used for request cancellation. If
3941// the context is nil a panic will occur. In the future the SDK may create
3942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3943// for more information on using Contexts.
3944func (c *RDS) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
3945	p := request.Pagination{
3946		NewRequest: func() (*request.Request, error) {
3947			var inCpy *DescribeDBEngineVersionsInput
3948			if input != nil {
3949				tmp := *input
3950				inCpy = &tmp
3951			}
3952			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
3953			req.SetContext(ctx)
3954			req.ApplyOptions(opts...)
3955			return req, nil
3956		},
3957	}
3958
3959	cont := true
3960	for p.Next() && cont {
3961		cont = fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage())
3962	}
3963	return p.Err()
3964}
3965
3966const opDescribeDBInstances = "DescribeDBInstances"
3967
3968// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
3969// client's request for the DescribeDBInstances operation. The "output" return
3970// value will be populated with the request's response once the request completes
3971// successfuly.
3972//
3973// Use "Send" method on the returned Request to send the API call to the service.
3974// the "output" return value is not valid until after Send returns without error.
3975//
3976// See DescribeDBInstances for more information on using the DescribeDBInstances
3977// API call, and error handling.
3978//
3979// This method is useful when you want to inject custom logic or configuration
3980// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3981//
3982//
3983//    // Example sending a request using the DescribeDBInstancesRequest method.
3984//    req, resp := client.DescribeDBInstancesRequest(params)
3985//
3986//    err := req.Send()
3987//    if err == nil { // resp is now filled
3988//        fmt.Println(resp)
3989//    }
3990//
3991// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
3992func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
3993	op := &request.Operation{
3994		Name:       opDescribeDBInstances,
3995		HTTPMethod: "POST",
3996		HTTPPath:   "/",
3997		Paginator: &request.Paginator{
3998			InputTokens:     []string{"Marker"},
3999			OutputTokens:    []string{"Marker"},
4000			LimitToken:      "MaxRecords",
4001			TruncationToken: "",
4002		},
4003	}
4004
4005	if input == nil {
4006		input = &DescribeDBInstancesInput{}
4007	}
4008
4009	output = &DescribeDBInstancesOutput{}
4010	req = c.newRequest(op, input, output)
4011	return
4012}
4013
4014// DescribeDBInstances API operation for Amazon Relational Database Service.
4015//
4016// Returns information about provisioned RDS instances. This API supports pagination.
4017//
4018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4019// with awserr.Error's Code and Message methods to get detailed information about
4020// the error.
4021//
4022// See the AWS API reference guide for Amazon Relational Database Service's
4023// API operation DescribeDBInstances for usage and error information.
4024//
4025// Returned Error Codes:
4026//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4027//   DBInstanceIdentifier doesn't refer to an existing DB instance.
4028//
4029// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
4030func (c *RDS) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
4031	req, out := c.DescribeDBInstancesRequest(input)
4032	return out, req.Send()
4033}
4034
4035// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
4036// the ability to pass a context and additional request options.
4037//
4038// See DescribeDBInstances for details on how to use this API operation.
4039//
4040// The context must be non-nil and will be used for request cancellation. If
4041// the context is nil a panic will occur. In the future the SDK may create
4042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4043// for more information on using Contexts.
4044func (c *RDS) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
4045	req, out := c.DescribeDBInstancesRequest(input)
4046	req.SetContext(ctx)
4047	req.ApplyOptions(opts...)
4048	return out, req.Send()
4049}
4050
4051// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
4052// calling the "fn" function with the response data for each page. To stop
4053// iterating, return false from the fn function.
4054//
4055// See DescribeDBInstances method for more information on how to use this operation.
4056//
4057// Note: This operation can generate multiple requests to a service.
4058//
4059//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
4060//    pageNum := 0
4061//    err := client.DescribeDBInstancesPages(params,
4062//        func(page *DescribeDBInstancesOutput, lastPage bool) bool {
4063//            pageNum++
4064//            fmt.Println(page)
4065//            return pageNum <= 3
4066//        })
4067//
4068func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
4069	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
4070}
4071
4072// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
4073// it takes a Context and allows setting request options on the pages.
4074//
4075// The context must be non-nil and will be used for request cancellation. If
4076// the context is nil a panic will occur. In the future the SDK may create
4077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4078// for more information on using Contexts.
4079func (c *RDS) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
4080	p := request.Pagination{
4081		NewRequest: func() (*request.Request, error) {
4082			var inCpy *DescribeDBInstancesInput
4083			if input != nil {
4084				tmp := *input
4085				inCpy = &tmp
4086			}
4087			req, _ := c.DescribeDBInstancesRequest(inCpy)
4088			req.SetContext(ctx)
4089			req.ApplyOptions(opts...)
4090			return req, nil
4091		},
4092	}
4093
4094	cont := true
4095	for p.Next() && cont {
4096		cont = fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage())
4097	}
4098	return p.Err()
4099}
4100
4101const opDescribeDBLogFiles = "DescribeDBLogFiles"
4102
4103// DescribeDBLogFilesRequest generates a "aws/request.Request" representing the
4104// client's request for the DescribeDBLogFiles operation. The "output" return
4105// value will be populated with the request's response once the request completes
4106// successfuly.
4107//
4108// Use "Send" method on the returned Request to send the API call to the service.
4109// the "output" return value is not valid until after Send returns without error.
4110//
4111// See DescribeDBLogFiles for more information on using the DescribeDBLogFiles
4112// API call, and error handling.
4113//
4114// This method is useful when you want to inject custom logic or configuration
4115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4116//
4117//
4118//    // Example sending a request using the DescribeDBLogFilesRequest method.
4119//    req, resp := client.DescribeDBLogFilesRequest(params)
4120//
4121//    err := req.Send()
4122//    if err == nil { // resp is now filled
4123//        fmt.Println(resp)
4124//    }
4125//
4126// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
4127func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *request.Request, output *DescribeDBLogFilesOutput) {
4128	op := &request.Operation{
4129		Name:       opDescribeDBLogFiles,
4130		HTTPMethod: "POST",
4131		HTTPPath:   "/",
4132		Paginator: &request.Paginator{
4133			InputTokens:     []string{"Marker"},
4134			OutputTokens:    []string{"Marker"},
4135			LimitToken:      "MaxRecords",
4136			TruncationToken: "",
4137		},
4138	}
4139
4140	if input == nil {
4141		input = &DescribeDBLogFilesInput{}
4142	}
4143
4144	output = &DescribeDBLogFilesOutput{}
4145	req = c.newRequest(op, input, output)
4146	return
4147}
4148
4149// DescribeDBLogFiles API operation for Amazon Relational Database Service.
4150//
4151// Returns a list of DB log files for the DB instance.
4152//
4153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4154// with awserr.Error's Code and Message methods to get detailed information about
4155// the error.
4156//
4157// See the AWS API reference guide for Amazon Relational Database Service's
4158// API operation DescribeDBLogFiles for usage and error information.
4159//
4160// Returned Error Codes:
4161//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
4162//   DBInstanceIdentifier doesn't refer to an existing DB instance.
4163//
4164// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
4165func (c *RDS) DescribeDBLogFiles(input *DescribeDBLogFilesInput) (*DescribeDBLogFilesOutput, error) {
4166	req, out := c.DescribeDBLogFilesRequest(input)
4167	return out, req.Send()
4168}
4169
4170// DescribeDBLogFilesWithContext is the same as DescribeDBLogFiles with the addition of
4171// the ability to pass a context and additional request options.
4172//
4173// See DescribeDBLogFiles for details on how to use this API operation.
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) DescribeDBLogFilesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, opts ...request.Option) (*DescribeDBLogFilesOutput, error) {
4180	req, out := c.DescribeDBLogFilesRequest(input)
4181	req.SetContext(ctx)
4182	req.ApplyOptions(opts...)
4183	return out, req.Send()
4184}
4185
4186// DescribeDBLogFilesPages iterates over the pages of a DescribeDBLogFiles operation,
4187// calling the "fn" function with the response data for each page. To stop
4188// iterating, return false from the fn function.
4189//
4190// See DescribeDBLogFiles method for more information on how to use this operation.
4191//
4192// Note: This operation can generate multiple requests to a service.
4193//
4194//    // Example iterating over at most 3 pages of a DescribeDBLogFiles operation.
4195//    pageNum := 0
4196//    err := client.DescribeDBLogFilesPages(params,
4197//        func(page *DescribeDBLogFilesOutput, lastPage bool) bool {
4198//            pageNum++
4199//            fmt.Println(page)
4200//            return pageNum <= 3
4201//        })
4202//
4203func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool) error {
4204	return c.DescribeDBLogFilesPagesWithContext(aws.BackgroundContext(), input, fn)
4205}
4206
4207// DescribeDBLogFilesPagesWithContext same as DescribeDBLogFilesPages except
4208// it takes a Context and allows setting request options on the pages.
4209//
4210// The context must be non-nil and will be used for request cancellation. If
4211// the context is nil a panic will occur. In the future the SDK may create
4212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4213// for more information on using Contexts.
4214func (c *RDS) DescribeDBLogFilesPagesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool, opts ...request.Option) error {
4215	p := request.Pagination{
4216		NewRequest: func() (*request.Request, error) {
4217			var inCpy *DescribeDBLogFilesInput
4218			if input != nil {
4219				tmp := *input
4220				inCpy = &tmp
4221			}
4222			req, _ := c.DescribeDBLogFilesRequest(inCpy)
4223			req.SetContext(ctx)
4224			req.ApplyOptions(opts...)
4225			return req, nil
4226		},
4227	}
4228
4229	cont := true
4230	for p.Next() && cont {
4231		cont = fn(p.Page().(*DescribeDBLogFilesOutput), !p.HasNextPage())
4232	}
4233	return p.Err()
4234}
4235
4236const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
4237
4238// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
4239// client's request for the DescribeDBParameterGroups operation. The "output" return
4240// value will be populated with the request's response once the request completes
4241// successfuly.
4242//
4243// Use "Send" method on the returned Request to send the API call to the service.
4244// the "output" return value is not valid until after Send returns without error.
4245//
4246// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
4247// API call, and error handling.
4248//
4249// This method is useful when you want to inject custom logic or configuration
4250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4251//
4252//
4253//    // Example sending a request using the DescribeDBParameterGroupsRequest method.
4254//    req, resp := client.DescribeDBParameterGroupsRequest(params)
4255//
4256//    err := req.Send()
4257//    if err == nil { // resp is now filled
4258//        fmt.Println(resp)
4259//    }
4260//
4261// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
4262func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
4263	op := &request.Operation{
4264		Name:       opDescribeDBParameterGroups,
4265		HTTPMethod: "POST",
4266		HTTPPath:   "/",
4267		Paginator: &request.Paginator{
4268			InputTokens:     []string{"Marker"},
4269			OutputTokens:    []string{"Marker"},
4270			LimitToken:      "MaxRecords",
4271			TruncationToken: "",
4272		},
4273	}
4274
4275	if input == nil {
4276		input = &DescribeDBParameterGroupsInput{}
4277	}
4278
4279	output = &DescribeDBParameterGroupsOutput{}
4280	req = c.newRequest(op, input, output)
4281	return
4282}
4283
4284// DescribeDBParameterGroups API operation for Amazon Relational Database Service.
4285//
4286// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
4287// is specified, the list will contain only the description of the specified
4288// DB parameter group.
4289//
4290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4291// with awserr.Error's Code and Message methods to get detailed information about
4292// the error.
4293//
4294// See the AWS API reference guide for Amazon Relational Database Service's
4295// API operation DescribeDBParameterGroups for usage and error information.
4296//
4297// Returned Error Codes:
4298//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4299//   DBParameterGroupName doesn't refer to an existing DB parameter group.
4300//
4301// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
4302func (c *RDS) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
4303	req, out := c.DescribeDBParameterGroupsRequest(input)
4304	return out, req.Send()
4305}
4306
4307// DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
4308// the ability to pass a context and additional request options.
4309//
4310// See DescribeDBParameterGroups for details on how to use this API operation.
4311//
4312// The context must be non-nil and will be used for request cancellation. If
4313// the context is nil a panic will occur. In the future the SDK may create
4314// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4315// for more information on using Contexts.
4316func (c *RDS) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
4317	req, out := c.DescribeDBParameterGroupsRequest(input)
4318	req.SetContext(ctx)
4319	req.ApplyOptions(opts...)
4320	return out, req.Send()
4321}
4322
4323// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
4324// calling the "fn" function with the response data for each page. To stop
4325// iterating, return false from the fn function.
4326//
4327// See DescribeDBParameterGroups method for more information on how to use this operation.
4328//
4329// Note: This operation can generate multiple requests to a service.
4330//
4331//    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
4332//    pageNum := 0
4333//    err := client.DescribeDBParameterGroupsPages(params,
4334//        func(page *DescribeDBParameterGroupsOutput, lastPage bool) bool {
4335//            pageNum++
4336//            fmt.Println(page)
4337//            return pageNum <= 3
4338//        })
4339//
4340func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
4341	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
4342}
4343
4344// DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
4345// it takes a Context and allows setting request options on the pages.
4346//
4347// The context must be non-nil and will be used for request cancellation. If
4348// the context is nil a panic will occur. In the future the SDK may create
4349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4350// for more information on using Contexts.
4351func (c *RDS) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
4352	p := request.Pagination{
4353		NewRequest: func() (*request.Request, error) {
4354			var inCpy *DescribeDBParameterGroupsInput
4355			if input != nil {
4356				tmp := *input
4357				inCpy = &tmp
4358			}
4359			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
4360			req.SetContext(ctx)
4361			req.ApplyOptions(opts...)
4362			return req, nil
4363		},
4364	}
4365
4366	cont := true
4367	for p.Next() && cont {
4368		cont = fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage())
4369	}
4370	return p.Err()
4371}
4372
4373const opDescribeDBParameters = "DescribeDBParameters"
4374
4375// DescribeDBParametersRequest generates a "aws/request.Request" representing the
4376// client's request for the DescribeDBParameters operation. The "output" return
4377// value will be populated with the request's response once the request completes
4378// successfuly.
4379//
4380// Use "Send" method on the returned Request to send the API call to the service.
4381// the "output" return value is not valid until after Send returns without error.
4382//
4383// See DescribeDBParameters for more information on using the DescribeDBParameters
4384// API call, and error handling.
4385//
4386// This method is useful when you want to inject custom logic or configuration
4387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4388//
4389//
4390//    // Example sending a request using the DescribeDBParametersRequest method.
4391//    req, resp := client.DescribeDBParametersRequest(params)
4392//
4393//    err := req.Send()
4394//    if err == nil { // resp is now filled
4395//        fmt.Println(resp)
4396//    }
4397//
4398// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
4399func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
4400	op := &request.Operation{
4401		Name:       opDescribeDBParameters,
4402		HTTPMethod: "POST",
4403		HTTPPath:   "/",
4404		Paginator: &request.Paginator{
4405			InputTokens:     []string{"Marker"},
4406			OutputTokens:    []string{"Marker"},
4407			LimitToken:      "MaxRecords",
4408			TruncationToken: "",
4409		},
4410	}
4411
4412	if input == nil {
4413		input = &DescribeDBParametersInput{}
4414	}
4415
4416	output = &DescribeDBParametersOutput{}
4417	req = c.newRequest(op, input, output)
4418	return
4419}
4420
4421// DescribeDBParameters API operation for Amazon Relational Database Service.
4422//
4423// Returns the detailed parameter list for a particular DB parameter group.
4424//
4425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4426// with awserr.Error's Code and Message methods to get detailed information about
4427// the error.
4428//
4429// See the AWS API reference guide for Amazon Relational Database Service's
4430// API operation DescribeDBParameters for usage and error information.
4431//
4432// Returned Error Codes:
4433//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4434//   DBParameterGroupName doesn't refer to an existing DB parameter group.
4435//
4436// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
4437func (c *RDS) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
4438	req, out := c.DescribeDBParametersRequest(input)
4439	return out, req.Send()
4440}
4441
4442// DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
4443// the ability to pass a context and additional request options.
4444//
4445// See DescribeDBParameters for details on how to use this API operation.
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) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
4452	req, out := c.DescribeDBParametersRequest(input)
4453	req.SetContext(ctx)
4454	req.ApplyOptions(opts...)
4455	return out, req.Send()
4456}
4457
4458// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
4459// calling the "fn" function with the response data for each page. To stop
4460// iterating, return false from the fn function.
4461//
4462// See DescribeDBParameters method for more information on how to use this operation.
4463//
4464// Note: This operation can generate multiple requests to a service.
4465//
4466//    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
4467//    pageNum := 0
4468//    err := client.DescribeDBParametersPages(params,
4469//        func(page *DescribeDBParametersOutput, lastPage bool) bool {
4470//            pageNum++
4471//            fmt.Println(page)
4472//            return pageNum <= 3
4473//        })
4474//
4475func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
4476	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
4477}
4478
4479// DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
4480// it takes a Context and allows setting request options on the pages.
4481//
4482// The context must be non-nil and will be used for request cancellation. If
4483// the context is nil a panic will occur. In the future the SDK may create
4484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4485// for more information on using Contexts.
4486func (c *RDS) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
4487	p := request.Pagination{
4488		NewRequest: func() (*request.Request, error) {
4489			var inCpy *DescribeDBParametersInput
4490			if input != nil {
4491				tmp := *input
4492				inCpy = &tmp
4493			}
4494			req, _ := c.DescribeDBParametersRequest(inCpy)
4495			req.SetContext(ctx)
4496			req.ApplyOptions(opts...)
4497			return req, nil
4498		},
4499	}
4500
4501	cont := true
4502	for p.Next() && cont {
4503		cont = fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage())
4504	}
4505	return p.Err()
4506}
4507
4508const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups"
4509
4510// DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the
4511// client's request for the DescribeDBSecurityGroups operation. The "output" return
4512// value will be populated with the request's response once the request completes
4513// successfuly.
4514//
4515// Use "Send" method on the returned Request to send the API call to the service.
4516// the "output" return value is not valid until after Send returns without error.
4517//
4518// See DescribeDBSecurityGroups for more information on using the DescribeDBSecurityGroups
4519// API call, and error handling.
4520//
4521// This method is useful when you want to inject custom logic or configuration
4522// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4523//
4524//
4525//    // Example sending a request using the DescribeDBSecurityGroupsRequest method.
4526//    req, resp := client.DescribeDBSecurityGroupsRequest(params)
4527//
4528//    err := req.Send()
4529//    if err == nil { // resp is now filled
4530//        fmt.Println(resp)
4531//    }
4532//
4533// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
4534func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInput) (req *request.Request, output *DescribeDBSecurityGroupsOutput) {
4535	op := &request.Operation{
4536		Name:       opDescribeDBSecurityGroups,
4537		HTTPMethod: "POST",
4538		HTTPPath:   "/",
4539		Paginator: &request.Paginator{
4540			InputTokens:     []string{"Marker"},
4541			OutputTokens:    []string{"Marker"},
4542			LimitToken:      "MaxRecords",
4543			TruncationToken: "",
4544		},
4545	}
4546
4547	if input == nil {
4548		input = &DescribeDBSecurityGroupsInput{}
4549	}
4550
4551	output = &DescribeDBSecurityGroupsOutput{}
4552	req = c.newRequest(op, input, output)
4553	return
4554}
4555
4556// DescribeDBSecurityGroups API operation for Amazon Relational Database Service.
4557//
4558// Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName
4559// is specified, the list will contain only the descriptions of the specified
4560// DB security group.
4561//
4562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4563// with awserr.Error's Code and Message methods to get detailed information about
4564// the error.
4565//
4566// See the AWS API reference guide for Amazon Relational Database Service's
4567// API operation DescribeDBSecurityGroups for usage and error information.
4568//
4569// Returned Error Codes:
4570//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
4571//   DBSecurityGroupName doesn't refer to an existing DB security group.
4572//
4573// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
4574func (c *RDS) DescribeDBSecurityGroups(input *DescribeDBSecurityGroupsInput) (*DescribeDBSecurityGroupsOutput, error) {
4575	req, out := c.DescribeDBSecurityGroupsRequest(input)
4576	return out, req.Send()
4577}
4578
4579// DescribeDBSecurityGroupsWithContext is the same as DescribeDBSecurityGroups with the addition of
4580// the ability to pass a context and additional request options.
4581//
4582// See DescribeDBSecurityGroups for details on how to use this API operation.
4583//
4584// The context must be non-nil and will be used for request cancellation. If
4585// the context is nil a panic will occur. In the future the SDK may create
4586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4587// for more information on using Contexts.
4588func (c *RDS) DescribeDBSecurityGroupsWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, opts ...request.Option) (*DescribeDBSecurityGroupsOutput, error) {
4589	req, out := c.DescribeDBSecurityGroupsRequest(input)
4590	req.SetContext(ctx)
4591	req.ApplyOptions(opts...)
4592	return out, req.Send()
4593}
4594
4595// DescribeDBSecurityGroupsPages iterates over the pages of a DescribeDBSecurityGroups operation,
4596// calling the "fn" function with the response data for each page. To stop
4597// iterating, return false from the fn function.
4598//
4599// See DescribeDBSecurityGroups method for more information on how to use this operation.
4600//
4601// Note: This operation can generate multiple requests to a service.
4602//
4603//    // Example iterating over at most 3 pages of a DescribeDBSecurityGroups operation.
4604//    pageNum := 0
4605//    err := client.DescribeDBSecurityGroupsPages(params,
4606//        func(page *DescribeDBSecurityGroupsOutput, lastPage bool) bool {
4607//            pageNum++
4608//            fmt.Println(page)
4609//            return pageNum <= 3
4610//        })
4611//
4612func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool) error {
4613	return c.DescribeDBSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
4614}
4615
4616// DescribeDBSecurityGroupsPagesWithContext same as DescribeDBSecurityGroupsPages except
4617// it takes a Context and allows setting request options on the pages.
4618//
4619// The context must be non-nil and will be used for request cancellation. If
4620// the context is nil a panic will occur. In the future the SDK may create
4621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4622// for more information on using Contexts.
4623func (c *RDS) DescribeDBSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
4624	p := request.Pagination{
4625		NewRequest: func() (*request.Request, error) {
4626			var inCpy *DescribeDBSecurityGroupsInput
4627			if input != nil {
4628				tmp := *input
4629				inCpy = &tmp
4630			}
4631			req, _ := c.DescribeDBSecurityGroupsRequest(inCpy)
4632			req.SetContext(ctx)
4633			req.ApplyOptions(opts...)
4634			return req, nil
4635		},
4636	}
4637
4638	cont := true
4639	for p.Next() && cont {
4640		cont = fn(p.Page().(*DescribeDBSecurityGroupsOutput), !p.HasNextPage())
4641	}
4642	return p.Err()
4643}
4644
4645const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes"
4646
4647// DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the
4648// client's request for the DescribeDBSnapshotAttributes operation. The "output" return
4649// value will be populated with the request's response once the request completes
4650// successfuly.
4651//
4652// Use "Send" method on the returned Request to send the API call to the service.
4653// the "output" return value is not valid until after Send returns without error.
4654//
4655// See DescribeDBSnapshotAttributes for more information on using the DescribeDBSnapshotAttributes
4656// API call, and error handling.
4657//
4658// This method is useful when you want to inject custom logic or configuration
4659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4660//
4661//
4662//    // Example sending a request using the DescribeDBSnapshotAttributesRequest method.
4663//    req, resp := client.DescribeDBSnapshotAttributesRequest(params)
4664//
4665//    err := req.Send()
4666//    if err == nil { // resp is now filled
4667//        fmt.Println(resp)
4668//    }
4669//
4670// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
4671func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttributesInput) (req *request.Request, output *DescribeDBSnapshotAttributesOutput) {
4672	op := &request.Operation{
4673		Name:       opDescribeDBSnapshotAttributes,
4674		HTTPMethod: "POST",
4675		HTTPPath:   "/",
4676	}
4677
4678	if input == nil {
4679		input = &DescribeDBSnapshotAttributesInput{}
4680	}
4681
4682	output = &DescribeDBSnapshotAttributesOutput{}
4683	req = c.newRequest(op, input, output)
4684	return
4685}
4686
4687// DescribeDBSnapshotAttributes API operation for Amazon Relational Database Service.
4688//
4689// Returns a list of DB snapshot attribute names and values for a manual DB
4690// snapshot.
4691//
4692// When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes
4693// returns the restore attribute and a list of IDs for the AWS accounts that
4694// are authorized to copy or restore the manual DB snapshot. If all is included
4695// in the list of values for the restore attribute, then the manual DB snapshot
4696// is public and can be copied or restored by all AWS accounts.
4697//
4698// To add or remove access for an AWS account to copy or restore a manual DB
4699// snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute
4700// API action.
4701//
4702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4703// with awserr.Error's Code and Message methods to get detailed information about
4704// the error.
4705//
4706// See the AWS API reference guide for Amazon Relational Database Service's
4707// API operation DescribeDBSnapshotAttributes for usage and error information.
4708//
4709// Returned Error Codes:
4710//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4711//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
4712//
4713// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
4714func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesInput) (*DescribeDBSnapshotAttributesOutput, error) {
4715	req, out := c.DescribeDBSnapshotAttributesRequest(input)
4716	return out, req.Send()
4717}
4718
4719// DescribeDBSnapshotAttributesWithContext is the same as DescribeDBSnapshotAttributes with the addition of
4720// the ability to pass a context and additional request options.
4721//
4722// See DescribeDBSnapshotAttributes for details on how to use this API operation.
4723//
4724// The context must be non-nil and will be used for request cancellation. If
4725// the context is nil a panic will occur. In the future the SDK may create
4726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4727// for more information on using Contexts.
4728func (c *RDS) DescribeDBSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBSnapshotAttributesInput, opts ...request.Option) (*DescribeDBSnapshotAttributesOutput, error) {
4729	req, out := c.DescribeDBSnapshotAttributesRequest(input)
4730	req.SetContext(ctx)
4731	req.ApplyOptions(opts...)
4732	return out, req.Send()
4733}
4734
4735const opDescribeDBSnapshots = "DescribeDBSnapshots"
4736
4737// DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the
4738// client's request for the DescribeDBSnapshots operation. The "output" return
4739// value will be populated with the request's response once the request completes
4740// successfuly.
4741//
4742// Use "Send" method on the returned Request to send the API call to the service.
4743// the "output" return value is not valid until after Send returns without error.
4744//
4745// See DescribeDBSnapshots for more information on using the DescribeDBSnapshots
4746// API call, and error handling.
4747//
4748// This method is useful when you want to inject custom logic or configuration
4749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4750//
4751//
4752//    // Example sending a request using the DescribeDBSnapshotsRequest method.
4753//    req, resp := client.DescribeDBSnapshotsRequest(params)
4754//
4755//    err := req.Send()
4756//    if err == nil { // resp is now filled
4757//        fmt.Println(resp)
4758//    }
4759//
4760// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
4761func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req *request.Request, output *DescribeDBSnapshotsOutput) {
4762	op := &request.Operation{
4763		Name:       opDescribeDBSnapshots,
4764		HTTPMethod: "POST",
4765		HTTPPath:   "/",
4766		Paginator: &request.Paginator{
4767			InputTokens:     []string{"Marker"},
4768			OutputTokens:    []string{"Marker"},
4769			LimitToken:      "MaxRecords",
4770			TruncationToken: "",
4771		},
4772	}
4773
4774	if input == nil {
4775		input = &DescribeDBSnapshotsInput{}
4776	}
4777
4778	output = &DescribeDBSnapshotsOutput{}
4779	req = c.newRequest(op, input, output)
4780	return
4781}
4782
4783// DescribeDBSnapshots API operation for Amazon Relational Database Service.
4784//
4785// Returns information about DB snapshots. This API action supports pagination.
4786//
4787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4788// with awserr.Error's Code and Message methods to get detailed information about
4789// the error.
4790//
4791// See the AWS API reference guide for Amazon Relational Database Service's
4792// API operation DescribeDBSnapshots for usage and error information.
4793//
4794// Returned Error Codes:
4795//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4796//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
4797//
4798// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
4799func (c *RDS) DescribeDBSnapshots(input *DescribeDBSnapshotsInput) (*DescribeDBSnapshotsOutput, error) {
4800	req, out := c.DescribeDBSnapshotsRequest(input)
4801	return out, req.Send()
4802}
4803
4804// DescribeDBSnapshotsWithContext is the same as DescribeDBSnapshots with the addition of
4805// the ability to pass a context and additional request options.
4806//
4807// See DescribeDBSnapshots for details on how to use this API operation.
4808//
4809// The context must be non-nil and will be used for request cancellation. If
4810// the context is nil a panic will occur. In the future the SDK may create
4811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4812// for more information on using Contexts.
4813func (c *RDS) DescribeDBSnapshotsWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, opts ...request.Option) (*DescribeDBSnapshotsOutput, error) {
4814	req, out := c.DescribeDBSnapshotsRequest(input)
4815	req.SetContext(ctx)
4816	req.ApplyOptions(opts...)
4817	return out, req.Send()
4818}
4819
4820// DescribeDBSnapshotsPages iterates over the pages of a DescribeDBSnapshots operation,
4821// calling the "fn" function with the response data for each page. To stop
4822// iterating, return false from the fn function.
4823//
4824// See DescribeDBSnapshots method for more information on how to use this operation.
4825//
4826// Note: This operation can generate multiple requests to a service.
4827//
4828//    // Example iterating over at most 3 pages of a DescribeDBSnapshots operation.
4829//    pageNum := 0
4830//    err := client.DescribeDBSnapshotsPages(params,
4831//        func(page *DescribeDBSnapshotsOutput, lastPage bool) bool {
4832//            pageNum++
4833//            fmt.Println(page)
4834//            return pageNum <= 3
4835//        })
4836//
4837func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool) error {
4838	return c.DescribeDBSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
4839}
4840
4841// DescribeDBSnapshotsPagesWithContext same as DescribeDBSnapshotsPages except
4842// it takes a Context and allows setting request options on the pages.
4843//
4844// The context must be non-nil and will be used for request cancellation. If
4845// the context is nil a panic will occur. In the future the SDK may create
4846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4847// for more information on using Contexts.
4848func (c *RDS) DescribeDBSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool, opts ...request.Option) error {
4849	p := request.Pagination{
4850		NewRequest: func() (*request.Request, error) {
4851			var inCpy *DescribeDBSnapshotsInput
4852			if input != nil {
4853				tmp := *input
4854				inCpy = &tmp
4855			}
4856			req, _ := c.DescribeDBSnapshotsRequest(inCpy)
4857			req.SetContext(ctx)
4858			req.ApplyOptions(opts...)
4859			return req, nil
4860		},
4861	}
4862
4863	cont := true
4864	for p.Next() && cont {
4865		cont = fn(p.Page().(*DescribeDBSnapshotsOutput), !p.HasNextPage())
4866	}
4867	return p.Err()
4868}
4869
4870const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
4871
4872// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
4873// client's request for the DescribeDBSubnetGroups operation. The "output" return
4874// value will be populated with the request's response once the request completes
4875// successfuly.
4876//
4877// Use "Send" method on the returned Request to send the API call to the service.
4878// the "output" return value is not valid until after Send returns without error.
4879//
4880// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
4881// API call, and error handling.
4882//
4883// This method is useful when you want to inject custom logic or configuration
4884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4885//
4886//
4887//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
4888//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
4889//
4890//    err := req.Send()
4891//    if err == nil { // resp is now filled
4892//        fmt.Println(resp)
4893//    }
4894//
4895// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
4896func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
4897	op := &request.Operation{
4898		Name:       opDescribeDBSubnetGroups,
4899		HTTPMethod: "POST",
4900		HTTPPath:   "/",
4901		Paginator: &request.Paginator{
4902			InputTokens:     []string{"Marker"},
4903			OutputTokens:    []string{"Marker"},
4904			LimitToken:      "MaxRecords",
4905			TruncationToken: "",
4906		},
4907	}
4908
4909	if input == nil {
4910		input = &DescribeDBSubnetGroupsInput{}
4911	}
4912
4913	output = &DescribeDBSubnetGroupsOutput{}
4914	req = c.newRequest(op, input, output)
4915	return
4916}
4917
4918// DescribeDBSubnetGroups API operation for Amazon Relational Database Service.
4919//
4920// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
4921// the list will contain only the descriptions of the specified DBSubnetGroup.
4922//
4923// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
4924//
4925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4926// with awserr.Error's Code and Message methods to get detailed information about
4927// the error.
4928//
4929// See the AWS API reference guide for Amazon Relational Database Service's
4930// API operation DescribeDBSubnetGroups for usage and error information.
4931//
4932// Returned Error Codes:
4933//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4934//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
4935//
4936// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
4937func (c *RDS) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
4938	req, out := c.DescribeDBSubnetGroupsRequest(input)
4939	return out, req.Send()
4940}
4941
4942// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
4943// the ability to pass a context and additional request options.
4944//
4945// See DescribeDBSubnetGroups for details on how to use this API operation.
4946//
4947// The context must be non-nil and will be used for request cancellation. If
4948// the context is nil a panic will occur. In the future the SDK may create
4949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4950// for more information on using Contexts.
4951func (c *RDS) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
4952	req, out := c.DescribeDBSubnetGroupsRequest(input)
4953	req.SetContext(ctx)
4954	req.ApplyOptions(opts...)
4955	return out, req.Send()
4956}
4957
4958// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
4959// calling the "fn" function with the response data for each page. To stop
4960// iterating, return false from the fn function.
4961//
4962// See DescribeDBSubnetGroups method for more information on how to use this operation.
4963//
4964// Note: This operation can generate multiple requests to a service.
4965//
4966//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
4967//    pageNum := 0
4968//    err := client.DescribeDBSubnetGroupsPages(params,
4969//        func(page *DescribeDBSubnetGroupsOutput, lastPage bool) bool {
4970//            pageNum++
4971//            fmt.Println(page)
4972//            return pageNum <= 3
4973//        })
4974//
4975func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
4976	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
4977}
4978
4979// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
4980// it takes a Context and allows setting request options on the pages.
4981//
4982// The context must be non-nil and will be used for request cancellation. If
4983// the context is nil a panic will occur. In the future the SDK may create
4984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4985// for more information on using Contexts.
4986func (c *RDS) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
4987	p := request.Pagination{
4988		NewRequest: func() (*request.Request, error) {
4989			var inCpy *DescribeDBSubnetGroupsInput
4990			if input != nil {
4991				tmp := *input
4992				inCpy = &tmp
4993			}
4994			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
4995			req.SetContext(ctx)
4996			req.ApplyOptions(opts...)
4997			return req, nil
4998		},
4999	}
5000
5001	cont := true
5002	for p.Next() && cont {
5003		cont = fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage())
5004	}
5005	return p.Err()
5006}
5007
5008const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
5009
5010// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
5011// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
5012// value will be populated with the request's response once the request completes
5013// successfuly.
5014//
5015// Use "Send" method on the returned Request to send the API call to the service.
5016// the "output" return value is not valid until after Send returns without error.
5017//
5018// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
5019// API call, and error handling.
5020//
5021// This method is useful when you want to inject custom logic or configuration
5022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5023//
5024//
5025//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
5026//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
5027//
5028//    err := req.Send()
5029//    if err == nil { // resp is now filled
5030//        fmt.Println(resp)
5031//    }
5032//
5033// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
5034func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
5035	op := &request.Operation{
5036		Name:       opDescribeEngineDefaultClusterParameters,
5037		HTTPMethod: "POST",
5038		HTTPPath:   "/",
5039	}
5040
5041	if input == nil {
5042		input = &DescribeEngineDefaultClusterParametersInput{}
5043	}
5044
5045	output = &DescribeEngineDefaultClusterParametersOutput{}
5046	req = c.newRequest(op, input, output)
5047	return
5048}
5049
5050// DescribeEngineDefaultClusterParameters API operation for Amazon Relational Database Service.
5051//
5052// Returns the default engine and system parameter information for the cluster
5053// database engine.
5054//
5055// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
5056// in the Amazon RDS User Guide.
5057//
5058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5059// with awserr.Error's Code and Message methods to get detailed information about
5060// the error.
5061//
5062// See the AWS API reference guide for Amazon Relational Database Service's
5063// API operation DescribeEngineDefaultClusterParameters for usage and error information.
5064// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
5065func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
5066	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
5067	return out, req.Send()
5068}
5069
5070// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
5071// the ability to pass a context and additional request options.
5072//
5073// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
5074//
5075// The context must be non-nil and will be used for request cancellation. If
5076// the context is nil a panic will occur. In the future the SDK may create
5077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5078// for more information on using Contexts.
5079func (c *RDS) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
5080	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
5081	req.SetContext(ctx)
5082	req.ApplyOptions(opts...)
5083	return out, req.Send()
5084}
5085
5086const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
5087
5088// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
5089// client's request for the DescribeEngineDefaultParameters operation. The "output" return
5090// value will be populated with the request's response once the request completes
5091// successfuly.
5092//
5093// Use "Send" method on the returned Request to send the API call to the service.
5094// the "output" return value is not valid until after Send returns without error.
5095//
5096// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
5097// API call, and error handling.
5098//
5099// This method is useful when you want to inject custom logic or configuration
5100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5101//
5102//
5103//    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
5104//    req, resp := client.DescribeEngineDefaultParametersRequest(params)
5105//
5106//    err := req.Send()
5107//    if err == nil { // resp is now filled
5108//        fmt.Println(resp)
5109//    }
5110//
5111// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
5112func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
5113	op := &request.Operation{
5114		Name:       opDescribeEngineDefaultParameters,
5115		HTTPMethod: "POST",
5116		HTTPPath:   "/",
5117		Paginator: &request.Paginator{
5118			InputTokens:     []string{"Marker"},
5119			OutputTokens:    []string{"EngineDefaults.Marker"},
5120			LimitToken:      "MaxRecords",
5121			TruncationToken: "",
5122		},
5123	}
5124
5125	if input == nil {
5126		input = &DescribeEngineDefaultParametersInput{}
5127	}
5128
5129	output = &DescribeEngineDefaultParametersOutput{}
5130	req = c.newRequest(op, input, output)
5131	return
5132}
5133
5134// DescribeEngineDefaultParameters API operation for Amazon Relational Database Service.
5135//
5136// Returns the default engine and system parameter information for the specified
5137// database engine.
5138//
5139// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5140// with awserr.Error's Code and Message methods to get detailed information about
5141// the error.
5142//
5143// See the AWS API reference guide for Amazon Relational Database Service's
5144// API operation DescribeEngineDefaultParameters for usage and error information.
5145// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
5146func (c *RDS) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
5147	req, out := c.DescribeEngineDefaultParametersRequest(input)
5148	return out, req.Send()
5149}
5150
5151// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
5152// the ability to pass a context and additional request options.
5153//
5154// See DescribeEngineDefaultParameters for details on how to use this API operation.
5155//
5156// The context must be non-nil and will be used for request cancellation. If
5157// the context is nil a panic will occur. In the future the SDK may create
5158// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5159// for more information on using Contexts.
5160func (c *RDS) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
5161	req, out := c.DescribeEngineDefaultParametersRequest(input)
5162	req.SetContext(ctx)
5163	req.ApplyOptions(opts...)
5164	return out, req.Send()
5165}
5166
5167// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
5168// calling the "fn" function with the response data for each page. To stop
5169// iterating, return false from the fn function.
5170//
5171// See DescribeEngineDefaultParameters method for more information on how to use this operation.
5172//
5173// Note: This operation can generate multiple requests to a service.
5174//
5175//    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
5176//    pageNum := 0
5177//    err := client.DescribeEngineDefaultParametersPages(params,
5178//        func(page *DescribeEngineDefaultParametersOutput, lastPage bool) bool {
5179//            pageNum++
5180//            fmt.Println(page)
5181//            return pageNum <= 3
5182//        })
5183//
5184func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
5185	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
5186}
5187
5188// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
5189// it takes a Context and allows setting request options on the pages.
5190//
5191// The context must be non-nil and will be used for request cancellation. If
5192// the context is nil a panic will occur. In the future the SDK may create
5193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5194// for more information on using Contexts.
5195func (c *RDS) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
5196	p := request.Pagination{
5197		NewRequest: func() (*request.Request, error) {
5198			var inCpy *DescribeEngineDefaultParametersInput
5199			if input != nil {
5200				tmp := *input
5201				inCpy = &tmp
5202			}
5203			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
5204			req.SetContext(ctx)
5205			req.ApplyOptions(opts...)
5206			return req, nil
5207		},
5208	}
5209
5210	cont := true
5211	for p.Next() && cont {
5212		cont = fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage())
5213	}
5214	return p.Err()
5215}
5216
5217const opDescribeEventCategories = "DescribeEventCategories"
5218
5219// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
5220// client's request for the DescribeEventCategories operation. The "output" return
5221// value will be populated with the request's response once the request completes
5222// successfuly.
5223//
5224// Use "Send" method on the returned Request to send the API call to the service.
5225// the "output" return value is not valid until after Send returns without error.
5226//
5227// See DescribeEventCategories for more information on using the DescribeEventCategories
5228// API call, and error handling.
5229//
5230// This method is useful when you want to inject custom logic or configuration
5231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5232//
5233//
5234//    // Example sending a request using the DescribeEventCategoriesRequest method.
5235//    req, resp := client.DescribeEventCategoriesRequest(params)
5236//
5237//    err := req.Send()
5238//    if err == nil { // resp is now filled
5239//        fmt.Println(resp)
5240//    }
5241//
5242// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
5243func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
5244	op := &request.Operation{
5245		Name:       opDescribeEventCategories,
5246		HTTPMethod: "POST",
5247		HTTPPath:   "/",
5248	}
5249
5250	if input == nil {
5251		input = &DescribeEventCategoriesInput{}
5252	}
5253
5254	output = &DescribeEventCategoriesOutput{}
5255	req = c.newRequest(op, input, output)
5256	return
5257}
5258
5259// DescribeEventCategories API operation for Amazon Relational Database Service.
5260//
5261// Displays a list of categories for all event source types, or, if specified,
5262// for a specified source type. You can see a list of the event categories and
5263// source types in the  Events (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
5264// topic in the Amazon RDS User Guide.
5265//
5266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5267// with awserr.Error's Code and Message methods to get detailed information about
5268// the error.
5269//
5270// See the AWS API reference guide for Amazon Relational Database Service's
5271// API operation DescribeEventCategories for usage and error information.
5272// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
5273func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
5274	req, out := c.DescribeEventCategoriesRequest(input)
5275	return out, req.Send()
5276}
5277
5278// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
5279// the ability to pass a context and additional request options.
5280//
5281// See DescribeEventCategories for details on how to use this API operation.
5282//
5283// The context must be non-nil and will be used for request cancellation. If
5284// the context is nil a panic will occur. In the future the SDK may create
5285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5286// for more information on using Contexts.
5287func (c *RDS) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
5288	req, out := c.DescribeEventCategoriesRequest(input)
5289	req.SetContext(ctx)
5290	req.ApplyOptions(opts...)
5291	return out, req.Send()
5292}
5293
5294const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
5295
5296// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
5297// client's request for the DescribeEventSubscriptions operation. The "output" return
5298// value will be populated with the request's response once the request completes
5299// successfuly.
5300//
5301// Use "Send" method on the returned Request to send the API call to the service.
5302// the "output" return value is not valid until after Send returns without error.
5303//
5304// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
5305// API call, and error handling.
5306//
5307// This method is useful when you want to inject custom logic or configuration
5308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5309//
5310//
5311//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
5312//    req, resp := client.DescribeEventSubscriptionsRequest(params)
5313//
5314//    err := req.Send()
5315//    if err == nil { // resp is now filled
5316//        fmt.Println(resp)
5317//    }
5318//
5319// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
5320func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
5321	op := &request.Operation{
5322		Name:       opDescribeEventSubscriptions,
5323		HTTPMethod: "POST",
5324		HTTPPath:   "/",
5325		Paginator: &request.Paginator{
5326			InputTokens:     []string{"Marker"},
5327			OutputTokens:    []string{"Marker"},
5328			LimitToken:      "MaxRecords",
5329			TruncationToken: "",
5330		},
5331	}
5332
5333	if input == nil {
5334		input = &DescribeEventSubscriptionsInput{}
5335	}
5336
5337	output = &DescribeEventSubscriptionsOutput{}
5338	req = c.newRequest(op, input, output)
5339	return
5340}
5341
5342// DescribeEventSubscriptions API operation for Amazon Relational Database Service.
5343//
5344// Lists all the subscription descriptions for a customer account. The description
5345// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
5346// SourceID, CreationTime, and Status.
5347//
5348// If you specify a SubscriptionName, lists the description for that subscription.
5349//
5350// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5351// with awserr.Error's Code and Message methods to get detailed information about
5352// the error.
5353//
5354// See the AWS API reference guide for Amazon Relational Database Service's
5355// API operation DescribeEventSubscriptions for usage and error information.
5356//
5357// Returned Error Codes:
5358//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
5359//   The subscription name does not exist.
5360//
5361// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
5362func (c *RDS) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
5363	req, out := c.DescribeEventSubscriptionsRequest(input)
5364	return out, req.Send()
5365}
5366
5367// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
5368// the ability to pass a context and additional request options.
5369//
5370// See DescribeEventSubscriptions for details on how to use this API operation.
5371//
5372// The context must be non-nil and will be used for request cancellation. If
5373// the context is nil a panic will occur. In the future the SDK may create
5374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5375// for more information on using Contexts.
5376func (c *RDS) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
5377	req, out := c.DescribeEventSubscriptionsRequest(input)
5378	req.SetContext(ctx)
5379	req.ApplyOptions(opts...)
5380	return out, req.Send()
5381}
5382
5383// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
5384// calling the "fn" function with the response data for each page. To stop
5385// iterating, return false from the fn function.
5386//
5387// See DescribeEventSubscriptions method for more information on how to use this operation.
5388//
5389// Note: This operation can generate multiple requests to a service.
5390//
5391//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
5392//    pageNum := 0
5393//    err := client.DescribeEventSubscriptionsPages(params,
5394//        func(page *DescribeEventSubscriptionsOutput, lastPage bool) bool {
5395//            pageNum++
5396//            fmt.Println(page)
5397//            return pageNum <= 3
5398//        })
5399//
5400func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
5401	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
5402}
5403
5404// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
5405// it takes a Context and allows setting request options on the pages.
5406//
5407// The context must be non-nil and will be used for request cancellation. If
5408// the context is nil a panic will occur. In the future the SDK may create
5409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5410// for more information on using Contexts.
5411func (c *RDS) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
5412	p := request.Pagination{
5413		NewRequest: func() (*request.Request, error) {
5414			var inCpy *DescribeEventSubscriptionsInput
5415			if input != nil {
5416				tmp := *input
5417				inCpy = &tmp
5418			}
5419			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
5420			req.SetContext(ctx)
5421			req.ApplyOptions(opts...)
5422			return req, nil
5423		},
5424	}
5425
5426	cont := true
5427	for p.Next() && cont {
5428		cont = fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage())
5429	}
5430	return p.Err()
5431}
5432
5433const opDescribeEvents = "DescribeEvents"
5434
5435// DescribeEventsRequest generates a "aws/request.Request" representing the
5436// client's request for the DescribeEvents operation. The "output" return
5437// value will be populated with the request's response once the request completes
5438// successfuly.
5439//
5440// Use "Send" method on the returned Request to send the API call to the service.
5441// the "output" return value is not valid until after Send returns without error.
5442//
5443// See DescribeEvents for more information on using the DescribeEvents
5444// API call, and error handling.
5445//
5446// This method is useful when you want to inject custom logic or configuration
5447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5448//
5449//
5450//    // Example sending a request using the DescribeEventsRequest method.
5451//    req, resp := client.DescribeEventsRequest(params)
5452//
5453//    err := req.Send()
5454//    if err == nil { // resp is now filled
5455//        fmt.Println(resp)
5456//    }
5457//
5458// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
5459func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
5460	op := &request.Operation{
5461		Name:       opDescribeEvents,
5462		HTTPMethod: "POST",
5463		HTTPPath:   "/",
5464		Paginator: &request.Paginator{
5465			InputTokens:     []string{"Marker"},
5466			OutputTokens:    []string{"Marker"},
5467			LimitToken:      "MaxRecords",
5468			TruncationToken: "",
5469		},
5470	}
5471
5472	if input == nil {
5473		input = &DescribeEventsInput{}
5474	}
5475
5476	output = &DescribeEventsOutput{}
5477	req = c.newRequest(op, input, output)
5478	return
5479}
5480
5481// DescribeEvents API operation for Amazon Relational Database Service.
5482//
5483// Returns events related to DB instances, DB security groups, DB snapshots,
5484// and DB parameter groups for the past 14 days. Events specific to a particular
5485// DB instance, DB security group, database snapshot, or DB parameter group
5486// can be obtained by providing the name as a parameter. By default, the past
5487// hour of events are returned.
5488//
5489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5490// with awserr.Error's Code and Message methods to get detailed information about
5491// the error.
5492//
5493// See the AWS API reference guide for Amazon Relational Database Service's
5494// API operation DescribeEvents for usage and error information.
5495// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
5496func (c *RDS) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
5497	req, out := c.DescribeEventsRequest(input)
5498	return out, req.Send()
5499}
5500
5501// DescribeEventsWithContext is the same as DescribeEvents with the addition of
5502// the ability to pass a context and additional request options.
5503//
5504// See DescribeEvents for details on how to use this API operation.
5505//
5506// The context must be non-nil and will be used for request cancellation. If
5507// the context is nil a panic will occur. In the future the SDK may create
5508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5509// for more information on using Contexts.
5510func (c *RDS) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
5511	req, out := c.DescribeEventsRequest(input)
5512	req.SetContext(ctx)
5513	req.ApplyOptions(opts...)
5514	return out, req.Send()
5515}
5516
5517// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
5518// calling the "fn" function with the response data for each page. To stop
5519// iterating, return false from the fn function.
5520//
5521// See DescribeEvents method for more information on how to use this operation.
5522//
5523// Note: This operation can generate multiple requests to a service.
5524//
5525//    // Example iterating over at most 3 pages of a DescribeEvents operation.
5526//    pageNum := 0
5527//    err := client.DescribeEventsPages(params,
5528//        func(page *DescribeEventsOutput, lastPage bool) bool {
5529//            pageNum++
5530//            fmt.Println(page)
5531//            return pageNum <= 3
5532//        })
5533//
5534func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
5535	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
5536}
5537
5538// DescribeEventsPagesWithContext same as DescribeEventsPages except
5539// it takes a Context and allows setting request options on the pages.
5540//
5541// The context must be non-nil and will be used for request cancellation. If
5542// the context is nil a panic will occur. In the future the SDK may create
5543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5544// for more information on using Contexts.
5545func (c *RDS) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
5546	p := request.Pagination{
5547		NewRequest: func() (*request.Request, error) {
5548			var inCpy *DescribeEventsInput
5549			if input != nil {
5550				tmp := *input
5551				inCpy = &tmp
5552			}
5553			req, _ := c.DescribeEventsRequest(inCpy)
5554			req.SetContext(ctx)
5555			req.ApplyOptions(opts...)
5556			return req, nil
5557		},
5558	}
5559
5560	cont := true
5561	for p.Next() && cont {
5562		cont = fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage())
5563	}
5564	return p.Err()
5565}
5566
5567const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions"
5568
5569// DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the
5570// client's request for the DescribeOptionGroupOptions operation. The "output" return
5571// value will be populated with the request's response once the request completes
5572// successfuly.
5573//
5574// Use "Send" method on the returned Request to send the API call to the service.
5575// the "output" return value is not valid until after Send returns without error.
5576//
5577// See DescribeOptionGroupOptions for more information on using the DescribeOptionGroupOptions
5578// API call, and error handling.
5579//
5580// This method is useful when you want to inject custom logic or configuration
5581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5582//
5583//
5584//    // Example sending a request using the DescribeOptionGroupOptionsRequest method.
5585//    req, resp := client.DescribeOptionGroupOptionsRequest(params)
5586//
5587//    err := req.Send()
5588//    if err == nil { // resp is now filled
5589//        fmt.Println(resp)
5590//    }
5591//
5592// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
5593func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) {
5594	op := &request.Operation{
5595		Name:       opDescribeOptionGroupOptions,
5596		HTTPMethod: "POST",
5597		HTTPPath:   "/",
5598		Paginator: &request.Paginator{
5599			InputTokens:     []string{"Marker"},
5600			OutputTokens:    []string{"Marker"},
5601			LimitToken:      "MaxRecords",
5602			TruncationToken: "",
5603		},
5604	}
5605
5606	if input == nil {
5607		input = &DescribeOptionGroupOptionsInput{}
5608	}
5609
5610	output = &DescribeOptionGroupOptionsOutput{}
5611	req = c.newRequest(op, input, output)
5612	return
5613}
5614
5615// DescribeOptionGroupOptions API operation for Amazon Relational Database Service.
5616//
5617// Describes all available options.
5618//
5619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5620// with awserr.Error's Code and Message methods to get detailed information about
5621// the error.
5622//
5623// See the AWS API reference guide for Amazon Relational Database Service's
5624// API operation DescribeOptionGroupOptions for usage and error information.
5625// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
5626func (c *RDS) DescribeOptionGroupOptions(input *DescribeOptionGroupOptionsInput) (*DescribeOptionGroupOptionsOutput, error) {
5627	req, out := c.DescribeOptionGroupOptionsRequest(input)
5628	return out, req.Send()
5629}
5630
5631// DescribeOptionGroupOptionsWithContext is the same as DescribeOptionGroupOptions with the addition of
5632// the ability to pass a context and additional request options.
5633//
5634// See DescribeOptionGroupOptions for details on how to use this API operation.
5635//
5636// The context must be non-nil and will be used for request cancellation. If
5637// the context is nil a panic will occur. In the future the SDK may create
5638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5639// for more information on using Contexts.
5640func (c *RDS) DescribeOptionGroupOptionsWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, opts ...request.Option) (*DescribeOptionGroupOptionsOutput, error) {
5641	req, out := c.DescribeOptionGroupOptionsRequest(input)
5642	req.SetContext(ctx)
5643	req.ApplyOptions(opts...)
5644	return out, req.Send()
5645}
5646
5647// DescribeOptionGroupOptionsPages iterates over the pages of a DescribeOptionGroupOptions operation,
5648// calling the "fn" function with the response data for each page. To stop
5649// iterating, return false from the fn function.
5650//
5651// See DescribeOptionGroupOptions method for more information on how to use this operation.
5652//
5653// Note: This operation can generate multiple requests to a service.
5654//
5655//    // Example iterating over at most 3 pages of a DescribeOptionGroupOptions operation.
5656//    pageNum := 0
5657//    err := client.DescribeOptionGroupOptionsPages(params,
5658//        func(page *DescribeOptionGroupOptionsOutput, lastPage bool) bool {
5659//            pageNum++
5660//            fmt.Println(page)
5661//            return pageNum <= 3
5662//        })
5663//
5664func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool) error {
5665	return c.DescribeOptionGroupOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
5666}
5667
5668// DescribeOptionGroupOptionsPagesWithContext same as DescribeOptionGroupOptionsPages except
5669// it takes a Context and allows setting request options on the pages.
5670//
5671// The context must be non-nil and will be used for request cancellation. If
5672// the context is nil a panic will occur. In the future the SDK may create
5673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5674// for more information on using Contexts.
5675func (c *RDS) DescribeOptionGroupOptionsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool, opts ...request.Option) error {
5676	p := request.Pagination{
5677		NewRequest: func() (*request.Request, error) {
5678			var inCpy *DescribeOptionGroupOptionsInput
5679			if input != nil {
5680				tmp := *input
5681				inCpy = &tmp
5682			}
5683			req, _ := c.DescribeOptionGroupOptionsRequest(inCpy)
5684			req.SetContext(ctx)
5685			req.ApplyOptions(opts...)
5686			return req, nil
5687		},
5688	}
5689
5690	cont := true
5691	for p.Next() && cont {
5692		cont = fn(p.Page().(*DescribeOptionGroupOptionsOutput), !p.HasNextPage())
5693	}
5694	return p.Err()
5695}
5696
5697const opDescribeOptionGroups = "DescribeOptionGroups"
5698
5699// DescribeOptionGroupsRequest generates a "aws/request.Request" representing the
5700// client's request for the DescribeOptionGroups operation. The "output" return
5701// value will be populated with the request's response once the request completes
5702// successfuly.
5703//
5704// Use "Send" method on the returned Request to send the API call to the service.
5705// the "output" return value is not valid until after Send returns without error.
5706//
5707// See DescribeOptionGroups for more information on using the DescribeOptionGroups
5708// API call, and error handling.
5709//
5710// This method is useful when you want to inject custom logic or configuration
5711// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5712//
5713//
5714//    // Example sending a request using the DescribeOptionGroupsRequest method.
5715//    req, resp := client.DescribeOptionGroupsRequest(params)
5716//
5717//    err := req.Send()
5718//    if err == nil { // resp is now filled
5719//        fmt.Println(resp)
5720//    }
5721//
5722// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
5723func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req *request.Request, output *DescribeOptionGroupsOutput) {
5724	op := &request.Operation{
5725		Name:       opDescribeOptionGroups,
5726		HTTPMethod: "POST",
5727		HTTPPath:   "/",
5728		Paginator: &request.Paginator{
5729			InputTokens:     []string{"Marker"},
5730			OutputTokens:    []string{"Marker"},
5731			LimitToken:      "MaxRecords",
5732			TruncationToken: "",
5733		},
5734	}
5735
5736	if input == nil {
5737		input = &DescribeOptionGroupsInput{}
5738	}
5739
5740	output = &DescribeOptionGroupsOutput{}
5741	req = c.newRequest(op, input, output)
5742	return
5743}
5744
5745// DescribeOptionGroups API operation for Amazon Relational Database Service.
5746//
5747// Describes the available option groups.
5748//
5749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5750// with awserr.Error's Code and Message methods to get detailed information about
5751// the error.
5752//
5753// See the AWS API reference guide for Amazon Relational Database Service's
5754// API operation DescribeOptionGroups for usage and error information.
5755//
5756// Returned Error Codes:
5757//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
5758//   The specified option group could not be found.
5759//
5760// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
5761func (c *RDS) DescribeOptionGroups(input *DescribeOptionGroupsInput) (*DescribeOptionGroupsOutput, error) {
5762	req, out := c.DescribeOptionGroupsRequest(input)
5763	return out, req.Send()
5764}
5765
5766// DescribeOptionGroupsWithContext is the same as DescribeOptionGroups with the addition of
5767// the ability to pass a context and additional request options.
5768//
5769// See DescribeOptionGroups for details on how to use this API operation.
5770//
5771// The context must be non-nil and will be used for request cancellation. If
5772// the context is nil a panic will occur. In the future the SDK may create
5773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5774// for more information on using Contexts.
5775func (c *RDS) DescribeOptionGroupsWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, opts ...request.Option) (*DescribeOptionGroupsOutput, error) {
5776	req, out := c.DescribeOptionGroupsRequest(input)
5777	req.SetContext(ctx)
5778	req.ApplyOptions(opts...)
5779	return out, req.Send()
5780}
5781
5782// DescribeOptionGroupsPages iterates over the pages of a DescribeOptionGroups operation,
5783// calling the "fn" function with the response data for each page. To stop
5784// iterating, return false from the fn function.
5785//
5786// See DescribeOptionGroups method for more information on how to use this operation.
5787//
5788// Note: This operation can generate multiple requests to a service.
5789//
5790//    // Example iterating over at most 3 pages of a DescribeOptionGroups operation.
5791//    pageNum := 0
5792//    err := client.DescribeOptionGroupsPages(params,
5793//        func(page *DescribeOptionGroupsOutput, lastPage bool) bool {
5794//            pageNum++
5795//            fmt.Println(page)
5796//            return pageNum <= 3
5797//        })
5798//
5799func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool) error {
5800	return c.DescribeOptionGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
5801}
5802
5803// DescribeOptionGroupsPagesWithContext same as DescribeOptionGroupsPages except
5804// it takes a Context and allows setting request options on the pages.
5805//
5806// The context must be non-nil and will be used for request cancellation. If
5807// the context is nil a panic will occur. In the future the SDK may create
5808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5809// for more information on using Contexts.
5810func (c *RDS) DescribeOptionGroupsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool, opts ...request.Option) error {
5811	p := request.Pagination{
5812		NewRequest: func() (*request.Request, error) {
5813			var inCpy *DescribeOptionGroupsInput
5814			if input != nil {
5815				tmp := *input
5816				inCpy = &tmp
5817			}
5818			req, _ := c.DescribeOptionGroupsRequest(inCpy)
5819			req.SetContext(ctx)
5820			req.ApplyOptions(opts...)
5821			return req, nil
5822		},
5823	}
5824
5825	cont := true
5826	for p.Next() && cont {
5827		cont = fn(p.Page().(*DescribeOptionGroupsOutput), !p.HasNextPage())
5828	}
5829	return p.Err()
5830}
5831
5832const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
5833
5834// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
5835// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
5836// value will be populated with the request's response once the request completes
5837// successfuly.
5838//
5839// Use "Send" method on the returned Request to send the API call to the service.
5840// the "output" return value is not valid until after Send returns without error.
5841//
5842// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
5843// API call, and error handling.
5844//
5845// This method is useful when you want to inject custom logic or configuration
5846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5847//
5848//
5849//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
5850//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
5851//
5852//    err := req.Send()
5853//    if err == nil { // resp is now filled
5854//        fmt.Println(resp)
5855//    }
5856//
5857// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
5858func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
5859	op := &request.Operation{
5860		Name:       opDescribeOrderableDBInstanceOptions,
5861		HTTPMethod: "POST",
5862		HTTPPath:   "/",
5863		Paginator: &request.Paginator{
5864			InputTokens:     []string{"Marker"},
5865			OutputTokens:    []string{"Marker"},
5866			LimitToken:      "MaxRecords",
5867			TruncationToken: "",
5868		},
5869	}
5870
5871	if input == nil {
5872		input = &DescribeOrderableDBInstanceOptionsInput{}
5873	}
5874
5875	output = &DescribeOrderableDBInstanceOptionsOutput{}
5876	req = c.newRequest(op, input, output)
5877	return
5878}
5879
5880// DescribeOrderableDBInstanceOptions API operation for Amazon Relational Database Service.
5881//
5882// Returns a list of orderable DB instance options for the specified engine.
5883//
5884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5885// with awserr.Error's Code and Message methods to get detailed information about
5886// the error.
5887//
5888// See the AWS API reference guide for Amazon Relational Database Service's
5889// API operation DescribeOrderableDBInstanceOptions for usage and error information.
5890// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
5891func (c *RDS) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
5892	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
5893	return out, req.Send()
5894}
5895
5896// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
5897// the ability to pass a context and additional request options.
5898//
5899// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
5900//
5901// The context must be non-nil and will be used for request cancellation. If
5902// the context is nil a panic will occur. In the future the SDK may create
5903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5904// for more information on using Contexts.
5905func (c *RDS) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
5906	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
5907	req.SetContext(ctx)
5908	req.ApplyOptions(opts...)
5909	return out, req.Send()
5910}
5911
5912// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
5913// calling the "fn" function with the response data for each page. To stop
5914// iterating, return false from the fn function.
5915//
5916// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
5917//
5918// Note: This operation can generate multiple requests to a service.
5919//
5920//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
5921//    pageNum := 0
5922//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
5923//        func(page *DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
5924//            pageNum++
5925//            fmt.Println(page)
5926//            return pageNum <= 3
5927//        })
5928//
5929func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
5930	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
5931}
5932
5933// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
5934// it takes a Context and allows setting request options on the pages.
5935//
5936// The context must be non-nil and will be used for request cancellation. If
5937// the context is nil a panic will occur. In the future the SDK may create
5938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5939// for more information on using Contexts.
5940func (c *RDS) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
5941	p := request.Pagination{
5942		NewRequest: func() (*request.Request, error) {
5943			var inCpy *DescribeOrderableDBInstanceOptionsInput
5944			if input != nil {
5945				tmp := *input
5946				inCpy = &tmp
5947			}
5948			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
5949			req.SetContext(ctx)
5950			req.ApplyOptions(opts...)
5951			return req, nil
5952		},
5953	}
5954
5955	cont := true
5956	for p.Next() && cont {
5957		cont = fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage())
5958	}
5959	return p.Err()
5960}
5961
5962const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
5963
5964// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
5965// client's request for the DescribePendingMaintenanceActions operation. The "output" return
5966// value will be populated with the request's response once the request completes
5967// successfuly.
5968//
5969// Use "Send" method on the returned Request to send the API call to the service.
5970// the "output" return value is not valid until after Send returns without error.
5971//
5972// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
5973// API call, and error handling.
5974//
5975// This method is useful when you want to inject custom logic or configuration
5976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5977//
5978//
5979//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
5980//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
5981//
5982//    err := req.Send()
5983//    if err == nil { // resp is now filled
5984//        fmt.Println(resp)
5985//    }
5986//
5987// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
5988func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
5989	op := &request.Operation{
5990		Name:       opDescribePendingMaintenanceActions,
5991		HTTPMethod: "POST",
5992		HTTPPath:   "/",
5993	}
5994
5995	if input == nil {
5996		input = &DescribePendingMaintenanceActionsInput{}
5997	}
5998
5999	output = &DescribePendingMaintenanceActionsOutput{}
6000	req = c.newRequest(op, input, output)
6001	return
6002}
6003
6004// DescribePendingMaintenanceActions API operation for Amazon Relational Database Service.
6005//
6006// Returns a list of resources (for example, DB instances) that have at least
6007// one pending maintenance action.
6008//
6009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6010// with awserr.Error's Code and Message methods to get detailed information about
6011// the error.
6012//
6013// See the AWS API reference guide for Amazon Relational Database Service's
6014// API operation DescribePendingMaintenanceActions for usage and error information.
6015//
6016// Returned Error Codes:
6017//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
6018//   The specified resource ID was not found.
6019//
6020// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
6021func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
6022	req, out := c.DescribePendingMaintenanceActionsRequest(input)
6023	return out, req.Send()
6024}
6025
6026// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
6027// the ability to pass a context and additional request options.
6028//
6029// See DescribePendingMaintenanceActions for details on how to use this API operation.
6030//
6031// The context must be non-nil and will be used for request cancellation. If
6032// the context is nil a panic will occur. In the future the SDK may create
6033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6034// for more information on using Contexts.
6035func (c *RDS) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
6036	req, out := c.DescribePendingMaintenanceActionsRequest(input)
6037	req.SetContext(ctx)
6038	req.ApplyOptions(opts...)
6039	return out, req.Send()
6040}
6041
6042const opDescribeReservedDBInstances = "DescribeReservedDBInstances"
6043
6044// DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the
6045// client's request for the DescribeReservedDBInstances operation. The "output" return
6046// value will be populated with the request's response once the request completes
6047// successfuly.
6048//
6049// Use "Send" method on the returned Request to send the API call to the service.
6050// the "output" return value is not valid until after Send returns without error.
6051//
6052// See DescribeReservedDBInstances for more information on using the DescribeReservedDBInstances
6053// API call, and error handling.
6054//
6055// This method is useful when you want to inject custom logic or configuration
6056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6057//
6058//
6059//    // Example sending a request using the DescribeReservedDBInstancesRequest method.
6060//    req, resp := client.DescribeReservedDBInstancesRequest(params)
6061//
6062//    err := req.Send()
6063//    if err == nil { // resp is now filled
6064//        fmt.Println(resp)
6065//    }
6066//
6067// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
6068func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstancesInput) (req *request.Request, output *DescribeReservedDBInstancesOutput) {
6069	op := &request.Operation{
6070		Name:       opDescribeReservedDBInstances,
6071		HTTPMethod: "POST",
6072		HTTPPath:   "/",
6073		Paginator: &request.Paginator{
6074			InputTokens:     []string{"Marker"},
6075			OutputTokens:    []string{"Marker"},
6076			LimitToken:      "MaxRecords",
6077			TruncationToken: "",
6078		},
6079	}
6080
6081	if input == nil {
6082		input = &DescribeReservedDBInstancesInput{}
6083	}
6084
6085	output = &DescribeReservedDBInstancesOutput{}
6086	req = c.newRequest(op, input, output)
6087	return
6088}
6089
6090// DescribeReservedDBInstances API operation for Amazon Relational Database Service.
6091//
6092// Returns information about reserved DB instances for this account, or about
6093// a specified reserved DB instance.
6094//
6095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6096// with awserr.Error's Code and Message methods to get detailed information about
6097// the error.
6098//
6099// See the AWS API reference guide for Amazon Relational Database Service's
6100// API operation DescribeReservedDBInstances for usage and error information.
6101//
6102// Returned Error Codes:
6103//   * ErrCodeReservedDBInstanceNotFoundFault "ReservedDBInstanceNotFound"
6104//   The specified reserved DB Instance not found.
6105//
6106// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
6107func (c *RDS) DescribeReservedDBInstances(input *DescribeReservedDBInstancesInput) (*DescribeReservedDBInstancesOutput, error) {
6108	req, out := c.DescribeReservedDBInstancesRequest(input)
6109	return out, req.Send()
6110}
6111
6112// DescribeReservedDBInstancesWithContext is the same as DescribeReservedDBInstances with the addition of
6113// the ability to pass a context and additional request options.
6114//
6115// See DescribeReservedDBInstances for details on how to use this API operation.
6116//
6117// The context must be non-nil and will be used for request cancellation. If
6118// the context is nil a panic will occur. In the future the SDK may create
6119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6120// for more information on using Contexts.
6121func (c *RDS) DescribeReservedDBInstancesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, opts ...request.Option) (*DescribeReservedDBInstancesOutput, error) {
6122	req, out := c.DescribeReservedDBInstancesRequest(input)
6123	req.SetContext(ctx)
6124	req.ApplyOptions(opts...)
6125	return out, req.Send()
6126}
6127
6128// DescribeReservedDBInstancesPages iterates over the pages of a DescribeReservedDBInstances operation,
6129// calling the "fn" function with the response data for each page. To stop
6130// iterating, return false from the fn function.
6131//
6132// See DescribeReservedDBInstances method for more information on how to use this operation.
6133//
6134// Note: This operation can generate multiple requests to a service.
6135//
6136//    // Example iterating over at most 3 pages of a DescribeReservedDBInstances operation.
6137//    pageNum := 0
6138//    err := client.DescribeReservedDBInstancesPages(params,
6139//        func(page *DescribeReservedDBInstancesOutput, lastPage bool) bool {
6140//            pageNum++
6141//            fmt.Println(page)
6142//            return pageNum <= 3
6143//        })
6144//
6145func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool) error {
6146	return c.DescribeReservedDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
6147}
6148
6149// DescribeReservedDBInstancesPagesWithContext same as DescribeReservedDBInstancesPages except
6150// it takes a Context and allows setting request options on the pages.
6151//
6152// The context must be non-nil and will be used for request cancellation. If
6153// the context is nil a panic will occur. In the future the SDK may create
6154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6155// for more information on using Contexts.
6156func (c *RDS) DescribeReservedDBInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool, opts ...request.Option) error {
6157	p := request.Pagination{
6158		NewRequest: func() (*request.Request, error) {
6159			var inCpy *DescribeReservedDBInstancesInput
6160			if input != nil {
6161				tmp := *input
6162				inCpy = &tmp
6163			}
6164			req, _ := c.DescribeReservedDBInstancesRequest(inCpy)
6165			req.SetContext(ctx)
6166			req.ApplyOptions(opts...)
6167			return req, nil
6168		},
6169	}
6170
6171	cont := true
6172	for p.Next() && cont {
6173		cont = fn(p.Page().(*DescribeReservedDBInstancesOutput), !p.HasNextPage())
6174	}
6175	return p.Err()
6176}
6177
6178const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOfferings"
6179
6180// DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the
6181// client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return
6182// value will be populated with the request's response once the request completes
6183// successfuly.
6184//
6185// Use "Send" method on the returned Request to send the API call to the service.
6186// the "output" return value is not valid until after Send returns without error.
6187//
6188// See DescribeReservedDBInstancesOfferings for more information on using the DescribeReservedDBInstancesOfferings
6189// API call, and error handling.
6190//
6191// This method is useful when you want to inject custom logic or configuration
6192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6193//
6194//
6195//    // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method.
6196//    req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params)
6197//
6198//    err := req.Send()
6199//    if err == nil { // resp is now filled
6200//        fmt.Println(resp)
6201//    }
6202//
6203// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
6204func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReservedDBInstancesOfferingsInput) (req *request.Request, output *DescribeReservedDBInstancesOfferingsOutput) {
6205	op := &request.Operation{
6206		Name:       opDescribeReservedDBInstancesOfferings,
6207		HTTPMethod: "POST",
6208		HTTPPath:   "/",
6209		Paginator: &request.Paginator{
6210			InputTokens:     []string{"Marker"},
6211			OutputTokens:    []string{"Marker"},
6212			LimitToken:      "MaxRecords",
6213			TruncationToken: "",
6214		},
6215	}
6216
6217	if input == nil {
6218		input = &DescribeReservedDBInstancesOfferingsInput{}
6219	}
6220
6221	output = &DescribeReservedDBInstancesOfferingsOutput{}
6222	req = c.newRequest(op, input, output)
6223	return
6224}
6225
6226// DescribeReservedDBInstancesOfferings API operation for Amazon Relational Database Service.
6227//
6228// Lists available reserved DB instance offerings.
6229//
6230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6231// with awserr.Error's Code and Message methods to get detailed information about
6232// the error.
6233//
6234// See the AWS API reference guide for Amazon Relational Database Service's
6235// API operation DescribeReservedDBInstancesOfferings for usage and error information.
6236//
6237// Returned Error Codes:
6238//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
6239//   Specified offering does not exist.
6240//
6241// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
6242func (c *RDS) DescribeReservedDBInstancesOfferings(input *DescribeReservedDBInstancesOfferingsInput) (*DescribeReservedDBInstancesOfferingsOutput, error) {
6243	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
6244	return out, req.Send()
6245}
6246
6247// DescribeReservedDBInstancesOfferingsWithContext is the same as DescribeReservedDBInstancesOfferings with the addition of
6248// the ability to pass a context and additional request options.
6249//
6250// See DescribeReservedDBInstancesOfferings for details on how to use this API operation.
6251//
6252// The context must be non-nil and will be used for request cancellation. If
6253// the context is nil a panic will occur. In the future the SDK may create
6254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6255// for more information on using Contexts.
6256func (c *RDS) DescribeReservedDBInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedDBInstancesOfferingsOutput, error) {
6257	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
6258	req.SetContext(ctx)
6259	req.ApplyOptions(opts...)
6260	return out, req.Send()
6261}
6262
6263// DescribeReservedDBInstancesOfferingsPages iterates over the pages of a DescribeReservedDBInstancesOfferings operation,
6264// calling the "fn" function with the response data for each page. To stop
6265// iterating, return false from the fn function.
6266//
6267// See DescribeReservedDBInstancesOfferings method for more information on how to use this operation.
6268//
6269// Note: This operation can generate multiple requests to a service.
6270//
6271//    // Example iterating over at most 3 pages of a DescribeReservedDBInstancesOfferings operation.
6272//    pageNum := 0
6273//    err := client.DescribeReservedDBInstancesOfferingsPages(params,
6274//        func(page *DescribeReservedDBInstancesOfferingsOutput, lastPage bool) bool {
6275//            pageNum++
6276//            fmt.Println(page)
6277//            return pageNum <= 3
6278//        })
6279//
6280func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool) error {
6281	return c.DescribeReservedDBInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
6282}
6283
6284// DescribeReservedDBInstancesOfferingsPagesWithContext same as DescribeReservedDBInstancesOfferingsPages except
6285// it takes a Context and allows setting request options on the pages.
6286//
6287// The context must be non-nil and will be used for request cancellation. If
6288// the context is nil a panic will occur. In the future the SDK may create
6289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6290// for more information on using Contexts.
6291func (c *RDS) DescribeReservedDBInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
6292	p := request.Pagination{
6293		NewRequest: func() (*request.Request, error) {
6294			var inCpy *DescribeReservedDBInstancesOfferingsInput
6295			if input != nil {
6296				tmp := *input
6297				inCpy = &tmp
6298			}
6299			req, _ := c.DescribeReservedDBInstancesOfferingsRequest(inCpy)
6300			req.SetContext(ctx)
6301			req.ApplyOptions(opts...)
6302			return req, nil
6303		},
6304	}
6305
6306	cont := true
6307	for p.Next() && cont {
6308		cont = fn(p.Page().(*DescribeReservedDBInstancesOfferingsOutput), !p.HasNextPage())
6309	}
6310	return p.Err()
6311}
6312
6313const opDescribeSourceRegions = "DescribeSourceRegions"
6314
6315// DescribeSourceRegionsRequest generates a "aws/request.Request" representing the
6316// client's request for the DescribeSourceRegions operation. The "output" return
6317// value will be populated with the request's response once the request completes
6318// successfuly.
6319//
6320// Use "Send" method on the returned Request to send the API call to the service.
6321// the "output" return value is not valid until after Send returns without error.
6322//
6323// See DescribeSourceRegions for more information on using the DescribeSourceRegions
6324// API call, and error handling.
6325//
6326// This method is useful when you want to inject custom logic or configuration
6327// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6328//
6329//
6330//    // Example sending a request using the DescribeSourceRegionsRequest method.
6331//    req, resp := client.DescribeSourceRegionsRequest(params)
6332//
6333//    err := req.Send()
6334//    if err == nil { // resp is now filled
6335//        fmt.Println(resp)
6336//    }
6337//
6338// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
6339func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (req *request.Request, output *DescribeSourceRegionsOutput) {
6340	op := &request.Operation{
6341		Name:       opDescribeSourceRegions,
6342		HTTPMethod: "POST",
6343		HTTPPath:   "/",
6344	}
6345
6346	if input == nil {
6347		input = &DescribeSourceRegionsInput{}
6348	}
6349
6350	output = &DescribeSourceRegionsOutput{}
6351	req = c.newRequest(op, input, output)
6352	return
6353}
6354
6355// DescribeSourceRegions API operation for Amazon Relational Database Service.
6356//
6357// Returns a list of the source AWS Regions where the current AWS Region can
6358// create a Read Replica or copy a DB snapshot from. This API action supports
6359// pagination.
6360//
6361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6362// with awserr.Error's Code and Message methods to get detailed information about
6363// the error.
6364//
6365// See the AWS API reference guide for Amazon Relational Database Service's
6366// API operation DescribeSourceRegions for usage and error information.
6367// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
6368func (c *RDS) DescribeSourceRegions(input *DescribeSourceRegionsInput) (*DescribeSourceRegionsOutput, error) {
6369	req, out := c.DescribeSourceRegionsRequest(input)
6370	return out, req.Send()
6371}
6372
6373// DescribeSourceRegionsWithContext is the same as DescribeSourceRegions with the addition of
6374// the ability to pass a context and additional request options.
6375//
6376// See DescribeSourceRegions 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) DescribeSourceRegionsWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, opts ...request.Option) (*DescribeSourceRegionsOutput, error) {
6383	req, out := c.DescribeSourceRegionsRequest(input)
6384	req.SetContext(ctx)
6385	req.ApplyOptions(opts...)
6386	return out, req.Send()
6387}
6388
6389const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
6390
6391// DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
6392// client's request for the DescribeValidDBInstanceModifications operation. The "output" return
6393// value will be populated with the request's response once the request completes
6394// successfuly.
6395//
6396// Use "Send" method on the returned Request to send the API call to the service.
6397// the "output" return value is not valid until after Send returns without error.
6398//
6399// See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
6400// API call, and error handling.
6401//
6402// This method is useful when you want to inject custom logic or configuration
6403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6404//
6405//
6406//    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
6407//    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
6408//
6409//    err := req.Send()
6410//    if err == nil { // resp is now filled
6411//        fmt.Println(resp)
6412//    }
6413//
6414// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
6415func (c *RDS) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
6416	op := &request.Operation{
6417		Name:       opDescribeValidDBInstanceModifications,
6418		HTTPMethod: "POST",
6419		HTTPPath:   "/",
6420	}
6421
6422	if input == nil {
6423		input = &DescribeValidDBInstanceModificationsInput{}
6424	}
6425
6426	output = &DescribeValidDBInstanceModificationsOutput{}
6427	req = c.newRequest(op, input, output)
6428	return
6429}
6430
6431// DescribeValidDBInstanceModifications API operation for Amazon Relational Database Service.
6432//
6433// You can call DescribeValidDBInstanceModifications to learn what modifications
6434// you can make to your DB instance. You can use this information when you call
6435// ModifyDBInstance.
6436//
6437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6438// with awserr.Error's Code and Message methods to get detailed information about
6439// the error.
6440//
6441// See the AWS API reference guide for Amazon Relational Database Service's
6442// API operation DescribeValidDBInstanceModifications for usage and error information.
6443//
6444// Returned Error Codes:
6445//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6446//   DBInstanceIdentifier doesn't refer to an existing DB instance.
6447//
6448//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
6449//   The specified DB instance isn't in the available state.
6450//
6451// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
6452func (c *RDS) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
6453	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
6454	return out, req.Send()
6455}
6456
6457// DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
6458// the ability to pass a context and additional request options.
6459//
6460// See DescribeValidDBInstanceModifications for details on how to use this API operation.
6461//
6462// The context must be non-nil and will be used for request cancellation. If
6463// the context is nil a panic will occur. In the future the SDK may create
6464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6465// for more information on using Contexts.
6466func (c *RDS) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
6467	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
6468	req.SetContext(ctx)
6469	req.ApplyOptions(opts...)
6470	return out, req.Send()
6471}
6472
6473const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion"
6474
6475// DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the
6476// client's request for the DownloadDBLogFilePortion operation. The "output" return
6477// value will be populated with the request's response once the request completes
6478// successfuly.
6479//
6480// Use "Send" method on the returned Request to send the API call to the service.
6481// the "output" return value is not valid until after Send returns without error.
6482//
6483// See DownloadDBLogFilePortion for more information on using the DownloadDBLogFilePortion
6484// API call, and error handling.
6485//
6486// This method is useful when you want to inject custom logic or configuration
6487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6488//
6489//
6490//    // Example sending a request using the DownloadDBLogFilePortionRequest method.
6491//    req, resp := client.DownloadDBLogFilePortionRequest(params)
6492//
6493//    err := req.Send()
6494//    if err == nil { // resp is now filled
6495//        fmt.Println(resp)
6496//    }
6497//
6498// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
6499func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInput) (req *request.Request, output *DownloadDBLogFilePortionOutput) {
6500	op := &request.Operation{
6501		Name:       opDownloadDBLogFilePortion,
6502		HTTPMethod: "POST",
6503		HTTPPath:   "/",
6504		Paginator: &request.Paginator{
6505			InputTokens:     []string{"Marker"},
6506			OutputTokens:    []string{"Marker"},
6507			LimitToken:      "NumberOfLines",
6508			TruncationToken: "AdditionalDataPending",
6509		},
6510	}
6511
6512	if input == nil {
6513		input = &DownloadDBLogFilePortionInput{}
6514	}
6515
6516	output = &DownloadDBLogFilePortionOutput{}
6517	req = c.newRequest(op, input, output)
6518	return
6519}
6520
6521// DownloadDBLogFilePortion API operation for Amazon Relational Database Service.
6522//
6523// Downloads all or a portion of the specified log file, up to 1 MB in size.
6524//
6525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6526// with awserr.Error's Code and Message methods to get detailed information about
6527// the error.
6528//
6529// See the AWS API reference guide for Amazon Relational Database Service's
6530// API operation DownloadDBLogFilePortion for usage and error information.
6531//
6532// Returned Error Codes:
6533//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6534//   DBInstanceIdentifier doesn't refer to an existing DB instance.
6535//
6536//   * ErrCodeDBLogFileNotFoundFault "DBLogFileNotFoundFault"
6537//   LogFileName doesn't refer to an existing DB log file.
6538//
6539// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
6540func (c *RDS) DownloadDBLogFilePortion(input *DownloadDBLogFilePortionInput) (*DownloadDBLogFilePortionOutput, error) {
6541	req, out := c.DownloadDBLogFilePortionRequest(input)
6542	return out, req.Send()
6543}
6544
6545// DownloadDBLogFilePortionWithContext is the same as DownloadDBLogFilePortion with the addition of
6546// the ability to pass a context and additional request options.
6547//
6548// See DownloadDBLogFilePortion for details on how to use this API operation.
6549//
6550// The context must be non-nil and will be used for request cancellation. If
6551// the context is nil a panic will occur. In the future the SDK may create
6552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6553// for more information on using Contexts.
6554func (c *RDS) DownloadDBLogFilePortionWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, opts ...request.Option) (*DownloadDBLogFilePortionOutput, error) {
6555	req, out := c.DownloadDBLogFilePortionRequest(input)
6556	req.SetContext(ctx)
6557	req.ApplyOptions(opts...)
6558	return out, req.Send()
6559}
6560
6561// DownloadDBLogFilePortionPages iterates over the pages of a DownloadDBLogFilePortion operation,
6562// calling the "fn" function with the response data for each page. To stop
6563// iterating, return false from the fn function.
6564//
6565// See DownloadDBLogFilePortion method for more information on how to use this operation.
6566//
6567// Note: This operation can generate multiple requests to a service.
6568//
6569//    // Example iterating over at most 3 pages of a DownloadDBLogFilePortion operation.
6570//    pageNum := 0
6571//    err := client.DownloadDBLogFilePortionPages(params,
6572//        func(page *DownloadDBLogFilePortionOutput, lastPage bool) bool {
6573//            pageNum++
6574//            fmt.Println(page)
6575//            return pageNum <= 3
6576//        })
6577//
6578func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool) error {
6579	return c.DownloadDBLogFilePortionPagesWithContext(aws.BackgroundContext(), input, fn)
6580}
6581
6582// DownloadDBLogFilePortionPagesWithContext same as DownloadDBLogFilePortionPages except
6583// it takes a Context and allows setting request options on the pages.
6584//
6585// The context must be non-nil and will be used for request cancellation. If
6586// the context is nil a panic will occur. In the future the SDK may create
6587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6588// for more information on using Contexts.
6589func (c *RDS) DownloadDBLogFilePortionPagesWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool, opts ...request.Option) error {
6590	p := request.Pagination{
6591		NewRequest: func() (*request.Request, error) {
6592			var inCpy *DownloadDBLogFilePortionInput
6593			if input != nil {
6594				tmp := *input
6595				inCpy = &tmp
6596			}
6597			req, _ := c.DownloadDBLogFilePortionRequest(inCpy)
6598			req.SetContext(ctx)
6599			req.ApplyOptions(opts...)
6600			return req, nil
6601		},
6602	}
6603
6604	cont := true
6605	for p.Next() && cont {
6606		cont = fn(p.Page().(*DownloadDBLogFilePortionOutput), !p.HasNextPage())
6607	}
6608	return p.Err()
6609}
6610
6611const opFailoverDBCluster = "FailoverDBCluster"
6612
6613// FailoverDBClusterRequest generates a "aws/request.Request" representing the
6614// client's request for the FailoverDBCluster operation. The "output" return
6615// value will be populated with the request's response once the request completes
6616// successfuly.
6617//
6618// Use "Send" method on the returned Request to send the API call to the service.
6619// the "output" return value is not valid until after Send returns without error.
6620//
6621// See FailoverDBCluster for more information on using the FailoverDBCluster
6622// API call, and error handling.
6623//
6624// This method is useful when you want to inject custom logic or configuration
6625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6626//
6627//
6628//    // Example sending a request using the FailoverDBClusterRequest method.
6629//    req, resp := client.FailoverDBClusterRequest(params)
6630//
6631//    err := req.Send()
6632//    if err == nil { // resp is now filled
6633//        fmt.Println(resp)
6634//    }
6635//
6636// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
6637func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
6638	op := &request.Operation{
6639		Name:       opFailoverDBCluster,
6640		HTTPMethod: "POST",
6641		HTTPPath:   "/",
6642	}
6643
6644	if input == nil {
6645		input = &FailoverDBClusterInput{}
6646	}
6647
6648	output = &FailoverDBClusterOutput{}
6649	req = c.newRequest(op, input, output)
6650	return
6651}
6652
6653// FailoverDBCluster API operation for Amazon Relational Database Service.
6654//
6655// Forces a failover for a DB cluster.
6656//
6657// A failover for a DB cluster promotes one of the Aurora Replicas (read-only
6658// instances) in the DB cluster to be the primary instance (the cluster writer).
6659//
6660// Amazon Aurora will automatically fail over to an Aurora Replica, if one exists,
6661// when the primary instance fails. You can force a failover when you want to
6662// simulate a failure of a primary instance for testing. Because each instance
6663// in a DB cluster has its own endpoint address, you will need to clean up and
6664// re-establish any existing connections that use those endpoint addresses when
6665// the failover is complete.
6666//
6667// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
6668// in the Amazon RDS User Guide.
6669//
6670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6671// with awserr.Error's Code and Message methods to get detailed information about
6672// the error.
6673//
6674// See the AWS API reference guide for Amazon Relational Database Service's
6675// API operation FailoverDBCluster for usage and error information.
6676//
6677// Returned Error Codes:
6678//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6679//   DBClusterIdentifier doesn't refer to an existing DB cluster.
6680//
6681//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
6682//   The DB cluster isn't in a valid state.
6683//
6684//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
6685//   The specified DB instance isn't in the available state.
6686//
6687// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
6688func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
6689	req, out := c.FailoverDBClusterRequest(input)
6690	return out, req.Send()
6691}
6692
6693// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
6694// the ability to pass a context and additional request options.
6695//
6696// See FailoverDBCluster for details on how to use this API operation.
6697//
6698// The context must be non-nil and will be used for request cancellation. If
6699// the context is nil a panic will occur. In the future the SDK may create
6700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6701// for more information on using Contexts.
6702func (c *RDS) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
6703	req, out := c.FailoverDBClusterRequest(input)
6704	req.SetContext(ctx)
6705	req.ApplyOptions(opts...)
6706	return out, req.Send()
6707}
6708
6709const opListTagsForResource = "ListTagsForResource"
6710
6711// ListTagsForResourceRequest generates a "aws/request.Request" representing the
6712// client's request for the ListTagsForResource operation. The "output" return
6713// value will be populated with the request's response once the request completes
6714// successfuly.
6715//
6716// Use "Send" method on the returned Request to send the API call to the service.
6717// the "output" return value is not valid until after Send returns without error.
6718//
6719// See ListTagsForResource for more information on using the ListTagsForResource
6720// API call, and error handling.
6721//
6722// This method is useful when you want to inject custom logic or configuration
6723// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6724//
6725//
6726//    // Example sending a request using the ListTagsForResourceRequest method.
6727//    req, resp := client.ListTagsForResourceRequest(params)
6728//
6729//    err := req.Send()
6730//    if err == nil { // resp is now filled
6731//        fmt.Println(resp)
6732//    }
6733//
6734// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
6735func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
6736	op := &request.Operation{
6737		Name:       opListTagsForResource,
6738		HTTPMethod: "POST",
6739		HTTPPath:   "/",
6740	}
6741
6742	if input == nil {
6743		input = &ListTagsForResourceInput{}
6744	}
6745
6746	output = &ListTagsForResourceOutput{}
6747	req = c.newRequest(op, input, output)
6748	return
6749}
6750
6751// ListTagsForResource API operation for Amazon Relational Database Service.
6752//
6753// Lists all tags on an Amazon RDS resource.
6754//
6755// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
6756// Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
6757//
6758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6759// with awserr.Error's Code and Message methods to get detailed information about
6760// the error.
6761//
6762// See the AWS API reference guide for Amazon Relational Database Service's
6763// API operation ListTagsForResource for usage and error information.
6764//
6765// Returned Error Codes:
6766//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6767//   DBInstanceIdentifier doesn't refer to an existing DB instance.
6768//
6769//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
6770//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
6771//
6772//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6773//   DBClusterIdentifier doesn't refer to an existing DB cluster.
6774//
6775// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
6776func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
6777	req, out := c.ListTagsForResourceRequest(input)
6778	return out, req.Send()
6779}
6780
6781// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
6782// the ability to pass a context and additional request options.
6783//
6784// See ListTagsForResource for details on how to use this API operation.
6785//
6786// The context must be non-nil and will be used for request cancellation. If
6787// the context is nil a panic will occur. In the future the SDK may create
6788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6789// for more information on using Contexts.
6790func (c *RDS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
6791	req, out := c.ListTagsForResourceRequest(input)
6792	req.SetContext(ctx)
6793	req.ApplyOptions(opts...)
6794	return out, req.Send()
6795}
6796
6797const opModifyCurrentDBClusterCapacity = "ModifyCurrentDBClusterCapacity"
6798
6799// ModifyCurrentDBClusterCapacityRequest generates a "aws/request.Request" representing the
6800// client's request for the ModifyCurrentDBClusterCapacity operation. The "output" return
6801// value will be populated with the request's response once the request completes
6802// successfuly.
6803//
6804// Use "Send" method on the returned Request to send the API call to the service.
6805// the "output" return value is not valid until after Send returns without error.
6806//
6807// See ModifyCurrentDBClusterCapacity for more information on using the ModifyCurrentDBClusterCapacity
6808// API call, and error handling.
6809//
6810// This method is useful when you want to inject custom logic or configuration
6811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6812//
6813//
6814//    // Example sending a request using the ModifyCurrentDBClusterCapacityRequest method.
6815//    req, resp := client.ModifyCurrentDBClusterCapacityRequest(params)
6816//
6817//    err := req.Send()
6818//    if err == nil { // resp is now filled
6819//        fmt.Println(resp)
6820//    }
6821//
6822// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
6823func (c *RDS) ModifyCurrentDBClusterCapacityRequest(input *ModifyCurrentDBClusterCapacityInput) (req *request.Request, output *ModifyCurrentDBClusterCapacityOutput) {
6824	op := &request.Operation{
6825		Name:       opModifyCurrentDBClusterCapacity,
6826		HTTPMethod: "POST",
6827		HTTPPath:   "/",
6828	}
6829
6830	if input == nil {
6831		input = &ModifyCurrentDBClusterCapacityInput{}
6832	}
6833
6834	output = &ModifyCurrentDBClusterCapacityOutput{}
6835	req = c.newRequest(op, input, output)
6836	return
6837}
6838
6839// ModifyCurrentDBClusterCapacity API operation for Amazon Relational Database Service.
6840//
6841// Set the capacity of an Aurora Serverless DB cluster to a specific value.
6842//
6843// Aurora Serverless scales seamlessly based on the workload on the DB cluster.
6844// In some cases, the capacity might not scale fast enough to meet a sudden
6845// change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity
6846// to set the capacity explicitly.
6847//
6848// After this call sets the DB cluster capacity, Aurora Serverless can automatically
6849// scale the DB cluster based on the cooldown period for scaling up and the
6850// cooldown period for scaling down.
6851//
6852// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
6853// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.html)
6854// in the Amazon RDS User Guide.
6855//
6856// If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction,
6857// connections that prevent Aurora Serverless from finding a scaling point might
6858// be dropped. For more information about scaling points, see  Autoscaling for
6859// Aurora Serverless (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling)
6860// in the Amazon RDS User Guide.
6861//
6862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6863// with awserr.Error's Code and Message methods to get detailed information about
6864// the error.
6865//
6866// See the AWS API reference guide for Amazon Relational Database Service's
6867// API operation ModifyCurrentDBClusterCapacity for usage and error information.
6868//
6869// Returned Error Codes:
6870//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6871//   DBClusterIdentifier doesn't refer to an existing DB cluster.
6872//
6873//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
6874//   The DB cluster isn't in a valid state.
6875//
6876//   * ErrCodeInvalidDBClusterCapacityFault "InvalidDBClusterCapacityFault"
6877//   Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity
6878//   values are 2, 4, 8, 16, 32, 64, 128, and 256.
6879//
6880// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
6881func (c *RDS) ModifyCurrentDBClusterCapacity(input *ModifyCurrentDBClusterCapacityInput) (*ModifyCurrentDBClusterCapacityOutput, error) {
6882	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
6883	return out, req.Send()
6884}
6885
6886// ModifyCurrentDBClusterCapacityWithContext is the same as ModifyCurrentDBClusterCapacity with the addition of
6887// the ability to pass a context and additional request options.
6888//
6889// See ModifyCurrentDBClusterCapacity for details on how to use this API operation.
6890//
6891// The context must be non-nil and will be used for request cancellation. If
6892// the context is nil a panic will occur. In the future the SDK may create
6893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6894// for more information on using Contexts.
6895func (c *RDS) ModifyCurrentDBClusterCapacityWithContext(ctx aws.Context, input *ModifyCurrentDBClusterCapacityInput, opts ...request.Option) (*ModifyCurrentDBClusterCapacityOutput, error) {
6896	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
6897	req.SetContext(ctx)
6898	req.ApplyOptions(opts...)
6899	return out, req.Send()
6900}
6901
6902const opModifyDBCluster = "ModifyDBCluster"
6903
6904// ModifyDBClusterRequest generates a "aws/request.Request" representing the
6905// client's request for the ModifyDBCluster operation. The "output" return
6906// value will be populated with the request's response once the request completes
6907// successfuly.
6908//
6909// Use "Send" method on the returned Request to send the API call to the service.
6910// the "output" return value is not valid until after Send returns without error.
6911//
6912// See ModifyDBCluster for more information on using the ModifyDBCluster
6913// API call, and error handling.
6914//
6915// This method is useful when you want to inject custom logic or configuration
6916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6917//
6918//
6919//    // Example sending a request using the ModifyDBClusterRequest method.
6920//    req, resp := client.ModifyDBClusterRequest(params)
6921//
6922//    err := req.Send()
6923//    if err == nil { // resp is now filled
6924//        fmt.Println(resp)
6925//    }
6926//
6927// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
6928func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
6929	op := &request.Operation{
6930		Name:       opModifyDBCluster,
6931		HTTPMethod: "POST",
6932		HTTPPath:   "/",
6933	}
6934
6935	if input == nil {
6936		input = &ModifyDBClusterInput{}
6937	}
6938
6939	output = &ModifyDBClusterOutput{}
6940	req = c.newRequest(op, input, output)
6941	return
6942}
6943
6944// ModifyDBCluster API operation for Amazon Relational Database Service.
6945//
6946// Modify a setting for an Amazon Aurora DB cluster. You can change one or more
6947// database configuration parameters by specifying these parameters and the
6948// new values in the request. For more information on Amazon Aurora, see Aurora
6949// on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
6950// in the Amazon RDS User Guide.
6951//
6952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6953// with awserr.Error's Code and Message methods to get detailed information about
6954// the error.
6955//
6956// See the AWS API reference guide for Amazon Relational Database Service's
6957// API operation ModifyDBCluster for usage and error information.
6958//
6959// Returned Error Codes:
6960//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6961//   DBClusterIdentifier doesn't refer to an existing DB cluster.
6962//
6963//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
6964//   The DB cluster isn't in a valid state.
6965//
6966//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
6967//   The request would result in the user exceeding the allowed amount of storage
6968//   available across all DB instances.
6969//
6970//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
6971//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
6972//
6973//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
6974//   The DB subnet group doesn't cover all Availability Zones after it's created
6975//   because of users' change.
6976//
6977//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
6978//   The DB subnet group cannot be deleted because it's in use.
6979//
6980//   * ErrCodeInvalidSubnet "InvalidSubnet"
6981//   The requested subnet is invalid, or multiple subnets were requested that
6982//   are not all in a common VPC.
6983//
6984//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
6985//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
6986//   group.
6987//
6988//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
6989//   The state of the DB security group doesn't allow deletion.
6990//
6991//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
6992//   The specified DB instance isn't in the available state.
6993//
6994//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
6995//   The user already has a DB cluster with the given identifier.
6996//
6997// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
6998func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
6999	req, out := c.ModifyDBClusterRequest(input)
7000	return out, req.Send()
7001}
7002
7003// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
7004// the ability to pass a context and additional request options.
7005//
7006// See ModifyDBCluster for details on how to use this API operation.
7007//
7008// The context must be non-nil and will be used for request cancellation. If
7009// the context is nil a panic will occur. In the future the SDK may create
7010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7011// for more information on using Contexts.
7012func (c *RDS) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
7013	req, out := c.ModifyDBClusterRequest(input)
7014	req.SetContext(ctx)
7015	req.ApplyOptions(opts...)
7016	return out, req.Send()
7017}
7018
7019const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
7020
7021// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
7022// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
7023// value will be populated with the request's response once the request completes
7024// successfuly.
7025//
7026// Use "Send" method on the returned Request to send the API call to the service.
7027// the "output" return value is not valid until after Send returns without error.
7028//
7029// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
7030// API call, and error handling.
7031//
7032// This method is useful when you want to inject custom logic or configuration
7033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7034//
7035//
7036//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
7037//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
7038//
7039//    err := req.Send()
7040//    if err == nil { // resp is now filled
7041//        fmt.Println(resp)
7042//    }
7043//
7044// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
7045func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
7046	op := &request.Operation{
7047		Name:       opModifyDBClusterParameterGroup,
7048		HTTPMethod: "POST",
7049		HTTPPath:   "/",
7050	}
7051
7052	if input == nil {
7053		input = &ModifyDBClusterParameterGroupInput{}
7054	}
7055
7056	output = &DBClusterParameterGroupNameMessage{}
7057	req = c.newRequest(op, input, output)
7058	return
7059}
7060
7061// ModifyDBClusterParameterGroup API operation for Amazon Relational Database Service.
7062//
7063// Modifies the parameters of a DB cluster parameter group. To modify more than
7064// one parameter, submit a list of the following: ParameterName, ParameterValue,
7065// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
7066//
7067// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
7068// in the Amazon RDS User Guide.
7069//
7070// Changes to dynamic parameters are applied immediately. Changes to static
7071// parameters require a reboot without failover to the DB cluster associated
7072// with the parameter group before the change can take effect.
7073//
7074// After you create a DB cluster parameter group, you should wait at least 5
7075// minutes before creating your first DB cluster that uses that DB cluster parameter
7076// group as the default parameter group. This allows Amazon RDS to fully complete
7077// the create action before the parameter group is used as the default for a
7078// new DB cluster. This is especially important for parameters that are critical
7079// when creating the default database for a DB cluster, such as the character
7080// set for the default database defined by the character_set_database parameter.
7081// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
7082// or the DescribeDBClusterParameters command to verify that your DB cluster
7083// parameter group has been created or modified.
7084//
7085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7086// with awserr.Error's Code and Message methods to get detailed information about
7087// the error.
7088//
7089// See the AWS API reference guide for Amazon Relational Database Service's
7090// API operation ModifyDBClusterParameterGroup for usage and error information.
7091//
7092// Returned Error Codes:
7093//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
7094//   DBParameterGroupName doesn't refer to an existing DB parameter group.
7095//
7096//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
7097//   The DB parameter group is in use or is in an invalid state. If you are attempting
7098//   to delete the parameter group, you can't delete it when the parameter group
7099//   is in this state.
7100//
7101// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
7102func (c *RDS) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
7103	req, out := c.ModifyDBClusterParameterGroupRequest(input)
7104	return out, req.Send()
7105}
7106
7107// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
7108// the ability to pass a context and additional request options.
7109//
7110// See ModifyDBClusterParameterGroup for details on how to use this API operation.
7111//
7112// The context must be non-nil and will be used for request cancellation. If
7113// the context is nil a panic will occur. In the future the SDK may create
7114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7115// for more information on using Contexts.
7116func (c *RDS) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
7117	req, out := c.ModifyDBClusterParameterGroupRequest(input)
7118	req.SetContext(ctx)
7119	req.ApplyOptions(opts...)
7120	return out, req.Send()
7121}
7122
7123const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
7124
7125// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
7126// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
7127// value will be populated with the request's response once the request completes
7128// successfuly.
7129//
7130// Use "Send" method on the returned Request to send the API call to the service.
7131// the "output" return value is not valid until after Send returns without error.
7132//
7133// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
7134// API call, and error handling.
7135//
7136// This method is useful when you want to inject custom logic or configuration
7137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7138//
7139//
7140//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
7141//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
7142//
7143//    err := req.Send()
7144//    if err == nil { // resp is now filled
7145//        fmt.Println(resp)
7146//    }
7147//
7148// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
7149func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
7150	op := &request.Operation{
7151		Name:       opModifyDBClusterSnapshotAttribute,
7152		HTTPMethod: "POST",
7153		HTTPPath:   "/",
7154	}
7155
7156	if input == nil {
7157		input = &ModifyDBClusterSnapshotAttributeInput{}
7158	}
7159
7160	output = &ModifyDBClusterSnapshotAttributeOutput{}
7161	req = c.newRequest(op, input, output)
7162	return
7163}
7164
7165// ModifyDBClusterSnapshotAttribute API operation for Amazon Relational Database Service.
7166//
7167// Adds an attribute and values to, or removes an attribute and values from,
7168// a manual DB cluster snapshot.
7169//
7170// To share a manual DB cluster snapshot with other AWS accounts, specify restore
7171// as the AttributeName and use the ValuesToAdd parameter to add a list of IDs
7172// of the AWS accounts that are authorized to restore the manual DB cluster
7173// snapshot. Use the value all to make the manual DB cluster snapshot public,
7174// which means that it can be copied or restored by all AWS accounts. Do not
7175// add the all value for any manual DB cluster snapshots that contain private
7176// information that you don't want available to all AWS accounts. If a manual
7177// DB cluster snapshot is encrypted, it can be shared, but only by specifying
7178// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't
7179// use all as a value for that parameter in this case.
7180//
7181// To view which AWS accounts have access to copy or restore a manual DB cluster
7182// snapshot, or whether a manual DB cluster snapshot public or private, use
7183// the DescribeDBClusterSnapshotAttributes API action.
7184//
7185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7186// with awserr.Error's Code and Message methods to get detailed information about
7187// the error.
7188//
7189// See the AWS API reference guide for Amazon Relational Database Service's
7190// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
7191//
7192// Returned Error Codes:
7193//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
7194//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
7195//
7196//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
7197//   The supplied value isn't a valid DB cluster snapshot state.
7198//
7199//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
7200//   You have exceeded the maximum number of accounts that you can share a manual
7201//   DB snapshot with.
7202//
7203// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
7204func (c *RDS) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
7205	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
7206	return out, req.Send()
7207}
7208
7209// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
7210// the ability to pass a context and additional request options.
7211//
7212// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
7213//
7214// The context must be non-nil and will be used for request cancellation. If
7215// the context is nil a panic will occur. In the future the SDK may create
7216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7217// for more information on using Contexts.
7218func (c *RDS) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
7219	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
7220	req.SetContext(ctx)
7221	req.ApplyOptions(opts...)
7222	return out, req.Send()
7223}
7224
7225const opModifyDBInstance = "ModifyDBInstance"
7226
7227// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
7228// client's request for the ModifyDBInstance operation. The "output" return
7229// value will be populated with the request's response once the request completes
7230// successfuly.
7231//
7232// Use "Send" method on the returned Request to send the API call to the service.
7233// the "output" return value is not valid until after Send returns without error.
7234//
7235// See ModifyDBInstance for more information on using the ModifyDBInstance
7236// API call, and error handling.
7237//
7238// This method is useful when you want to inject custom logic or configuration
7239// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7240//
7241//
7242//    // Example sending a request using the ModifyDBInstanceRequest method.
7243//    req, resp := client.ModifyDBInstanceRequest(params)
7244//
7245//    err := req.Send()
7246//    if err == nil { // resp is now filled
7247//        fmt.Println(resp)
7248//    }
7249//
7250// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
7251func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
7252	op := &request.Operation{
7253		Name:       opModifyDBInstance,
7254		HTTPMethod: "POST",
7255		HTTPPath:   "/",
7256	}
7257
7258	if input == nil {
7259		input = &ModifyDBInstanceInput{}
7260	}
7261
7262	output = &ModifyDBInstanceOutput{}
7263	req = c.newRequest(op, input, output)
7264	return
7265}
7266
7267// ModifyDBInstance API operation for Amazon Relational Database Service.
7268//
7269// Modifies settings for a DB instance. You can change one or more database
7270// configuration parameters by specifying these parameters and the new values
7271// in the request. To learn what modifications you can make to your DB instance,
7272// call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
7273//
7274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7275// with awserr.Error's Code and Message methods to get detailed information about
7276// the error.
7277//
7278// See the AWS API reference guide for Amazon Relational Database Service's
7279// API operation ModifyDBInstance for usage and error information.
7280//
7281// Returned Error Codes:
7282//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
7283//   The specified DB instance isn't in the available state.
7284//
7285//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
7286//   The state of the DB security group doesn't allow deletion.
7287//
7288//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
7289//   The user already has a DB instance with the given identifier.
7290//
7291//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
7292//   DBInstanceIdentifier doesn't refer to an existing DB instance.
7293//
7294//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
7295//   DBSecurityGroupName doesn't refer to an existing DB security group.
7296//
7297//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
7298//   DBParameterGroupName doesn't refer to an existing DB parameter group.
7299//
7300//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
7301//   The specified DB instance class isn't available in the specified Availability
7302//   Zone.
7303//
7304//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
7305//   The request would result in the user exceeding the allowed amount of storage
7306//   available across all DB instances.
7307//
7308//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
7309//   The DB subnet group doesn't cover all Availability Zones after it's created
7310//   because of users' change.
7311//
7312//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
7313//   Provisioned IOPS not available in the specified Availability Zone.
7314//
7315//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
7316//   The specified option group could not be found.
7317//
7318//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
7319//   The DB upgrade failed because a resource the DB depends on can't be modified.
7320//
7321//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
7322//   Storage of the StorageType specified can't be associated with the DB instance.
7323//
7324//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
7325//   The specified CIDRIP or Amazon EC2 security group isn't authorized for the
7326//   specified DB security group.
7327//
7328//   RDS also may not be authorized by using IAM to perform necessary actions
7329//   on your behalf.
7330//
7331//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
7332//   CertificateIdentifier doesn't refer to an existing certificate.
7333//
7334//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
7335//   Domain doesn't refer to an existing Active Directory domain.
7336//
7337//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
7338//
7339// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
7340func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
7341	req, out := c.ModifyDBInstanceRequest(input)
7342	return out, req.Send()
7343}
7344
7345// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
7346// the ability to pass a context and additional request options.
7347//
7348// See ModifyDBInstance for details on how to use this API operation.
7349//
7350// The context must be non-nil and will be used for request cancellation. If
7351// the context is nil a panic will occur. In the future the SDK may create
7352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7353// for more information on using Contexts.
7354func (c *RDS) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
7355	req, out := c.ModifyDBInstanceRequest(input)
7356	req.SetContext(ctx)
7357	req.ApplyOptions(opts...)
7358	return out, req.Send()
7359}
7360
7361const opModifyDBParameterGroup = "ModifyDBParameterGroup"
7362
7363// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
7364// client's request for the ModifyDBParameterGroup operation. The "output" return
7365// value will be populated with the request's response once the request completes
7366// successfuly.
7367//
7368// Use "Send" method on the returned Request to send the API call to the service.
7369// the "output" return value is not valid until after Send returns without error.
7370//
7371// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
7372// API call, and error handling.
7373//
7374// This method is useful when you want to inject custom logic or configuration
7375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7376//
7377//
7378//    // Example sending a request using the ModifyDBParameterGroupRequest method.
7379//    req, resp := client.ModifyDBParameterGroupRequest(params)
7380//
7381//    err := req.Send()
7382//    if err == nil { // resp is now filled
7383//        fmt.Println(resp)
7384//    }
7385//
7386// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
7387func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
7388	op := &request.Operation{
7389		Name:       opModifyDBParameterGroup,
7390		HTTPMethod: "POST",
7391		HTTPPath:   "/",
7392	}
7393
7394	if input == nil {
7395		input = &ModifyDBParameterGroupInput{}
7396	}
7397
7398	output = &DBParameterGroupNameMessage{}
7399	req = c.newRequest(op, input, output)
7400	return
7401}
7402
7403// ModifyDBParameterGroup API operation for Amazon Relational Database Service.
7404//
7405// Modifies the parameters of a DB parameter group. To modify more than one
7406// parameter, submit a list of the following: ParameterName, ParameterValue,
7407// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
7408//
7409// Changes to dynamic parameters are applied immediately. Changes to static
7410// parameters require a reboot without failover to the DB instance associated
7411// with the parameter group before the change can take effect.
7412//
7413// After you modify a DB parameter group, you should wait at least 5 minutes
7414// before creating your first DB instance that uses that DB parameter group
7415// as the default parameter group. This allows Amazon RDS to fully complete
7416// the modify action before the parameter group is used as the default for a
7417// new DB instance. This is especially important for parameters that are critical
7418// when creating the default database for a DB instance, such as the character
7419// set for the default database defined by the character_set_database parameter.
7420// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
7421// or the DescribeDBParameters command to verify that your DB parameter group
7422// has been created or modified.
7423//
7424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7425// with awserr.Error's Code and Message methods to get detailed information about
7426// the error.
7427//
7428// See the AWS API reference guide for Amazon Relational Database Service's
7429// API operation ModifyDBParameterGroup for usage and error information.
7430//
7431// Returned Error Codes:
7432//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
7433//   DBParameterGroupName doesn't refer to an existing DB parameter group.
7434//
7435//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
7436//   The DB parameter group is in use or is in an invalid state. If you are attempting
7437//   to delete the parameter group, you can't delete it when the parameter group
7438//   is in this state.
7439//
7440// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
7441func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
7442	req, out := c.ModifyDBParameterGroupRequest(input)
7443	return out, req.Send()
7444}
7445
7446// ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
7447// the ability to pass a context and additional request options.
7448//
7449// See ModifyDBParameterGroup 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) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
7456	req, out := c.ModifyDBParameterGroupRequest(input)
7457	req.SetContext(ctx)
7458	req.ApplyOptions(opts...)
7459	return out, req.Send()
7460}
7461
7462const opModifyDBSnapshot = "ModifyDBSnapshot"
7463
7464// ModifyDBSnapshotRequest generates a "aws/request.Request" representing the
7465// client's request for the ModifyDBSnapshot operation. The "output" return
7466// value will be populated with the request's response once the request completes
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 ModifyDBSnapshot for more information on using the ModifyDBSnapshot
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 ModifyDBSnapshotRequest method.
7480//    req, resp := client.ModifyDBSnapshotRequest(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/ModifyDBSnapshot
7488func (c *RDS) ModifyDBSnapshotRequest(input *ModifyDBSnapshotInput) (req *request.Request, output *ModifyDBSnapshotOutput) {
7489	op := &request.Operation{
7490		Name:       opModifyDBSnapshot,
7491		HTTPMethod: "POST",
7492		HTTPPath:   "/",
7493	}
7494
7495	if input == nil {
7496		input = &ModifyDBSnapshotInput{}
7497	}
7498
7499	output = &ModifyDBSnapshotOutput{}
7500	req = c.newRequest(op, input, output)
7501	return
7502}
7503
7504// ModifyDBSnapshot API operation for Amazon Relational Database Service.
7505//
7506// Updates a manual DB snapshot, which can be encrypted or not encrypted, with
7507// a new engine version.
7508//
7509// Amazon RDS supports upgrading DB snapshots for MySQL and Oracle.
7510//
7511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7512// with awserr.Error's Code and Message methods to get detailed information about
7513// the error.
7514//
7515// See the AWS API reference guide for Amazon Relational Database Service's
7516// API operation ModifyDBSnapshot for usage and error information.
7517//
7518// Returned Error Codes:
7519//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
7520//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
7521//
7522// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
7523func (c *RDS) ModifyDBSnapshot(input *ModifyDBSnapshotInput) (*ModifyDBSnapshotOutput, error) {
7524	req, out := c.ModifyDBSnapshotRequest(input)
7525	return out, req.Send()
7526}
7527
7528// ModifyDBSnapshotWithContext is the same as ModifyDBSnapshot with the addition of
7529// the ability to pass a context and additional request options.
7530//
7531// See ModifyDBSnapshot for details on how to use this API operation.
7532//
7533// The context must be non-nil and will be used for request cancellation. If
7534// the context is nil a panic will occur. In the future the SDK may create
7535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7536// for more information on using Contexts.
7537func (c *RDS) ModifyDBSnapshotWithContext(ctx aws.Context, input *ModifyDBSnapshotInput, opts ...request.Option) (*ModifyDBSnapshotOutput, error) {
7538	req, out := c.ModifyDBSnapshotRequest(input)
7539	req.SetContext(ctx)
7540	req.ApplyOptions(opts...)
7541	return out, req.Send()
7542}
7543
7544const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute"
7545
7546// ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the
7547// client's request for the ModifyDBSnapshotAttribute operation. The "output" return
7548// value will be populated with the request's response once the request completes
7549// successfuly.
7550//
7551// Use "Send" method on the returned Request to send the API call to the service.
7552// the "output" return value is not valid until after Send returns without error.
7553//
7554// See ModifyDBSnapshotAttribute for more information on using the ModifyDBSnapshotAttribute
7555// API call, and error handling.
7556//
7557// This method is useful when you want to inject custom logic or configuration
7558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7559//
7560//
7561//    // Example sending a request using the ModifyDBSnapshotAttributeRequest method.
7562//    req, resp := client.ModifyDBSnapshotAttributeRequest(params)
7563//
7564//    err := req.Send()
7565//    if err == nil { // resp is now filled
7566//        fmt.Println(resp)
7567//    }
7568//
7569// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
7570func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeInput) (req *request.Request, output *ModifyDBSnapshotAttributeOutput) {
7571	op := &request.Operation{
7572		Name:       opModifyDBSnapshotAttribute,
7573		HTTPMethod: "POST",
7574		HTTPPath:   "/",
7575	}
7576
7577	if input == nil {
7578		input = &ModifyDBSnapshotAttributeInput{}
7579	}
7580
7581	output = &ModifyDBSnapshotAttributeOutput{}
7582	req = c.newRequest(op, input, output)
7583	return
7584}
7585
7586// ModifyDBSnapshotAttribute API operation for Amazon Relational Database Service.
7587//
7588// Adds an attribute and values to, or removes an attribute and values from,
7589// a manual DB snapshot.
7590//
7591// To share a manual DB snapshot with other AWS accounts, specify restore as
7592// the AttributeName and use the ValuesToAdd parameter to add a list of IDs
7593// of the AWS accounts that are authorized to restore the manual DB snapshot.
7594// Uses the value all to make the manual DB snapshot public, which means it
7595// can be copied or restored by all AWS accounts. Do not add the all value for
7596// any manual DB snapshots that contain private information that you don't want
7597// available to all AWS accounts. If the manual DB snapshot is encrypted, it
7598// can be shared, but only by specifying a list of authorized AWS account IDs
7599// for the ValuesToAdd parameter. You can't use all as a value for that parameter
7600// in this case.
7601//
7602// To view which AWS accounts have access to copy or restore a manual DB snapshot,
7603// or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes
7604// API action.
7605//
7606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7607// with awserr.Error's Code and Message methods to get detailed information about
7608// the error.
7609//
7610// See the AWS API reference guide for Amazon Relational Database Service's
7611// API operation ModifyDBSnapshotAttribute for usage and error information.
7612//
7613// Returned Error Codes:
7614//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
7615//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
7616//
7617//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
7618//   The state of the DB snapshot doesn't allow deletion.
7619//
7620//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
7621//   You have exceeded the maximum number of accounts that you can share a manual
7622//   DB snapshot with.
7623//
7624// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
7625func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) (*ModifyDBSnapshotAttributeOutput, error) {
7626	req, out := c.ModifyDBSnapshotAttributeRequest(input)
7627	return out, req.Send()
7628}
7629
7630// ModifyDBSnapshotAttributeWithContext is the same as ModifyDBSnapshotAttribute with the addition of
7631// the ability to pass a context and additional request options.
7632//
7633// See ModifyDBSnapshotAttribute 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) ModifyDBSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBSnapshotAttributeInput, opts ...request.Option) (*ModifyDBSnapshotAttributeOutput, error) {
7640	req, out := c.ModifyDBSnapshotAttributeRequest(input)
7641	req.SetContext(ctx)
7642	req.ApplyOptions(opts...)
7643	return out, req.Send()
7644}
7645
7646const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
7647
7648// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
7649// client's request for the ModifyDBSubnetGroup operation. The "output" return
7650// value will be populated with the request's response once the request completes
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 ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
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 ModifyDBSubnetGroupRequest method.
7664//    req, resp := client.ModifyDBSubnetGroupRequest(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/ModifyDBSubnetGroup
7672func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
7673	op := &request.Operation{
7674		Name:       opModifyDBSubnetGroup,
7675		HTTPMethod: "POST",
7676		HTTPPath:   "/",
7677	}
7678
7679	if input == nil {
7680		input = &ModifyDBSubnetGroupInput{}
7681	}
7682
7683	output = &ModifyDBSubnetGroupOutput{}
7684	req = c.newRequest(op, input, output)
7685	return
7686}
7687
7688// ModifyDBSubnetGroup API operation for Amazon Relational Database Service.
7689//
7690// Modifies an existing DB subnet group. DB subnet groups must contain at least
7691// one subnet in at least two AZs in the AWS Region.
7692//
7693// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7694// with awserr.Error's Code and Message methods to get detailed information about
7695// the error.
7696//
7697// See the AWS API reference guide for Amazon Relational Database Service's
7698// API operation ModifyDBSubnetGroup for usage and error information.
7699//
7700// Returned Error Codes:
7701//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
7702//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
7703//
7704//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
7705//   The request would result in the user exceeding the allowed number of subnets
7706//   in a DB subnet groups.
7707//
7708//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
7709//   The DB subnet is already in use in the Availability Zone.
7710//
7711//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
7712//   Subnets in the DB subnet group should cover at least two Availability Zones
7713//   unless there is only one Availability Zone.
7714//
7715//   * ErrCodeInvalidSubnet "InvalidSubnet"
7716//   The requested subnet is invalid, or multiple subnets were requested that
7717//   are not all in a common VPC.
7718//
7719// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
7720func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
7721	req, out := c.ModifyDBSubnetGroupRequest(input)
7722	return out, req.Send()
7723}
7724
7725// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
7726// the ability to pass a context and additional request options.
7727//
7728// See ModifyDBSubnetGroup for details on how to use this API operation.
7729//
7730// The context must be non-nil and will be used for request cancellation. If
7731// the context is nil a panic will occur. In the future the SDK may create
7732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7733// for more information on using Contexts.
7734func (c *RDS) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
7735	req, out := c.ModifyDBSubnetGroupRequest(input)
7736	req.SetContext(ctx)
7737	req.ApplyOptions(opts...)
7738	return out, req.Send()
7739}
7740
7741const opModifyEventSubscription = "ModifyEventSubscription"
7742
7743// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
7744// client's request for the ModifyEventSubscription operation. The "output" return
7745// value will be populated with the request's response once the request completes
7746// successfuly.
7747//
7748// Use "Send" method on the returned Request to send the API call to the service.
7749// the "output" return value is not valid until after Send returns without error.
7750//
7751// See ModifyEventSubscription for more information on using the ModifyEventSubscription
7752// API call, and error handling.
7753//
7754// This method is useful when you want to inject custom logic or configuration
7755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7756//
7757//
7758//    // Example sending a request using the ModifyEventSubscriptionRequest method.
7759//    req, resp := client.ModifyEventSubscriptionRequest(params)
7760//
7761//    err := req.Send()
7762//    if err == nil { // resp is now filled
7763//        fmt.Println(resp)
7764//    }
7765//
7766// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
7767func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
7768	op := &request.Operation{
7769		Name:       opModifyEventSubscription,
7770		HTTPMethod: "POST",
7771		HTTPPath:   "/",
7772	}
7773
7774	if input == nil {
7775		input = &ModifyEventSubscriptionInput{}
7776	}
7777
7778	output = &ModifyEventSubscriptionOutput{}
7779	req = c.newRequest(op, input, output)
7780	return
7781}
7782
7783// ModifyEventSubscription API operation for Amazon Relational Database Service.
7784//
7785// Modifies an existing RDS event notification subscription. Note that you can't
7786// modify the source identifiers using this call; to change source identifiers
7787// for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
7788// calls.
7789//
7790// You can see a list of the event categories for a given SourceType in the
7791// Events (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
7792// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
7793// action.
7794//
7795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7796// with awserr.Error's Code and Message methods to get detailed information about
7797// the error.
7798//
7799// See the AWS API reference guide for Amazon Relational Database Service's
7800// API operation ModifyEventSubscription for usage and error information.
7801//
7802// Returned Error Codes:
7803//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
7804//   You have reached the maximum number of event subscriptions.
7805//
7806//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
7807//   The subscription name does not exist.
7808//
7809//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
7810//   SNS has responded that there is a problem with the SND topic specified.
7811//
7812//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
7813//   You do not have permission to publish to the SNS topic ARN.
7814//
7815//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
7816//   The SNS topic ARN does not exist.
7817//
7818//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
7819//   The supplied category does not exist.
7820//
7821// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
7822func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
7823	req, out := c.ModifyEventSubscriptionRequest(input)
7824	return out, req.Send()
7825}
7826
7827// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
7828// the ability to pass a context and additional request options.
7829//
7830// See ModifyEventSubscription for details on how to use this API operation.
7831//
7832// The context must be non-nil and will be used for request cancellation. If
7833// the context is nil a panic will occur. In the future the SDK may create
7834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7835// for more information on using Contexts.
7836func (c *RDS) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
7837	req, out := c.ModifyEventSubscriptionRequest(input)
7838	req.SetContext(ctx)
7839	req.ApplyOptions(opts...)
7840	return out, req.Send()
7841}
7842
7843const opModifyOptionGroup = "ModifyOptionGroup"
7844
7845// ModifyOptionGroupRequest generates a "aws/request.Request" representing the
7846// client's request for the ModifyOptionGroup operation. The "output" return
7847// value will be populated with the request's response once the request completes
7848// successfuly.
7849//
7850// Use "Send" method on the returned Request to send the API call to the service.
7851// the "output" return value is not valid until after Send returns without error.
7852//
7853// See ModifyOptionGroup for more information on using the ModifyOptionGroup
7854// API call, and error handling.
7855//
7856// This method is useful when you want to inject custom logic or configuration
7857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7858//
7859//
7860//    // Example sending a request using the ModifyOptionGroupRequest method.
7861//    req, resp := client.ModifyOptionGroupRequest(params)
7862//
7863//    err := req.Send()
7864//    if err == nil { // resp is now filled
7865//        fmt.Println(resp)
7866//    }
7867//
7868// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
7869func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *request.Request, output *ModifyOptionGroupOutput) {
7870	op := &request.Operation{
7871		Name:       opModifyOptionGroup,
7872		HTTPMethod: "POST",
7873		HTTPPath:   "/",
7874	}
7875
7876	if input == nil {
7877		input = &ModifyOptionGroupInput{}
7878	}
7879
7880	output = &ModifyOptionGroupOutput{}
7881	req = c.newRequest(op, input, output)
7882	return
7883}
7884
7885// ModifyOptionGroup API operation for Amazon Relational Database Service.
7886//
7887// Modifies an existing option group.
7888//
7889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7890// with awserr.Error's Code and Message methods to get detailed information about
7891// the error.
7892//
7893// See the AWS API reference guide for Amazon Relational Database Service's
7894// API operation ModifyOptionGroup for usage and error information.
7895//
7896// Returned Error Codes:
7897//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
7898//   The option group isn't in the available state.
7899//
7900//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
7901//   The specified option group could not be found.
7902//
7903// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
7904func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGroupOutput, error) {
7905	req, out := c.ModifyOptionGroupRequest(input)
7906	return out, req.Send()
7907}
7908
7909// ModifyOptionGroupWithContext is the same as ModifyOptionGroup with the addition of
7910// the ability to pass a context and additional request options.
7911//
7912// See ModifyOptionGroup for details on how to use this API operation.
7913//
7914// The context must be non-nil and will be used for request cancellation. If
7915// the context is nil a panic will occur. In the future the SDK may create
7916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7917// for more information on using Contexts.
7918func (c *RDS) ModifyOptionGroupWithContext(ctx aws.Context, input *ModifyOptionGroupInput, opts ...request.Option) (*ModifyOptionGroupOutput, error) {
7919	req, out := c.ModifyOptionGroupRequest(input)
7920	req.SetContext(ctx)
7921	req.ApplyOptions(opts...)
7922	return out, req.Send()
7923}
7924
7925const opPromoteReadReplica = "PromoteReadReplica"
7926
7927// PromoteReadReplicaRequest generates a "aws/request.Request" representing the
7928// client's request for the PromoteReadReplica operation. The "output" return
7929// value will be populated with the request's response once the request completes
7930// successfuly.
7931//
7932// Use "Send" method on the returned Request to send the API call to the service.
7933// the "output" return value is not valid until after Send returns without error.
7934//
7935// See PromoteReadReplica for more information on using the PromoteReadReplica
7936// API call, and error handling.
7937//
7938// This method is useful when you want to inject custom logic or configuration
7939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7940//
7941//
7942//    // Example sending a request using the PromoteReadReplicaRequest method.
7943//    req, resp := client.PromoteReadReplicaRequest(params)
7944//
7945//    err := req.Send()
7946//    if err == nil { // resp is now filled
7947//        fmt.Println(resp)
7948//    }
7949//
7950// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
7951func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *request.Request, output *PromoteReadReplicaOutput) {
7952	op := &request.Operation{
7953		Name:       opPromoteReadReplica,
7954		HTTPMethod: "POST",
7955		HTTPPath:   "/",
7956	}
7957
7958	if input == nil {
7959		input = &PromoteReadReplicaInput{}
7960	}
7961
7962	output = &PromoteReadReplicaOutput{}
7963	req = c.newRequest(op, input, output)
7964	return
7965}
7966
7967// PromoteReadReplica API operation for Amazon Relational Database Service.
7968//
7969// Promotes a Read Replica DB instance to a standalone DB instance.
7970//
7971// Backup duration is a function of the amount of changes to the database since
7972// the previous backup. If you plan to promote a Read Replica to a standalone
7973// instance, we recommend that you enable backups and complete at least one
7974// backup prior to promotion. In addition, a Read Replica cannot be promoted
7975// to a standalone instance when it is in the backing-up status. If you have
7976// enabled backups on your Read Replica, configure the automated backup window
7977// so that daily backups do not interfere with Read Replica promotion.
7978//
7979// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
7980//
7981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7982// with awserr.Error's Code and Message methods to get detailed information about
7983// the error.
7984//
7985// See the AWS API reference guide for Amazon Relational Database Service's
7986// API operation PromoteReadReplica for usage and error information.
7987//
7988// Returned Error Codes:
7989//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
7990//   The specified DB instance isn't in the available state.
7991//
7992//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
7993//   DBInstanceIdentifier doesn't refer to an existing DB instance.
7994//
7995// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
7996func (c *RDS) PromoteReadReplica(input *PromoteReadReplicaInput) (*PromoteReadReplicaOutput, error) {
7997	req, out := c.PromoteReadReplicaRequest(input)
7998	return out, req.Send()
7999}
8000
8001// PromoteReadReplicaWithContext is the same as PromoteReadReplica with the addition of
8002// the ability to pass a context and additional request options.
8003//
8004// See PromoteReadReplica for details on how to use this API operation.
8005//
8006// The context must be non-nil and will be used for request cancellation. If
8007// the context is nil a panic will occur. In the future the SDK may create
8008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8009// for more information on using Contexts.
8010func (c *RDS) PromoteReadReplicaWithContext(ctx aws.Context, input *PromoteReadReplicaInput, opts ...request.Option) (*PromoteReadReplicaOutput, error) {
8011	req, out := c.PromoteReadReplicaRequest(input)
8012	req.SetContext(ctx)
8013	req.ApplyOptions(opts...)
8014	return out, req.Send()
8015}
8016
8017const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
8018
8019// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
8020// client's request for the PromoteReadReplicaDBCluster operation. The "output" return
8021// value will be populated with the request's response once the request completes
8022// successfuly.
8023//
8024// Use "Send" method on the returned Request to send the API call to the service.
8025// the "output" return value is not valid until after Send returns without error.
8026//
8027// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
8028// API call, and error handling.
8029//
8030// This method is useful when you want to inject custom logic or configuration
8031// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8032//
8033//
8034//    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
8035//    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
8036//
8037//    err := req.Send()
8038//    if err == nil { // resp is now filled
8039//        fmt.Println(resp)
8040//    }
8041//
8042// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
8043func (c *RDS) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
8044	op := &request.Operation{
8045		Name:       opPromoteReadReplicaDBCluster,
8046		HTTPMethod: "POST",
8047		HTTPPath:   "/",
8048	}
8049
8050	if input == nil {
8051		input = &PromoteReadReplicaDBClusterInput{}
8052	}
8053
8054	output = &PromoteReadReplicaDBClusterOutput{}
8055	req = c.newRequest(op, input, output)
8056	return
8057}
8058
8059// PromoteReadReplicaDBCluster API operation for Amazon Relational Database Service.
8060//
8061// Promotes a Read Replica DB cluster to a standalone DB cluster.
8062//
8063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8064// with awserr.Error's Code and Message methods to get detailed information about
8065// the error.
8066//
8067// See the AWS API reference guide for Amazon Relational Database Service's
8068// API operation PromoteReadReplicaDBCluster for usage and error information.
8069//
8070// Returned Error Codes:
8071//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8072//   DBClusterIdentifier doesn't refer to an existing DB cluster.
8073//
8074//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
8075//   The DB cluster isn't in a valid state.
8076//
8077// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
8078func (c *RDS) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
8079	req, out := c.PromoteReadReplicaDBClusterRequest(input)
8080	return out, req.Send()
8081}
8082
8083// PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
8084// the ability to pass a context and additional request options.
8085//
8086// See PromoteReadReplicaDBCluster for details on how to use this API operation.
8087//
8088// The context must be non-nil and will be used for request cancellation. If
8089// the context is nil a panic will occur. In the future the SDK may create
8090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8091// for more information on using Contexts.
8092func (c *RDS) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
8093	req, out := c.PromoteReadReplicaDBClusterRequest(input)
8094	req.SetContext(ctx)
8095	req.ApplyOptions(opts...)
8096	return out, req.Send()
8097}
8098
8099const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOffering"
8100
8101// PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the
8102// client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return
8103// value will be populated with the request's response once the request completes
8104// successfuly.
8105//
8106// Use "Send" method on the returned Request to send the API call to the service.
8107// the "output" return value is not valid until after Send returns without error.
8108//
8109// See PurchaseReservedDBInstancesOffering for more information on using the PurchaseReservedDBInstancesOffering
8110// API call, and error handling.
8111//
8112// This method is useful when you want to inject custom logic or configuration
8113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8114//
8115//
8116//    // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method.
8117//    req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params)
8118//
8119//    err := req.Send()
8120//    if err == nil { // resp is now filled
8121//        fmt.Println(resp)
8122//    }
8123//
8124// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
8125func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReservedDBInstancesOfferingInput) (req *request.Request, output *PurchaseReservedDBInstancesOfferingOutput) {
8126	op := &request.Operation{
8127		Name:       opPurchaseReservedDBInstancesOffering,
8128		HTTPMethod: "POST",
8129		HTTPPath:   "/",
8130	}
8131
8132	if input == nil {
8133		input = &PurchaseReservedDBInstancesOfferingInput{}
8134	}
8135
8136	output = &PurchaseReservedDBInstancesOfferingOutput{}
8137	req = c.newRequest(op, input, output)
8138	return
8139}
8140
8141// PurchaseReservedDBInstancesOffering API operation for Amazon Relational Database Service.
8142//
8143// Purchases a reserved DB instance offering.
8144//
8145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8146// with awserr.Error's Code and Message methods to get detailed information about
8147// the error.
8148//
8149// See the AWS API reference guide for Amazon Relational Database Service's
8150// API operation PurchaseReservedDBInstancesOffering for usage and error information.
8151//
8152// Returned Error Codes:
8153//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
8154//   Specified offering does not exist.
8155//
8156//   * ErrCodeReservedDBInstanceAlreadyExistsFault "ReservedDBInstanceAlreadyExists"
8157//   User already has a reservation with the given identifier.
8158//
8159//   * ErrCodeReservedDBInstanceQuotaExceededFault "ReservedDBInstanceQuotaExceeded"
8160//   Request would exceed the user's DB Instance quota.
8161//
8162// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
8163func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInstancesOfferingInput) (*PurchaseReservedDBInstancesOfferingOutput, error) {
8164	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
8165	return out, req.Send()
8166}
8167
8168// PurchaseReservedDBInstancesOfferingWithContext is the same as PurchaseReservedDBInstancesOffering with the addition of
8169// the ability to pass a context and additional request options.
8170//
8171// See PurchaseReservedDBInstancesOffering for details on how to use this API operation.
8172//
8173// The context must be non-nil and will be used for request cancellation. If
8174// the context is nil a panic will occur. In the future the SDK may create
8175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8176// for more information on using Contexts.
8177func (c *RDS) PurchaseReservedDBInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedDBInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedDBInstancesOfferingOutput, error) {
8178	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
8179	req.SetContext(ctx)
8180	req.ApplyOptions(opts...)
8181	return out, req.Send()
8182}
8183
8184const opRebootDBInstance = "RebootDBInstance"
8185
8186// RebootDBInstanceRequest generates a "aws/request.Request" representing the
8187// client's request for the RebootDBInstance operation. The "output" return
8188// value will be populated with the request's response once the request completes
8189// successfuly.
8190//
8191// Use "Send" method on the returned Request to send the API call to the service.
8192// the "output" return value is not valid until after Send returns without error.
8193//
8194// See RebootDBInstance for more information on using the RebootDBInstance
8195// API call, and error handling.
8196//
8197// This method is useful when you want to inject custom logic or configuration
8198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8199//
8200//
8201//    // Example sending a request using the RebootDBInstanceRequest method.
8202//    req, resp := client.RebootDBInstanceRequest(params)
8203//
8204//    err := req.Send()
8205//    if err == nil { // resp is now filled
8206//        fmt.Println(resp)
8207//    }
8208//
8209// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
8210func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
8211	op := &request.Operation{
8212		Name:       opRebootDBInstance,
8213		HTTPMethod: "POST",
8214		HTTPPath:   "/",
8215	}
8216
8217	if input == nil {
8218		input = &RebootDBInstanceInput{}
8219	}
8220
8221	output = &RebootDBInstanceOutput{}
8222	req = c.newRequest(op, input, output)
8223	return
8224}
8225
8226// RebootDBInstance API operation for Amazon Relational Database Service.
8227//
8228// You might need to reboot your DB instance, usually for maintenance reasons.
8229// For example, if you make certain modifications, or if you change the DB parameter
8230// group associated with the DB instance, you must reboot the instance for the
8231// changes to take effect.
8232//
8233// Rebooting a DB instance restarts the database engine service. Rebooting a
8234// DB instance results in a momentary outage, during which the DB instance status
8235// is set to rebooting.
8236//
8237// For more information about rebooting, see Rebooting a DB Instance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html).
8238//
8239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8240// with awserr.Error's Code and Message methods to get detailed information about
8241// the error.
8242//
8243// See the AWS API reference guide for Amazon Relational Database Service's
8244// API operation RebootDBInstance for usage and error information.
8245//
8246// Returned Error Codes:
8247//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
8248//   The specified DB instance isn't in the available state.
8249//
8250//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
8251//   DBInstanceIdentifier doesn't refer to an existing DB instance.
8252//
8253// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
8254func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
8255	req, out := c.RebootDBInstanceRequest(input)
8256	return out, req.Send()
8257}
8258
8259// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
8260// the ability to pass a context and additional request options.
8261//
8262// See RebootDBInstance for details on how to use this API operation.
8263//
8264// The context must be non-nil and will be used for request cancellation. If
8265// the context is nil a panic will occur. In the future the SDK may create
8266// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8267// for more information on using Contexts.
8268func (c *RDS) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
8269	req, out := c.RebootDBInstanceRequest(input)
8270	req.SetContext(ctx)
8271	req.ApplyOptions(opts...)
8272	return out, req.Send()
8273}
8274
8275const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
8276
8277// RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
8278// client's request for the RemoveRoleFromDBCluster operation. The "output" return
8279// value will be populated with the request's response once the request completes
8280// successfuly.
8281//
8282// Use "Send" method on the returned Request to send the API call to the service.
8283// the "output" return value is not valid until after Send returns without error.
8284//
8285// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
8286// API call, and error handling.
8287//
8288// This method is useful when you want to inject custom logic or configuration
8289// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8290//
8291//
8292//    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
8293//    req, resp := client.RemoveRoleFromDBClusterRequest(params)
8294//
8295//    err := req.Send()
8296//    if err == nil { // resp is now filled
8297//        fmt.Println(resp)
8298//    }
8299//
8300// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
8301func (c *RDS) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
8302	op := &request.Operation{
8303		Name:       opRemoveRoleFromDBCluster,
8304		HTTPMethod: "POST",
8305		HTTPPath:   "/",
8306	}
8307
8308	if input == nil {
8309		input = &RemoveRoleFromDBClusterInput{}
8310	}
8311
8312	output = &RemoveRoleFromDBClusterOutput{}
8313	req = c.newRequest(op, input, output)
8314	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
8315	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
8316	return
8317}
8318
8319// RemoveRoleFromDBCluster API operation for Amazon Relational Database Service.
8320//
8321// Disassociates an Identity and Access Management (IAM) role from an Aurora
8322// DB cluster. For more information, see Authorizing Amazon Aurora to Access
8323// Other AWS Services On Your Behalf (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Authorizing.AWSServices.html).
8324//
8325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8326// with awserr.Error's Code and Message methods to get detailed information about
8327// the error.
8328//
8329// See the AWS API reference guide for Amazon Relational Database Service's
8330// API operation RemoveRoleFromDBCluster for usage and error information.
8331//
8332// Returned Error Codes:
8333//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8334//   DBClusterIdentifier doesn't refer to an existing DB cluster.
8335//
8336//   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
8337//   The specified IAM role Amazon Resource Name (ARN) isn't associated with the
8338//   specified DB cluster.
8339//
8340//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
8341//   The DB cluster isn't in a valid state.
8342//
8343// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
8344func (c *RDS) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
8345	req, out := c.RemoveRoleFromDBClusterRequest(input)
8346	return out, req.Send()
8347}
8348
8349// RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
8350// the ability to pass a context and additional request options.
8351//
8352// See RemoveRoleFromDBCluster for details on how to use this API operation.
8353//
8354// The context must be non-nil and will be used for request cancellation. If
8355// the context is nil a panic will occur. In the future the SDK may create
8356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8357// for more information on using Contexts.
8358func (c *RDS) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
8359	req, out := c.RemoveRoleFromDBClusterRequest(input)
8360	req.SetContext(ctx)
8361	req.ApplyOptions(opts...)
8362	return out, req.Send()
8363}
8364
8365const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
8366
8367// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
8368// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
8369// value will be populated with the request's response once the request completes
8370// successfuly.
8371//
8372// Use "Send" method on the returned Request to send the API call to the service.
8373// the "output" return value is not valid until after Send returns without error.
8374//
8375// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
8376// API call, and error handling.
8377//
8378// This method is useful when you want to inject custom logic or configuration
8379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8380//
8381//
8382//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
8383//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
8384//
8385//    err := req.Send()
8386//    if err == nil { // resp is now filled
8387//        fmt.Println(resp)
8388//    }
8389//
8390// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
8391func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
8392	op := &request.Operation{
8393		Name:       opRemoveSourceIdentifierFromSubscription,
8394		HTTPMethod: "POST",
8395		HTTPPath:   "/",
8396	}
8397
8398	if input == nil {
8399		input = &RemoveSourceIdentifierFromSubscriptionInput{}
8400	}
8401
8402	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
8403	req = c.newRequest(op, input, output)
8404	return
8405}
8406
8407// RemoveSourceIdentifierFromSubscription API operation for Amazon Relational Database Service.
8408//
8409// Removes a source identifier from an existing RDS event notification subscription.
8410//
8411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8412// with awserr.Error's Code and Message methods to get detailed information about
8413// the error.
8414//
8415// See the AWS API reference guide for Amazon Relational Database Service's
8416// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
8417//
8418// Returned Error Codes:
8419//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
8420//   The subscription name does not exist.
8421//
8422//   * ErrCodeSourceNotFoundFault "SourceNotFound"
8423//   The requested source could not be found.
8424//
8425// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
8426func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
8427	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
8428	return out, req.Send()
8429}
8430
8431// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
8432// the ability to pass a context and additional request options.
8433//
8434// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
8435//
8436// The context must be non-nil and will be used for request cancellation. If
8437// the context is nil a panic will occur. In the future the SDK may create
8438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8439// for more information on using Contexts.
8440func (c *RDS) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
8441	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
8442	req.SetContext(ctx)
8443	req.ApplyOptions(opts...)
8444	return out, req.Send()
8445}
8446
8447const opRemoveTagsFromResource = "RemoveTagsFromResource"
8448
8449// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
8450// client's request for the RemoveTagsFromResource operation. The "output" return
8451// value will be populated with the request's response once the request completes
8452// successfuly.
8453//
8454// Use "Send" method on the returned Request to send the API call to the service.
8455// the "output" return value is not valid until after Send returns without error.
8456//
8457// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
8458// API call, and error handling.
8459//
8460// This method is useful when you want to inject custom logic or configuration
8461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8462//
8463//
8464//    // Example sending a request using the RemoveTagsFromResourceRequest method.
8465//    req, resp := client.RemoveTagsFromResourceRequest(params)
8466//
8467//    err := req.Send()
8468//    if err == nil { // resp is now filled
8469//        fmt.Println(resp)
8470//    }
8471//
8472// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
8473func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
8474	op := &request.Operation{
8475		Name:       opRemoveTagsFromResource,
8476		HTTPMethod: "POST",
8477		HTTPPath:   "/",
8478	}
8479
8480	if input == nil {
8481		input = &RemoveTagsFromResourceInput{}
8482	}
8483
8484	output = &RemoveTagsFromResourceOutput{}
8485	req = c.newRequest(op, input, output)
8486	req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
8487	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
8488	return
8489}
8490
8491// RemoveTagsFromResource API operation for Amazon Relational Database Service.
8492//
8493// Removes metadata tags from an Amazon RDS resource.
8494//
8495// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
8496// Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
8497//
8498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8499// with awserr.Error's Code and Message methods to get detailed information about
8500// the error.
8501//
8502// See the AWS API reference guide for Amazon Relational Database Service's
8503// API operation RemoveTagsFromResource for usage and error information.
8504//
8505// Returned Error Codes:
8506//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
8507//   DBInstanceIdentifier doesn't refer to an existing DB instance.
8508//
8509//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
8510//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
8511//
8512//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8513//   DBClusterIdentifier doesn't refer to an existing DB cluster.
8514//
8515// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
8516func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
8517	req, out := c.RemoveTagsFromResourceRequest(input)
8518	return out, req.Send()
8519}
8520
8521// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
8522// the ability to pass a context and additional request options.
8523//
8524// See RemoveTagsFromResource for details on how to use this API operation.
8525//
8526// The context must be non-nil and will be used for request cancellation. If
8527// the context is nil a panic will occur. In the future the SDK may create
8528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8529// for more information on using Contexts.
8530func (c *RDS) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
8531	req, out := c.RemoveTagsFromResourceRequest(input)
8532	req.SetContext(ctx)
8533	req.ApplyOptions(opts...)
8534	return out, req.Send()
8535}
8536
8537const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
8538
8539// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
8540// client's request for the ResetDBClusterParameterGroup operation. The "output" return
8541// value will be populated with the request's response once the request completes
8542// successfuly.
8543//
8544// Use "Send" method on the returned Request to send the API call to the service.
8545// the "output" return value is not valid until after Send returns without error.
8546//
8547// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
8548// API call, and error handling.
8549//
8550// This method is useful when you want to inject custom logic or configuration
8551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8552//
8553//
8554//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
8555//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
8556//
8557//    err := req.Send()
8558//    if err == nil { // resp is now filled
8559//        fmt.Println(resp)
8560//    }
8561//
8562// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
8563func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
8564	op := &request.Operation{
8565		Name:       opResetDBClusterParameterGroup,
8566		HTTPMethod: "POST",
8567		HTTPPath:   "/",
8568	}
8569
8570	if input == nil {
8571		input = &ResetDBClusterParameterGroupInput{}
8572	}
8573
8574	output = &DBClusterParameterGroupNameMessage{}
8575	req = c.newRequest(op, input, output)
8576	return
8577}
8578
8579// ResetDBClusterParameterGroup API operation for Amazon Relational Database Service.
8580//
8581// Modifies the parameters of a DB cluster parameter group to the default value.
8582// To reset specific parameters submit a list of the following: ParameterName
8583// and ApplyMethod. To reset the entire DB cluster parameter group, specify
8584// the DBClusterParameterGroupName and ResetAllParameters parameters.
8585//
8586// When resetting the entire group, dynamic parameters are updated immediately
8587// and static parameters are set to pending-reboot to take effect on the next
8588// DB instance restart or RebootDBInstance request. You must call RebootDBInstance
8589// for every DB instance in your DB cluster that you want the updated static
8590// parameter to apply to.
8591//
8592// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
8593// in the Amazon RDS User Guide.
8594//
8595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8596// with awserr.Error's Code and Message methods to get detailed information about
8597// the error.
8598//
8599// See the AWS API reference guide for Amazon Relational Database Service's
8600// API operation ResetDBClusterParameterGroup for usage and error information.
8601//
8602// Returned Error Codes:
8603//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
8604//   The DB parameter group is in use or is in an invalid state. If you are attempting
8605//   to delete the parameter group, you can't delete it when the parameter group
8606//   is in this state.
8607//
8608//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
8609//   DBParameterGroupName doesn't refer to an existing DB parameter group.
8610//
8611// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
8612func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
8613	req, out := c.ResetDBClusterParameterGroupRequest(input)
8614	return out, req.Send()
8615}
8616
8617// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
8618// the ability to pass a context and additional request options.
8619//
8620// See ResetDBClusterParameterGroup for details on how to use this API operation.
8621//
8622// The context must be non-nil and will be used for request cancellation. If
8623// the context is nil a panic will occur. In the future the SDK may create
8624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8625// for more information on using Contexts.
8626func (c *RDS) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
8627	req, out := c.ResetDBClusterParameterGroupRequest(input)
8628	req.SetContext(ctx)
8629	req.ApplyOptions(opts...)
8630	return out, req.Send()
8631}
8632
8633const opResetDBParameterGroup = "ResetDBParameterGroup"
8634
8635// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
8636// client's request for the ResetDBParameterGroup operation. The "output" return
8637// value will be populated with the request's response once the request completes
8638// successfuly.
8639//
8640// Use "Send" method on the returned Request to send the API call to the service.
8641// the "output" return value is not valid until after Send returns without error.
8642//
8643// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
8644// API call, and error handling.
8645//
8646// This method is useful when you want to inject custom logic or configuration
8647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8648//
8649//
8650//    // Example sending a request using the ResetDBParameterGroupRequest method.
8651//    req, resp := client.ResetDBParameterGroupRequest(params)
8652//
8653//    err := req.Send()
8654//    if err == nil { // resp is now filled
8655//        fmt.Println(resp)
8656//    }
8657//
8658// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
8659func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
8660	op := &request.Operation{
8661		Name:       opResetDBParameterGroup,
8662		HTTPMethod: "POST",
8663		HTTPPath:   "/",
8664	}
8665
8666	if input == nil {
8667		input = &ResetDBParameterGroupInput{}
8668	}
8669
8670	output = &DBParameterGroupNameMessage{}
8671	req = c.newRequest(op, input, output)
8672	return
8673}
8674
8675// ResetDBParameterGroup API operation for Amazon Relational Database Service.
8676//
8677// Modifies the parameters of a DB parameter group to the engine/system default
8678// value. To reset specific parameters, provide a list of the following: ParameterName
8679// and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
8680// name and ResetAllParameters parameters. When resetting the entire group,
8681// dynamic parameters are updated immediately and static parameters are set
8682// to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
8683// request.
8684//
8685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8686// with awserr.Error's Code and Message methods to get detailed information about
8687// the error.
8688//
8689// See the AWS API reference guide for Amazon Relational Database Service's
8690// API operation ResetDBParameterGroup for usage and error information.
8691//
8692// Returned Error Codes:
8693//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
8694//   The DB parameter group is in use or is in an invalid state. If you are attempting
8695//   to delete the parameter group, you can't delete it when the parameter group
8696//   is in this state.
8697//
8698//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
8699//   DBParameterGroupName doesn't refer to an existing DB parameter group.
8700//
8701// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
8702func (c *RDS) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
8703	req, out := c.ResetDBParameterGroupRequest(input)
8704	return out, req.Send()
8705}
8706
8707// ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
8708// the ability to pass a context and additional request options.
8709//
8710// See ResetDBParameterGroup for details on how to use this API operation.
8711//
8712// The context must be non-nil and will be used for request cancellation. If
8713// the context is nil a panic will occur. In the future the SDK may create
8714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8715// for more information on using Contexts.
8716func (c *RDS) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
8717	req, out := c.ResetDBParameterGroupRequest(input)
8718	req.SetContext(ctx)
8719	req.ApplyOptions(opts...)
8720	return out, req.Send()
8721}
8722
8723const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3"
8724
8725// RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the
8726// client's request for the RestoreDBClusterFromS3 operation. The "output" return
8727// value will be populated with the request's response once the request completes
8728// successfuly.
8729//
8730// Use "Send" method on the returned Request to send the API call to the service.
8731// the "output" return value is not valid until after Send returns without error.
8732//
8733// See RestoreDBClusterFromS3 for more information on using the RestoreDBClusterFromS3
8734// API call, and error handling.
8735//
8736// This method is useful when you want to inject custom logic or configuration
8737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8738//
8739//
8740//    // Example sending a request using the RestoreDBClusterFromS3Request method.
8741//    req, resp := client.RestoreDBClusterFromS3Request(params)
8742//
8743//    err := req.Send()
8744//    if err == nil { // resp is now filled
8745//        fmt.Println(resp)
8746//    }
8747//
8748// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
8749func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) (req *request.Request, output *RestoreDBClusterFromS3Output) {
8750	op := &request.Operation{
8751		Name:       opRestoreDBClusterFromS3,
8752		HTTPMethod: "POST",
8753		HTTPPath:   "/",
8754	}
8755
8756	if input == nil {
8757		input = &RestoreDBClusterFromS3Input{}
8758	}
8759
8760	output = &RestoreDBClusterFromS3Output{}
8761	req = c.newRequest(op, input, output)
8762	return
8763}
8764
8765// RestoreDBClusterFromS3 API operation for Amazon Relational Database Service.
8766//
8767// Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket.
8768// Amazon RDS must be authorized to access the Amazon S3 bucket and the data
8769// must be created using the Percona XtraBackup utility as described in Migrating
8770// 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).
8771//
8772// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8773// with awserr.Error's Code and Message methods to get detailed information about
8774// the error.
8775//
8776// See the AWS API reference guide for Amazon Relational Database Service's
8777// API operation RestoreDBClusterFromS3 for usage and error information.
8778//
8779// Returned Error Codes:
8780//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
8781//   The user already has a DB cluster with the given identifier.
8782//
8783//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
8784//   The user attempted to create a new DB cluster and the user has already reached
8785//   the maximum allowed DB cluster quota.
8786//
8787//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
8788//   The request would result in the user exceeding the allowed amount of storage
8789//   available across all DB instances.
8790//
8791//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
8792//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
8793//
8794//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
8795//   The DB subnet group doesn't cover all Availability Zones after it's created
8796//   because of users' change.
8797//
8798//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
8799//   The DB cluster isn't in a valid state.
8800//
8801//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
8802//   The DB subnet group cannot be deleted because it's in use.
8803//
8804//   * ErrCodeInvalidSubnet "InvalidSubnet"
8805//   The requested subnet is invalid, or multiple subnets were requested that
8806//   are not all in a common VPC.
8807//
8808//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
8809//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
8810//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
8811//   S3IngestionRoleArn values and try again.
8812//
8813//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
8814//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
8815//   group.
8816//
8817//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
8818//   An error occurred accessing an AWS KMS key.
8819//
8820//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8821//   DBClusterIdentifier doesn't refer to an existing DB cluster.
8822//
8823//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
8824//   There is insufficient storage available for the current action. You might
8825//   be able to resolve this error by updating your subnet group to use different
8826//   Availability Zones that have more storage available.
8827//
8828// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
8829func (c *RDS) RestoreDBClusterFromS3(input *RestoreDBClusterFromS3Input) (*RestoreDBClusterFromS3Output, error) {
8830	req, out := c.RestoreDBClusterFromS3Request(input)
8831	return out, req.Send()
8832}
8833
8834// RestoreDBClusterFromS3WithContext is the same as RestoreDBClusterFromS3 with the addition of
8835// the ability to pass a context and additional request options.
8836//
8837// See RestoreDBClusterFromS3 for details on how to use this API operation.
8838//
8839// The context must be non-nil and will be used for request cancellation. If
8840// the context is nil a panic will occur. In the future the SDK may create
8841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8842// for more information on using Contexts.
8843func (c *RDS) RestoreDBClusterFromS3WithContext(ctx aws.Context, input *RestoreDBClusterFromS3Input, opts ...request.Option) (*RestoreDBClusterFromS3Output, error) {
8844	req, out := c.RestoreDBClusterFromS3Request(input)
8845	req.SetContext(ctx)
8846	req.ApplyOptions(opts...)
8847	return out, req.Send()
8848}
8849
8850const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
8851
8852// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
8853// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
8854// value will be populated with the request's response once the request completes
8855// successfuly.
8856//
8857// Use "Send" method on the returned Request to send the API call to the service.
8858// the "output" return value is not valid until after Send returns without error.
8859//
8860// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
8861// API call, and error handling.
8862//
8863// This method is useful when you want to inject custom logic or configuration
8864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8865//
8866//
8867//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
8868//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
8869//
8870//    err := req.Send()
8871//    if err == nil { // resp is now filled
8872//        fmt.Println(resp)
8873//    }
8874//
8875// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
8876func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
8877	op := &request.Operation{
8878		Name:       opRestoreDBClusterFromSnapshot,
8879		HTTPMethod: "POST",
8880		HTTPPath:   "/",
8881	}
8882
8883	if input == nil {
8884		input = &RestoreDBClusterFromSnapshotInput{}
8885	}
8886
8887	output = &RestoreDBClusterFromSnapshotOutput{}
8888	req = c.newRequest(op, input, output)
8889	return
8890}
8891
8892// RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service.
8893//
8894// Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
8895//
8896// If a DB snapshot is specified, the target DB cluster is created from the
8897// source DB snapshot with a default configuration and default security group.
8898//
8899// If a DB cluster snapshot is specified, the target DB cluster is created from
8900// the source DB cluster restore point with the same configuration as the original
8901// source DB cluster, except that the new DB cluster is created with the default
8902// security group.
8903//
8904// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
8905// in the Amazon RDS User Guide.
8906//
8907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8908// with awserr.Error's Code and Message methods to get detailed information about
8909// the error.
8910//
8911// See the AWS API reference guide for Amazon Relational Database Service's
8912// API operation RestoreDBClusterFromSnapshot for usage and error information.
8913//
8914// Returned Error Codes:
8915//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
8916//   The user already has a DB cluster with the given identifier.
8917//
8918//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
8919//   The user attempted to create a new DB cluster and the user has already reached
8920//   the maximum allowed DB cluster quota.
8921//
8922//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
8923//   The request would result in the user exceeding the allowed amount of storage
8924//   available across all DB instances.
8925//
8926//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
8927//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
8928//
8929//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
8930//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
8931//
8932//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
8933//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
8934//
8935//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
8936//   The DB cluster doesn't have enough capacity for the current operation.
8937//
8938//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
8939//   There is insufficient storage available for the current action. You might
8940//   be able to resolve this error by updating your subnet group to use different
8941//   Availability Zones that have more storage available.
8942//
8943//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
8944//   The state of the DB snapshot doesn't allow deletion.
8945//
8946//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
8947//   The supplied value isn't a valid DB cluster snapshot state.
8948//
8949//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
8950//   The request would result in the user exceeding the allowed amount of storage
8951//   available across all DB instances.
8952//
8953//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
8954//   The DB subnet group doesn't cover all Availability Zones after it's created
8955//   because of users' change.
8956//
8957//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
8958//   Cannot restore from VPC backup to non-VPC DB instance.
8959//
8960//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
8961//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
8962//
8963//   * ErrCodeInvalidSubnet "InvalidSubnet"
8964//   The requested subnet is invalid, or multiple subnets were requested that
8965//   are not all in a common VPC.
8966//
8967//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
8968//   The specified option group could not be found.
8969//
8970//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
8971//   An error occurred accessing an AWS KMS key.
8972//
8973//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
8974//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
8975//   group.
8976//
8977// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
8978func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
8979	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
8980	return out, req.Send()
8981}
8982
8983// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
8984// the ability to pass a context and additional request options.
8985//
8986// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
8987//
8988// The context must be non-nil and will be used for request cancellation. If
8989// the context is nil a panic will occur. In the future the SDK may create
8990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8991// for more information on using Contexts.
8992func (c *RDS) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
8993	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
8994	req.SetContext(ctx)
8995	req.ApplyOptions(opts...)
8996	return out, req.Send()
8997}
8998
8999const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
9000
9001// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
9002// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
9003// value will be populated with the request's response once the request completes
9004// successfuly.
9005//
9006// Use "Send" method on the returned Request to send the API call to the service.
9007// the "output" return value is not valid until after Send returns without error.
9008//
9009// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
9010// API call, and error handling.
9011//
9012// This method is useful when you want to inject custom logic or configuration
9013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9014//
9015//
9016//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
9017//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
9018//
9019//    err := req.Send()
9020//    if err == nil { // resp is now filled
9021//        fmt.Println(resp)
9022//    }
9023//
9024// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
9025func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
9026	op := &request.Operation{
9027		Name:       opRestoreDBClusterToPointInTime,
9028		HTTPMethod: "POST",
9029		HTTPPath:   "/",
9030	}
9031
9032	if input == nil {
9033		input = &RestoreDBClusterToPointInTimeInput{}
9034	}
9035
9036	output = &RestoreDBClusterToPointInTimeOutput{}
9037	req = c.newRequest(op, input, output)
9038	return
9039}
9040
9041// RestoreDBClusterToPointInTime API operation for Amazon Relational Database Service.
9042//
9043// Restores a DB cluster to an arbitrary point in time. Users can restore to
9044// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
9045// days. The target DB cluster is created from the source DB cluster with the
9046// same configuration as the original DB cluster, except that the new DB cluster
9047// is created with the default DB security group.
9048//
9049// This action only restores the DB cluster, not the DB instances for that DB
9050// cluster. You must invoke the CreateDBInstance action to create DB instances
9051// for the restored DB cluster, specifying the identifier of the restored DB
9052// cluster in DBClusterIdentifier. You can create DB instances only after the
9053// RestoreDBClusterToPointInTime action has completed and the DB cluster is
9054// available.
9055//
9056// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html)
9057// in the Amazon RDS User Guide.
9058//
9059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9060// with awserr.Error's Code and Message methods to get detailed information about
9061// the error.
9062//
9063// See the AWS API reference guide for Amazon Relational Database Service's
9064// API operation RestoreDBClusterToPointInTime for usage and error information.
9065//
9066// Returned Error Codes:
9067//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
9068//   The user already has a DB cluster with the given identifier.
9069//
9070//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9071//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9072//
9073//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
9074//   The user attempted to create a new DB cluster and the user has already reached
9075//   the maximum allowed DB cluster quota.
9076//
9077//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
9078//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
9079//
9080//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9081//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
9082//
9083//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
9084//   The DB cluster doesn't have enough capacity for the current operation.
9085//
9086//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
9087//   There is insufficient storage available for the current action. You might
9088//   be able to resolve this error by updating your subnet group to use different
9089//   Availability Zones that have more storage available.
9090//
9091//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
9092//   The supplied value isn't a valid DB cluster snapshot state.
9093//
9094//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9095//   The DB cluster isn't in a valid state.
9096//
9097//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
9098//   The state of the DB snapshot doesn't allow deletion.
9099//
9100//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
9101//   Cannot restore from VPC backup to non-VPC DB instance.
9102//
9103//   * ErrCodeInvalidSubnet "InvalidSubnet"
9104//   The requested subnet is invalid, or multiple subnets were requested that
9105//   are not all in a common VPC.
9106//
9107//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9108//   The DB subnet group doesn't cover all Availability Zones after it's created
9109//   because of users' change.
9110//
9111//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
9112//   An error occurred accessing an AWS KMS key.
9113//
9114//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
9115//   The specified option group could not be found.
9116//
9117//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9118//   The request would result in the user exceeding the allowed amount of storage
9119//   available across all DB instances.
9120//
9121//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
9122//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
9123//   group.
9124//
9125// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
9126func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
9127	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
9128	return out, req.Send()
9129}
9130
9131// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
9132// the ability to pass a context and additional request options.
9133//
9134// See RestoreDBClusterToPointInTime for details on how to use this API operation.
9135//
9136// The context must be non-nil and will be used for request cancellation. If
9137// the context is nil a panic will occur. In the future the SDK may create
9138// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9139// for more information on using Contexts.
9140func (c *RDS) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
9141	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
9142	req.SetContext(ctx)
9143	req.ApplyOptions(opts...)
9144	return out, req.Send()
9145}
9146
9147const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot"
9148
9149// RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the
9150// client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return
9151// value will be populated with the request's response once the request completes
9152// successfuly.
9153//
9154// Use "Send" method on the returned Request to send the API call to the service.
9155// the "output" return value is not valid until after Send returns without error.
9156//
9157// See RestoreDBInstanceFromDBSnapshot for more information on using the RestoreDBInstanceFromDBSnapshot
9158// API call, and error handling.
9159//
9160// This method is useful when you want to inject custom logic or configuration
9161// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9162//
9163//
9164//    // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method.
9165//    req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params)
9166//
9167//    err := req.Send()
9168//    if err == nil { // resp is now filled
9169//        fmt.Println(resp)
9170//    }
9171//
9172// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
9173func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFromDBSnapshotInput) (req *request.Request, output *RestoreDBInstanceFromDBSnapshotOutput) {
9174	op := &request.Operation{
9175		Name:       opRestoreDBInstanceFromDBSnapshot,
9176		HTTPMethod: "POST",
9177		HTTPPath:   "/",
9178	}
9179
9180	if input == nil {
9181		input = &RestoreDBInstanceFromDBSnapshotInput{}
9182	}
9183
9184	output = &RestoreDBInstanceFromDBSnapshotOutput{}
9185	req = c.newRequest(op, input, output)
9186	return
9187}
9188
9189// RestoreDBInstanceFromDBSnapshot API operation for Amazon Relational Database Service.
9190//
9191// Creates a new DB instance from a DB snapshot. The target database is created
9192// from the source database restore point with the most of original configuration
9193// with the default security group and the default DB parameter group. By default,
9194// the new DB instance is created as a single-AZ deployment except when the
9195// instance is a SQL Server instance that has an option group that is associated
9196// with mirroring; in this case, the instance becomes a mirrored AZ deployment
9197// and not a single-AZ deployment.
9198//
9199// If your intent is to replace your original DB instance with the new, restored
9200// DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot
9201// action. RDS doesn't allow two DB instances with the same name. Once you have
9202// renamed your original DB instance with a different identifier, then you can
9203// pass the original name of the DB instance as the DBInstanceIdentifier in
9204// the call to the RestoreDBInstanceFromDBSnapshot action. The result is that
9205// you will replace the original DB instance with the DB instance created from
9206// the snapshot.
9207//
9208// If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
9209// must be the ARN of the shared DB snapshot.
9210//
9211// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
9212// use RestoreDBClusterFromSnapshot.
9213//
9214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9215// with awserr.Error's Code and Message methods to get detailed information about
9216// the error.
9217//
9218// See the AWS API reference guide for Amazon Relational Database Service's
9219// API operation RestoreDBInstanceFromDBSnapshot for usage and error information.
9220//
9221// Returned Error Codes:
9222//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
9223//   The user already has a DB instance with the given identifier.
9224//
9225//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
9226//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
9227//
9228//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
9229//   The request would result in the user exceeding the allowed number of DB instances.
9230//
9231//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
9232//   The specified DB instance class isn't available in the specified Availability
9233//   Zone.
9234//
9235//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
9236//   The state of the DB snapshot doesn't allow deletion.
9237//
9238//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9239//   The request would result in the user exceeding the allowed amount of storage
9240//   available across all DB instances.
9241//
9242//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9243//   The DB subnet group doesn't cover all Availability Zones after it's created
9244//   because of users' change.
9245//
9246//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
9247//   Cannot restore from VPC backup to non-VPC DB instance.
9248//
9249//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9250//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
9251//
9252//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
9253//   Subnets in the DB subnet group should cover at least two Availability Zones
9254//   unless there is only one Availability Zone.
9255//
9256//   * ErrCodeInvalidSubnet "InvalidSubnet"
9257//   The requested subnet is invalid, or multiple subnets were requested that
9258//   are not all in a common VPC.
9259//
9260//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
9261//   Provisioned IOPS not available in the specified Availability Zone.
9262//
9263//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
9264//   The specified option group could not be found.
9265//
9266//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
9267//   Storage of the StorageType specified can't be associated with the DB instance.
9268//
9269//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9270//   The specified CIDRIP or Amazon EC2 security group isn't authorized for the
9271//   specified DB security group.
9272//
9273//   RDS also may not be authorized by using IAM to perform necessary actions
9274//   on your behalf.
9275//
9276//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
9277//   An error occurred accessing an AWS KMS key.
9278//
9279//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
9280//   DBSecurityGroupName doesn't refer to an existing DB security group.
9281//
9282//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
9283//   Domain doesn't refer to an existing Active Directory domain.
9284//
9285//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
9286//   DBParameterGroupName doesn't refer to an existing DB parameter group.
9287//
9288//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
9289//
9290// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
9291func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
9292	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
9293	return out, req.Send()
9294}
9295
9296// RestoreDBInstanceFromDBSnapshotWithContext is the same as RestoreDBInstanceFromDBSnapshot with the addition of
9297// the ability to pass a context and additional request options.
9298//
9299// See RestoreDBInstanceFromDBSnapshot for details on how to use this API operation.
9300//
9301// The context must be non-nil and will be used for request cancellation. If
9302// the context is nil a panic will occur. In the future the SDK may create
9303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9304// for more information on using Contexts.
9305func (c *RDS) RestoreDBInstanceFromDBSnapshotWithContext(ctx aws.Context, input *RestoreDBInstanceFromDBSnapshotInput, opts ...request.Option) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
9306	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
9307	req.SetContext(ctx)
9308	req.ApplyOptions(opts...)
9309	return out, req.Send()
9310}
9311
9312const opRestoreDBInstanceFromS3 = "RestoreDBInstanceFromS3"
9313
9314// RestoreDBInstanceFromS3Request generates a "aws/request.Request" representing the
9315// client's request for the RestoreDBInstanceFromS3 operation. The "output" return
9316// value will be populated with the request's response once the request completes
9317// successfuly.
9318//
9319// Use "Send" method on the returned Request to send the API call to the service.
9320// the "output" return value is not valid until after Send returns without error.
9321//
9322// See RestoreDBInstanceFromS3 for more information on using the RestoreDBInstanceFromS3
9323// API call, and error handling.
9324//
9325// This method is useful when you want to inject custom logic or configuration
9326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9327//
9328//
9329//    // Example sending a request using the RestoreDBInstanceFromS3Request method.
9330//    req, resp := client.RestoreDBInstanceFromS3Request(params)
9331//
9332//    err := req.Send()
9333//    if err == nil { // resp is now filled
9334//        fmt.Println(resp)
9335//    }
9336//
9337// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
9338func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input) (req *request.Request, output *RestoreDBInstanceFromS3Output) {
9339	op := &request.Operation{
9340		Name:       opRestoreDBInstanceFromS3,
9341		HTTPMethod: "POST",
9342		HTTPPath:   "/",
9343	}
9344
9345	if input == nil {
9346		input = &RestoreDBInstanceFromS3Input{}
9347	}
9348
9349	output = &RestoreDBInstanceFromS3Output{}
9350	req = c.newRequest(op, input, output)
9351	return
9352}
9353
9354// RestoreDBInstanceFromS3 API operation for Amazon Relational Database Service.
9355//
9356// Amazon Relational Database Service (Amazon RDS) supports importing MySQL
9357// databases by using backup files. You can create a backup of your on-premises
9358// database, store it on Amazon Simple Storage Service (Amazon S3), and then
9359// restore the backup file onto a new Amazon RDS DB instance running MySQL.
9360// For more information, see Importing Data into an Amazon RDS MySQL DB Instance
9361// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html).
9362//
9363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9364// with awserr.Error's Code and Message methods to get detailed information about
9365// the error.
9366//
9367// See the AWS API reference guide for Amazon Relational Database Service's
9368// API operation RestoreDBInstanceFromS3 for usage and error information.
9369//
9370// Returned Error Codes:
9371//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
9372//   The user already has a DB instance with the given identifier.
9373//
9374//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
9375//   The specified DB instance class isn't available in the specified Availability
9376//   Zone.
9377//
9378//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
9379//   DBParameterGroupName doesn't refer to an existing DB parameter group.
9380//
9381//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
9382//   DBSecurityGroupName doesn't refer to an existing DB security group.
9383//
9384//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
9385//   The request would result in the user exceeding the allowed number of DB instances.
9386//
9387//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9388//   The request would result in the user exceeding the allowed amount of storage
9389//   available across all DB instances.
9390//
9391//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9392//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
9393//
9394//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
9395//   Subnets in the DB subnet group should cover at least two Availability Zones
9396//   unless there is only one Availability Zone.
9397//
9398//   * ErrCodeInvalidSubnet "InvalidSubnet"
9399//   The requested subnet is invalid, or multiple subnets were requested that
9400//   are not all in a common VPC.
9401//
9402//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9403//   The DB subnet group doesn't cover all Availability Zones after it's created
9404//   because of users' change.
9405//
9406//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
9407//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
9408//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
9409//   S3IngestionRoleArn values and try again.
9410//
9411//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
9412//   Provisioned IOPS not available in the specified Availability Zone.
9413//
9414//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
9415//   The specified option group could not be found.
9416//
9417//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
9418//   Storage of the StorageType specified can't be associated with the DB instance.
9419//
9420//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9421//   The specified CIDRIP or Amazon EC2 security group isn't authorized for the
9422//   specified DB security group.
9423//
9424//   RDS also may not be authorized by using IAM to perform necessary actions
9425//   on your behalf.
9426//
9427//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
9428//   An error occurred accessing an AWS KMS key.
9429//
9430//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
9431//
9432// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
9433func (c *RDS) RestoreDBInstanceFromS3(input *RestoreDBInstanceFromS3Input) (*RestoreDBInstanceFromS3Output, error) {
9434	req, out := c.RestoreDBInstanceFromS3Request(input)
9435	return out, req.Send()
9436}
9437
9438// RestoreDBInstanceFromS3WithContext is the same as RestoreDBInstanceFromS3 with the addition of
9439// the ability to pass a context and additional request options.
9440//
9441// See RestoreDBInstanceFromS3 for details on how to use this API operation.
9442//
9443// The context must be non-nil and will be used for request cancellation. If
9444// the context is nil a panic will occur. In the future the SDK may create
9445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9446// for more information on using Contexts.
9447func (c *RDS) RestoreDBInstanceFromS3WithContext(ctx aws.Context, input *RestoreDBInstanceFromS3Input, opts ...request.Option) (*RestoreDBInstanceFromS3Output, error) {
9448	req, out := c.RestoreDBInstanceFromS3Request(input)
9449	req.SetContext(ctx)
9450	req.ApplyOptions(opts...)
9451	return out, req.Send()
9452}
9453
9454const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime"
9455
9456// RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the
9457// client's request for the RestoreDBInstanceToPointInTime operation. The "output" return
9458// value will be populated with the request's response once the request completes
9459// successfuly.
9460//
9461// Use "Send" method on the returned Request to send the API call to the service.
9462// the "output" return value is not valid until after Send returns without error.
9463//
9464// See RestoreDBInstanceToPointInTime for more information on using the RestoreDBInstanceToPointInTime
9465// API call, and error handling.
9466//
9467// This method is useful when you want to inject custom logic or configuration
9468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9469//
9470//
9471//    // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method.
9472//    req, resp := client.RestoreDBInstanceToPointInTimeRequest(params)
9473//
9474//    err := req.Send()
9475//    if err == nil { // resp is now filled
9476//        fmt.Println(resp)
9477//    }
9478//
9479// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
9480func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPointInTimeInput) (req *request.Request, output *RestoreDBInstanceToPointInTimeOutput) {
9481	op := &request.Operation{
9482		Name:       opRestoreDBInstanceToPointInTime,
9483		HTTPMethod: "POST",
9484		HTTPPath:   "/",
9485	}
9486
9487	if input == nil {
9488		input = &RestoreDBInstanceToPointInTimeInput{}
9489	}
9490
9491	output = &RestoreDBInstanceToPointInTimeOutput{}
9492	req = c.newRequest(op, input, output)
9493	return
9494}
9495
9496// RestoreDBInstanceToPointInTime API operation for Amazon Relational Database Service.
9497//
9498// Restores a DB instance to an arbitrary point in time. You can restore to
9499// any point in time before the time identified by the LatestRestorableTime
9500// property. You can restore to a point up to the number of days specified by
9501// the BackupRetentionPeriod property.
9502//
9503// The target database is created with most of the original configuration, but
9504// in a system-selected Availability Zone, with the default security group,
9505// the default subnet group, and the default DB parameter group. By default,
9506// the new DB instance is created as a single-AZ deployment except when the
9507// instance is a SQL Server instance that has an option group that is associated
9508// with mirroring; in this case, the instance becomes a mirrored deployment
9509// and not a single-AZ deployment.
9510//
9511// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
9512// use RestoreDBClusterToPointInTime.
9513//
9514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9515// with awserr.Error's Code and Message methods to get detailed information about
9516// the error.
9517//
9518// See the AWS API reference guide for Amazon Relational Database Service's
9519// API operation RestoreDBInstanceToPointInTime for usage and error information.
9520//
9521// Returned Error Codes:
9522//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
9523//   The user already has a DB instance with the given identifier.
9524//
9525//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9526//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9527//
9528//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
9529//   The request would result in the user exceeding the allowed number of DB instances.
9530//
9531//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
9532//   The specified DB instance class isn't available in the specified Availability
9533//   Zone.
9534//
9535//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9536//   The specified DB instance isn't in the available state.
9537//
9538//   * ErrCodePointInTimeRestoreNotEnabledFault "PointInTimeRestoreNotEnabled"
9539//   SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod
9540//   equal to 0.
9541//
9542//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9543//   The request would result in the user exceeding the allowed amount of storage
9544//   available across all DB instances.
9545//
9546//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9547//   The DB subnet group doesn't cover all Availability Zones after it's created
9548//   because of users' change.
9549//
9550//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
9551//   Cannot restore from VPC backup to non-VPC DB instance.
9552//
9553//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9554//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
9555//
9556//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
9557//   Subnets in the DB subnet group should cover at least two Availability Zones
9558//   unless there is only one Availability Zone.
9559//
9560//   * ErrCodeInvalidSubnet "InvalidSubnet"
9561//   The requested subnet is invalid, or multiple subnets were requested that
9562//   are not all in a common VPC.
9563//
9564//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
9565//   Provisioned IOPS not available in the specified Availability Zone.
9566//
9567//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
9568//   The specified option group could not be found.
9569//
9570//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
9571//   Storage of the StorageType specified can't be associated with the DB instance.
9572//
9573//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9574//   The specified CIDRIP or Amazon EC2 security group isn't authorized for the
9575//   specified DB security group.
9576//
9577//   RDS also may not be authorized by using IAM to perform necessary actions
9578//   on your behalf.
9579//
9580//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
9581//   An error occurred accessing an AWS KMS key.
9582//
9583//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
9584//   DBSecurityGroupName doesn't refer to an existing DB security group.
9585//
9586//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
9587//   Domain doesn't refer to an existing Active Directory domain.
9588//
9589//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
9590//   DBParameterGroupName doesn't refer to an existing DB parameter group.
9591//
9592//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
9593//
9594// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
9595func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) {
9596	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
9597	return out, req.Send()
9598}
9599
9600// RestoreDBInstanceToPointInTimeWithContext is the same as RestoreDBInstanceToPointInTime with the addition of
9601// the ability to pass a context and additional request options.
9602//
9603// See RestoreDBInstanceToPointInTime for details on how to use this API operation.
9604//
9605// The context must be non-nil and will be used for request cancellation. If
9606// the context is nil a panic will occur. In the future the SDK may create
9607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9608// for more information on using Contexts.
9609func (c *RDS) RestoreDBInstanceToPointInTimeWithContext(ctx aws.Context, input *RestoreDBInstanceToPointInTimeInput, opts ...request.Option) (*RestoreDBInstanceToPointInTimeOutput, error) {
9610	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
9611	req.SetContext(ctx)
9612	req.ApplyOptions(opts...)
9613	return out, req.Send()
9614}
9615
9616const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress"
9617
9618// RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
9619// client's request for the RevokeDBSecurityGroupIngress operation. The "output" return
9620// value will be populated with the request's response once the request completes
9621// successfuly.
9622//
9623// Use "Send" method on the returned Request to send the API call to the service.
9624// the "output" return value is not valid until after Send returns without error.
9625//
9626// See RevokeDBSecurityGroupIngress for more information on using the RevokeDBSecurityGroupIngress
9627// API call, and error handling.
9628//
9629// This method is useful when you want to inject custom logic or configuration
9630// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9631//
9632//
9633//    // Example sending a request using the RevokeDBSecurityGroupIngressRequest method.
9634//    req, resp := client.RevokeDBSecurityGroupIngressRequest(params)
9635//
9636//    err := req.Send()
9637//    if err == nil { // resp is now filled
9638//        fmt.Println(resp)
9639//    }
9640//
9641// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
9642func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIngressInput) (req *request.Request, output *RevokeDBSecurityGroupIngressOutput) {
9643	op := &request.Operation{
9644		Name:       opRevokeDBSecurityGroupIngress,
9645		HTTPMethod: "POST",
9646		HTTPPath:   "/",
9647	}
9648
9649	if input == nil {
9650		input = &RevokeDBSecurityGroupIngressInput{}
9651	}
9652
9653	output = &RevokeDBSecurityGroupIngressOutput{}
9654	req = c.newRequest(op, input, output)
9655	return
9656}
9657
9658// RevokeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
9659//
9660// Revokes ingress from a DBSecurityGroup for previously authorized IP ranges
9661// or EC2 or VPC Security Groups. Required parameters for this API are one of
9662// CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
9663// EC2SecurityGroupName or EC2SecurityGroupId).
9664//
9665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9666// with awserr.Error's Code and Message methods to get detailed information about
9667// the error.
9668//
9669// See the AWS API reference guide for Amazon Relational Database Service's
9670// API operation RevokeDBSecurityGroupIngress for usage and error information.
9671//
9672// Returned Error Codes:
9673//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
9674//   DBSecurityGroupName doesn't refer to an existing DB security group.
9675//
9676//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9677//   The specified CIDRIP or Amazon EC2 security group isn't authorized for the
9678//   specified DB security group.
9679//
9680//   RDS also may not be authorized by using IAM to perform necessary actions
9681//   on your behalf.
9682//
9683//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
9684//   The state of the DB security group doesn't allow deletion.
9685//
9686// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
9687func (c *RDS) RevokeDBSecurityGroupIngress(input *RevokeDBSecurityGroupIngressInput) (*RevokeDBSecurityGroupIngressOutput, error) {
9688	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
9689	return out, req.Send()
9690}
9691
9692// RevokeDBSecurityGroupIngressWithContext is the same as RevokeDBSecurityGroupIngress with the addition of
9693// the ability to pass a context and additional request options.
9694//
9695// See RevokeDBSecurityGroupIngress for details on how to use this API operation.
9696//
9697// The context must be non-nil and will be used for request cancellation. If
9698// the context is nil a panic will occur. In the future the SDK may create
9699// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9700// for more information on using Contexts.
9701func (c *RDS) RevokeDBSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeDBSecurityGroupIngressInput, opts ...request.Option) (*RevokeDBSecurityGroupIngressOutput, error) {
9702	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
9703	req.SetContext(ctx)
9704	req.ApplyOptions(opts...)
9705	return out, req.Send()
9706}
9707
9708const opStartDBInstance = "StartDBInstance"
9709
9710// StartDBInstanceRequest generates a "aws/request.Request" representing the
9711// client's request for the StartDBInstance operation. The "output" return
9712// value will be populated with the request's response once the request completes
9713// successfuly.
9714//
9715// Use "Send" method on the returned Request to send the API call to the service.
9716// the "output" return value is not valid until after Send returns without error.
9717//
9718// See StartDBInstance for more information on using the StartDBInstance
9719// API call, and error handling.
9720//
9721// This method is useful when you want to inject custom logic or configuration
9722// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9723//
9724//
9725//    // Example sending a request using the StartDBInstanceRequest method.
9726//    req, resp := client.StartDBInstanceRequest(params)
9727//
9728//    err := req.Send()
9729//    if err == nil { // resp is now filled
9730//        fmt.Println(resp)
9731//    }
9732//
9733// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
9734func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request.Request, output *StartDBInstanceOutput) {
9735	op := &request.Operation{
9736		Name:       opStartDBInstance,
9737		HTTPMethod: "POST",
9738		HTTPPath:   "/",
9739	}
9740
9741	if input == nil {
9742		input = &StartDBInstanceInput{}
9743	}
9744
9745	output = &StartDBInstanceOutput{}
9746	req = c.newRequest(op, input, output)
9747	return
9748}
9749
9750// StartDBInstance API operation for Amazon Relational Database Service.
9751//
9752// Starts a DB instance that was stopped using the AWS console, the stop-db-instance
9753// AWS CLI command, or the StopDBInstance action. For more information, see
9754// Stopping and Starting a DB instance in the AWS RDS user guide.
9755//
9756// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
9757//
9758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9759// with awserr.Error's Code and Message methods to get detailed information about
9760// the error.
9761//
9762// See the AWS API reference guide for Amazon Relational Database Service's
9763// API operation StartDBInstance for usage and error information.
9764//
9765// Returned Error Codes:
9766//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9767//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9768//
9769//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9770//   The specified DB instance isn't in the available state.
9771//
9772//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
9773//   The specified DB instance class isn't available in the specified Availability
9774//   Zone.
9775//
9776//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9777//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
9778//
9779//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
9780//   Subnets in the DB subnet group should cover at least two Availability Zones
9781//   unless there is only one Availability Zone.
9782//
9783//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9784//   The DB cluster isn't in a valid state.
9785//
9786//   * ErrCodeInvalidSubnet "InvalidSubnet"
9787//   The requested subnet is invalid, or multiple subnets were requested that
9788//   are not all in a common VPC.
9789//
9790//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9791//   The DB subnet group doesn't cover all Availability Zones after it's created
9792//   because of users' change.
9793//
9794//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9795//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9796//
9797//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9798//   The specified CIDRIP or Amazon EC2 security group isn't authorized for the
9799//   specified DB security group.
9800//
9801//   RDS also may not be authorized by using IAM to perform necessary actions
9802//   on your behalf.
9803//
9804//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
9805//   An error occurred accessing an AWS KMS key.
9806//
9807// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
9808func (c *RDS) StartDBInstance(input *StartDBInstanceInput) (*StartDBInstanceOutput, error) {
9809	req, out := c.StartDBInstanceRequest(input)
9810	return out, req.Send()
9811}
9812
9813// StartDBInstanceWithContext is the same as StartDBInstance with the addition of
9814// the ability to pass a context and additional request options.
9815//
9816// See StartDBInstance for details on how to use this API operation.
9817//
9818// The context must be non-nil and will be used for request cancellation. If
9819// the context is nil a panic will occur. In the future the SDK may create
9820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9821// for more information on using Contexts.
9822func (c *RDS) StartDBInstanceWithContext(ctx aws.Context, input *StartDBInstanceInput, opts ...request.Option) (*StartDBInstanceOutput, error) {
9823	req, out := c.StartDBInstanceRequest(input)
9824	req.SetContext(ctx)
9825	req.ApplyOptions(opts...)
9826	return out, req.Send()
9827}
9828
9829const opStopDBInstance = "StopDBInstance"
9830
9831// StopDBInstanceRequest generates a "aws/request.Request" representing the
9832// client's request for the StopDBInstance operation. The "output" return
9833// value will be populated with the request's response once the request completes
9834// successfuly.
9835//
9836// Use "Send" method on the returned Request to send the API call to the service.
9837// the "output" return value is not valid until after Send returns without error.
9838//
9839// See StopDBInstance for more information on using the StopDBInstance
9840// API call, and error handling.
9841//
9842// This method is useful when you want to inject custom logic or configuration
9843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9844//
9845//
9846//    // Example sending a request using the StopDBInstanceRequest method.
9847//    req, resp := client.StopDBInstanceRequest(params)
9848//
9849//    err := req.Send()
9850//    if err == nil { // resp is now filled
9851//        fmt.Println(resp)
9852//    }
9853//
9854// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
9855func (c *RDS) StopDBInstanceRequest(input *StopDBInstanceInput) (req *request.Request, output *StopDBInstanceOutput) {
9856	op := &request.Operation{
9857		Name:       opStopDBInstance,
9858		HTTPMethod: "POST",
9859		HTTPPath:   "/",
9860	}
9861
9862	if input == nil {
9863		input = &StopDBInstanceInput{}
9864	}
9865
9866	output = &StopDBInstanceOutput{}
9867	req = c.newRequest(op, input, output)
9868	return
9869}
9870
9871// StopDBInstance API operation for Amazon Relational Database Service.
9872//
9873// Stops a DB instance. When you stop a DB instance, Amazon RDS retains the
9874// DB instance's metadata, including its endpoint, DB parameter group, and option
9875// group membership. Amazon RDS also retains the transaction logs so you can
9876// do a point-in-time restore if necessary. For more information, see Stopping
9877// and Starting a DB instance in the AWS RDS user guide.
9878//
9879// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
9880//
9881// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9882// with awserr.Error's Code and Message methods to get detailed information about
9883// the error.
9884//
9885// See the AWS API reference guide for Amazon Relational Database Service's
9886// API operation StopDBInstance for usage and error information.
9887//
9888// Returned Error Codes:
9889//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9890//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9891//
9892//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9893//   The specified DB instance isn't in the available state.
9894//
9895//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
9896//   DBSnapshotIdentifier is already used by an existing snapshot.
9897//
9898//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
9899//   The request would result in the user exceeding the allowed number of DB snapshots.
9900//
9901//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9902//   The DB cluster isn't in a valid state.
9903//
9904// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
9905func (c *RDS) StopDBInstance(input *StopDBInstanceInput) (*StopDBInstanceOutput, error) {
9906	req, out := c.StopDBInstanceRequest(input)
9907	return out, req.Send()
9908}
9909
9910// StopDBInstanceWithContext is the same as StopDBInstance with the addition of
9911// the ability to pass a context and additional request options.
9912//
9913// See StopDBInstance for details on how to use this API operation.
9914//
9915// The context must be non-nil and will be used for request cancellation. If
9916// the context is nil a panic will occur. In the future the SDK may create
9917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9918// for more information on using Contexts.
9919func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceInput, opts ...request.Option) (*StopDBInstanceOutput, error) {
9920	req, out := c.StopDBInstanceRequest(input)
9921	req.SetContext(ctx)
9922	req.ApplyOptions(opts...)
9923	return out, req.Send()
9924}
9925
9926// Describes a quota for an AWS account, for example, the number of DB instances
9927// allowed.
9928type AccountQuota struct {
9929	_ struct{} `type:"structure"`
9930
9931	// The name of the Amazon RDS quota for this AWS account.
9932	AccountQuotaName *string `type:"string"`
9933
9934	// The maximum allowed value for the quota.
9935	Max *int64 `type:"long"`
9936
9937	// The amount currently used toward the quota maximum.
9938	Used *int64 `type:"long"`
9939}
9940
9941// String returns the string representation
9942func (s AccountQuota) String() string {
9943	return awsutil.Prettify(s)
9944}
9945
9946// GoString returns the string representation
9947func (s AccountQuota) GoString() string {
9948	return s.String()
9949}
9950
9951// SetAccountQuotaName sets the AccountQuotaName field's value.
9952func (s *AccountQuota) SetAccountQuotaName(v string) *AccountQuota {
9953	s.AccountQuotaName = &v
9954	return s
9955}
9956
9957// SetMax sets the Max field's value.
9958func (s *AccountQuota) SetMax(v int64) *AccountQuota {
9959	s.Max = &v
9960	return s
9961}
9962
9963// SetUsed sets the Used field's value.
9964func (s *AccountQuota) SetUsed(v int64) *AccountQuota {
9965	s.Used = &v
9966	return s
9967}
9968
9969type AddRoleToDBClusterInput struct {
9970	_ struct{} `type:"structure"`
9971
9972	// The name of the DB cluster to associate the IAM role with.
9973	//
9974	// DBClusterIdentifier is a required field
9975	DBClusterIdentifier *string `type:"string" required:"true"`
9976
9977	// The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora
9978	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
9979	//
9980	// RoleArn is a required field
9981	RoleArn *string `type:"string" required:"true"`
9982}
9983
9984// String returns the string representation
9985func (s AddRoleToDBClusterInput) String() string {
9986	return awsutil.Prettify(s)
9987}
9988
9989// GoString returns the string representation
9990func (s AddRoleToDBClusterInput) GoString() string {
9991	return s.String()
9992}
9993
9994// Validate inspects the fields of the type to determine if they are valid.
9995func (s *AddRoleToDBClusterInput) Validate() error {
9996	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
9997	if s.DBClusterIdentifier == nil {
9998		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
9999	}
10000	if s.RoleArn == nil {
10001		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
10002	}
10003
10004	if invalidParams.Len() > 0 {
10005		return invalidParams
10006	}
10007	return nil
10008}
10009
10010// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10011func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
10012	s.DBClusterIdentifier = &v
10013	return s
10014}
10015
10016// SetRoleArn sets the RoleArn field's value.
10017func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
10018	s.RoleArn = &v
10019	return s
10020}
10021
10022type AddRoleToDBClusterOutput struct {
10023	_ struct{} `type:"structure"`
10024}
10025
10026// String returns the string representation
10027func (s AddRoleToDBClusterOutput) String() string {
10028	return awsutil.Prettify(s)
10029}
10030
10031// GoString returns the string representation
10032func (s AddRoleToDBClusterOutput) GoString() string {
10033	return s.String()
10034}
10035
10036type AddSourceIdentifierToSubscriptionInput struct {
10037	_ struct{} `type:"structure"`
10038
10039	// The identifier of the event source to be added.
10040	//
10041	// Constraints:
10042	//
10043	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
10044	//    be supplied.
10045	//
10046	//    * If the source type is a DB security group, a DBSecurityGroupName must
10047	//    be supplied.
10048	//
10049	//    * If the source type is a DB parameter group, a DBParameterGroupName must
10050	//    be supplied.
10051	//
10052	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
10053	//    supplied.
10054	//
10055	// SourceIdentifier is a required field
10056	SourceIdentifier *string `type:"string" required:"true"`
10057
10058	// The name of the RDS event notification subscription you want to add a source
10059	// identifier to.
10060	//
10061	// SubscriptionName is a required field
10062	SubscriptionName *string `type:"string" required:"true"`
10063}
10064
10065// String returns the string representation
10066func (s AddSourceIdentifierToSubscriptionInput) String() string {
10067	return awsutil.Prettify(s)
10068}
10069
10070// GoString returns the string representation
10071func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
10072	return s.String()
10073}
10074
10075// Validate inspects the fields of the type to determine if they are valid.
10076func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
10077	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
10078	if s.SourceIdentifier == nil {
10079		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
10080	}
10081	if s.SubscriptionName == nil {
10082		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
10083	}
10084
10085	if invalidParams.Len() > 0 {
10086		return invalidParams
10087	}
10088	return nil
10089}
10090
10091// SetSourceIdentifier sets the SourceIdentifier field's value.
10092func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
10093	s.SourceIdentifier = &v
10094	return s
10095}
10096
10097// SetSubscriptionName sets the SubscriptionName field's value.
10098func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
10099	s.SubscriptionName = &v
10100	return s
10101}
10102
10103type AddSourceIdentifierToSubscriptionOutput struct {
10104	_ struct{} `type:"structure"`
10105
10106	// Contains the results of a successful invocation of the DescribeEventSubscriptions
10107	// action.
10108	EventSubscription *EventSubscription `type:"structure"`
10109}
10110
10111// String returns the string representation
10112func (s AddSourceIdentifierToSubscriptionOutput) String() string {
10113	return awsutil.Prettify(s)
10114}
10115
10116// GoString returns the string representation
10117func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
10118	return s.String()
10119}
10120
10121// SetEventSubscription sets the EventSubscription field's value.
10122func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
10123	s.EventSubscription = v
10124	return s
10125}
10126
10127type AddTagsToResourceInput struct {
10128	_ struct{} `type:"structure"`
10129
10130	// The Amazon RDS resource that the tags are added to. This value is an Amazon
10131	// Resource Name (ARN). For information about creating an ARN, see  Constructing
10132	// an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
10133	//
10134	// ResourceName is a required field
10135	ResourceName *string `type:"string" required:"true"`
10136
10137	// The tags to be assigned to the Amazon RDS resource.
10138	//
10139	// Tags is a required field
10140	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
10141}
10142
10143// String returns the string representation
10144func (s AddTagsToResourceInput) String() string {
10145	return awsutil.Prettify(s)
10146}
10147
10148// GoString returns the string representation
10149func (s AddTagsToResourceInput) GoString() string {
10150	return s.String()
10151}
10152
10153// Validate inspects the fields of the type to determine if they are valid.
10154func (s *AddTagsToResourceInput) Validate() error {
10155	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
10156	if s.ResourceName == nil {
10157		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
10158	}
10159	if s.Tags == nil {
10160		invalidParams.Add(request.NewErrParamRequired("Tags"))
10161	}
10162
10163	if invalidParams.Len() > 0 {
10164		return invalidParams
10165	}
10166	return nil
10167}
10168
10169// SetResourceName sets the ResourceName field's value.
10170func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
10171	s.ResourceName = &v
10172	return s
10173}
10174
10175// SetTags sets the Tags field's value.
10176func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
10177	s.Tags = v
10178	return s
10179}
10180
10181type AddTagsToResourceOutput struct {
10182	_ struct{} `type:"structure"`
10183}
10184
10185// String returns the string representation
10186func (s AddTagsToResourceOutput) String() string {
10187	return awsutil.Prettify(s)
10188}
10189
10190// GoString returns the string representation
10191func (s AddTagsToResourceOutput) GoString() string {
10192	return s.String()
10193}
10194
10195type ApplyPendingMaintenanceActionInput struct {
10196	_ struct{} `type:"structure"`
10197
10198	// The pending maintenance action to apply to this resource.
10199	//
10200	// Valid values: system-update, db-upgrade
10201	//
10202	// ApplyAction is a required field
10203	ApplyAction *string `type:"string" required:"true"`
10204
10205	// A value that specifies the type of opt-in request, or undoes an opt-in request.
10206	// An opt-in request of type immediate can't be undone.
10207	//
10208	// Valid values:
10209	//
10210	//    * immediate - Apply the maintenance action immediately.
10211	//
10212	//    * next-maintenance - Apply the maintenance action during the next maintenance
10213	//    window for the resource.
10214	//
10215	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
10216	//
10217	// OptInType is a required field
10218	OptInType *string `type:"string" required:"true"`
10219
10220	// The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance
10221	// action applies to. For information about creating an ARN, see  Constructing
10222	// an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
10223	//
10224	// ResourceIdentifier is a required field
10225	ResourceIdentifier *string `type:"string" required:"true"`
10226}
10227
10228// String returns the string representation
10229func (s ApplyPendingMaintenanceActionInput) String() string {
10230	return awsutil.Prettify(s)
10231}
10232
10233// GoString returns the string representation
10234func (s ApplyPendingMaintenanceActionInput) GoString() string {
10235	return s.String()
10236}
10237
10238// Validate inspects the fields of the type to determine if they are valid.
10239func (s *ApplyPendingMaintenanceActionInput) Validate() error {
10240	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
10241	if s.ApplyAction == nil {
10242		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
10243	}
10244	if s.OptInType == nil {
10245		invalidParams.Add(request.NewErrParamRequired("OptInType"))
10246	}
10247	if s.ResourceIdentifier == nil {
10248		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
10249	}
10250
10251	if invalidParams.Len() > 0 {
10252		return invalidParams
10253	}
10254	return nil
10255}
10256
10257// SetApplyAction sets the ApplyAction field's value.
10258func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
10259	s.ApplyAction = &v
10260	return s
10261}
10262
10263// SetOptInType sets the OptInType field's value.
10264func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
10265	s.OptInType = &v
10266	return s
10267}
10268
10269// SetResourceIdentifier sets the ResourceIdentifier field's value.
10270func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
10271	s.ResourceIdentifier = &v
10272	return s
10273}
10274
10275type ApplyPendingMaintenanceActionOutput struct {
10276	_ struct{} `type:"structure"`
10277
10278	// Describes the pending maintenance actions for a resource.
10279	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
10280}
10281
10282// String returns the string representation
10283func (s ApplyPendingMaintenanceActionOutput) String() string {
10284	return awsutil.Prettify(s)
10285}
10286
10287// GoString returns the string representation
10288func (s ApplyPendingMaintenanceActionOutput) GoString() string {
10289	return s.String()
10290}
10291
10292// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
10293func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
10294	s.ResourcePendingMaintenanceActions = v
10295	return s
10296}
10297
10298type AuthorizeDBSecurityGroupIngressInput struct {
10299	_ struct{} `type:"structure"`
10300
10301	// The IP range to authorize.
10302	CIDRIP *string `type:"string"`
10303
10304	// The name of the DB security group to add authorization to.
10305	//
10306	// DBSecurityGroupName is a required field
10307	DBSecurityGroupName *string `type:"string" required:"true"`
10308
10309	// Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
10310	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
10311	// or EC2SecurityGroupId must be provided.
10312	EC2SecurityGroupId *string `type:"string"`
10313
10314	// Name of the EC2 security group to authorize. For VPC DB security groups,
10315	// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
10316	// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
10317	EC2SecurityGroupName *string `type:"string"`
10318
10319	// AWS account number of the owner of the EC2 security group specified in the
10320	// EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable
10321	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
10322	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
10323	// must be provided.
10324	EC2SecurityGroupOwnerId *string `type:"string"`
10325}
10326
10327// String returns the string representation
10328func (s AuthorizeDBSecurityGroupIngressInput) String() string {
10329	return awsutil.Prettify(s)
10330}
10331
10332// GoString returns the string representation
10333func (s AuthorizeDBSecurityGroupIngressInput) GoString() string {
10334	return s.String()
10335}
10336
10337// Validate inspects the fields of the type to determine if they are valid.
10338func (s *AuthorizeDBSecurityGroupIngressInput) Validate() error {
10339	invalidParams := request.ErrInvalidParams{Context: "AuthorizeDBSecurityGroupIngressInput"}
10340	if s.DBSecurityGroupName == nil {
10341		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
10342	}
10343
10344	if invalidParams.Len() > 0 {
10345		return invalidParams
10346	}
10347	return nil
10348}
10349
10350// SetCIDRIP sets the CIDRIP field's value.
10351func (s *AuthorizeDBSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeDBSecurityGroupIngressInput {
10352	s.CIDRIP = &v
10353	return s
10354}
10355
10356// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
10357func (s *AuthorizeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
10358	s.DBSecurityGroupName = &v
10359	return s
10360}
10361
10362// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
10363func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *AuthorizeDBSecurityGroupIngressInput {
10364	s.EC2SecurityGroupId = &v
10365	return s
10366}
10367
10368// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
10369func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
10370	s.EC2SecurityGroupName = &v
10371	return s
10372}
10373
10374// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
10375func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeDBSecurityGroupIngressInput {
10376	s.EC2SecurityGroupOwnerId = &v
10377	return s
10378}
10379
10380type AuthorizeDBSecurityGroupIngressOutput struct {
10381	_ struct{} `type:"structure"`
10382
10383	// Contains the details for an Amazon RDS DB security group.
10384	//
10385	// This data type is used as a response element in the DescribeDBSecurityGroups
10386	// action.
10387	DBSecurityGroup *DBSecurityGroup `type:"structure"`
10388}
10389
10390// String returns the string representation
10391func (s AuthorizeDBSecurityGroupIngressOutput) String() string {
10392	return awsutil.Prettify(s)
10393}
10394
10395// GoString returns the string representation
10396func (s AuthorizeDBSecurityGroupIngressOutput) GoString() string {
10397	return s.String()
10398}
10399
10400// SetDBSecurityGroup sets the DBSecurityGroup field's value.
10401func (s *AuthorizeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *AuthorizeDBSecurityGroupIngressOutput {
10402	s.DBSecurityGroup = v
10403	return s
10404}
10405
10406// Contains Availability Zone information.
10407//
10408// This data type is used as an element in the following data type:
10409//
10410//    * OrderableDBInstanceOption
10411type AvailabilityZone struct {
10412	_ struct{} `type:"structure"`
10413
10414	// The name of the Availability Zone.
10415	Name *string `type:"string"`
10416}
10417
10418// String returns the string representation
10419func (s AvailabilityZone) String() string {
10420	return awsutil.Prettify(s)
10421}
10422
10423// GoString returns the string representation
10424func (s AvailabilityZone) GoString() string {
10425	return s.String()
10426}
10427
10428// SetName sets the Name field's value.
10429func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
10430	s.Name = &v
10431	return s
10432}
10433
10434// Contains the available processor feature information for the DB instance
10435// class of a DB instance.
10436//
10437// For more information, see Configuring the Processor of the DB Instance Class
10438// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
10439// in the Amazon RDS User Guide.
10440type AvailableProcessorFeature struct {
10441	_ struct{} `type:"structure"`
10442
10443	// The allowed values for the processor feature of the DB instance class.
10444	AllowedValues *string `type:"string"`
10445
10446	// The default value for the processor feature of the DB instance class.
10447	DefaultValue *string `type:"string"`
10448
10449	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
10450	Name *string `type:"string"`
10451}
10452
10453// String returns the string representation
10454func (s AvailableProcessorFeature) String() string {
10455	return awsutil.Prettify(s)
10456}
10457
10458// GoString returns the string representation
10459func (s AvailableProcessorFeature) GoString() string {
10460	return s.String()
10461}
10462
10463// SetAllowedValues sets the AllowedValues field's value.
10464func (s *AvailableProcessorFeature) SetAllowedValues(v string) *AvailableProcessorFeature {
10465	s.AllowedValues = &v
10466	return s
10467}
10468
10469// SetDefaultValue sets the DefaultValue field's value.
10470func (s *AvailableProcessorFeature) SetDefaultValue(v string) *AvailableProcessorFeature {
10471	s.DefaultValue = &v
10472	return s
10473}
10474
10475// SetName sets the Name field's value.
10476func (s *AvailableProcessorFeature) SetName(v string) *AvailableProcessorFeature {
10477	s.Name = &v
10478	return s
10479}
10480
10481type BacktrackDBClusterInput struct {
10482	_ struct{} `type:"structure"`
10483
10484	// The timestamp of the time to backtrack the DB cluster to, specified in ISO
10485	// 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia
10486	// page. (http://en.wikipedia.org/wiki/ISO_8601)
10487	//
10488	// If the specified time is not a consistent time for the DB cluster, Aurora
10489	// automatically chooses the nearest possible consistent time for the DB cluster.
10490	//
10491	// Constraints:
10492	//
10493	//    * Must contain a valid ISO 8601 timestamp.
10494	//
10495	//    * Cannot contain a timestamp set in the future.
10496	//
10497	// Example: 2017-07-08T18:00Z
10498	//
10499	// BacktrackTo is a required field
10500	BacktrackTo *time.Time `type:"timestamp" required:"true"`
10501
10502	// The DB cluster identifier of the DB cluster to be backtracked. This parameter
10503	// is stored as a lowercase string.
10504	//
10505	// Constraints:
10506	//
10507	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
10508	//
10509	//    * First character must be a letter.
10510	//
10511	//    * Cannot end with a hyphen or contain two consecutive hyphens.
10512	//
10513	// Example: my-cluster1
10514	//
10515	// DBClusterIdentifier is a required field
10516	DBClusterIdentifier *string `type:"string" required:"true"`
10517
10518	// A value that, if specified, forces the DB cluster to backtrack when binary
10519	// logging is enabled. Otherwise, an error occurs when binary logging is enabled.
10520	Force *bool `type:"boolean"`
10521
10522	// If BacktrackTo is set to a timestamp earlier than the earliest backtrack
10523	// time, this value backtracks the DB cluster to the earliest possible backtrack
10524	// time. Otherwise, an error occurs.
10525	UseEarliestTimeOnPointInTimeUnavailable *bool `type:"boolean"`
10526}
10527
10528// String returns the string representation
10529func (s BacktrackDBClusterInput) String() string {
10530	return awsutil.Prettify(s)
10531}
10532
10533// GoString returns the string representation
10534func (s BacktrackDBClusterInput) GoString() string {
10535	return s.String()
10536}
10537
10538// Validate inspects the fields of the type to determine if they are valid.
10539func (s *BacktrackDBClusterInput) Validate() error {
10540	invalidParams := request.ErrInvalidParams{Context: "BacktrackDBClusterInput"}
10541	if s.BacktrackTo == nil {
10542		invalidParams.Add(request.NewErrParamRequired("BacktrackTo"))
10543	}
10544	if s.DBClusterIdentifier == nil {
10545		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
10546	}
10547
10548	if invalidParams.Len() > 0 {
10549		return invalidParams
10550	}
10551	return nil
10552}
10553
10554// SetBacktrackTo sets the BacktrackTo field's value.
10555func (s *BacktrackDBClusterInput) SetBacktrackTo(v time.Time) *BacktrackDBClusterInput {
10556	s.BacktrackTo = &v
10557	return s
10558}
10559
10560// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10561func (s *BacktrackDBClusterInput) SetDBClusterIdentifier(v string) *BacktrackDBClusterInput {
10562	s.DBClusterIdentifier = &v
10563	return s
10564}
10565
10566// SetForce sets the Force field's value.
10567func (s *BacktrackDBClusterInput) SetForce(v bool) *BacktrackDBClusterInput {
10568	s.Force = &v
10569	return s
10570}
10571
10572// SetUseEarliestTimeOnPointInTimeUnavailable sets the UseEarliestTimeOnPointInTimeUnavailable field's value.
10573func (s *BacktrackDBClusterInput) SetUseEarliestTimeOnPointInTimeUnavailable(v bool) *BacktrackDBClusterInput {
10574	s.UseEarliestTimeOnPointInTimeUnavailable = &v
10575	return s
10576}
10577
10578// This data type is used as a response element in the DescribeDBClusterBacktracks
10579// action.
10580type BacktrackDBClusterOutput struct {
10581	_ struct{} `type:"structure"`
10582
10583	// Contains the backtrack identifier.
10584	BacktrackIdentifier *string `type:"string"`
10585
10586	// The timestamp of the time at which the backtrack was requested.
10587	BacktrackRequestCreationTime *time.Time `type:"timestamp"`
10588
10589	// The timestamp of the time to which the DB cluster was backtracked.
10590	BacktrackTo *time.Time `type:"timestamp"`
10591
10592	// The timestamp of the time from which the DB cluster was backtracked.
10593	BacktrackedFrom *time.Time `type:"timestamp"`
10594
10595	// Contains a user-supplied DB cluster identifier. This identifier is the unique
10596	// key that identifies a DB cluster.
10597	DBClusterIdentifier *string `type:"string"`
10598
10599	// The status of the backtrack. This property returns one of the following values:
10600	//
10601	//    * applying - The backtrack is currently being applied to or rolled back
10602	//    from the DB cluster.
10603	//
10604	//    * completed - The backtrack has successfully been applied to or rolled
10605	//    back from the DB cluster.
10606	//
10607	//    * failed - An error occurred while the backtrack was applied to or rolled
10608	//    back from the DB cluster.
10609	//
10610	//    * pending - The backtrack is currently pending application to or rollback
10611	//    from the DB cluster.
10612	Status *string `type:"string"`
10613}
10614
10615// String returns the string representation
10616func (s BacktrackDBClusterOutput) String() string {
10617	return awsutil.Prettify(s)
10618}
10619
10620// GoString returns the string representation
10621func (s BacktrackDBClusterOutput) GoString() string {
10622	return s.String()
10623}
10624
10625// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
10626func (s *BacktrackDBClusterOutput) SetBacktrackIdentifier(v string) *BacktrackDBClusterOutput {
10627	s.BacktrackIdentifier = &v
10628	return s
10629}
10630
10631// SetBacktrackRequestCreationTime sets the BacktrackRequestCreationTime field's value.
10632func (s *BacktrackDBClusterOutput) SetBacktrackRequestCreationTime(v time.Time) *BacktrackDBClusterOutput {
10633	s.BacktrackRequestCreationTime = &v
10634	return s
10635}
10636
10637// SetBacktrackTo sets the BacktrackTo field's value.
10638func (s *BacktrackDBClusterOutput) SetBacktrackTo(v time.Time) *BacktrackDBClusterOutput {
10639	s.BacktrackTo = &v
10640	return s
10641}
10642
10643// SetBacktrackedFrom sets the BacktrackedFrom field's value.
10644func (s *BacktrackDBClusterOutput) SetBacktrackedFrom(v time.Time) *BacktrackDBClusterOutput {
10645	s.BacktrackedFrom = &v
10646	return s
10647}
10648
10649// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
10650func (s *BacktrackDBClusterOutput) SetDBClusterIdentifier(v string) *BacktrackDBClusterOutput {
10651	s.DBClusterIdentifier = &v
10652	return s
10653}
10654
10655// SetStatus sets the Status field's value.
10656func (s *BacktrackDBClusterOutput) SetStatus(v string) *BacktrackDBClusterOutput {
10657	s.Status = &v
10658	return s
10659}
10660
10661// A CA certificate for an AWS account.
10662type Certificate struct {
10663	_ struct{} `type:"structure"`
10664
10665	// The Amazon Resource Name (ARN) for the certificate.
10666	CertificateArn *string `type:"string"`
10667
10668	// The unique key that identifies a certificate.
10669	CertificateIdentifier *string `type:"string"`
10670
10671	// The type of the certificate.
10672	CertificateType *string `type:"string"`
10673
10674	// The thumbprint of the certificate.
10675	Thumbprint *string `type:"string"`
10676
10677	// The starting date from which the certificate is valid.
10678	ValidFrom *time.Time `type:"timestamp"`
10679
10680	// The final date that the certificate continues to be valid.
10681	ValidTill *time.Time `type:"timestamp"`
10682}
10683
10684// String returns the string representation
10685func (s Certificate) String() string {
10686	return awsutil.Prettify(s)
10687}
10688
10689// GoString returns the string representation
10690func (s Certificate) GoString() string {
10691	return s.String()
10692}
10693
10694// SetCertificateArn sets the CertificateArn field's value.
10695func (s *Certificate) SetCertificateArn(v string) *Certificate {
10696	s.CertificateArn = &v
10697	return s
10698}
10699
10700// SetCertificateIdentifier sets the CertificateIdentifier field's value.
10701func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
10702	s.CertificateIdentifier = &v
10703	return s
10704}
10705
10706// SetCertificateType sets the CertificateType field's value.
10707func (s *Certificate) SetCertificateType(v string) *Certificate {
10708	s.CertificateType = &v
10709	return s
10710}
10711
10712// SetThumbprint sets the Thumbprint field's value.
10713func (s *Certificate) SetThumbprint(v string) *Certificate {
10714	s.Thumbprint = &v
10715	return s
10716}
10717
10718// SetValidFrom sets the ValidFrom field's value.
10719func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
10720	s.ValidFrom = &v
10721	return s
10722}
10723
10724// SetValidTill sets the ValidTill field's value.
10725func (s *Certificate) SetValidTill(v time.Time) *Certificate {
10726	s.ValidTill = &v
10727	return s
10728}
10729
10730// This data type is used as a response element in the action DescribeDBEngineVersions.
10731type CharacterSet struct {
10732	_ struct{} `type:"structure"`
10733
10734	// The description of the character set.
10735	CharacterSetDescription *string `type:"string"`
10736
10737	// The name of the character set.
10738	CharacterSetName *string `type:"string"`
10739}
10740
10741// String returns the string representation
10742func (s CharacterSet) String() string {
10743	return awsutil.Prettify(s)
10744}
10745
10746// GoString returns the string representation
10747func (s CharacterSet) GoString() string {
10748	return s.String()
10749}
10750
10751// SetCharacterSetDescription sets the CharacterSetDescription field's value.
10752func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
10753	s.CharacterSetDescription = &v
10754	return s
10755}
10756
10757// SetCharacterSetName sets the CharacterSetName field's value.
10758func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
10759	s.CharacterSetName = &v
10760	return s
10761}
10762
10763// The configuration setting for the log types to be enabled for export to CloudWatch
10764// Logs for a specific DB instance or DB cluster.
10765//
10766// The EnableLogTypes and DisableLogTypes arrays determine which logs will be
10767// exported (or not exported) to CloudWatch Logs. The values within these arrays
10768// depend on the DB engine being used. For more information, see Publishing
10769// Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
10770// in the Amazon Relational Database Service User Guide.
10771type CloudwatchLogsExportConfiguration struct {
10772	_ struct{} `type:"structure"`
10773
10774	// The list of log types to disable.
10775	DisableLogTypes []*string `type:"list"`
10776
10777	// The list of log types to enable.
10778	EnableLogTypes []*string `type:"list"`
10779}
10780
10781// String returns the string representation
10782func (s CloudwatchLogsExportConfiguration) String() string {
10783	return awsutil.Prettify(s)
10784}
10785
10786// GoString returns the string representation
10787func (s CloudwatchLogsExportConfiguration) GoString() string {
10788	return s.String()
10789}
10790
10791// SetDisableLogTypes sets the DisableLogTypes field's value.
10792func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
10793	s.DisableLogTypes = v
10794	return s
10795}
10796
10797// SetEnableLogTypes sets the EnableLogTypes field's value.
10798func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
10799	s.EnableLogTypes = v
10800	return s
10801}
10802
10803type CopyDBClusterParameterGroupInput struct {
10804	_ struct{} `type:"structure"`
10805
10806	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
10807	// group. For information about creating an ARN, see  Constructing an RDS Amazon
10808	// Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
10809	//
10810	// Constraints:
10811	//
10812	//    * Must specify a valid DB cluster parameter group.
10813	//
10814	//    * If the source DB cluster parameter group is in the same AWS Region as
10815	//    the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group,
10816	//    or a valid ARN.
10817	//
10818	//    * If the source DB parameter group is in a different AWS Region than the
10819	//    copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
10820	//
10821	// SourceDBClusterParameterGroupIdentifier is a required field
10822	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
10823
10824	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
10825	Tags []*Tag `locationNameList:"Tag" type:"list"`
10826
10827	// A description for the copied DB cluster parameter group.
10828	//
10829	// TargetDBClusterParameterGroupDescription is a required field
10830	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
10831
10832	// The identifier for the copied DB cluster parameter group.
10833	//
10834	// Constraints:
10835	//
10836	//    * Cannot be null, empty, or blank
10837	//
10838	//    * Must contain from 1 to 255 letters, numbers, or hyphens
10839	//
10840	//    * First character must be a letter
10841	//
10842	//    * Cannot end with a hyphen or contain two consecutive hyphens
10843	//
10844	// Example: my-cluster-param-group1
10845	//
10846	// TargetDBClusterParameterGroupIdentifier is a required field
10847	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
10848}
10849
10850// String returns the string representation
10851func (s CopyDBClusterParameterGroupInput) String() string {
10852	return awsutil.Prettify(s)
10853}
10854
10855// GoString returns the string representation
10856func (s CopyDBClusterParameterGroupInput) GoString() string {
10857	return s.String()
10858}
10859
10860// Validate inspects the fields of the type to determine if they are valid.
10861func (s *CopyDBClusterParameterGroupInput) Validate() error {
10862	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
10863	if s.SourceDBClusterParameterGroupIdentifier == nil {
10864		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
10865	}
10866	if s.TargetDBClusterParameterGroupDescription == nil {
10867		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
10868	}
10869	if s.TargetDBClusterParameterGroupIdentifier == nil {
10870		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
10871	}
10872
10873	if invalidParams.Len() > 0 {
10874		return invalidParams
10875	}
10876	return nil
10877}
10878
10879// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
10880func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
10881	s.SourceDBClusterParameterGroupIdentifier = &v
10882	return s
10883}
10884
10885// SetTags sets the Tags field's value.
10886func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
10887	s.Tags = v
10888	return s
10889}
10890
10891// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
10892func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
10893	s.TargetDBClusterParameterGroupDescription = &v
10894	return s
10895}
10896
10897// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
10898func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
10899	s.TargetDBClusterParameterGroupIdentifier = &v
10900	return s
10901}
10902
10903type CopyDBClusterParameterGroupOutput struct {
10904	_ struct{} `type:"structure"`
10905
10906	// Contains the details of an Amazon RDS DB cluster parameter group.
10907	//
10908	// This data type is used as a response element in the DescribeDBClusterParameterGroups
10909	// action.
10910	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
10911}
10912
10913// String returns the string representation
10914func (s CopyDBClusterParameterGroupOutput) String() string {
10915	return awsutil.Prettify(s)
10916}
10917
10918// GoString returns the string representation
10919func (s CopyDBClusterParameterGroupOutput) GoString() string {
10920	return s.String()
10921}
10922
10923// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
10924func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
10925	s.DBClusterParameterGroup = v
10926	return s
10927}
10928
10929type CopyDBClusterSnapshotInput struct {
10930	_ struct{} `type:"structure"`
10931
10932	// True to copy all tags from the source DB cluster snapshot to the target DB
10933	// cluster snapshot, and otherwise false. The default is false.
10934	CopyTags *bool `type:"boolean"`
10935
10936	// DestinationRegion is used for presigning the request to a given region.
10937	DestinationRegion *string `type:"string"`
10938
10939	// The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key
10940	// ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key
10941	// alias for the KMS encryption key.
10942	//
10943	// If you copy an encrypted DB cluster snapshot from your AWS account, you can
10944	// specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
10945	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
10946	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
10947	//
10948	// If you copy an encrypted DB cluster snapshot that is shared from another
10949	// AWS account, then you must specify a value for KmsKeyId.
10950	//
10951	// To copy an encrypted DB cluster snapshot to another AWS Region, you must
10952	// set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the
10953	// DB cluster snapshot in the destination AWS Region. KMS encryption keys are
10954	// specific to the AWS Region that they are created in, and you can't use encryption
10955	// keys from one AWS Region in another AWS Region.
10956	//
10957	// If you copy an unencrypted DB cluster snapshot and specify a value for the
10958	// KmsKeyId parameter, an error is returned.
10959	KmsKeyId *string `type:"string"`
10960
10961	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
10962	// API action in the AWS Region that contains the source DB cluster snapshot
10963	// to copy. The PreSignedUrl parameter must be used when copying an encrypted
10964	// DB cluster snapshot from another AWS Region.
10965	//
10966	// The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot
10967	// API action that can be executed in the source AWS Region that contains the
10968	// encrypted DB cluster snapshot to be copied. The pre-signed URL request must
10969	// contain the following parameter values:
10970	//
10971	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
10972	//    the copy of the DB cluster snapshot in the destination AWS Region. This
10973	//    is the same identifier for both the CopyDBClusterSnapshot action that
10974	//    is called in the destination AWS Region, and the action contained in the
10975	//    pre-signed URL.
10976	//
10977	//    * DestinationRegion - The name of the AWS Region that the DB cluster snapshot
10978	//    will be created in.
10979	//
10980	//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
10981	//    for the encrypted DB cluster snapshot to be copied. This identifier must
10982	//    be in the Amazon Resource Name (ARN) format for the source AWS Region.
10983	//    For example, if you are copying an encrypted DB cluster snapshot from
10984	//    the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
10985	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
10986	//
10987	// To learn how to generate a Signature Version 4 signed request, see  Authenticating
10988	// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
10989	// and  Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
10990	PreSignedUrl *string `type:"string"`
10991
10992	// The identifier of the DB cluster snapshot to copy. This parameter is not
10993	// case-sensitive.
10994	//
10995	// You can't copy an encrypted, shared DB cluster snapshot from one AWS Region
10996	// to another.
10997	//
10998	// Constraints:
10999	//
11000	//    * Must specify a valid system snapshot in the "available" state.
11001	//
11002	//    * If the source snapshot is in the same AWS Region as the copy, specify
11003	//    a valid DB snapshot identifier.
11004	//
11005	//    * If the source snapshot is in a different AWS Region than the copy, specify
11006	//    a valid DB cluster snapshot ARN. For more information, go to  Copying
11007	//    a DB Snapshot or DB Cluster Snapshot (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html).
11008	//
11009	// Example: my-cluster-snapshot1
11010	//
11011	// SourceDBClusterSnapshotIdentifier is a required field
11012	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
11013
11014	// SourceRegion is the source region where the resource exists. This is not
11015	// sent over the wire and is only used for presigning. This value should always
11016	// have the same region as the source ARN.
11017	SourceRegion *string `type:"string" ignore:"true"`
11018
11019	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
11020	Tags []*Tag `locationNameList:"Tag" type:"list"`
11021
11022	// The identifier of the new DB cluster snapshot to create from the source DB
11023	// cluster snapshot. This parameter is not case-sensitive.
11024	//
11025	// Constraints:
11026	//
11027	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
11028	//
11029	//    * First character must be a letter.
11030	//
11031	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11032	//
11033	// Example: my-cluster-snapshot2
11034	//
11035	// TargetDBClusterSnapshotIdentifier is a required field
11036	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
11037}
11038
11039// String returns the string representation
11040func (s CopyDBClusterSnapshotInput) String() string {
11041	return awsutil.Prettify(s)
11042}
11043
11044// GoString returns the string representation
11045func (s CopyDBClusterSnapshotInput) GoString() string {
11046	return s.String()
11047}
11048
11049// Validate inspects the fields of the type to determine if they are valid.
11050func (s *CopyDBClusterSnapshotInput) Validate() error {
11051	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
11052	if s.SourceDBClusterSnapshotIdentifier == nil {
11053		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
11054	}
11055	if s.TargetDBClusterSnapshotIdentifier == nil {
11056		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
11057	}
11058
11059	if invalidParams.Len() > 0 {
11060		return invalidParams
11061	}
11062	return nil
11063}
11064
11065// SetCopyTags sets the CopyTags field's value.
11066func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
11067	s.CopyTags = &v
11068	return s
11069}
11070
11071// SetDestinationRegion sets the DestinationRegion field's value.
11072func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
11073	s.DestinationRegion = &v
11074	return s
11075}
11076
11077// SetKmsKeyId sets the KmsKeyId field's value.
11078func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
11079	s.KmsKeyId = &v
11080	return s
11081}
11082
11083// SetPreSignedUrl sets the PreSignedUrl field's value.
11084func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
11085	s.PreSignedUrl = &v
11086	return s
11087}
11088
11089// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
11090func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
11091	s.SourceDBClusterSnapshotIdentifier = &v
11092	return s
11093}
11094
11095// SetSourceRegion sets the SourceRegion field's value.
11096func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
11097	s.SourceRegion = &v
11098	return s
11099}
11100
11101// SetTags sets the Tags field's value.
11102func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
11103	s.Tags = v
11104	return s
11105}
11106
11107// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
11108func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
11109	s.TargetDBClusterSnapshotIdentifier = &v
11110	return s
11111}
11112
11113type CopyDBClusterSnapshotOutput struct {
11114	_ struct{} `type:"structure"`
11115
11116	// Contains the details for an Amazon RDS DB cluster snapshot
11117	//
11118	// This data type is used as a response element in the DescribeDBClusterSnapshots
11119	// action.
11120	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
11121}
11122
11123// String returns the string representation
11124func (s CopyDBClusterSnapshotOutput) String() string {
11125	return awsutil.Prettify(s)
11126}
11127
11128// GoString returns the string representation
11129func (s CopyDBClusterSnapshotOutput) GoString() string {
11130	return s.String()
11131}
11132
11133// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
11134func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
11135	s.DBClusterSnapshot = v
11136	return s
11137}
11138
11139type CopyDBParameterGroupInput struct {
11140	_ struct{} `type:"structure"`
11141
11142	// The identifier or ARN for the source DB parameter group. For information
11143	// about creating an ARN, see  Constructing an RDS Amazon Resource Name (ARN)
11144	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
11145	//
11146	// Constraints:
11147	//
11148	//    * Must specify a valid DB parameter group.
11149	//
11150	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
11151	//    or a valid ARN.
11152	//
11153	// SourceDBParameterGroupIdentifier is a required field
11154	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
11155
11156	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
11157	Tags []*Tag `locationNameList:"Tag" type:"list"`
11158
11159	// A description for the copied DB parameter group.
11160	//
11161	// TargetDBParameterGroupDescription is a required field
11162	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
11163
11164	// The identifier for the copied DB parameter group.
11165	//
11166	// Constraints:
11167	//
11168	//    * Cannot be null, empty, or blank
11169	//
11170	//    * Must contain from 1 to 255 letters, numbers, or hyphens
11171	//
11172	//    * First character must be a letter
11173	//
11174	//    * Cannot end with a hyphen or contain two consecutive hyphens
11175	//
11176	// Example: my-db-parameter-group
11177	//
11178	// TargetDBParameterGroupIdentifier is a required field
11179	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
11180}
11181
11182// String returns the string representation
11183func (s CopyDBParameterGroupInput) String() string {
11184	return awsutil.Prettify(s)
11185}
11186
11187// GoString returns the string representation
11188func (s CopyDBParameterGroupInput) GoString() string {
11189	return s.String()
11190}
11191
11192// Validate inspects the fields of the type to determine if they are valid.
11193func (s *CopyDBParameterGroupInput) Validate() error {
11194	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
11195	if s.SourceDBParameterGroupIdentifier == nil {
11196		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
11197	}
11198	if s.TargetDBParameterGroupDescription == nil {
11199		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
11200	}
11201	if s.TargetDBParameterGroupIdentifier == nil {
11202		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
11203	}
11204
11205	if invalidParams.Len() > 0 {
11206		return invalidParams
11207	}
11208	return nil
11209}
11210
11211// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
11212func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
11213	s.SourceDBParameterGroupIdentifier = &v
11214	return s
11215}
11216
11217// SetTags sets the Tags field's value.
11218func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
11219	s.Tags = v
11220	return s
11221}
11222
11223// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
11224func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
11225	s.TargetDBParameterGroupDescription = &v
11226	return s
11227}
11228
11229// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
11230func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
11231	s.TargetDBParameterGroupIdentifier = &v
11232	return s
11233}
11234
11235type CopyDBParameterGroupOutput struct {
11236	_ struct{} `type:"structure"`
11237
11238	// Contains the details of an Amazon RDS DB parameter group.
11239	//
11240	// This data type is used as a response element in the DescribeDBParameterGroups
11241	// action.
11242	DBParameterGroup *DBParameterGroup `type:"structure"`
11243}
11244
11245// String returns the string representation
11246func (s CopyDBParameterGroupOutput) String() string {
11247	return awsutil.Prettify(s)
11248}
11249
11250// GoString returns the string representation
11251func (s CopyDBParameterGroupOutput) GoString() string {
11252	return s.String()
11253}
11254
11255// SetDBParameterGroup sets the DBParameterGroup field's value.
11256func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
11257	s.DBParameterGroup = v
11258	return s
11259}
11260
11261type CopyDBSnapshotInput struct {
11262	_ struct{} `type:"structure"`
11263
11264	// True to copy all tags from the source DB snapshot to the target DB snapshot,
11265	// and otherwise false. The default is false.
11266	CopyTags *bool `type:"boolean"`
11267
11268	// DestinationRegion is used for presigning the request to a given region.
11269	DestinationRegion *string `type:"string"`
11270
11271	// The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon
11272	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
11273	// encryption key.
11274	//
11275	// If you copy an encrypted DB snapshot from your AWS account, you can specify
11276	// a value for this parameter to encrypt the copy with a new KMS encryption
11277	// key. If you don't specify a value for this parameter, then the copy of the
11278	// DB snapshot is encrypted with the same KMS key as the source DB snapshot.
11279	//
11280	// If you copy an encrypted DB snapshot that is shared from another AWS account,
11281	// then you must specify a value for this parameter.
11282	//
11283	// If you specify this parameter when you copy an unencrypted snapshot, the
11284	// copy is encrypted.
11285	//
11286	// If you copy an encrypted snapshot to a different AWS Region, then you must
11287	// specify a KMS key for the destination AWS Region. KMS encryption keys are
11288	// specific to the AWS Region that they are created in, and you can't use encryption
11289	// keys from one AWS Region in another AWS Region.
11290	KmsKeyId *string `type:"string"`
11291
11292	// The name of an option group to associate with the copy of the snapshot.
11293	//
11294	// Specify this option if you are copying a snapshot from one AWS Region to
11295	// another, and your DB instance uses a nondefault option group. If your source
11296	// DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL
11297	// Server, you must specify this option when copying across AWS Regions. For
11298	// more information, see Option Group Considerations (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options).
11299	OptionGroupName *string `type:"string"`
11300
11301	// The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot
11302	// API action in the source AWS Region that contains the source DB snapshot
11303	// to copy.
11304	//
11305	// You must specify this parameter when you copy an encrypted DB snapshot from
11306	// another AWS Region by using the Amazon RDS API. You can specify the --source-region
11307	// option instead of this parameter when you copy an encrypted DB snapshot from
11308	// another AWS Region by using the AWS CLI.
11309	//
11310	// The presigned URL must be a valid request for the CopyDBSnapshot API action
11311	// that can be executed in the source AWS Region that contains the encrypted
11312	// DB snapshot to be copied. The presigned URL request must contain the following
11313	// parameter values:
11314	//
11315	//    * DestinationRegion - The AWS Region that the encrypted DB snapshot is
11316	//    copied to. This AWS Region is the same one where the CopyDBSnapshot action
11317	//    is called that contains this presigned URL.
11318	//
11319	// For example, if you copy an encrypted DB snapshot from the us-west-2 AWS
11320	//    Region to the us-east-1 AWS Region, then you call the CopyDBSnapshot action
11321	//    in the us-east-1 AWS Region and provide a presigned URL that contains
11322	//    a call to the CopyDBSnapshot action in the us-west-2 AWS Region. For this
11323	//    example, the DestinationRegion in the presigned URL must be set to the
11324	//    us-east-1 AWS Region.
11325	//
11326	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
11327	//    the copy of the DB snapshot in the destination AWS Region. This is the
11328	//    same identifier for both the CopyDBSnapshot action that is called in the
11329	//    destination AWS Region, and the action contained in the presigned URL.
11330	//
11331	//
11332	//    * SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted
11333	//    snapshot to be copied. This identifier must be in the Amazon Resource
11334	//    Name (ARN) format for the source AWS Region. For example, if you are copying
11335	//    an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier
11336	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.
11337	//
11338	//
11339	// To learn how to generate a Signature Version 4 signed request, see Authenticating
11340	// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
11341	// and Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
11342	PreSignedUrl *string `type:"string"`
11343
11344	// The identifier for the source DB snapshot.
11345	//
11346	// If the source snapshot is in the same AWS Region as the copy, specify a valid
11347	// DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.
11348	//
11349	// If the source snapshot is in a different AWS Region than the copy, specify
11350	// a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.
11351	//
11352	// If you are copying from a shared manual DB snapshot, this parameter must
11353	// be the Amazon Resource Name (ARN) of the shared DB snapshot.
11354	//
11355	// If you are copying an encrypted snapshot this parameter must be in the ARN
11356	// format for the source AWS Region, and must match the SourceDBSnapshotIdentifier
11357	// in the PreSignedUrl parameter.
11358	//
11359	// Constraints:
11360	//
11361	//    * Must specify a valid system snapshot in the "available" state.
11362	//
11363	// Example: rds:mydb-2012-04-02-00-01
11364	//
11365	// Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805
11366	//
11367	// SourceDBSnapshotIdentifier is a required field
11368	SourceDBSnapshotIdentifier *string `type:"string" required:"true"`
11369
11370	// SourceRegion is the source region where the resource exists. This is not
11371	// sent over the wire and is only used for presigning. This value should always
11372	// have the same region as the source ARN.
11373	SourceRegion *string `type:"string" ignore:"true"`
11374
11375	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
11376	Tags []*Tag `locationNameList:"Tag" type:"list"`
11377
11378	// The identifier for the copy of the snapshot.
11379	//
11380	// Constraints:
11381	//
11382	//    * Cannot be null, empty, or blank
11383	//
11384	//    * Must contain from 1 to 255 letters, numbers, or hyphens
11385	//
11386	//    * First character must be a letter
11387	//
11388	//    * Cannot end with a hyphen or contain two consecutive hyphens
11389	//
11390	// Example: my-db-snapshot
11391	//
11392	// TargetDBSnapshotIdentifier is a required field
11393	TargetDBSnapshotIdentifier *string `type:"string" required:"true"`
11394}
11395
11396// String returns the string representation
11397func (s CopyDBSnapshotInput) String() string {
11398	return awsutil.Prettify(s)
11399}
11400
11401// GoString returns the string representation
11402func (s CopyDBSnapshotInput) GoString() string {
11403	return s.String()
11404}
11405
11406// Validate inspects the fields of the type to determine if they are valid.
11407func (s *CopyDBSnapshotInput) Validate() error {
11408	invalidParams := request.ErrInvalidParams{Context: "CopyDBSnapshotInput"}
11409	if s.SourceDBSnapshotIdentifier == nil {
11410		invalidParams.Add(request.NewErrParamRequired("SourceDBSnapshotIdentifier"))
11411	}
11412	if s.TargetDBSnapshotIdentifier == nil {
11413		invalidParams.Add(request.NewErrParamRequired("TargetDBSnapshotIdentifier"))
11414	}
11415
11416	if invalidParams.Len() > 0 {
11417		return invalidParams
11418	}
11419	return nil
11420}
11421
11422// SetCopyTags sets the CopyTags field's value.
11423func (s *CopyDBSnapshotInput) SetCopyTags(v bool) *CopyDBSnapshotInput {
11424	s.CopyTags = &v
11425	return s
11426}
11427
11428// SetDestinationRegion sets the DestinationRegion field's value.
11429func (s *CopyDBSnapshotInput) SetDestinationRegion(v string) *CopyDBSnapshotInput {
11430	s.DestinationRegion = &v
11431	return s
11432}
11433
11434// SetKmsKeyId sets the KmsKeyId field's value.
11435func (s *CopyDBSnapshotInput) SetKmsKeyId(v string) *CopyDBSnapshotInput {
11436	s.KmsKeyId = &v
11437	return s
11438}
11439
11440// SetOptionGroupName sets the OptionGroupName field's value.
11441func (s *CopyDBSnapshotInput) SetOptionGroupName(v string) *CopyDBSnapshotInput {
11442	s.OptionGroupName = &v
11443	return s
11444}
11445
11446// SetPreSignedUrl sets the PreSignedUrl field's value.
11447func (s *CopyDBSnapshotInput) SetPreSignedUrl(v string) *CopyDBSnapshotInput {
11448	s.PreSignedUrl = &v
11449	return s
11450}
11451
11452// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
11453func (s *CopyDBSnapshotInput) SetSourceDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
11454	s.SourceDBSnapshotIdentifier = &v
11455	return s
11456}
11457
11458// SetSourceRegion sets the SourceRegion field's value.
11459func (s *CopyDBSnapshotInput) SetSourceRegion(v string) *CopyDBSnapshotInput {
11460	s.SourceRegion = &v
11461	return s
11462}
11463
11464// SetTags sets the Tags field's value.
11465func (s *CopyDBSnapshotInput) SetTags(v []*Tag) *CopyDBSnapshotInput {
11466	s.Tags = v
11467	return s
11468}
11469
11470// SetTargetDBSnapshotIdentifier sets the TargetDBSnapshotIdentifier field's value.
11471func (s *CopyDBSnapshotInput) SetTargetDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
11472	s.TargetDBSnapshotIdentifier = &v
11473	return s
11474}
11475
11476type CopyDBSnapshotOutput struct {
11477	_ struct{} `type:"structure"`
11478
11479	// Contains the details of an Amazon RDS DB snapshot.
11480	//
11481	// This data type is used as a response element in the DescribeDBSnapshots action.
11482	DBSnapshot *DBSnapshot `type:"structure"`
11483}
11484
11485// String returns the string representation
11486func (s CopyDBSnapshotOutput) String() string {
11487	return awsutil.Prettify(s)
11488}
11489
11490// GoString returns the string representation
11491func (s CopyDBSnapshotOutput) GoString() string {
11492	return s.String()
11493}
11494
11495// SetDBSnapshot sets the DBSnapshot field's value.
11496func (s *CopyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CopyDBSnapshotOutput {
11497	s.DBSnapshot = v
11498	return s
11499}
11500
11501type CopyOptionGroupInput struct {
11502	_ struct{} `type:"structure"`
11503
11504	// The identifier or ARN for the source option group. For information about
11505	// 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).
11506	//
11507	// Constraints:
11508	//
11509	//    * Must specify a valid option group.
11510	//
11511	//    * If the source option group is in the same AWS Region as the copy, specify
11512	//    a valid option group identifier, for example my-option-group, or a valid
11513	//    ARN.
11514	//
11515	//    * If the source option group is in a different AWS Region than the copy,
11516	//    specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.
11517	//
11518	// SourceOptionGroupIdentifier is a required field
11519	SourceOptionGroupIdentifier *string `type:"string" required:"true"`
11520
11521	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
11522	Tags []*Tag `locationNameList:"Tag" type:"list"`
11523
11524	// The description for the copied option group.
11525	//
11526	// TargetOptionGroupDescription is a required field
11527	TargetOptionGroupDescription *string `type:"string" required:"true"`
11528
11529	// The identifier for the copied option group.
11530	//
11531	// Constraints:
11532	//
11533	//    * Cannot be null, empty, or blank
11534	//
11535	//    * Must contain from 1 to 255 letters, numbers, or hyphens
11536	//
11537	//    * First character must be a letter
11538	//
11539	//    * Cannot end with a hyphen or contain two consecutive hyphens
11540	//
11541	// Example: my-option-group
11542	//
11543	// TargetOptionGroupIdentifier is a required field
11544	TargetOptionGroupIdentifier *string `type:"string" required:"true"`
11545}
11546
11547// String returns the string representation
11548func (s CopyOptionGroupInput) String() string {
11549	return awsutil.Prettify(s)
11550}
11551
11552// GoString returns the string representation
11553func (s CopyOptionGroupInput) GoString() string {
11554	return s.String()
11555}
11556
11557// Validate inspects the fields of the type to determine if they are valid.
11558func (s *CopyOptionGroupInput) Validate() error {
11559	invalidParams := request.ErrInvalidParams{Context: "CopyOptionGroupInput"}
11560	if s.SourceOptionGroupIdentifier == nil {
11561		invalidParams.Add(request.NewErrParamRequired("SourceOptionGroupIdentifier"))
11562	}
11563	if s.TargetOptionGroupDescription == nil {
11564		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupDescription"))
11565	}
11566	if s.TargetOptionGroupIdentifier == nil {
11567		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupIdentifier"))
11568	}
11569
11570	if invalidParams.Len() > 0 {
11571		return invalidParams
11572	}
11573	return nil
11574}
11575
11576// SetSourceOptionGroupIdentifier sets the SourceOptionGroupIdentifier field's value.
11577func (s *CopyOptionGroupInput) SetSourceOptionGroupIdentifier(v string) *CopyOptionGroupInput {
11578	s.SourceOptionGroupIdentifier = &v
11579	return s
11580}
11581
11582// SetTags sets the Tags field's value.
11583func (s *CopyOptionGroupInput) SetTags(v []*Tag) *CopyOptionGroupInput {
11584	s.Tags = v
11585	return s
11586}
11587
11588// SetTargetOptionGroupDescription sets the TargetOptionGroupDescription field's value.
11589func (s *CopyOptionGroupInput) SetTargetOptionGroupDescription(v string) *CopyOptionGroupInput {
11590	s.TargetOptionGroupDescription = &v
11591	return s
11592}
11593
11594// SetTargetOptionGroupIdentifier sets the TargetOptionGroupIdentifier field's value.
11595func (s *CopyOptionGroupInput) SetTargetOptionGroupIdentifier(v string) *CopyOptionGroupInput {
11596	s.TargetOptionGroupIdentifier = &v
11597	return s
11598}
11599
11600type CopyOptionGroupOutput struct {
11601	_ struct{} `type:"structure"`
11602
11603	OptionGroup *OptionGroup `type:"structure"`
11604}
11605
11606// String returns the string representation
11607func (s CopyOptionGroupOutput) String() string {
11608	return awsutil.Prettify(s)
11609}
11610
11611// GoString returns the string representation
11612func (s CopyOptionGroupOutput) GoString() string {
11613	return s.String()
11614}
11615
11616// SetOptionGroup sets the OptionGroup field's value.
11617func (s *CopyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CopyOptionGroupOutput {
11618	s.OptionGroup = v
11619	return s
11620}
11621
11622type CreateDBClusterInput struct {
11623	_ struct{} `type:"structure"`
11624
11625	// A list of EC2 Availability Zones that instances in the DB cluster can be
11626	// created in. For information on AWS Regions and Availability Zones, see Regions
11627	// and Availability Zones (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
11628	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
11629
11630	// The target backtrack window, in seconds. To disable backtracking, set this
11631	// value to 0.
11632	//
11633	// Default: 0
11634	//
11635	// Constraints:
11636	//
11637	//    * If specified, this value must be set to a number from 0 to 259,200 (72
11638	//    hours).
11639	BacktrackWindow *int64 `type:"long"`
11640
11641	// The number of days for which automated backups are retained. You must specify
11642	// a minimum value of 1.
11643	//
11644	// Default: 1
11645	//
11646	// Constraints:
11647	//
11648	//    * Must be a value from 1 to 35
11649	BackupRetentionPeriod *int64 `type:"integer"`
11650
11651	// A value that indicates that the DB cluster should be associated with the
11652	// specified CharacterSet.
11653	CharacterSetName *string `type:"string"`
11654
11655	// The DB cluster identifier. This parameter is stored as a lowercase string.
11656	//
11657	// Constraints:
11658	//
11659	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
11660	//
11661	//    * First character must be a letter.
11662	//
11663	//    * Cannot end with a hyphen or contain two consecutive hyphens.
11664	//
11665	// Example: my-cluster1
11666	//
11667	// DBClusterIdentifier is a required field
11668	DBClusterIdentifier *string `type:"string" required:"true"`
11669
11670	// The name of the DB cluster parameter group to associate with this DB cluster.
11671	// If this argument is omitted, default.aurora5.6 is used.
11672	//
11673	// Constraints:
11674	//
11675	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
11676	DBClusterParameterGroupName *string `type:"string"`
11677
11678	// A DB subnet group to associate with this DB cluster.
11679	//
11680	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
11681	// default.
11682	//
11683	// Example: mySubnetgroup
11684	DBSubnetGroupName *string `type:"string"`
11685
11686	// The name for your database of up to 64 alpha-numeric characters. If you do
11687	// not provide a name, Amazon RDS will not create a database in the DB cluster
11688	// you are creating.
11689	DatabaseName *string `type:"string"`
11690
11691	// DestinationRegion is used for presigning the request to a given region.
11692	DestinationRegion *string `type:"string"`
11693
11694	// The list of log types that need to be enabled for exporting to CloudWatch
11695	// Logs. The values in the list depend on the DB engine being used. For more
11696	// information, see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
11697	// in the Amazon Relational Database Service User Guide.
11698	EnableCloudwatchLogsExports []*string `type:"list"`
11699
11700	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
11701	// to database accounts, and otherwise false.
11702	//
11703	// Default: false
11704	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
11705
11706	// The name of the database engine to be used for this DB cluster.
11707	//
11708	// Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for
11709	// MySQL 5.7-compatible Aurora), and aurora-postgresql
11710	//
11711	// Engine is a required field
11712	Engine *string `type:"string" required:"true"`
11713
11714	// The DB engine mode of the DB cluster, either provisioned or serverless.
11715	EngineMode *string `type:"string"`
11716
11717	// The version number of the database engine to use.
11718	//
11719	// Aurora MySQL
11720	//
11721	// Example: 5.6.10a, 5.7.12
11722	//
11723	// Aurora PostgreSQL
11724	//
11725	// Example: 9.6.3
11726	EngineVersion *string `type:"string"`
11727
11728	// The AWS KMS key identifier for an encrypted DB cluster.
11729	//
11730	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
11731	// key. If you are creating a DB cluster with the same AWS account that owns
11732	// the KMS encryption key used to encrypt the new DB cluster, then you can use
11733	// the KMS key alias instead of the ARN for the KMS encryption key.
11734	//
11735	// If an encryption key is not specified in KmsKeyId:
11736	//
11737	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
11738	//    Amazon RDS will use the encryption key used to encrypt the source. Otherwise,
11739	//    Amazon RDS will use your default encryption key.
11740	//
11741	//    * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier
11742	//    is not specified, then Amazon RDS will use your default encryption key.
11743	//
11744	// AWS KMS creates the default encryption key for your AWS account. Your AWS
11745	// account has a different default encryption key for each AWS Region.
11746	//
11747	// If you create a Read Replica of an encrypted DB cluster in another AWS Region,
11748	// you must set KmsKeyId to a KMS key ID that is valid in the destination AWS
11749	// Region. This key is used to encrypt the Read Replica in that AWS Region.
11750	KmsKeyId *string `type:"string"`
11751
11752	// The password for the master database user. This password can contain any
11753	// printable ASCII character except "/", """, or "@".
11754	//
11755	// Constraints: Must contain from 8 to 41 characters.
11756	MasterUserPassword *string `type:"string"`
11757
11758	// The name of the master user for the DB cluster.
11759	//
11760	// Constraints:
11761	//
11762	//    * Must be 1 to 16 letters or numbers.
11763	//
11764	//    * First character must be a letter.
11765	//
11766	//    * Cannot be a reserved word for the chosen database engine.
11767	MasterUsername *string `type:"string"`
11768
11769	// A value that indicates that the DB cluster should be associated with the
11770	// specified option group.
11771	//
11772	// Permanent options can't be removed from an option group. The option group
11773	// can't be removed from a DB cluster once it is associated with a DB cluster.
11774	OptionGroupName *string `type:"string"`
11775
11776	// The port number on which the instances in the DB cluster accept connections.
11777	//
11778	// Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.
11779	Port *int64 `type:"integer"`
11780
11781	// A URL that contains a Signature Version 4 signed request for the CreateDBCluster
11782	// action to be called in the source AWS Region where the DB cluster is replicated
11783	// from. You only need to specify PreSignedUrl when you are performing cross-region
11784	// replication from an encrypted DB cluster.
11785	//
11786	// The pre-signed URL must be a valid request for the CreateDBCluster API action
11787	// that can be executed in the source AWS Region that contains the encrypted
11788	// DB cluster to be copied.
11789	//
11790	// The pre-signed URL request must contain the following parameter values:
11791	//
11792	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
11793	//    the copy of the DB cluster in the destination AWS Region. This should
11794	//    refer to the same KMS key for both the CreateDBCluster action that is
11795	//    called in the destination AWS Region, and the action contained in the
11796	//    pre-signed URL.
11797	//
11798	//    * DestinationRegion - The name of the AWS Region that Aurora Read Replica
11799	//    will be created in.
11800	//
11801	//    * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted
11802	//    DB cluster to be copied. This identifier must be in the Amazon Resource
11803	//    Name (ARN) format for the source AWS Region. For example, if you are copying
11804	//    an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier
11805	//    would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.
11806	//
11807	// To learn how to generate a Signature Version 4 signed request, see  Authenticating
11808	// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
11809	// and  Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
11810	PreSignedUrl *string `type:"string"`
11811
11812	// The daily time range during which automated backups are created if automated
11813	// backups are enabled using the BackupRetentionPeriod parameter.
11814	//
11815	// The default is a 30-minute window selected at random from an 8-hour block
11816	// of time for each AWS Region. To see the time blocks available, see  Adjusting
11817	// the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
11818	// in the Amazon RDS User Guide.
11819	//
11820	// Constraints:
11821	//
11822	//    * Must be in the format hh24:mi-hh24:mi.
11823	//
11824	//    * Must be in Universal Coordinated Time (UTC).
11825	//
11826	//    * Must not conflict with the preferred maintenance window.
11827	//
11828	//    * Must be at least 30 minutes.
11829	PreferredBackupWindow *string `type:"string"`
11830
11831	// The weekly time range during which system maintenance can occur, in Universal
11832	// Coordinated Time (UTC).
11833	//
11834	// Format: ddd:hh24:mi-ddd:hh24:mi
11835	//
11836	// The default is a 30-minute window selected at random from an 8-hour block
11837	// of time for each AWS Region, occurring on a random day of the week. To see
11838	// the time blocks available, see  Adjusting the Preferred Maintenance Window
11839	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
11840	// in the Amazon RDS User Guide.
11841	//
11842	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
11843	//
11844	// Constraints: Minimum 30-minute window.
11845	PreferredMaintenanceWindow *string `type:"string"`
11846
11847	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
11848	// this DB cluster is created as a Read Replica.
11849	ReplicationSourceIdentifier *string `type:"string"`
11850
11851	// For DB clusters in serverless DB engine mode, the scaling properties of the
11852	// DB cluster.
11853	ScalingConfiguration *ScalingConfiguration `type:"structure"`
11854
11855	// SourceRegion is the source region where the resource exists. This is not
11856	// sent over the wire and is only used for presigning. This value should always
11857	// have the same region as the source ARN.
11858	SourceRegion *string `type:"string" ignore:"true"`
11859
11860	// Specifies whether the DB cluster is encrypted.
11861	StorageEncrypted *bool `type:"boolean"`
11862
11863	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
11864	Tags []*Tag `locationNameList:"Tag" type:"list"`
11865
11866	// A list of EC2 VPC security groups to associate with this DB cluster.
11867	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
11868}
11869
11870// String returns the string representation
11871func (s CreateDBClusterInput) String() string {
11872	return awsutil.Prettify(s)
11873}
11874
11875// GoString returns the string representation
11876func (s CreateDBClusterInput) GoString() string {
11877	return s.String()
11878}
11879
11880// Validate inspects the fields of the type to determine if they are valid.
11881func (s *CreateDBClusterInput) Validate() error {
11882	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
11883	if s.DBClusterIdentifier == nil {
11884		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
11885	}
11886	if s.Engine == nil {
11887		invalidParams.Add(request.NewErrParamRequired("Engine"))
11888	}
11889
11890	if invalidParams.Len() > 0 {
11891		return invalidParams
11892	}
11893	return nil
11894}
11895
11896// SetAvailabilityZones sets the AvailabilityZones field's value.
11897func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
11898	s.AvailabilityZones = v
11899	return s
11900}
11901
11902// SetBacktrackWindow sets the BacktrackWindow field's value.
11903func (s *CreateDBClusterInput) SetBacktrackWindow(v int64) *CreateDBClusterInput {
11904	s.BacktrackWindow = &v
11905	return s
11906}
11907
11908// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
11909func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
11910	s.BackupRetentionPeriod = &v
11911	return s
11912}
11913
11914// SetCharacterSetName sets the CharacterSetName field's value.
11915func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
11916	s.CharacterSetName = &v
11917	return s
11918}
11919
11920// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
11921func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
11922	s.DBClusterIdentifier = &v
11923	return s
11924}
11925
11926// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
11927func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
11928	s.DBClusterParameterGroupName = &v
11929	return s
11930}
11931
11932// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
11933func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
11934	s.DBSubnetGroupName = &v
11935	return s
11936}
11937
11938// SetDatabaseName sets the DatabaseName field's value.
11939func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
11940	s.DatabaseName = &v
11941	return s
11942}
11943
11944// SetDestinationRegion sets the DestinationRegion field's value.
11945func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
11946	s.DestinationRegion = &v
11947	return s
11948}
11949
11950// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
11951func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
11952	s.EnableCloudwatchLogsExports = v
11953	return s
11954}
11955
11956// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
11957func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
11958	s.EnableIAMDatabaseAuthentication = &v
11959	return s
11960}
11961
11962// SetEngine sets the Engine field's value.
11963func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
11964	s.Engine = &v
11965	return s
11966}
11967
11968// SetEngineMode sets the EngineMode field's value.
11969func (s *CreateDBClusterInput) SetEngineMode(v string) *CreateDBClusterInput {
11970	s.EngineMode = &v
11971	return s
11972}
11973
11974// SetEngineVersion sets the EngineVersion field's value.
11975func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
11976	s.EngineVersion = &v
11977	return s
11978}
11979
11980// SetKmsKeyId sets the KmsKeyId field's value.
11981func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
11982	s.KmsKeyId = &v
11983	return s
11984}
11985
11986// SetMasterUserPassword sets the MasterUserPassword field's value.
11987func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
11988	s.MasterUserPassword = &v
11989	return s
11990}
11991
11992// SetMasterUsername sets the MasterUsername field's value.
11993func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
11994	s.MasterUsername = &v
11995	return s
11996}
11997
11998// SetOptionGroupName sets the OptionGroupName field's value.
11999func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
12000	s.OptionGroupName = &v
12001	return s
12002}
12003
12004// SetPort sets the Port field's value.
12005func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
12006	s.Port = &v
12007	return s
12008}
12009
12010// SetPreSignedUrl sets the PreSignedUrl field's value.
12011func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
12012	s.PreSignedUrl = &v
12013	return s
12014}
12015
12016// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
12017func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
12018	s.PreferredBackupWindow = &v
12019	return s
12020}
12021
12022// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
12023func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
12024	s.PreferredMaintenanceWindow = &v
12025	return s
12026}
12027
12028// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
12029func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
12030	s.ReplicationSourceIdentifier = &v
12031	return s
12032}
12033
12034// SetScalingConfiguration sets the ScalingConfiguration field's value.
12035func (s *CreateDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *CreateDBClusterInput {
12036	s.ScalingConfiguration = v
12037	return s
12038}
12039
12040// SetSourceRegion sets the SourceRegion field's value.
12041func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
12042	s.SourceRegion = &v
12043	return s
12044}
12045
12046// SetStorageEncrypted sets the StorageEncrypted field's value.
12047func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
12048	s.StorageEncrypted = &v
12049	return s
12050}
12051
12052// SetTags sets the Tags field's value.
12053func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
12054	s.Tags = v
12055	return s
12056}
12057
12058// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
12059func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
12060	s.VpcSecurityGroupIds = v
12061	return s
12062}
12063
12064type CreateDBClusterOutput struct {
12065	_ struct{} `type:"structure"`
12066
12067	// Contains the details of an Amazon RDS DB cluster.
12068	//
12069	// This data type is used as a response element in the DescribeDBClusters action.
12070	DBCluster *DBCluster `type:"structure"`
12071}
12072
12073// String returns the string representation
12074func (s CreateDBClusterOutput) String() string {
12075	return awsutil.Prettify(s)
12076}
12077
12078// GoString returns the string representation
12079func (s CreateDBClusterOutput) GoString() string {
12080	return s.String()
12081}
12082
12083// SetDBCluster sets the DBCluster field's value.
12084func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
12085	s.DBCluster = v
12086	return s
12087}
12088
12089type CreateDBClusterParameterGroupInput struct {
12090	_ struct{} `type:"structure"`
12091
12092	// The name of the DB cluster parameter group.
12093	//
12094	// Constraints:
12095	//
12096	//    * Must match the name of an existing DBClusterParameterGroup.
12097	//
12098	// This value is stored as a lowercase string.
12099	//
12100	// DBClusterParameterGroupName is a required field
12101	DBClusterParameterGroupName *string `type:"string" required:"true"`
12102
12103	// The DB cluster parameter group family name. A DB cluster parameter group
12104	// can be associated with one and only one DB cluster parameter group family,
12105	// and can be applied only to a DB cluster running a database engine and engine
12106	// version compatible with that DB cluster parameter group family.
12107	//
12108	// Aurora MySQL
12109	//
12110	// Example: aurora5.6, aurora-mysql5.7
12111	//
12112	// Aurora PostgreSQL
12113	//
12114	// Example: aurora-postgresql9.6
12115	//
12116	// DBParameterGroupFamily is a required field
12117	DBParameterGroupFamily *string `type:"string" required:"true"`
12118
12119	// The description for the DB cluster parameter group.
12120	//
12121	// Description is a required field
12122	Description *string `type:"string" required:"true"`
12123
12124	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
12125	Tags []*Tag `locationNameList:"Tag" type:"list"`
12126}
12127
12128// String returns the string representation
12129func (s CreateDBClusterParameterGroupInput) String() string {
12130	return awsutil.Prettify(s)
12131}
12132
12133// GoString returns the string representation
12134func (s CreateDBClusterParameterGroupInput) GoString() string {
12135	return s.String()
12136}
12137
12138// Validate inspects the fields of the type to determine if they are valid.
12139func (s *CreateDBClusterParameterGroupInput) Validate() error {
12140	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
12141	if s.DBClusterParameterGroupName == nil {
12142		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
12143	}
12144	if s.DBParameterGroupFamily == nil {
12145		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
12146	}
12147	if s.Description == nil {
12148		invalidParams.Add(request.NewErrParamRequired("Description"))
12149	}
12150
12151	if invalidParams.Len() > 0 {
12152		return invalidParams
12153	}
12154	return nil
12155}
12156
12157// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
12158func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
12159	s.DBClusterParameterGroupName = &v
12160	return s
12161}
12162
12163// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
12164func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
12165	s.DBParameterGroupFamily = &v
12166	return s
12167}
12168
12169// SetDescription sets the Description field's value.
12170func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
12171	s.Description = &v
12172	return s
12173}
12174
12175// SetTags sets the Tags field's value.
12176func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
12177	s.Tags = v
12178	return s
12179}
12180
12181type CreateDBClusterParameterGroupOutput struct {
12182	_ struct{} `type:"structure"`
12183
12184	// Contains the details of an Amazon RDS DB cluster parameter group.
12185	//
12186	// This data type is used as a response element in the DescribeDBClusterParameterGroups
12187	// action.
12188	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
12189}
12190
12191// String returns the string representation
12192func (s CreateDBClusterParameterGroupOutput) String() string {
12193	return awsutil.Prettify(s)
12194}
12195
12196// GoString returns the string representation
12197func (s CreateDBClusterParameterGroupOutput) GoString() string {
12198	return s.String()
12199}
12200
12201// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
12202func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
12203	s.DBClusterParameterGroup = v
12204	return s
12205}
12206
12207type CreateDBClusterSnapshotInput struct {
12208	_ struct{} `type:"structure"`
12209
12210	// The identifier of the DB cluster to create a snapshot for. This parameter
12211	// is not case-sensitive.
12212	//
12213	// Constraints:
12214	//
12215	//    * Must match the identifier of an existing DBCluster.
12216	//
12217	// Example: my-cluster1
12218	//
12219	// DBClusterIdentifier is a required field
12220	DBClusterIdentifier *string `type:"string" required:"true"`
12221
12222	// The identifier of the DB cluster snapshot. This parameter is stored as a
12223	// lowercase string.
12224	//
12225	// Constraints:
12226	//
12227	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
12228	//
12229	//    * First character must be a letter.
12230	//
12231	//    * Cannot end with a hyphen or contain two consecutive hyphens.
12232	//
12233	// Example: my-cluster1-snapshot1
12234	//
12235	// DBClusterSnapshotIdentifier is a required field
12236	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
12237
12238	// The tags to be assigned to the DB cluster snapshot.
12239	Tags []*Tag `locationNameList:"Tag" type:"list"`
12240}
12241
12242// String returns the string representation
12243func (s CreateDBClusterSnapshotInput) String() string {
12244	return awsutil.Prettify(s)
12245}
12246
12247// GoString returns the string representation
12248func (s CreateDBClusterSnapshotInput) GoString() string {
12249	return s.String()
12250}
12251
12252// Validate inspects the fields of the type to determine if they are valid.
12253func (s *CreateDBClusterSnapshotInput) Validate() error {
12254	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
12255	if s.DBClusterIdentifier == nil {
12256		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
12257	}
12258	if s.DBClusterSnapshotIdentifier == nil {
12259		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
12260	}
12261
12262	if invalidParams.Len() > 0 {
12263		return invalidParams
12264	}
12265	return nil
12266}
12267
12268// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
12269func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
12270	s.DBClusterIdentifier = &v
12271	return s
12272}
12273
12274// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
12275func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
12276	s.DBClusterSnapshotIdentifier = &v
12277	return s
12278}
12279
12280// SetTags sets the Tags field's value.
12281func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
12282	s.Tags = v
12283	return s
12284}
12285
12286type CreateDBClusterSnapshotOutput struct {
12287	_ struct{} `type:"structure"`
12288
12289	// Contains the details for an Amazon RDS DB cluster snapshot
12290	//
12291	// This data type is used as a response element in the DescribeDBClusterSnapshots
12292	// action.
12293	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
12294}
12295
12296// String returns the string representation
12297func (s CreateDBClusterSnapshotOutput) String() string {
12298	return awsutil.Prettify(s)
12299}
12300
12301// GoString returns the string representation
12302func (s CreateDBClusterSnapshotOutput) GoString() string {
12303	return s.String()
12304}
12305
12306// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
12307func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
12308	s.DBClusterSnapshot = v
12309	return s
12310}
12311
12312type CreateDBInstanceInput struct {
12313	_ struct{} `type:"structure"`
12314
12315	// The amount of storage (in gibibytes) to allocate for the DB instance.
12316	//
12317	// Type: Integer
12318	//
12319	// Amazon Aurora
12320	//
12321	// Not applicable. Aurora cluster volumes automatically grow as the amount of
12322	// data in your database increases, though you are only charged for the space
12323	// that you use in an Aurora cluster volume.
12324	//
12325	// MySQL
12326	//
12327	// Constraints to the amount of storage for each storage type are the following:
12328	//
12329	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.
12330	//
12331	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
12332	//
12333	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
12334	//
12335	// MariaDB
12336	//
12337	// Constraints to the amount of storage for each storage type are the following:
12338	//
12339	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.
12340	//
12341	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
12342	//
12343	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
12344	//
12345	// PostgreSQL
12346	//
12347	// Constraints to the amount of storage for each storage type are the following:
12348	//
12349	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.
12350	//
12351	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
12352	//
12353	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
12354	//
12355	// Oracle
12356	//
12357	// Constraints to the amount of storage for each storage type are the following:
12358	//
12359	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.
12360	//
12361	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
12362	//
12363	//    * Magnetic storage (standard): Must be an integer from 10 to 3072.
12364	//
12365	// SQL Server
12366	//
12367	// Constraints to the amount of storage for each storage type are the following:
12368	//
12369	//    * General Purpose (SSD) storage (gp2):
12370	//
12371	// Enterprise and Standard editions: Must be an integer from 200 to 16384.
12372	//
12373	// Web and Express editions: Must be an integer from 20 to 16384.
12374	//
12375	//    * Provisioned IOPS storage (io1):
12376	//
12377	// Enterprise and Standard editions: Must be an integer from 200 to 16384.
12378	//
12379	// Web and Express editions: Must be an integer from 100 to 16384.
12380	//
12381	//    * Magnetic storage (standard):
12382	//
12383	// Enterprise and Standard editions: Must be an integer from 200 to 1024.
12384	//
12385	// Web and Express editions: Must be an integer from 20 to 1024.
12386	AllocatedStorage *int64 `type:"integer"`
12387
12388	// Indicates that minor engine upgrades are applied automatically to the DB
12389	// instance during the maintenance window.
12390	//
12391	// Default: true
12392	AutoMinorVersionUpgrade *bool `type:"boolean"`
12393
12394	// The EC2 Availability Zone that the DB instance is created in. For information
12395	// on AWS Regions and Availability Zones, see Regions and Availability Zones
12396	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
12397	//
12398	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
12399	// Region.
12400	//
12401	// Example: us-east-1d
12402	//
12403	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
12404	// parameter is set to true. The specified Availability Zone must be in the
12405	// same AWS Region as the current endpoint.
12406	AvailabilityZone *string `type:"string"`
12407
12408	// The number of days for which automated backups are retained. Setting this
12409	// parameter to a positive number enables backups. Setting this parameter to
12410	// 0 disables automated backups.
12411	//
12412	// Amazon Aurora
12413	//
12414	// Not applicable. The retention period for automated backups is managed by
12415	// the DB cluster. For more information, see CreateDBCluster.
12416	//
12417	// Default: 1
12418	//
12419	// Constraints:
12420	//
12421	//    * Must be a value from 0 to 35
12422	//
12423	//    * Cannot be set to 0 if the DB instance is a source to Read Replicas
12424	BackupRetentionPeriod *int64 `type:"integer"`
12425
12426	// For supported engines, indicates that the DB instance should be associated
12427	// with the specified CharacterSet.
12428	//
12429	// Amazon Aurora
12430	//
12431	// Not applicable. The character set is managed by the DB cluster. For more
12432	// information, see CreateDBCluster.
12433	CharacterSetName *string `type:"string"`
12434
12435	// True to copy all tags from the DB instance to snapshots of the DB instance,
12436	// and otherwise false. The default is false.
12437	CopyTagsToSnapshot *bool `type:"boolean"`
12438
12439	// The identifier of the DB cluster that the instance will belong to.
12440	//
12441	// For information on creating a DB cluster, see CreateDBCluster.
12442	//
12443	// Type: String
12444	DBClusterIdentifier *string `type:"string"`
12445
12446	// The compute and memory capacity of the DB instance, for example, db.m4.large.
12447	// Not all DB instance classes are available in all AWS Regions, or for all
12448	// database engines. For the full list of DB instance classes, and availability
12449	// for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
12450	// in the Amazon RDS User Guide.
12451	//
12452	// DBInstanceClass is a required field
12453	DBInstanceClass *string `type:"string" required:"true"`
12454
12455	// The DB instance identifier. This parameter is stored as a lowercase string.
12456	//
12457	// Constraints:
12458	//
12459	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
12460	//
12461	//    * First character must be a letter.
12462	//
12463	//    * Cannot end with a hyphen or contain two consecutive hyphens.
12464	//
12465	// Example: mydbinstance
12466	//
12467	// DBInstanceIdentifier is a required field
12468	DBInstanceIdentifier *string `type:"string" required:"true"`
12469
12470	// The meaning of this parameter differs according to the database engine you
12471	// use.
12472	//
12473	// Type: String
12474	//
12475	// MySQL
12476	//
12477	// The name of the database to create when the DB instance is created. If this
12478	// parameter is not specified, no database is created in the DB instance.
12479	//
12480	// Constraints:
12481	//
12482	//    * Must contain 1 to 64 letters or numbers.
12483	//
12484	//    * Cannot be a word reserved by the specified database engine
12485	//
12486	// MariaDB
12487	//
12488	// The name of the database to create when the DB instance is created. If this
12489	// parameter is not specified, no database is created in the DB instance.
12490	//
12491	// Constraints:
12492	//
12493	//    * Must contain 1 to 64 letters or numbers.
12494	//
12495	//    * Cannot be a word reserved by the specified database engine
12496	//
12497	// PostgreSQL
12498	//
12499	// The name of the database to create when the DB instance is created. If this
12500	// parameter is not specified, the default "postgres" database is created in
12501	// the DB instance.
12502	//
12503	// Constraints:
12504	//
12505	//    * Must contain 1 to 63 letters, numbers, or underscores.
12506	//
12507	//    * Must begin with a letter or an underscore. Subsequent characters can
12508	//    be letters, underscores, or digits (0-9).
12509	//
12510	//    * Cannot be a word reserved by the specified database engine
12511	//
12512	// Oracle
12513	//
12514	// The Oracle System ID (SID) of the created DB instance. If you specify null,
12515	// the default value ORCL is used. You can't specify the string NULL, or any
12516	// other reserved word, for DBName.
12517	//
12518	// Default: ORCL
12519	//
12520	// Constraints:
12521	//
12522	//    * Cannot be longer than 8 characters
12523	//
12524	// SQL Server
12525	//
12526	// Not applicable. Must be null.
12527	//
12528	// Amazon Aurora
12529	//
12530	// The name of the database to create when the primary instance of the DB cluster
12531	// is created. If this parameter is not specified, no database is created in
12532	// the DB instance.
12533	//
12534	// Constraints:
12535	//
12536	//    * Must contain 1 to 64 letters or numbers.
12537	//
12538	//    * Cannot be a word reserved by the specified database engine
12539	DBName *string `type:"string"`
12540
12541	// The name of the DB parameter group to associate with this DB instance. If
12542	// this argument is omitted, the default DBParameterGroup for the specified
12543	// engine is used.
12544	//
12545	// Constraints:
12546	//
12547	//    * Must be 1 to 255 letters, numbers, or hyphens.
12548	//
12549	//    * First character must be a letter
12550	//
12551	//    * Cannot end with a hyphen or contain two consecutive hyphens
12552	DBParameterGroupName *string `type:"string"`
12553
12554	// A list of DB security groups to associate with this DB instance.
12555	//
12556	// Default: The default DB security group for the database engine.
12557	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
12558
12559	// A DB subnet group to associate with this DB instance.
12560	//
12561	// If there is no DB subnet group, then it is a non-VPC DB instance.
12562	DBSubnetGroupName *string `type:"string"`
12563
12564	// Specify the Active Directory Domain to create the instance in.
12565	Domain *string `type:"string"`
12566
12567	// Specify the name of the IAM role to be used when making API calls to the
12568	// Directory Service.
12569	DomainIAMRoleName *string `type:"string"`
12570
12571	// The list of log types that need to be enabled for exporting to CloudWatch
12572	// Logs. The values in the list depend on the DB engine being used. For more
12573	// information, see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
12574	// in the Amazon Relational Database Service User Guide.
12575	EnableCloudwatchLogsExports []*string `type:"list"`
12576
12577	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
12578	// to database accounts, and otherwise false.
12579	//
12580	// You can enable IAM database authentication for the following database engines:
12581	//
12582	// Amazon Aurora
12583	//
12584	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
12585	// by the DB cluster. For more information, see CreateDBCluster.
12586	//
12587	// MySQL
12588	//
12589	//    * For MySQL 5.6, minor version 5.6.34 or higher
12590	//
12591	//    * For MySQL 5.7, minor version 5.7.16 or higher
12592	//
12593	// Default: false
12594	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
12595
12596	// True to enable Performance Insights for the DB instance, and otherwise false.
12597	//
12598	// For more information, see Using Amazon Performance Insights (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
12599	// in the Amazon Relational Database Service User Guide.
12600	EnablePerformanceInsights *bool `type:"boolean"`
12601
12602	// The name of the database engine to be used for this instance.
12603	//
12604	// Not every database engine is available for every AWS Region.
12605	//
12606	// Valid Values:
12607	//
12608	//    * aurora (for MySQL 5.6-compatible Aurora)
12609	//
12610	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
12611	//
12612	//    * aurora-postgresql
12613	//
12614	//    * mariadb
12615	//
12616	//    * mysql
12617	//
12618	//    * oracle-ee
12619	//
12620	//    * oracle-se2
12621	//
12622	//    * oracle-se1
12623	//
12624	//    * oracle-se
12625	//
12626	//    * postgres
12627	//
12628	//    * sqlserver-ee
12629	//
12630	//    * sqlserver-se
12631	//
12632	//    * sqlserver-ex
12633	//
12634	//    * sqlserver-web
12635	//
12636	// Engine is a required field
12637	Engine *string `type:"string" required:"true"`
12638
12639	// The version number of the database engine to use.
12640	//
12641	// For a list of valid engine versions, call DescribeDBEngineVersions.
12642	//
12643	// The following are the database engines and links to information about the
12644	// major and minor versions that are available with Amazon RDS. Not every database
12645	// engine is available for every AWS Region.
12646	//
12647	// Amazon Aurora
12648	//
12649	// Not applicable. The version number of the database engine to be used by the
12650	// DB instance is managed by the DB cluster. For more information, see CreateDBCluster.
12651	//
12652	// MariaDB
12653	//
12654	// See MariaDB on Amazon RDS Versions (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)
12655	// in the Amazon RDS User Guide.
12656	//
12657	// Microsoft SQL Server
12658	//
12659	// See Version and Feature Support on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport)
12660	// in the Amazon RDS User Guide.
12661	//
12662	// MySQL
12663	//
12664	// See MySQL on Amazon RDS Versions (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)
12665	// in the Amazon RDS User Guide.
12666	//
12667	// Oracle
12668	//
12669	// See Oracle Database Engine Release Notes (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html)
12670	// in the Amazon RDS User Guide.
12671	//
12672	// PostgreSQL
12673	//
12674	// See Supported PostgreSQL Database Versions (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions)
12675	// in the Amazon RDS User Guide.
12676	EngineVersion *string `type:"string"`
12677
12678	// The amount of Provisioned IOPS (input/output operations per second) to be
12679	// initially allocated for the DB instance. For information about valid Iops
12680	// values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance
12681	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS).
12682	//
12683	// Constraints: Must be a multiple between 1 and 50 of the storage amount for
12684	// the DB instance. Must also be an integer multiple of 1000. For example, if
12685	// the size of your DB instance is 500 GiB, then your Iops value can be 2000,
12686	// 3000, 4000, or 5000.
12687	Iops *int64 `type:"integer"`
12688
12689	// The AWS KMS key identifier for an encrypted DB instance.
12690	//
12691	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
12692	// key. If you are creating a DB instance with the same AWS account that owns
12693	// the KMS encryption key used to encrypt the new DB instance, then you can
12694	// use the KMS key alias instead of the ARN for the KM encryption key.
12695	//
12696	// Amazon Aurora
12697	//
12698	// Not applicable. The KMS key identifier is managed by the DB cluster. For
12699	// more information, see CreateDBCluster.
12700	//
12701	// If the StorageEncrypted parameter is true, and you do not specify a value
12702	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
12703	// key. AWS KMS creates the default encryption key for your AWS account. Your
12704	// AWS account has a different default encryption key for each AWS Region.
12705	KmsKeyId *string `type:"string"`
12706
12707	// License model information for this DB instance.
12708	//
12709	// Valid values: license-included | bring-your-own-license | general-public-license
12710	LicenseModel *string `type:"string"`
12711
12712	// The password for the master user. The password can include any printable
12713	// ASCII character except "/", """, or "@".
12714	//
12715	// Amazon Aurora
12716	//
12717	// Not applicable. The password for the master user is managed by the DB cluster.
12718	// For more information, see CreateDBCluster.
12719	//
12720	// MariaDB
12721	//
12722	// Constraints: Must contain from 8 to 41 characters.
12723	//
12724	// Microsoft SQL Server
12725	//
12726	// Constraints: Must contain from 8 to 128 characters.
12727	//
12728	// MySQL
12729	//
12730	// Constraints: Must contain from 8 to 41 characters.
12731	//
12732	// Oracle
12733	//
12734	// Constraints: Must contain from 8 to 30 characters.
12735	//
12736	// PostgreSQL
12737	//
12738	// Constraints: Must contain from 8 to 128 characters.
12739	MasterUserPassword *string `type:"string"`
12740
12741	// The name for the master user.
12742	//
12743	// Amazon Aurora
12744	//
12745	// Not applicable. The name for the master user is managed by the DB cluster.
12746	// For more information, see CreateDBCluster.
12747	//
12748	// MariaDB
12749	//
12750	// Constraints:
12751	//
12752	//    * Required for MariaDB.
12753	//
12754	//    * Must be 1 to 16 letters or numbers.
12755	//
12756	//    * Cannot be a reserved word for the chosen database engine.
12757	//
12758	// Microsoft SQL Server
12759	//
12760	// Constraints:
12761	//
12762	//    * Required for SQL Server.
12763	//
12764	//    * Must be 1 to 128 letters or numbers.
12765	//
12766	//    * The first character must be a letter.
12767	//
12768	//    * Cannot be a reserved word for the chosen database engine.
12769	//
12770	// MySQL
12771	//
12772	// Constraints:
12773	//
12774	//    * Required for MySQL.
12775	//
12776	//    * Must be 1 to 16 letters or numbers.
12777	//
12778	//    * First character must be a letter.
12779	//
12780	//    * Cannot be a reserved word for the chosen database engine.
12781	//
12782	// Oracle
12783	//
12784	// Constraints:
12785	//
12786	//    * Required for Oracle.
12787	//
12788	//    * Must be 1 to 30 letters or numbers.
12789	//
12790	//    * First character must be a letter.
12791	//
12792	//    * Cannot be a reserved word for the chosen database engine.
12793	//
12794	// PostgreSQL
12795	//
12796	// Constraints:
12797	//
12798	//    * Required for PostgreSQL.
12799	//
12800	//    * Must be 1 to 63 letters or numbers.
12801	//
12802	//    * First character must be a letter.
12803	//
12804	//    * Cannot be a reserved word for the chosen database engine.
12805	MasterUsername *string `type:"string"`
12806
12807	// The interval, in seconds, between points when Enhanced Monitoring metrics
12808	// are collected for the DB instance. To disable collecting Enhanced Monitoring
12809	// metrics, specify 0. The default is 0.
12810	//
12811	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
12812	// to a value other than 0.
12813	//
12814	// Valid Values: 0, 1, 5, 10, 15, 30, 60
12815	MonitoringInterval *int64 `type:"integer"`
12816
12817	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
12818	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
12819	// For information on creating a monitoring role, go to Setting Up and Enabling
12820	// Enhanced Monitoring (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling).
12821	//
12822	// If MonitoringInterval is set to a value other than 0, then you must supply
12823	// a MonitoringRoleArn value.
12824	MonitoringRoleArn *string `type:"string"`
12825
12826	// Specifies if the DB instance is a Multi-AZ deployment. You can't set the
12827	// AvailabilityZone parameter if the MultiAZ parameter is set to true.
12828	MultiAZ *bool `type:"boolean"`
12829
12830	// Indicates that the DB instance should be associated with the specified option
12831	// group.
12832	//
12833	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
12834	// can't be removed from an option group, and that option group can't be removed
12835	// from a DB instance once it is associated with a DB instance
12836	OptionGroupName *string `type:"string"`
12837
12838	// The AWS KMS key identifier for encryption of Performance Insights data. The
12839	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
12840	// KMS key alias for the KMS encryption key.
12841	PerformanceInsightsKMSKeyId *string `type:"string"`
12842
12843	// The amount of time, in days, to retain Performance Insights data. Valid values
12844	// are 7 or 731 (2 years).
12845	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
12846
12847	// The port number on which the database accepts connections.
12848	//
12849	// MySQL
12850	//
12851	// Default: 3306
12852	//
12853	// Valid Values: 1150-65535
12854	//
12855	// Type: Integer
12856	//
12857	// MariaDB
12858	//
12859	// Default: 3306
12860	//
12861	// Valid Values: 1150-65535
12862	//
12863	// Type: Integer
12864	//
12865	// PostgreSQL
12866	//
12867	// Default: 5432
12868	//
12869	// Valid Values: 1150-65535
12870	//
12871	// Type: Integer
12872	//
12873	// Oracle
12874	//
12875	// Default: 1521
12876	//
12877	// Valid Values: 1150-65535
12878	//
12879	// SQL Server
12880	//
12881	// Default: 1433
12882	//
12883	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
12884	// 49156.
12885	//
12886	// Amazon Aurora
12887	//
12888	// Default: 3306
12889	//
12890	// Valid Values: 1150-65535
12891	//
12892	// Type: Integer
12893	Port *int64 `type:"integer"`
12894
12895	// The daily time range during which automated backups are created if automated
12896	// backups are enabled, using the BackupRetentionPeriod parameter. For more
12897	// information, see The Backup Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow).
12898	//
12899	// Amazon Aurora
12900	//
12901	// Not applicable. The daily time range for creating automated backups is managed
12902	// by the DB cluster. For more information, see CreateDBCluster.
12903	//
12904	// The default is a 30-minute window selected at random from an 8-hour block
12905	// of time for each AWS Region. To see the time blocks available, see  Adjusting
12906	// the Preferred DB Instance Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow).
12907	//
12908	// Constraints:
12909	//
12910	//    * Must be in the format hh24:mi-hh24:mi.
12911	//
12912	//    * Must be in Universal Coordinated Time (UTC).
12913	//
12914	//    * Must not conflict with the preferred maintenance window.
12915	//
12916	//    * Must be at least 30 minutes.
12917	PreferredBackupWindow *string `type:"string"`
12918
12919	// The time range each week during which system maintenance can occur, in Universal
12920	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
12921	// Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
12922	//
12923	// Format: ddd:hh24:mi-ddd:hh24:mi
12924	//
12925	// The default is a 30-minute window selected at random from an 8-hour block
12926	// of time for each AWS Region, occurring on a random day of the week.
12927	//
12928	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
12929	//
12930	// Constraints: Minimum 30-minute window.
12931	PreferredMaintenanceWindow *string `type:"string"`
12932
12933	// The number of CPU cores and the number of threads per core for the DB instance
12934	// class of the DB instance.
12935	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
12936
12937	// A value that specifies the order in which an Aurora Replica is promoted to
12938	// the primary instance after a failure of the existing primary instance. For
12939	// more information, see  Fault Tolerance for an Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance).
12940	//
12941	// Default: 1
12942	//
12943	// Valid Values: 0 - 15
12944	PromotionTier *int64 `type:"integer"`
12945
12946	// Specifies the accessibility options for the DB instance. A value of true
12947	// specifies an Internet-facing instance with a publicly resolvable DNS name,
12948	// which resolves to a public IP address. A value of false specifies an internal
12949	// instance with a DNS name that resolves to a private IP address.
12950	//
12951	// Default: The default behavior varies depending on whether DBSubnetGroupName
12952	// is specified.
12953	//
12954	// If DBSubnetGroupName is not specified, and PubliclyAccessible is not specified,
12955	// the following applies:
12956	//
12957	//    * If the default VPC in the target region doesn’t have an Internet gateway
12958	//    attached to it, the DB instance is private.
12959	//
12960	//    * If the default VPC in the target region has an Internet gateway attached
12961	//    to it, the DB instance is public.
12962	//
12963	// If DBSubnetGroupName is specified, and PubliclyAccessible is not specified,
12964	// the following applies:
12965	//
12966	//    * If the subnets are part of a VPC that doesn’t have an Internet gateway
12967	//    attached to it, the DB instance is private.
12968	//
12969	//    * If the subnets are part of a VPC that has an Internet gateway attached
12970	//    to it, the DB instance is public.
12971	PubliclyAccessible *bool `type:"boolean"`
12972
12973	// Specifies whether the DB instance is encrypted.
12974	//
12975	// Amazon Aurora
12976	//
12977	// Not applicable. The encryption for DB instances is managed by the DB cluster.
12978	// For more information, see CreateDBCluster.
12979	//
12980	// Default: false
12981	StorageEncrypted *bool `type:"boolean"`
12982
12983	// Specifies the storage type to be associated with the DB instance.
12984	//
12985	// Valid values: standard | gp2 | io1
12986	//
12987	// If you specify io1, you must also include a value for the Iops parameter.
12988	//
12989	// Default: io1 if the Iops parameter is specified, otherwise standard
12990	StorageType *string `type:"string"`
12991
12992	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
12993	Tags []*Tag `locationNameList:"Tag" type:"list"`
12994
12995	// The ARN from the key store with which to associate the instance for TDE encryption.
12996	TdeCredentialArn *string `type:"string"`
12997
12998	// The password for the given ARN from the key store in order to access the
12999	// device.
13000	TdeCredentialPassword *string `type:"string"`
13001
13002	// The time zone of the DB instance. The time zone parameter is currently supported
13003	// only by Microsoft SQL Server (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).
13004	Timezone *string `type:"string"`
13005
13006	// A list of EC2 VPC security groups to associate with this DB instance.
13007	//
13008	// Amazon Aurora
13009	//
13010	// Not applicable. The associated list of EC2 VPC security groups is managed
13011	// by the DB cluster. For more information, see CreateDBCluster.
13012	//
13013	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
13014	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
13015}
13016
13017// String returns the string representation
13018func (s CreateDBInstanceInput) String() string {
13019	return awsutil.Prettify(s)
13020}
13021
13022// GoString returns the string representation
13023func (s CreateDBInstanceInput) GoString() string {
13024	return s.String()
13025}
13026
13027// Validate inspects the fields of the type to determine if they are valid.
13028func (s *CreateDBInstanceInput) Validate() error {
13029	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
13030	if s.DBInstanceClass == nil {
13031		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
13032	}
13033	if s.DBInstanceIdentifier == nil {
13034		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
13035	}
13036	if s.Engine == nil {
13037		invalidParams.Add(request.NewErrParamRequired("Engine"))
13038	}
13039
13040	if invalidParams.Len() > 0 {
13041		return invalidParams
13042	}
13043	return nil
13044}
13045
13046// SetAllocatedStorage sets the AllocatedStorage field's value.
13047func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
13048	s.AllocatedStorage = &v
13049	return s
13050}
13051
13052// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
13053func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
13054	s.AutoMinorVersionUpgrade = &v
13055	return s
13056}
13057
13058// SetAvailabilityZone sets the AvailabilityZone field's value.
13059func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
13060	s.AvailabilityZone = &v
13061	return s
13062}
13063
13064// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
13065func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
13066	s.BackupRetentionPeriod = &v
13067	return s
13068}
13069
13070// SetCharacterSetName sets the CharacterSetName field's value.
13071func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
13072	s.CharacterSetName = &v
13073	return s
13074}
13075
13076// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
13077func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
13078	s.CopyTagsToSnapshot = &v
13079	return s
13080}
13081
13082// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
13083func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
13084	s.DBClusterIdentifier = &v
13085	return s
13086}
13087
13088// SetDBInstanceClass sets the DBInstanceClass field's value.
13089func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
13090	s.DBInstanceClass = &v
13091	return s
13092}
13093
13094// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13095func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
13096	s.DBInstanceIdentifier = &v
13097	return s
13098}
13099
13100// SetDBName sets the DBName field's value.
13101func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
13102	s.DBName = &v
13103	return s
13104}
13105
13106// SetDBParameterGroupName sets the DBParameterGroupName field's value.
13107func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
13108	s.DBParameterGroupName = &v
13109	return s
13110}
13111
13112// SetDBSecurityGroups sets the DBSecurityGroups field's value.
13113func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
13114	s.DBSecurityGroups = v
13115	return s
13116}
13117
13118// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
13119func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
13120	s.DBSubnetGroupName = &v
13121	return s
13122}
13123
13124// SetDomain sets the Domain field's value.
13125func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
13126	s.Domain = &v
13127	return s
13128}
13129
13130// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
13131func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
13132	s.DomainIAMRoleName = &v
13133	return s
13134}
13135
13136// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
13137func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
13138	s.EnableCloudwatchLogsExports = v
13139	return s
13140}
13141
13142// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
13143func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
13144	s.EnableIAMDatabaseAuthentication = &v
13145	return s
13146}
13147
13148// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
13149func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
13150	s.EnablePerformanceInsights = &v
13151	return s
13152}
13153
13154// SetEngine sets the Engine field's value.
13155func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
13156	s.Engine = &v
13157	return s
13158}
13159
13160// SetEngineVersion sets the EngineVersion field's value.
13161func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
13162	s.EngineVersion = &v
13163	return s
13164}
13165
13166// SetIops sets the Iops field's value.
13167func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
13168	s.Iops = &v
13169	return s
13170}
13171
13172// SetKmsKeyId sets the KmsKeyId field's value.
13173func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
13174	s.KmsKeyId = &v
13175	return s
13176}
13177
13178// SetLicenseModel sets the LicenseModel field's value.
13179func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
13180	s.LicenseModel = &v
13181	return s
13182}
13183
13184// SetMasterUserPassword sets the MasterUserPassword field's value.
13185func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
13186	s.MasterUserPassword = &v
13187	return s
13188}
13189
13190// SetMasterUsername sets the MasterUsername field's value.
13191func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
13192	s.MasterUsername = &v
13193	return s
13194}
13195
13196// SetMonitoringInterval sets the MonitoringInterval field's value.
13197func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
13198	s.MonitoringInterval = &v
13199	return s
13200}
13201
13202// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
13203func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
13204	s.MonitoringRoleArn = &v
13205	return s
13206}
13207
13208// SetMultiAZ sets the MultiAZ field's value.
13209func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
13210	s.MultiAZ = &v
13211	return s
13212}
13213
13214// SetOptionGroupName sets the OptionGroupName field's value.
13215func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
13216	s.OptionGroupName = &v
13217	return s
13218}
13219
13220// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
13221func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
13222	s.PerformanceInsightsKMSKeyId = &v
13223	return s
13224}
13225
13226// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
13227func (s *CreateDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceInput {
13228	s.PerformanceInsightsRetentionPeriod = &v
13229	return s
13230}
13231
13232// SetPort sets the Port field's value.
13233func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
13234	s.Port = &v
13235	return s
13236}
13237
13238// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
13239func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
13240	s.PreferredBackupWindow = &v
13241	return s
13242}
13243
13244// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
13245func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
13246	s.PreferredMaintenanceWindow = &v
13247	return s
13248}
13249
13250// SetProcessorFeatures sets the ProcessorFeatures field's value.
13251func (s *CreateDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceInput {
13252	s.ProcessorFeatures = v
13253	return s
13254}
13255
13256// SetPromotionTier sets the PromotionTier field's value.
13257func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
13258	s.PromotionTier = &v
13259	return s
13260}
13261
13262// SetPubliclyAccessible sets the PubliclyAccessible field's value.
13263func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
13264	s.PubliclyAccessible = &v
13265	return s
13266}
13267
13268// SetStorageEncrypted sets the StorageEncrypted field's value.
13269func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
13270	s.StorageEncrypted = &v
13271	return s
13272}
13273
13274// SetStorageType sets the StorageType field's value.
13275func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
13276	s.StorageType = &v
13277	return s
13278}
13279
13280// SetTags sets the Tags field's value.
13281func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
13282	s.Tags = v
13283	return s
13284}
13285
13286// SetTdeCredentialArn sets the TdeCredentialArn field's value.
13287func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
13288	s.TdeCredentialArn = &v
13289	return s
13290}
13291
13292// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
13293func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
13294	s.TdeCredentialPassword = &v
13295	return s
13296}
13297
13298// SetTimezone sets the Timezone field's value.
13299func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
13300	s.Timezone = &v
13301	return s
13302}
13303
13304// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
13305func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
13306	s.VpcSecurityGroupIds = v
13307	return s
13308}
13309
13310type CreateDBInstanceOutput struct {
13311	_ struct{} `type:"structure"`
13312
13313	// Contains the details of an Amazon RDS DB instance.
13314	//
13315	// This data type is used as a response element in the DescribeDBInstances action.
13316	DBInstance *DBInstance `type:"structure"`
13317}
13318
13319// String returns the string representation
13320func (s CreateDBInstanceOutput) String() string {
13321	return awsutil.Prettify(s)
13322}
13323
13324// GoString returns the string representation
13325func (s CreateDBInstanceOutput) GoString() string {
13326	return s.String()
13327}
13328
13329// SetDBInstance sets the DBInstance field's value.
13330func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
13331	s.DBInstance = v
13332	return s
13333}
13334
13335type CreateDBInstanceReadReplicaInput struct {
13336	_ struct{} `type:"structure"`
13337
13338	// Indicates that minor engine upgrades are applied automatically to the Read
13339	// Replica during the maintenance window.
13340	//
13341	// Default: Inherits from the source DB instance
13342	AutoMinorVersionUpgrade *bool `type:"boolean"`
13343
13344	// The Amazon EC2 Availability Zone that the Read Replica is created in.
13345	//
13346	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
13347	// Region.
13348	//
13349	// Example: us-east-1d
13350	AvailabilityZone *string `type:"string"`
13351
13352	// True to copy all tags from the Read Replica to snapshots of the Read Replica,
13353	// and otherwise false. The default is false.
13354	CopyTagsToSnapshot *bool `type:"boolean"`
13355
13356	// The compute and memory capacity of the Read Replica, for example, db.m4.large.
13357	// Not all DB instance classes are available in all AWS Regions, or for all
13358	// database engines. For the full list of DB instance classes, and availability
13359	// for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
13360	// in the Amazon RDS User Guide.
13361	//
13362	// Default: Inherits from the source DB instance.
13363	DBInstanceClass *string `type:"string"`
13364
13365	// The DB instance identifier of the Read Replica. This identifier is the unique
13366	// key that identifies a DB instance. This parameter is stored as a lowercase
13367	// string.
13368	//
13369	// DBInstanceIdentifier is a required field
13370	DBInstanceIdentifier *string `type:"string" required:"true"`
13371
13372	// Specifies a DB subnet group for the DB instance. The new DB instance is created
13373	// in the VPC associated with the DB subnet group. If no DB subnet group is
13374	// specified, then the new DB instance is not created in a VPC.
13375	//
13376	// Constraints:
13377	//
13378	//    * Can only be specified if the source DB instance identifier specifies
13379	//    a DB instance in another AWS Region.
13380	//
13381	//    * If supplied, must match the name of an existing DBSubnetGroup.
13382	//
13383	//    * The specified DB subnet group must be in the same AWS Region in which
13384	//    the operation is running.
13385	//
13386	//    * All Read Replicas in one AWS Region that are created from the same source
13387	//    DB instance must either:>
13388	//
13389	// Specify DB subnet groups from the same VPC. All these Read Replicas are created
13390	//    in the same VPC.
13391	//
13392	// Not specify a DB subnet group. All these Read Replicas are created outside
13393	//    of any VPC.
13394	//
13395	// Example: mySubnetgroup
13396	DBSubnetGroupName *string `type:"string"`
13397
13398	// DestinationRegion is used for presigning the request to a given region.
13399	DestinationRegion *string `type:"string"`
13400
13401	// The list of logs that the new DB instance is to export to CloudWatch Logs.
13402	// The values in the list depend on the DB engine being used. For more information,
13403	// see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
13404	// in the Amazon Relational Database Service User Guide.
13405	EnableCloudwatchLogsExports []*string `type:"list"`
13406
13407	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
13408	// to database accounts, and otherwise false.
13409	//
13410	// You can enable IAM database authentication for the following database engines
13411	//
13412	//    * For MySQL 5.6, minor version 5.6.34 or higher
13413	//
13414	//    * For MySQL 5.7, minor version 5.7.16 or higher
13415	//
13416	//    * Aurora 5.6 or higher.
13417	//
13418	// Default: false
13419	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
13420
13421	// True to enable Performance Insights for the read replica, and otherwise false.
13422	//
13423	// For more information, see Using Amazon Performance Insights (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
13424	// in the Amazon Relational Database Service User Guide.
13425	EnablePerformanceInsights *bool `type:"boolean"`
13426
13427	// The amount of Provisioned IOPS (input/output operations per second) to be
13428	// initially allocated for the DB instance.
13429	Iops *int64 `type:"integer"`
13430
13431	// The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon
13432	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
13433	// encryption key.
13434	//
13435	// If you specify this parameter when you create a Read Replica from an unencrypted
13436	// DB instance, the Read Replica is encrypted.
13437	//
13438	// If you create an encrypted Read Replica in the same AWS Region as the source
13439	// DB instance, then you do not have to specify a value for this parameter.
13440	// The Read Replica is encrypted with the same KMS key as the source DB instance.
13441	//
13442	// If you create an encrypted Read Replica in a different AWS Region, then you
13443	// must specify a KMS key for the destination AWS Region. KMS encryption keys
13444	// are specific to the AWS Region that they are created in, and you can't use
13445	// encryption keys from one AWS Region in another AWS Region.
13446	KmsKeyId *string `type:"string"`
13447
13448	// The interval, in seconds, between points when Enhanced Monitoring metrics
13449	// are collected for the Read Replica. To disable collecting Enhanced Monitoring
13450	// metrics, specify 0. The default is 0.
13451	//
13452	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
13453	// to a value other than 0.
13454	//
13455	// Valid Values: 0, 1, 5, 10, 15, 30, 60
13456	MonitoringInterval *int64 `type:"integer"`
13457
13458	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
13459	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
13460	// For information on creating a monitoring role, go to To create an IAM role
13461	// for Amazon RDS Enhanced Monitoring (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole).
13462	//
13463	// If MonitoringInterval is set to a value other than 0, then you must supply
13464	// a MonitoringRoleArn value.
13465	MonitoringRoleArn *string `type:"string"`
13466
13467	// Specifies whether the Read Replica is in a Multi-AZ deployment.
13468	//
13469	// You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby
13470	// of your replica in another Availability Zone for failover support for the
13471	// replica. Creating your Read Replica as a Multi-AZ DB instance is independent
13472	// of whether the source database is a Multi-AZ DB instance.
13473	MultiAZ *bool `type:"boolean"`
13474
13475	// The option group the DB instance is associated with. If omitted, the default
13476	// option group for the engine specified is used.
13477	OptionGroupName *string `type:"string"`
13478
13479	// The AWS KMS key identifier for encryption of Performance Insights data. The
13480	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
13481	// KMS key alias for the KMS encryption key.
13482	PerformanceInsightsKMSKeyId *string `type:"string"`
13483
13484	// The amount of time, in days, to retain Performance Insights data. Valid values
13485	// are 7 or 731 (2 years).
13486	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
13487
13488	// The port number that the DB instance uses for connections.
13489	//
13490	// Default: Inherits from the source DB instance
13491	//
13492	// Valid Values: 1150-65535
13493	Port *int64 `type:"integer"`
13494
13495	// The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica
13496	// API action in the source AWS Region that contains the source DB instance.
13497	//
13498	// You must specify this parameter when you create an encrypted Read Replica
13499	// from another AWS Region by using the Amazon RDS API. You can specify the
13500	// --source-region option instead of this parameter when you create an encrypted
13501	// Read Replica from another AWS Region by using the AWS CLI.
13502	//
13503	// The presigned URL must be a valid request for the CreateDBInstanceReadReplica
13504	// API action that can be executed in the source AWS Region that contains the
13505	// encrypted source DB instance. The presigned URL request must contain the
13506	// following parameter values:
13507	//
13508	//    * DestinationRegion - The AWS Region that the encrypted Read Replica is
13509	//    created in. This AWS Region is the same one where the CreateDBInstanceReadReplica
13510	//    action is called that contains this presigned URL.
13511	//
13512	// For example, if you create an encrypted DB instance in the us-west-1 AWS
13513	//    Region, from a source DB instance in the us-east-2 AWS Region, then you
13514	//    call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region
13515	//    and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica
13516	//    action in the us-west-2 AWS Region. For this example, the DestinationRegion
13517	//    in the presigned URL must be set to the us-east-1 AWS Region.
13518	//
13519	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
13520	//    the Read Replica in the destination AWS Region. This is the same identifier
13521	//    for both the CreateDBInstanceReadReplica action that is called in the
13522	//    destination AWS Region, and the action contained in the presigned URL.
13523	//
13524	//
13525	//    * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted
13526	//    DB instance to be replicated. This identifier must be in the Amazon Resource
13527	//    Name (ARN) format for the source AWS Region. For example, if you are creating
13528	//    an encrypted Read Replica from a DB instance in the us-west-2 AWS Region,
13529	//    then your SourceDBInstanceIdentifier looks like the following example:
13530	//    arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.
13531	//
13532	//
13533	// To learn how to generate a Signature Version 4 signed request, see Authenticating
13534	// Requests: Using Query Parameters (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
13535	// and Signature Version 4 Signing Process (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
13536	PreSignedUrl *string `type:"string"`
13537
13538	// The number of CPU cores and the number of threads per core for the DB instance
13539	// class of the DB instance.
13540	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
13541
13542	// Specifies the accessibility options for the DB instance. A value of true
13543	// specifies an Internet-facing instance with a publicly resolvable DNS name,
13544	// which resolves to a public IP address. A value of false specifies an internal
13545	// instance with a DNS name that resolves to a private IP address. For more
13546	// information, see CreateDBInstance.
13547	PubliclyAccessible *bool `type:"boolean"`
13548
13549	// The identifier of the DB instance that will act as the source for the Read
13550	// Replica. Each DB instance can have up to five Read Replicas.
13551	//
13552	// Constraints:
13553	//
13554	//    * Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL
13555	//    DB instance.
13556	//
13557	//    * Can specify a DB instance that is a MySQL Read Replica only if the source
13558	//    is running MySQL 5.6.
13559	//
13560	//    * Can specify a DB instance that is a PostgreSQL DB instance only if the
13561	//    source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region
13562	//    replication).
13563	//
13564	//    * The specified DB instance must have automatic backups enabled, its backup
13565	//    retention period must be greater than 0.
13566	//
13567	//    * If the source DB instance is in the same AWS Region as the Read Replica,
13568	//    specify a valid DB instance identifier.
13569	//
13570	//    * If the source DB instance is in a different AWS Region than the Read
13571	//    Replica, specify a valid DB instance ARN. For more information, go to
13572	//     Constructing a Amazon RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
13573	//
13574	// SourceDBInstanceIdentifier is a required field
13575	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
13576
13577	// SourceRegion is the source region where the resource exists. This is not
13578	// sent over the wire and is only used for presigning. This value should always
13579	// have the same region as the source ARN.
13580	SourceRegion *string `type:"string" ignore:"true"`
13581
13582	// Specifies the storage type to be associated with the Read Replica.
13583	//
13584	// Valid values: standard | gp2 | io1
13585	//
13586	// If you specify io1, you must also include a value for the Iops parameter.
13587	//
13588	// Default: io1 if the Iops parameter is specified, otherwise standard
13589	StorageType *string `type:"string"`
13590
13591	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13592	Tags []*Tag `locationNameList:"Tag" type:"list"`
13593
13594	// A value that specifies that the DB instance class of the DB instance uses
13595	// its default processor features.
13596	UseDefaultProcessorFeatures *bool `type:"boolean"`
13597}
13598
13599// String returns the string representation
13600func (s CreateDBInstanceReadReplicaInput) String() string {
13601	return awsutil.Prettify(s)
13602}
13603
13604// GoString returns the string representation
13605func (s CreateDBInstanceReadReplicaInput) GoString() string {
13606	return s.String()
13607}
13608
13609// Validate inspects the fields of the type to determine if they are valid.
13610func (s *CreateDBInstanceReadReplicaInput) Validate() error {
13611	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceReadReplicaInput"}
13612	if s.DBInstanceIdentifier == nil {
13613		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
13614	}
13615	if s.SourceDBInstanceIdentifier == nil {
13616		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
13617	}
13618
13619	if invalidParams.Len() > 0 {
13620		return invalidParams
13621	}
13622	return nil
13623}
13624
13625// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
13626func (s *CreateDBInstanceReadReplicaInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceReadReplicaInput {
13627	s.AutoMinorVersionUpgrade = &v
13628	return s
13629}
13630
13631// SetAvailabilityZone sets the AvailabilityZone field's value.
13632func (s *CreateDBInstanceReadReplicaInput) SetAvailabilityZone(v string) *CreateDBInstanceReadReplicaInput {
13633	s.AvailabilityZone = &v
13634	return s
13635}
13636
13637// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
13638func (s *CreateDBInstanceReadReplicaInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceReadReplicaInput {
13639	s.CopyTagsToSnapshot = &v
13640	return s
13641}
13642
13643// SetDBInstanceClass sets the DBInstanceClass field's value.
13644func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceClass(v string) *CreateDBInstanceReadReplicaInput {
13645	s.DBInstanceClass = &v
13646	return s
13647}
13648
13649// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13650func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
13651	s.DBInstanceIdentifier = &v
13652	return s
13653}
13654
13655// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
13656func (s *CreateDBInstanceReadReplicaInput) SetDBSubnetGroupName(v string) *CreateDBInstanceReadReplicaInput {
13657	s.DBSubnetGroupName = &v
13658	return s
13659}
13660
13661// SetDestinationRegion sets the DestinationRegion field's value.
13662func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *CreateDBInstanceReadReplicaInput {
13663	s.DestinationRegion = &v
13664	return s
13665}
13666
13667// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
13668func (s *CreateDBInstanceReadReplicaInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceReadReplicaInput {
13669	s.EnableCloudwatchLogsExports = v
13670	return s
13671}
13672
13673// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
13674func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput {
13675	s.EnableIAMDatabaseAuthentication = &v
13676	return s
13677}
13678
13679// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
13680func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput {
13681	s.EnablePerformanceInsights = &v
13682	return s
13683}
13684
13685// SetIops sets the Iops field's value.
13686func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput {
13687	s.Iops = &v
13688	return s
13689}
13690
13691// SetKmsKeyId sets the KmsKeyId field's value.
13692func (s *CreateDBInstanceReadReplicaInput) SetKmsKeyId(v string) *CreateDBInstanceReadReplicaInput {
13693	s.KmsKeyId = &v
13694	return s
13695}
13696
13697// SetMonitoringInterval sets the MonitoringInterval field's value.
13698func (s *CreateDBInstanceReadReplicaInput) SetMonitoringInterval(v int64) *CreateDBInstanceReadReplicaInput {
13699	s.MonitoringInterval = &v
13700	return s
13701}
13702
13703// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
13704func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *CreateDBInstanceReadReplicaInput {
13705	s.MonitoringRoleArn = &v
13706	return s
13707}
13708
13709// SetMultiAZ sets the MultiAZ field's value.
13710func (s *CreateDBInstanceReadReplicaInput) SetMultiAZ(v bool) *CreateDBInstanceReadReplicaInput {
13711	s.MultiAZ = &v
13712	return s
13713}
13714
13715// SetOptionGroupName sets the OptionGroupName field's value.
13716func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput {
13717	s.OptionGroupName = &v
13718	return s
13719}
13720
13721// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
13722func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput {
13723	s.PerformanceInsightsKMSKeyId = &v
13724	return s
13725}
13726
13727// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
13728func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceReadReplicaInput {
13729	s.PerformanceInsightsRetentionPeriod = &v
13730	return s
13731}
13732
13733// SetPort sets the Port field's value.
13734func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput {
13735	s.Port = &v
13736	return s
13737}
13738
13739// SetPreSignedUrl sets the PreSignedUrl field's value.
13740func (s *CreateDBInstanceReadReplicaInput) SetPreSignedUrl(v string) *CreateDBInstanceReadReplicaInput {
13741	s.PreSignedUrl = &v
13742	return s
13743}
13744
13745// SetProcessorFeatures sets the ProcessorFeatures field's value.
13746func (s *CreateDBInstanceReadReplicaInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceReadReplicaInput {
13747	s.ProcessorFeatures = v
13748	return s
13749}
13750
13751// SetPubliclyAccessible sets the PubliclyAccessible field's value.
13752func (s *CreateDBInstanceReadReplicaInput) SetPubliclyAccessible(v bool) *CreateDBInstanceReadReplicaInput {
13753	s.PubliclyAccessible = &v
13754	return s
13755}
13756
13757// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
13758func (s *CreateDBInstanceReadReplicaInput) SetSourceDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
13759	s.SourceDBInstanceIdentifier = &v
13760	return s
13761}
13762
13763// SetSourceRegion sets the SourceRegion field's value.
13764func (s *CreateDBInstanceReadReplicaInput) SetSourceRegion(v string) *CreateDBInstanceReadReplicaInput {
13765	s.SourceRegion = &v
13766	return s
13767}
13768
13769// SetStorageType sets the StorageType field's value.
13770func (s *CreateDBInstanceReadReplicaInput) SetStorageType(v string) *CreateDBInstanceReadReplicaInput {
13771	s.StorageType = &v
13772	return s
13773}
13774
13775// SetTags sets the Tags field's value.
13776func (s *CreateDBInstanceReadReplicaInput) SetTags(v []*Tag) *CreateDBInstanceReadReplicaInput {
13777	s.Tags = v
13778	return s
13779}
13780
13781// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
13782func (s *CreateDBInstanceReadReplicaInput) SetUseDefaultProcessorFeatures(v bool) *CreateDBInstanceReadReplicaInput {
13783	s.UseDefaultProcessorFeatures = &v
13784	return s
13785}
13786
13787type CreateDBInstanceReadReplicaOutput struct {
13788	_ struct{} `type:"structure"`
13789
13790	// Contains the details of an Amazon RDS DB instance.
13791	//
13792	// This data type is used as a response element in the DescribeDBInstances action.
13793	DBInstance *DBInstance `type:"structure"`
13794}
13795
13796// String returns the string representation
13797func (s CreateDBInstanceReadReplicaOutput) String() string {
13798	return awsutil.Prettify(s)
13799}
13800
13801// GoString returns the string representation
13802func (s CreateDBInstanceReadReplicaOutput) GoString() string {
13803	return s.String()
13804}
13805
13806// SetDBInstance sets the DBInstance field's value.
13807func (s *CreateDBInstanceReadReplicaOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceReadReplicaOutput {
13808	s.DBInstance = v
13809	return s
13810}
13811
13812type CreateDBParameterGroupInput struct {
13813	_ struct{} `type:"structure"`
13814
13815	// The DB parameter group family name. A DB parameter group can be associated
13816	// with one and only one DB parameter group family, and can be applied only
13817	// to a DB instance running a database engine and engine version compatible
13818	// with that DB parameter group family.
13819	//
13820	// To list all of the available parameter group families, use the following
13821	// command:
13822	//
13823	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
13824	//
13825	// The output contains duplicates.
13826	//
13827	// DBParameterGroupFamily is a required field
13828	DBParameterGroupFamily *string `type:"string" required:"true"`
13829
13830	// The name of the DB parameter group.
13831	//
13832	// Constraints:
13833	//
13834	//    * Must be 1 to 255 letters, numbers, or hyphens.
13835	//
13836	//    * First character must be a letter
13837	//
13838	//    * Cannot end with a hyphen or contain two consecutive hyphens
13839	//
13840	// This value is stored as a lowercase string.
13841	//
13842	// DBParameterGroupName is a required field
13843	DBParameterGroupName *string `type:"string" required:"true"`
13844
13845	// The description for the DB parameter group.
13846	//
13847	// Description is a required field
13848	Description *string `type:"string" required:"true"`
13849
13850	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13851	Tags []*Tag `locationNameList:"Tag" type:"list"`
13852}
13853
13854// String returns the string representation
13855func (s CreateDBParameterGroupInput) String() string {
13856	return awsutil.Prettify(s)
13857}
13858
13859// GoString returns the string representation
13860func (s CreateDBParameterGroupInput) GoString() string {
13861	return s.String()
13862}
13863
13864// Validate inspects the fields of the type to determine if they are valid.
13865func (s *CreateDBParameterGroupInput) Validate() error {
13866	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
13867	if s.DBParameterGroupFamily == nil {
13868		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
13869	}
13870	if s.DBParameterGroupName == nil {
13871		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
13872	}
13873	if s.Description == nil {
13874		invalidParams.Add(request.NewErrParamRequired("Description"))
13875	}
13876
13877	if invalidParams.Len() > 0 {
13878		return invalidParams
13879	}
13880	return nil
13881}
13882
13883// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
13884func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
13885	s.DBParameterGroupFamily = &v
13886	return s
13887}
13888
13889// SetDBParameterGroupName sets the DBParameterGroupName field's value.
13890func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
13891	s.DBParameterGroupName = &v
13892	return s
13893}
13894
13895// SetDescription sets the Description field's value.
13896func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
13897	s.Description = &v
13898	return s
13899}
13900
13901// SetTags sets the Tags field's value.
13902func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
13903	s.Tags = v
13904	return s
13905}
13906
13907type CreateDBParameterGroupOutput struct {
13908	_ struct{} `type:"structure"`
13909
13910	// Contains the details of an Amazon RDS DB parameter group.
13911	//
13912	// This data type is used as a response element in the DescribeDBParameterGroups
13913	// action.
13914	DBParameterGroup *DBParameterGroup `type:"structure"`
13915}
13916
13917// String returns the string representation
13918func (s CreateDBParameterGroupOutput) String() string {
13919	return awsutil.Prettify(s)
13920}
13921
13922// GoString returns the string representation
13923func (s CreateDBParameterGroupOutput) GoString() string {
13924	return s.String()
13925}
13926
13927// SetDBParameterGroup sets the DBParameterGroup field's value.
13928func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
13929	s.DBParameterGroup = v
13930	return s
13931}
13932
13933type CreateDBSecurityGroupInput struct {
13934	_ struct{} `type:"structure"`
13935
13936	// The description for the DB security group.
13937	//
13938	// DBSecurityGroupDescription is a required field
13939	DBSecurityGroupDescription *string `type:"string" required:"true"`
13940
13941	// The name for the DB security group. This value is stored as a lowercase string.
13942	//
13943	// Constraints:
13944	//
13945	//    * Must be 1 to 255 letters, numbers, or hyphens.
13946	//
13947	//    * First character must be a letter
13948	//
13949	//    * Cannot end with a hyphen or contain two consecutive hyphens
13950	//
13951	//    * Must not be "Default"
13952	//
13953	// Example: mysecuritygroup
13954	//
13955	// DBSecurityGroupName is a required field
13956	DBSecurityGroupName *string `type:"string" required:"true"`
13957
13958	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
13959	Tags []*Tag `locationNameList:"Tag" type:"list"`
13960}
13961
13962// String returns the string representation
13963func (s CreateDBSecurityGroupInput) String() string {
13964	return awsutil.Prettify(s)
13965}
13966
13967// GoString returns the string representation
13968func (s CreateDBSecurityGroupInput) GoString() string {
13969	return s.String()
13970}
13971
13972// Validate inspects the fields of the type to determine if they are valid.
13973func (s *CreateDBSecurityGroupInput) Validate() error {
13974	invalidParams := request.ErrInvalidParams{Context: "CreateDBSecurityGroupInput"}
13975	if s.DBSecurityGroupDescription == nil {
13976		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupDescription"))
13977	}
13978	if s.DBSecurityGroupName == nil {
13979		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
13980	}
13981
13982	if invalidParams.Len() > 0 {
13983		return invalidParams
13984	}
13985	return nil
13986}
13987
13988// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
13989func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupDescription(v string) *CreateDBSecurityGroupInput {
13990	s.DBSecurityGroupDescription = &v
13991	return s
13992}
13993
13994// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
13995func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupName(v string) *CreateDBSecurityGroupInput {
13996	s.DBSecurityGroupName = &v
13997	return s
13998}
13999
14000// SetTags sets the Tags field's value.
14001func (s *CreateDBSecurityGroupInput) SetTags(v []*Tag) *CreateDBSecurityGroupInput {
14002	s.Tags = v
14003	return s
14004}
14005
14006type CreateDBSecurityGroupOutput struct {
14007	_ struct{} `type:"structure"`
14008
14009	// Contains the details for an Amazon RDS DB security group.
14010	//
14011	// This data type is used as a response element in the DescribeDBSecurityGroups
14012	// action.
14013	DBSecurityGroup *DBSecurityGroup `type:"structure"`
14014}
14015
14016// String returns the string representation
14017func (s CreateDBSecurityGroupOutput) String() string {
14018	return awsutil.Prettify(s)
14019}
14020
14021// GoString returns the string representation
14022func (s CreateDBSecurityGroupOutput) GoString() string {
14023	return s.String()
14024}
14025
14026// SetDBSecurityGroup sets the DBSecurityGroup field's value.
14027func (s *CreateDBSecurityGroupOutput) SetDBSecurityGroup(v *DBSecurityGroup) *CreateDBSecurityGroupOutput {
14028	s.DBSecurityGroup = v
14029	return s
14030}
14031
14032type CreateDBSnapshotInput struct {
14033	_ struct{} `type:"structure"`
14034
14035	// The identifier of the DB instance that you want to create the snapshot of.
14036	//
14037	// Constraints:
14038	//
14039	//    * Must match the identifier of an existing DBInstance.
14040	//
14041	// DBInstanceIdentifier is a required field
14042	DBInstanceIdentifier *string `type:"string" required:"true"`
14043
14044	// The identifier for the DB snapshot.
14045	//
14046	// Constraints:
14047	//
14048	//    * Cannot be null, empty, or blank
14049	//
14050	//    * Must contain from 1 to 255 letters, numbers, or hyphens
14051	//
14052	//    * First character must be a letter
14053	//
14054	//    * Cannot end with a hyphen or contain two consecutive hyphens
14055	//
14056	// Example: my-snapshot-id
14057	//
14058	// DBSnapshotIdentifier is a required field
14059	DBSnapshotIdentifier *string `type:"string" required:"true"`
14060
14061	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
14062	Tags []*Tag `locationNameList:"Tag" type:"list"`
14063}
14064
14065// String returns the string representation
14066func (s CreateDBSnapshotInput) String() string {
14067	return awsutil.Prettify(s)
14068}
14069
14070// GoString returns the string representation
14071func (s CreateDBSnapshotInput) GoString() string {
14072	return s.String()
14073}
14074
14075// Validate inspects the fields of the type to determine if they are valid.
14076func (s *CreateDBSnapshotInput) Validate() error {
14077	invalidParams := request.ErrInvalidParams{Context: "CreateDBSnapshotInput"}
14078	if s.DBInstanceIdentifier == nil {
14079		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
14080	}
14081	if s.DBSnapshotIdentifier == nil {
14082		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
14083	}
14084
14085	if invalidParams.Len() > 0 {
14086		return invalidParams
14087	}
14088	return nil
14089}
14090
14091// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
14092func (s *CreateDBSnapshotInput) SetDBInstanceIdentifier(v string) *CreateDBSnapshotInput {
14093	s.DBInstanceIdentifier = &v
14094	return s
14095}
14096
14097// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
14098func (s *CreateDBSnapshotInput) SetDBSnapshotIdentifier(v string) *CreateDBSnapshotInput {
14099	s.DBSnapshotIdentifier = &v
14100	return s
14101}
14102
14103// SetTags sets the Tags field's value.
14104func (s *CreateDBSnapshotInput) SetTags(v []*Tag) *CreateDBSnapshotInput {
14105	s.Tags = v
14106	return s
14107}
14108
14109type CreateDBSnapshotOutput struct {
14110	_ struct{} `type:"structure"`
14111
14112	// Contains the details of an Amazon RDS DB snapshot.
14113	//
14114	// This data type is used as a response element in the DescribeDBSnapshots action.
14115	DBSnapshot *DBSnapshot `type:"structure"`
14116}
14117
14118// String returns the string representation
14119func (s CreateDBSnapshotOutput) String() string {
14120	return awsutil.Prettify(s)
14121}
14122
14123// GoString returns the string representation
14124func (s CreateDBSnapshotOutput) GoString() string {
14125	return s.String()
14126}
14127
14128// SetDBSnapshot sets the DBSnapshot field's value.
14129func (s *CreateDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CreateDBSnapshotOutput {
14130	s.DBSnapshot = v
14131	return s
14132}
14133
14134type CreateDBSubnetGroupInput struct {
14135	_ struct{} `type:"structure"`
14136
14137	// The description for the DB subnet group.
14138	//
14139	// DBSubnetGroupDescription is a required field
14140	DBSubnetGroupDescription *string `type:"string" required:"true"`
14141
14142	// The name for the DB subnet group. This value is stored as a lowercase string.
14143	//
14144	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
14145	// spaces, or hyphens. Must not be default.
14146	//
14147	// Example: mySubnetgroup
14148	//
14149	// DBSubnetGroupName is a required field
14150	DBSubnetGroupName *string `type:"string" required:"true"`
14151
14152	// The EC2 Subnet IDs for the DB subnet group.
14153	//
14154	// SubnetIds is a required field
14155	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
14156
14157	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
14158	Tags []*Tag `locationNameList:"Tag" type:"list"`
14159}
14160
14161// String returns the string representation
14162func (s CreateDBSubnetGroupInput) String() string {
14163	return awsutil.Prettify(s)
14164}
14165
14166// GoString returns the string representation
14167func (s CreateDBSubnetGroupInput) GoString() string {
14168	return s.String()
14169}
14170
14171// Validate inspects the fields of the type to determine if they are valid.
14172func (s *CreateDBSubnetGroupInput) Validate() error {
14173	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
14174	if s.DBSubnetGroupDescription == nil {
14175		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
14176	}
14177	if s.DBSubnetGroupName == nil {
14178		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
14179	}
14180	if s.SubnetIds == nil {
14181		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
14182	}
14183
14184	if invalidParams.Len() > 0 {
14185		return invalidParams
14186	}
14187	return nil
14188}
14189
14190// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
14191func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
14192	s.DBSubnetGroupDescription = &v
14193	return s
14194}
14195
14196// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
14197func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
14198	s.DBSubnetGroupName = &v
14199	return s
14200}
14201
14202// SetSubnetIds sets the SubnetIds field's value.
14203func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
14204	s.SubnetIds = v
14205	return s
14206}
14207
14208// SetTags sets the Tags field's value.
14209func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
14210	s.Tags = v
14211	return s
14212}
14213
14214type CreateDBSubnetGroupOutput struct {
14215	_ struct{} `type:"structure"`
14216
14217	// Contains the details of an Amazon RDS DB subnet group.
14218	//
14219	// This data type is used as a response element in the DescribeDBSubnetGroups
14220	// action.
14221	DBSubnetGroup *DBSubnetGroup `type:"structure"`
14222}
14223
14224// String returns the string representation
14225func (s CreateDBSubnetGroupOutput) String() string {
14226	return awsutil.Prettify(s)
14227}
14228
14229// GoString returns the string representation
14230func (s CreateDBSubnetGroupOutput) GoString() string {
14231	return s.String()
14232}
14233
14234// SetDBSubnetGroup sets the DBSubnetGroup field's value.
14235func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
14236	s.DBSubnetGroup = v
14237	return s
14238}
14239
14240type CreateEventSubscriptionInput struct {
14241	_ struct{} `type:"structure"`
14242
14243	// A Boolean value; set to true to activate the subscription, set to false to
14244	// create the subscription but not active it.
14245	Enabled *bool `type:"boolean"`
14246
14247	// A list of event categories for a SourceType that you want to subscribe to.
14248	// You can see a list of the categories for a given SourceType in the Events
14249	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
14250	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
14251	// action.
14252	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
14253
14254	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
14255	// The ARN is created by Amazon SNS when you create a topic and subscribe to
14256	// it.
14257	//
14258	// SnsTopicArn is a required field
14259	SnsTopicArn *string `type:"string" required:"true"`
14260
14261	// The list of identifiers of the event sources for which events are returned.
14262	// If not specified, then all sources are included in the response. An identifier
14263	// must begin with a letter and must contain only ASCII letters, digits, and
14264	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
14265	//
14266	// Constraints:
14267	//
14268	//    * If SourceIds are supplied, SourceType must also be provided.
14269	//
14270	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
14271	//    be supplied.
14272	//
14273	//    * If the source type is a DB security group, a DBSecurityGroupName must
14274	//    be supplied.
14275	//
14276	//    * If the source type is a DB parameter group, a DBParameterGroupName must
14277	//    be supplied.
14278	//
14279	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
14280	//    supplied.
14281	SourceIds []*string `locationNameList:"SourceId" type:"list"`
14282
14283	// The type of source that is generating the events. For example, if you want
14284	// to be notified of events generated by a DB instance, you would set this parameter
14285	// to db-instance. if this value is not specified, all events are returned.
14286	//
14287	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
14288	// | db-snapshot | db-cluster-snapshot
14289	SourceType *string `type:"string"`
14290
14291	// The name of the subscription.
14292	//
14293	// Constraints: The name must be less than 255 characters.
14294	//
14295	// SubscriptionName is a required field
14296	SubscriptionName *string `type:"string" required:"true"`
14297
14298	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
14299	Tags []*Tag `locationNameList:"Tag" type:"list"`
14300}
14301
14302// String returns the string representation
14303func (s CreateEventSubscriptionInput) String() string {
14304	return awsutil.Prettify(s)
14305}
14306
14307// GoString returns the string representation
14308func (s CreateEventSubscriptionInput) GoString() string {
14309	return s.String()
14310}
14311
14312// Validate inspects the fields of the type to determine if they are valid.
14313func (s *CreateEventSubscriptionInput) Validate() error {
14314	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
14315	if s.SnsTopicArn == nil {
14316		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
14317	}
14318	if s.SubscriptionName == nil {
14319		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
14320	}
14321
14322	if invalidParams.Len() > 0 {
14323		return invalidParams
14324	}
14325	return nil
14326}
14327
14328// SetEnabled sets the Enabled field's value.
14329func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
14330	s.Enabled = &v
14331	return s
14332}
14333
14334// SetEventCategories sets the EventCategories field's value.
14335func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
14336	s.EventCategories = v
14337	return s
14338}
14339
14340// SetSnsTopicArn sets the SnsTopicArn field's value.
14341func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
14342	s.SnsTopicArn = &v
14343	return s
14344}
14345
14346// SetSourceIds sets the SourceIds field's value.
14347func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
14348	s.SourceIds = v
14349	return s
14350}
14351
14352// SetSourceType sets the SourceType field's value.
14353func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
14354	s.SourceType = &v
14355	return s
14356}
14357
14358// SetSubscriptionName sets the SubscriptionName field's value.
14359func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
14360	s.SubscriptionName = &v
14361	return s
14362}
14363
14364// SetTags sets the Tags field's value.
14365func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
14366	s.Tags = v
14367	return s
14368}
14369
14370type CreateEventSubscriptionOutput struct {
14371	_ struct{} `type:"structure"`
14372
14373	// Contains the results of a successful invocation of the DescribeEventSubscriptions
14374	// action.
14375	EventSubscription *EventSubscription `type:"structure"`
14376}
14377
14378// String returns the string representation
14379func (s CreateEventSubscriptionOutput) String() string {
14380	return awsutil.Prettify(s)
14381}
14382
14383// GoString returns the string representation
14384func (s CreateEventSubscriptionOutput) GoString() string {
14385	return s.String()
14386}
14387
14388// SetEventSubscription sets the EventSubscription field's value.
14389func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
14390	s.EventSubscription = v
14391	return s
14392}
14393
14394type CreateOptionGroupInput struct {
14395	_ struct{} `type:"structure"`
14396
14397	// Specifies the name of the engine that this option group should be associated
14398	// with.
14399	//
14400	// EngineName is a required field
14401	EngineName *string `type:"string" required:"true"`
14402
14403	// Specifies the major version of the engine that this option group should be
14404	// associated with.
14405	//
14406	// MajorEngineVersion is a required field
14407	MajorEngineVersion *string `type:"string" required:"true"`
14408
14409	// The description of the option group.
14410	//
14411	// OptionGroupDescription is a required field
14412	OptionGroupDescription *string `type:"string" required:"true"`
14413
14414	// Specifies the name of the option group to be created.
14415	//
14416	// Constraints:
14417	//
14418	//    * Must be 1 to 255 letters, numbers, or hyphens
14419	//
14420	//    * First character must be a letter
14421	//
14422	//    * Cannot end with a hyphen or contain two consecutive hyphens
14423	//
14424	// Example: myoptiongroup
14425	//
14426	// OptionGroupName is a required field
14427	OptionGroupName *string `type:"string" required:"true"`
14428
14429	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
14430	Tags []*Tag `locationNameList:"Tag" type:"list"`
14431}
14432
14433// String returns the string representation
14434func (s CreateOptionGroupInput) String() string {
14435	return awsutil.Prettify(s)
14436}
14437
14438// GoString returns the string representation
14439func (s CreateOptionGroupInput) GoString() string {
14440	return s.String()
14441}
14442
14443// Validate inspects the fields of the type to determine if they are valid.
14444func (s *CreateOptionGroupInput) Validate() error {
14445	invalidParams := request.ErrInvalidParams{Context: "CreateOptionGroupInput"}
14446	if s.EngineName == nil {
14447		invalidParams.Add(request.NewErrParamRequired("EngineName"))
14448	}
14449	if s.MajorEngineVersion == nil {
14450		invalidParams.Add(request.NewErrParamRequired("MajorEngineVersion"))
14451	}
14452	if s.OptionGroupDescription == nil {
14453		invalidParams.Add(request.NewErrParamRequired("OptionGroupDescription"))
14454	}
14455	if s.OptionGroupName == nil {
14456		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
14457	}
14458
14459	if invalidParams.Len() > 0 {
14460		return invalidParams
14461	}
14462	return nil
14463}
14464
14465// SetEngineName sets the EngineName field's value.
14466func (s *CreateOptionGroupInput) SetEngineName(v string) *CreateOptionGroupInput {
14467	s.EngineName = &v
14468	return s
14469}
14470
14471// SetMajorEngineVersion sets the MajorEngineVersion field's value.
14472func (s *CreateOptionGroupInput) SetMajorEngineVersion(v string) *CreateOptionGroupInput {
14473	s.MajorEngineVersion = &v
14474	return s
14475}
14476
14477// SetOptionGroupDescription sets the OptionGroupDescription field's value.
14478func (s *CreateOptionGroupInput) SetOptionGroupDescription(v string) *CreateOptionGroupInput {
14479	s.OptionGroupDescription = &v
14480	return s
14481}
14482
14483// SetOptionGroupName sets the OptionGroupName field's value.
14484func (s *CreateOptionGroupInput) SetOptionGroupName(v string) *CreateOptionGroupInput {
14485	s.OptionGroupName = &v
14486	return s
14487}
14488
14489// SetTags sets the Tags field's value.
14490func (s *CreateOptionGroupInput) SetTags(v []*Tag) *CreateOptionGroupInput {
14491	s.Tags = v
14492	return s
14493}
14494
14495type CreateOptionGroupOutput struct {
14496	_ struct{} `type:"structure"`
14497
14498	OptionGroup *OptionGroup `type:"structure"`
14499}
14500
14501// String returns the string representation
14502func (s CreateOptionGroupOutput) String() string {
14503	return awsutil.Prettify(s)
14504}
14505
14506// GoString returns the string representation
14507func (s CreateOptionGroupOutput) GoString() string {
14508	return s.String()
14509}
14510
14511// SetOptionGroup sets the OptionGroup field's value.
14512func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGroupOutput {
14513	s.OptionGroup = v
14514	return s
14515}
14516
14517// Contains the details of an Amazon RDS DB cluster.
14518//
14519// This data type is used as a response element in the DescribeDBClusters action.
14520type DBCluster struct {
14521	_ struct{} `type:"structure"`
14522
14523	// For all database engines except Amazon Aurora, AllocatedStorage specifies
14524	// the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage
14525	// always returns 1, because Aurora DB cluster storage size is not fixed, but
14526	// instead automatically adjusts as needed.
14527	AllocatedStorage *int64 `type:"integer"`
14528
14529	// Provides a list of the AWS Identity and Access Management (IAM) roles that
14530	// are associated with the DB cluster. IAM roles that are associated with a
14531	// DB cluster grant permission for the DB cluster to access other AWS services
14532	// on your behalf.
14533	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
14534
14535	// Provides the list of EC2 Availability Zones that instances in the DB cluster
14536	// can be created in.
14537	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
14538
14539	// The number of change records stored for Backtrack.
14540	BacktrackConsumedChangeRecords *int64 `type:"long"`
14541
14542	// The target backtrack window, in seconds. If this value is set to 0, backtracking
14543	// is disabled for the DB cluster. Otherwise, backtracking is enabled.
14544	BacktrackWindow *int64 `type:"long"`
14545
14546	// Specifies the number of days for which automatic DB snapshots are retained.
14547	BackupRetentionPeriod *int64 `type:"integer"`
14548
14549	Capacity *int64 `type:"integer"`
14550
14551	// If present, specifies the name of the character set that this cluster is
14552	// associated with.
14553	CharacterSetName *string `type:"string"`
14554
14555	// Identifies the clone group to which the DB cluster is associated.
14556	CloneGroupId *string `type:"string"`
14557
14558	// Specifies the time when the DB cluster was created, in Universal Coordinated
14559	// Time (UTC).
14560	ClusterCreateTime *time.Time `type:"timestamp"`
14561
14562	// The Amazon Resource Name (ARN) for the DB cluster.
14563	DBClusterArn *string `type:"string"`
14564
14565	// Contains a user-supplied DB cluster identifier. This identifier is the unique
14566	// key that identifies a DB cluster.
14567	DBClusterIdentifier *string `type:"string"`
14568
14569	// Provides the list of instances that make up the DB cluster.
14570	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
14571
14572	// Provides the list of option group memberships for this DB cluster.
14573	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
14574
14575	// Specifies the name of the DB cluster parameter group for the DB cluster.
14576	DBClusterParameterGroup *string `type:"string"`
14577
14578	// Specifies information on the subnet group associated with the DB cluster,
14579	// including the name, description, and subnets in the subnet group.
14580	DBSubnetGroup *string `type:"string"`
14581
14582	// Contains the name of the initial database of this DB cluster that was provided
14583	// at create time, if one was specified when the DB cluster was created. This
14584	// same name is returned for the life of the DB cluster.
14585	DatabaseName *string `type:"string"`
14586
14587	// The AWS Region-unique, immutable identifier for the DB cluster. This identifier
14588	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
14589	// cluster is accessed.
14590	DbClusterResourceId *string `type:"string"`
14591
14592	// The earliest time to which a DB cluster can be backtracked.
14593	EarliestBacktrackTime *time.Time `type:"timestamp"`
14594
14595	// The earliest time to which a database can be restored with point-in-time
14596	// restore.
14597	EarliestRestorableTime *time.Time `type:"timestamp"`
14598
14599	// A list of log types that this DB cluster is configured to export to CloudWatch
14600	// Logs.
14601	//
14602	// Log types vary by DB engine. For information about the log types for each
14603	// DB engine, see Amazon RDS Database Log Files (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)
14604	// in the Amazon RDS User Guide.
14605	EnabledCloudwatchLogsExports []*string `type:"list"`
14606
14607	// Specifies the connection endpoint for the primary instance of the DB cluster.
14608	Endpoint *string `type:"string"`
14609
14610	// Provides the name of the database engine to be used for this DB cluster.
14611	Engine *string `type:"string"`
14612
14613	// The DB engine mode of the DB cluster, either provisioned or serverless.
14614	EngineMode *string `type:"string"`
14615
14616	// Indicates the database engine version.
14617	EngineVersion *string `type:"string"`
14618
14619	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
14620	HostedZoneId *string `type:"string"`
14621
14622	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
14623	// accounts is enabled, and otherwise false.
14624	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
14625
14626	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
14627	// DB cluster.
14628	KmsKeyId *string `type:"string"`
14629
14630	// Specifies the latest time to which a database can be restored with point-in-time
14631	// restore.
14632	LatestRestorableTime *time.Time `type:"timestamp"`
14633
14634	// Contains the master username for the DB cluster.
14635	MasterUsername *string `type:"string"`
14636
14637	// Specifies whether the DB cluster has instances in multiple Availability Zones.
14638	MultiAZ *bool `type:"boolean"`
14639
14640	// Specifies the progress of the operation as a percentage.
14641	PercentProgress *string `type:"string"`
14642
14643	// Specifies the port that the database engine is listening on.
14644	Port *int64 `type:"integer"`
14645
14646	// Specifies the daily time range during which automated backups are created
14647	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
14648	PreferredBackupWindow *string `type:"string"`
14649
14650	// Specifies the weekly time range during which system maintenance can occur,
14651	// in Universal Coordinated Time (UTC).
14652	PreferredMaintenanceWindow *string `type:"string"`
14653
14654	// Contains one or more identifiers of the Read Replicas associated with this
14655	// DB cluster.
14656	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
14657
14658	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
14659	// load-balances connections across the Aurora Replicas that are available in
14660	// a DB cluster. As clients request new connections to the reader endpoint,
14661	// Aurora distributes the connection requests among the Aurora Replicas in the
14662	// DB cluster. This functionality can help balance your read workload across
14663	// multiple Aurora Replicas in your DB cluster.
14664	//
14665	// If a failover occurs, and the Aurora Replica that you are connected to is
14666	// promoted to be the primary instance, your connection is dropped. To continue
14667	// sending your read workload to other Aurora Replicas in the cluster, you can
14668	// then reconnect to the reader endpoint.
14669	ReaderEndpoint *string `type:"string"`
14670
14671	// Contains the identifier of the source DB cluster if this DB cluster is a
14672	// Read Replica.
14673	ReplicationSourceIdentifier *string `type:"string"`
14674
14675	// Shows the scaling configuration for an Aurora DB cluster in serverless DB
14676	// engine mode.
14677	//
14678	// For more information, see Using Amazon Aurora Serverless (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.html)
14679	// in the Amazon RDS User Guide.
14680	ScalingConfigurationInfo *ScalingConfigurationInfo `type:"structure"`
14681
14682	// Specifies the current state of this DB cluster.
14683	Status *string `type:"string"`
14684
14685	// Specifies whether the DB cluster is encrypted.
14686	StorageEncrypted *bool `type:"boolean"`
14687
14688	// Provides a list of VPC security groups that the DB cluster belongs to.
14689	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
14690}
14691
14692// String returns the string representation
14693func (s DBCluster) String() string {
14694	return awsutil.Prettify(s)
14695}
14696
14697// GoString returns the string representation
14698func (s DBCluster) GoString() string {
14699	return s.String()
14700}
14701
14702// SetAllocatedStorage sets the AllocatedStorage field's value.
14703func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
14704	s.AllocatedStorage = &v
14705	return s
14706}
14707
14708// SetAssociatedRoles sets the AssociatedRoles field's value.
14709func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
14710	s.AssociatedRoles = v
14711	return s
14712}
14713
14714// SetAvailabilityZones sets the AvailabilityZones field's value.
14715func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
14716	s.AvailabilityZones = v
14717	return s
14718}
14719
14720// SetBacktrackConsumedChangeRecords sets the BacktrackConsumedChangeRecords field's value.
14721func (s *DBCluster) SetBacktrackConsumedChangeRecords(v int64) *DBCluster {
14722	s.BacktrackConsumedChangeRecords = &v
14723	return s
14724}
14725
14726// SetBacktrackWindow sets the BacktrackWindow field's value.
14727func (s *DBCluster) SetBacktrackWindow(v int64) *DBCluster {
14728	s.BacktrackWindow = &v
14729	return s
14730}
14731
14732// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
14733func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
14734	s.BackupRetentionPeriod = &v
14735	return s
14736}
14737
14738// SetCapacity sets the Capacity field's value.
14739func (s *DBCluster) SetCapacity(v int64) *DBCluster {
14740	s.Capacity = &v
14741	return s
14742}
14743
14744// SetCharacterSetName sets the CharacterSetName field's value.
14745func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
14746	s.CharacterSetName = &v
14747	return s
14748}
14749
14750// SetCloneGroupId sets the CloneGroupId field's value.
14751func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
14752	s.CloneGroupId = &v
14753	return s
14754}
14755
14756// SetClusterCreateTime sets the ClusterCreateTime field's value.
14757func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
14758	s.ClusterCreateTime = &v
14759	return s
14760}
14761
14762// SetDBClusterArn sets the DBClusterArn field's value.
14763func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
14764	s.DBClusterArn = &v
14765	return s
14766}
14767
14768// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14769func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
14770	s.DBClusterIdentifier = &v
14771	return s
14772}
14773
14774// SetDBClusterMembers sets the DBClusterMembers field's value.
14775func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
14776	s.DBClusterMembers = v
14777	return s
14778}
14779
14780// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
14781func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
14782	s.DBClusterOptionGroupMemberships = v
14783	return s
14784}
14785
14786// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
14787func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
14788	s.DBClusterParameterGroup = &v
14789	return s
14790}
14791
14792// SetDBSubnetGroup sets the DBSubnetGroup field's value.
14793func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
14794	s.DBSubnetGroup = &v
14795	return s
14796}
14797
14798// SetDatabaseName sets the DatabaseName field's value.
14799func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
14800	s.DatabaseName = &v
14801	return s
14802}
14803
14804// SetDbClusterResourceId sets the DbClusterResourceId field's value.
14805func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
14806	s.DbClusterResourceId = &v
14807	return s
14808}
14809
14810// SetEarliestBacktrackTime sets the EarliestBacktrackTime field's value.
14811func (s *DBCluster) SetEarliestBacktrackTime(v time.Time) *DBCluster {
14812	s.EarliestBacktrackTime = &v
14813	return s
14814}
14815
14816// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
14817func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
14818	s.EarliestRestorableTime = &v
14819	return s
14820}
14821
14822// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
14823func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
14824	s.EnabledCloudwatchLogsExports = v
14825	return s
14826}
14827
14828// SetEndpoint sets the Endpoint field's value.
14829func (s *DBCluster) SetEndpoint(v string) *DBCluster {
14830	s.Endpoint = &v
14831	return s
14832}
14833
14834// SetEngine sets the Engine field's value.
14835func (s *DBCluster) SetEngine(v string) *DBCluster {
14836	s.Engine = &v
14837	return s
14838}
14839
14840// SetEngineMode sets the EngineMode field's value.
14841func (s *DBCluster) SetEngineMode(v string) *DBCluster {
14842	s.EngineMode = &v
14843	return s
14844}
14845
14846// SetEngineVersion sets the EngineVersion field's value.
14847func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
14848	s.EngineVersion = &v
14849	return s
14850}
14851
14852// SetHostedZoneId sets the HostedZoneId field's value.
14853func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
14854	s.HostedZoneId = &v
14855	return s
14856}
14857
14858// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
14859func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
14860	s.IAMDatabaseAuthenticationEnabled = &v
14861	return s
14862}
14863
14864// SetKmsKeyId sets the KmsKeyId field's value.
14865func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
14866	s.KmsKeyId = &v
14867	return s
14868}
14869
14870// SetLatestRestorableTime sets the LatestRestorableTime field's value.
14871func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
14872	s.LatestRestorableTime = &v
14873	return s
14874}
14875
14876// SetMasterUsername sets the MasterUsername field's value.
14877func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
14878	s.MasterUsername = &v
14879	return s
14880}
14881
14882// SetMultiAZ sets the MultiAZ field's value.
14883func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
14884	s.MultiAZ = &v
14885	return s
14886}
14887
14888// SetPercentProgress sets the PercentProgress field's value.
14889func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
14890	s.PercentProgress = &v
14891	return s
14892}
14893
14894// SetPort sets the Port field's value.
14895func (s *DBCluster) SetPort(v int64) *DBCluster {
14896	s.Port = &v
14897	return s
14898}
14899
14900// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
14901func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
14902	s.PreferredBackupWindow = &v
14903	return s
14904}
14905
14906// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
14907func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
14908	s.PreferredMaintenanceWindow = &v
14909	return s
14910}
14911
14912// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
14913func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
14914	s.ReadReplicaIdentifiers = v
14915	return s
14916}
14917
14918// SetReaderEndpoint sets the ReaderEndpoint field's value.
14919func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
14920	s.ReaderEndpoint = &v
14921	return s
14922}
14923
14924// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
14925func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
14926	s.ReplicationSourceIdentifier = &v
14927	return s
14928}
14929
14930// SetScalingConfigurationInfo sets the ScalingConfigurationInfo field's value.
14931func (s *DBCluster) SetScalingConfigurationInfo(v *ScalingConfigurationInfo) *DBCluster {
14932	s.ScalingConfigurationInfo = v
14933	return s
14934}
14935
14936// SetStatus sets the Status field's value.
14937func (s *DBCluster) SetStatus(v string) *DBCluster {
14938	s.Status = &v
14939	return s
14940}
14941
14942// SetStorageEncrypted sets the StorageEncrypted field's value.
14943func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
14944	s.StorageEncrypted = &v
14945	return s
14946}
14947
14948// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
14949func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
14950	s.VpcSecurityGroups = v
14951	return s
14952}
14953
14954// Contains information about an instance that is part of a DB cluster.
14955type DBClusterMember struct {
14956	_ struct{} `type:"structure"`
14957
14958	// Specifies the status of the DB cluster parameter group for this member of
14959	// the DB cluster.
14960	DBClusterParameterGroupStatus *string `type:"string"`
14961
14962	// Specifies the instance identifier for this member of the DB cluster.
14963	DBInstanceIdentifier *string `type:"string"`
14964
14965	// Value that is true if the cluster member is the primary instance for the
14966	// DB cluster and false otherwise.
14967	IsClusterWriter *bool `type:"boolean"`
14968
14969	// A value that specifies the order in which an Aurora Replica is promoted to
14970	// the primary instance after a failure of the existing primary instance. For
14971	// more information, see  Fault Tolerance for an Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance).
14972	PromotionTier *int64 `type:"integer"`
14973}
14974
14975// String returns the string representation
14976func (s DBClusterMember) String() string {
14977	return awsutil.Prettify(s)
14978}
14979
14980// GoString returns the string representation
14981func (s DBClusterMember) GoString() string {
14982	return s.String()
14983}
14984
14985// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
14986func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
14987	s.DBClusterParameterGroupStatus = &v
14988	return s
14989}
14990
14991// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
14992func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
14993	s.DBInstanceIdentifier = &v
14994	return s
14995}
14996
14997// SetIsClusterWriter sets the IsClusterWriter field's value.
14998func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
14999	s.IsClusterWriter = &v
15000	return s
15001}
15002
15003// SetPromotionTier sets the PromotionTier field's value.
15004func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
15005	s.PromotionTier = &v
15006	return s
15007}
15008
15009// Contains status information for a DB cluster option group.
15010type DBClusterOptionGroupStatus struct {
15011	_ struct{} `type:"structure"`
15012
15013	// Specifies the name of the DB cluster option group.
15014	DBClusterOptionGroupName *string `type:"string"`
15015
15016	// Specifies the status of the DB cluster option group.
15017	Status *string `type:"string"`
15018}
15019
15020// String returns the string representation
15021func (s DBClusterOptionGroupStatus) String() string {
15022	return awsutil.Prettify(s)
15023}
15024
15025// GoString returns the string representation
15026func (s DBClusterOptionGroupStatus) GoString() string {
15027	return s.String()
15028}
15029
15030// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
15031func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
15032	s.DBClusterOptionGroupName = &v
15033	return s
15034}
15035
15036// SetStatus sets the Status field's value.
15037func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
15038	s.Status = &v
15039	return s
15040}
15041
15042// Contains the details of an Amazon RDS DB cluster parameter group.
15043//
15044// This data type is used as a response element in the DescribeDBClusterParameterGroups
15045// action.
15046type DBClusterParameterGroup struct {
15047	_ struct{} `type:"structure"`
15048
15049	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
15050	DBClusterParameterGroupArn *string `type:"string"`
15051
15052	// Provides the name of the DB cluster parameter group.
15053	DBClusterParameterGroupName *string `type:"string"`
15054
15055	// Provides the name of the DB parameter group family that this DB cluster parameter
15056	// group is compatible with.
15057	DBParameterGroupFamily *string `type:"string"`
15058
15059	// Provides the customer-specified description for this DB cluster parameter
15060	// group.
15061	Description *string `type:"string"`
15062}
15063
15064// String returns the string representation
15065func (s DBClusterParameterGroup) String() string {
15066	return awsutil.Prettify(s)
15067}
15068
15069// GoString returns the string representation
15070func (s DBClusterParameterGroup) GoString() string {
15071	return s.String()
15072}
15073
15074// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
15075func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
15076	s.DBClusterParameterGroupArn = &v
15077	return s
15078}
15079
15080// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
15081func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
15082	s.DBClusterParameterGroupName = &v
15083	return s
15084}
15085
15086// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
15087func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
15088	s.DBParameterGroupFamily = &v
15089	return s
15090}
15091
15092// SetDescription sets the Description field's value.
15093func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
15094	s.Description = &v
15095	return s
15096}
15097
15098type DBClusterParameterGroupNameMessage struct {
15099	_ struct{} `type:"structure"`
15100
15101	// The name of the DB cluster parameter group.
15102	//
15103	// Constraints:
15104	//
15105	//    * Must be 1 to 255 letters or numbers.
15106	//
15107	//    * First character must be a letter
15108	//
15109	//    * Cannot end with a hyphen or contain two consecutive hyphens
15110	//
15111	// This value is stored as a lowercase string.
15112	DBClusterParameterGroupName *string `type:"string"`
15113}
15114
15115// String returns the string representation
15116func (s DBClusterParameterGroupNameMessage) String() string {
15117	return awsutil.Prettify(s)
15118}
15119
15120// GoString returns the string representation
15121func (s DBClusterParameterGroupNameMessage) GoString() string {
15122	return s.String()
15123}
15124
15125// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
15126func (s *DBClusterParameterGroupNameMessage) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroupNameMessage {
15127	s.DBClusterParameterGroupName = &v
15128	return s
15129}
15130
15131// Describes an AWS Identity and Access Management (IAM) role that is associated
15132// with a DB cluster.
15133type DBClusterRole struct {
15134	_ struct{} `type:"structure"`
15135
15136	FeatureName *string `type:"string"`
15137
15138	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
15139	// DB cluster.
15140	RoleArn *string `type:"string"`
15141
15142	// Describes the state of association between the IAM role and the DB cluster.
15143	// The Status property returns one of the following values:
15144	//
15145	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
15146	//    be used to access other AWS services on your behalf.
15147	//
15148	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
15149	//
15150	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
15151	//    DB cluster is unable to assume the IAM role in order to access other AWS
15152	//    services on your behalf.
15153	Status *string `type:"string"`
15154}
15155
15156// String returns the string representation
15157func (s DBClusterRole) String() string {
15158	return awsutil.Prettify(s)
15159}
15160
15161// GoString returns the string representation
15162func (s DBClusterRole) GoString() string {
15163	return s.String()
15164}
15165
15166// SetFeatureName sets the FeatureName field's value.
15167func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
15168	s.FeatureName = &v
15169	return s
15170}
15171
15172// SetRoleArn sets the RoleArn field's value.
15173func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
15174	s.RoleArn = &v
15175	return s
15176}
15177
15178// SetStatus sets the Status field's value.
15179func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
15180	s.Status = &v
15181	return s
15182}
15183
15184// Contains the details for an Amazon RDS DB cluster snapshot
15185//
15186// This data type is used as a response element in the DescribeDBClusterSnapshots
15187// action.
15188type DBClusterSnapshot struct {
15189	_ struct{} `type:"structure"`
15190
15191	// Specifies the allocated storage size in gibibytes (GiB).
15192	AllocatedStorage *int64 `type:"integer"`
15193
15194	// Provides the list of EC2 Availability Zones that instances in the DB cluster
15195	// snapshot can be restored in.
15196	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
15197
15198	// Specifies the time when the DB cluster was created, in Universal Coordinated
15199	// Time (UTC).
15200	ClusterCreateTime *time.Time `type:"timestamp"`
15201
15202	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
15203	// snapshot was created from.
15204	DBClusterIdentifier *string `type:"string"`
15205
15206	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
15207	DBClusterSnapshotArn *string `type:"string"`
15208
15209	// Specifies the identifier for the DB cluster snapshot.
15210	DBClusterSnapshotIdentifier *string `type:"string"`
15211
15212	// Specifies the name of the database engine.
15213	Engine *string `type:"string"`
15214
15215	// Provides the version of the database engine for this DB cluster snapshot.
15216	EngineVersion *string `type:"string"`
15217
15218	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
15219	// accounts is enabled, and otherwise false.
15220	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
15221
15222	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
15223	// DB cluster snapshot.
15224	KmsKeyId *string `type:"string"`
15225
15226	// Provides the license model information for this DB cluster snapshot.
15227	LicenseModel *string `type:"string"`
15228
15229	// Provides the master username for the DB cluster snapshot.
15230	MasterUsername *string `type:"string"`
15231
15232	// Specifies the percentage of the estimated data that has been transferred.
15233	PercentProgress *int64 `type:"integer"`
15234
15235	// Specifies the port that the DB cluster was listening on at the time of the
15236	// snapshot.
15237	Port *int64 `type:"integer"`
15238
15239	// Provides the time when the snapshot was taken, in Universal Coordinated Time
15240	// (UTC).
15241	SnapshotCreateTime *time.Time `type:"timestamp"`
15242
15243	// Provides the type of the DB cluster snapshot.
15244	SnapshotType *string `type:"string"`
15245
15246	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
15247	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
15248	// a null value.
15249	SourceDBClusterSnapshotArn *string `type:"string"`
15250
15251	// Specifies the status of this DB cluster snapshot.
15252	Status *string `type:"string"`
15253
15254	// Specifies whether the DB cluster snapshot is encrypted.
15255	StorageEncrypted *bool `type:"boolean"`
15256
15257	// Provides the VPC ID associated with the DB cluster snapshot.
15258	VpcId *string `type:"string"`
15259}
15260
15261// String returns the string representation
15262func (s DBClusterSnapshot) String() string {
15263	return awsutil.Prettify(s)
15264}
15265
15266// GoString returns the string representation
15267func (s DBClusterSnapshot) GoString() string {
15268	return s.String()
15269}
15270
15271// SetAllocatedStorage sets the AllocatedStorage field's value.
15272func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
15273	s.AllocatedStorage = &v
15274	return s
15275}
15276
15277// SetAvailabilityZones sets the AvailabilityZones field's value.
15278func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
15279	s.AvailabilityZones = v
15280	return s
15281}
15282
15283// SetClusterCreateTime sets the ClusterCreateTime field's value.
15284func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
15285	s.ClusterCreateTime = &v
15286	return s
15287}
15288
15289// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15290func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
15291	s.DBClusterIdentifier = &v
15292	return s
15293}
15294
15295// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
15296func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
15297	s.DBClusterSnapshotArn = &v
15298	return s
15299}
15300
15301// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
15302func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
15303	s.DBClusterSnapshotIdentifier = &v
15304	return s
15305}
15306
15307// SetEngine sets the Engine field's value.
15308func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
15309	s.Engine = &v
15310	return s
15311}
15312
15313// SetEngineVersion sets the EngineVersion field's value.
15314func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
15315	s.EngineVersion = &v
15316	return s
15317}
15318
15319// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
15320func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
15321	s.IAMDatabaseAuthenticationEnabled = &v
15322	return s
15323}
15324
15325// SetKmsKeyId sets the KmsKeyId field's value.
15326func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
15327	s.KmsKeyId = &v
15328	return s
15329}
15330
15331// SetLicenseModel sets the LicenseModel field's value.
15332func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
15333	s.LicenseModel = &v
15334	return s
15335}
15336
15337// SetMasterUsername sets the MasterUsername field's value.
15338func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
15339	s.MasterUsername = &v
15340	return s
15341}
15342
15343// SetPercentProgress sets the PercentProgress field's value.
15344func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
15345	s.PercentProgress = &v
15346	return s
15347}
15348
15349// SetPort sets the Port field's value.
15350func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
15351	s.Port = &v
15352	return s
15353}
15354
15355// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
15356func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
15357	s.SnapshotCreateTime = &v
15358	return s
15359}
15360
15361// SetSnapshotType sets the SnapshotType field's value.
15362func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
15363	s.SnapshotType = &v
15364	return s
15365}
15366
15367// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
15368func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
15369	s.SourceDBClusterSnapshotArn = &v
15370	return s
15371}
15372
15373// SetStatus sets the Status field's value.
15374func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
15375	s.Status = &v
15376	return s
15377}
15378
15379// SetStorageEncrypted sets the StorageEncrypted field's value.
15380func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
15381	s.StorageEncrypted = &v
15382	return s
15383}
15384
15385// SetVpcId sets the VpcId field's value.
15386func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
15387	s.VpcId = &v
15388	return s
15389}
15390
15391// Contains the name and values of a manual DB cluster snapshot attribute.
15392//
15393// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
15394// to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute
15395// API action.
15396type DBClusterSnapshotAttribute struct {
15397	_ struct{} `type:"structure"`
15398
15399	// The name of the manual DB cluster snapshot attribute.
15400	//
15401	// The attribute named restore refers to the list of AWS accounts that have
15402	// permission to copy or restore the manual DB cluster snapshot. For more information,
15403	// see the ModifyDBClusterSnapshotAttribute API action.
15404	AttributeName *string `type:"string"`
15405
15406	// The value(s) for the manual DB cluster snapshot attribute.
15407	//
15408	// If the AttributeName field is set to restore, then this element returns a
15409	// list of IDs of the AWS accounts that are authorized to copy or restore the
15410	// manual DB cluster snapshot. If a value of all is in the list, then the manual
15411	// DB cluster snapshot is public and available for any AWS account to copy or
15412	// restore.
15413	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
15414}
15415
15416// String returns the string representation
15417func (s DBClusterSnapshotAttribute) String() string {
15418	return awsutil.Prettify(s)
15419}
15420
15421// GoString returns the string representation
15422func (s DBClusterSnapshotAttribute) GoString() string {
15423	return s.String()
15424}
15425
15426// SetAttributeName sets the AttributeName field's value.
15427func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
15428	s.AttributeName = &v
15429	return s
15430}
15431
15432// SetAttributeValues sets the AttributeValues field's value.
15433func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
15434	s.AttributeValues = v
15435	return s
15436}
15437
15438// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
15439// API action.
15440//
15441// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
15442// to copy or restore a manual DB cluster snapshot. For more information, see
15443// the ModifyDBClusterSnapshotAttribute API action.
15444type DBClusterSnapshotAttributesResult struct {
15445	_ struct{} `type:"structure"`
15446
15447	// The list of attributes and values for the manual DB cluster snapshot.
15448	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
15449
15450	// The identifier of the manual DB cluster snapshot that the attributes apply
15451	// to.
15452	DBClusterSnapshotIdentifier *string `type:"string"`
15453}
15454
15455// String returns the string representation
15456func (s DBClusterSnapshotAttributesResult) String() string {
15457	return awsutil.Prettify(s)
15458}
15459
15460// GoString returns the string representation
15461func (s DBClusterSnapshotAttributesResult) GoString() string {
15462	return s.String()
15463}
15464
15465// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
15466func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
15467	s.DBClusterSnapshotAttributes = v
15468	return s
15469}
15470
15471// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
15472func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
15473	s.DBClusterSnapshotIdentifier = &v
15474	return s
15475}
15476
15477// This data type is used as a response element in the action DescribeDBEngineVersions.
15478type DBEngineVersion struct {
15479	_ struct{} `type:"structure"`
15480
15481	// The description of the database engine.
15482	DBEngineDescription *string `type:"string"`
15483
15484	// The description of the database engine version.
15485	DBEngineVersionDescription *string `type:"string"`
15486
15487	// The name of the DB parameter group family for the database engine.
15488	DBParameterGroupFamily *string `type:"string"`
15489
15490	// The default character set for new instances of this engine version, if the
15491	// CharacterSetName parameter of the CreateDBInstance API is not specified.
15492	DefaultCharacterSet *CharacterSet `type:"structure"`
15493
15494	// The name of the database engine.
15495	Engine *string `type:"string"`
15496
15497	// The version number of the database engine.
15498	EngineVersion *string `type:"string"`
15499
15500	// The types of logs that the database engine has available for export to CloudWatch
15501	// Logs.
15502	ExportableLogTypes []*string `type:"list"`
15503
15504	// A list of the character sets supported by this engine for the CharacterSetName
15505	// parameter of the CreateDBInstance action.
15506	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
15507
15508	// A list of the supported DB engine modes.
15509	SupportedEngineModes []*string `type:"list"`
15510
15511	// A list of the time zones supported by this engine for the Timezone parameter
15512	// of the CreateDBInstance action.
15513	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
15514
15515	// A value that indicates whether the engine version supports exporting the
15516	// log types specified by ExportableLogTypes to CloudWatch Logs.
15517	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
15518
15519	// Indicates whether the database engine version supports read replicas.
15520	SupportsReadReplica *bool `type:"boolean"`
15521
15522	// A list of engine versions that this database engine version can be upgraded
15523	// to.
15524	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
15525}
15526
15527// String returns the string representation
15528func (s DBEngineVersion) String() string {
15529	return awsutil.Prettify(s)
15530}
15531
15532// GoString returns the string representation
15533func (s DBEngineVersion) GoString() string {
15534	return s.String()
15535}
15536
15537// SetDBEngineDescription sets the DBEngineDescription field's value.
15538func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
15539	s.DBEngineDescription = &v
15540	return s
15541}
15542
15543// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
15544func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
15545	s.DBEngineVersionDescription = &v
15546	return s
15547}
15548
15549// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
15550func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
15551	s.DBParameterGroupFamily = &v
15552	return s
15553}
15554
15555// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
15556func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
15557	s.DefaultCharacterSet = v
15558	return s
15559}
15560
15561// SetEngine sets the Engine field's value.
15562func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
15563	s.Engine = &v
15564	return s
15565}
15566
15567// SetEngineVersion sets the EngineVersion field's value.
15568func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
15569	s.EngineVersion = &v
15570	return s
15571}
15572
15573// SetExportableLogTypes sets the ExportableLogTypes field's value.
15574func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
15575	s.ExportableLogTypes = v
15576	return s
15577}
15578
15579// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
15580func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
15581	s.SupportedCharacterSets = v
15582	return s
15583}
15584
15585// SetSupportedEngineModes sets the SupportedEngineModes field's value.
15586func (s *DBEngineVersion) SetSupportedEngineModes(v []*string) *DBEngineVersion {
15587	s.SupportedEngineModes = v
15588	return s
15589}
15590
15591// SetSupportedTimezones sets the SupportedTimezones field's value.
15592func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
15593	s.SupportedTimezones = v
15594	return s
15595}
15596
15597// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
15598func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
15599	s.SupportsLogExportsToCloudwatchLogs = &v
15600	return s
15601}
15602
15603// SetSupportsReadReplica sets the SupportsReadReplica field's value.
15604func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
15605	s.SupportsReadReplica = &v
15606	return s
15607}
15608
15609// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
15610func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
15611	s.ValidUpgradeTarget = v
15612	return s
15613}
15614
15615// Contains the details of an Amazon RDS DB instance.
15616//
15617// This data type is used as a response element in the DescribeDBInstances action.
15618type DBInstance struct {
15619	_ struct{} `type:"structure"`
15620
15621	// Specifies the allocated storage size specified in gibibytes.
15622	AllocatedStorage *int64 `type:"integer"`
15623
15624	// Indicates that minor version patches are applied automatically.
15625	AutoMinorVersionUpgrade *bool `type:"boolean"`
15626
15627	// Specifies the name of the Availability Zone the DB instance is located in.
15628	AvailabilityZone *string `type:"string"`
15629
15630	// Specifies the number of days for which automatic DB snapshots are retained.
15631	BackupRetentionPeriod *int64 `type:"integer"`
15632
15633	// The identifier of the CA certificate for this DB instance.
15634	CACertificateIdentifier *string `type:"string"`
15635
15636	// If present, specifies the name of the character set that this instance is
15637	// associated with.
15638	CharacterSetName *string `type:"string"`
15639
15640	// Specifies whether tags are copied from the DB instance to snapshots of the
15641	// DB instance.
15642	CopyTagsToSnapshot *bool `type:"boolean"`
15643
15644	// If the DB instance is a member of a DB cluster, contains the name of the
15645	// DB cluster that the DB instance is a member of.
15646	DBClusterIdentifier *string `type:"string"`
15647
15648	// The Amazon Resource Name (ARN) for the DB instance.
15649	DBInstanceArn *string `type:"string"`
15650
15651	// Contains the name of the compute and memory capacity class of the DB instance.
15652	DBInstanceClass *string `type:"string"`
15653
15654	// Contains a user-supplied database identifier. This identifier is the unique
15655	// key that identifies a DB instance.
15656	DBInstanceIdentifier *string `type:"string"`
15657
15658	// Specifies the current state of this database.
15659	DBInstanceStatus *string `type:"string"`
15660
15661	// The meaning of this parameter differs according to the database engine you
15662	// use. For example, this value returns MySQL, MariaDB, or PostgreSQL information
15663	// when returning values from CreateDBInstanceReadReplica since Read Replicas
15664	// are only supported for these engines.
15665	//
15666	// MySQL, MariaDB, SQL Server, PostgreSQL
15667	//
15668	// Contains the name of the initial database of this instance that was provided
15669	// at create time, if one was specified when the DB instance was created. This
15670	// same name is returned for the life of the DB instance.
15671	//
15672	// Type: String
15673	//
15674	// Oracle
15675	//
15676	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
15677	// when the returned parameters do not apply to an Oracle DB instance.
15678	DBName *string `type:"string"`
15679
15680	// Provides the list of DB parameter groups applied to this DB instance.
15681	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
15682
15683	// Provides List of DB security group elements containing only DBSecurityGroup.Name
15684	// and DBSecurityGroup.Status subelements.
15685	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
15686
15687	// Specifies information on the subnet group associated with the DB instance,
15688	// including the name, description, and subnets in the subnet group.
15689	DBSubnetGroup *DBSubnetGroup `type:"structure"`
15690
15691	// Specifies the port that the DB instance listens on. If the DB instance is
15692	// part of a DB cluster, this can be a different port than the DB cluster port.
15693	DbInstancePort *int64 `type:"integer"`
15694
15695	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
15696	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
15697	// instance is accessed.
15698	DbiResourceId *string `type:"string"`
15699
15700	// The Active Directory Domain membership records associated with the DB instance.
15701	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
15702
15703	// A list of log types that this DB instance is configured to export to CloudWatch
15704	// Logs.
15705	//
15706	// Log types vary by DB engine. For information about the log types for each
15707	// DB engine, see Amazon RDS Database Log Files (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)
15708	// in the Amazon RDS User Guide.
15709	EnabledCloudwatchLogsExports []*string `type:"list"`
15710
15711	// Specifies the connection endpoint.
15712	Endpoint *Endpoint `type:"structure"`
15713
15714	// Provides the name of the database engine to be used for this DB instance.
15715	Engine *string `type:"string"`
15716
15717	// Indicates the database engine version.
15718	EngineVersion *string `type:"string"`
15719
15720	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
15721	// receives the Enhanced Monitoring metrics data for the DB instance.
15722	EnhancedMonitoringResourceArn *string `type:"string"`
15723
15724	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
15725	// accounts is enabled, and otherwise false.
15726	//
15727	// IAM database authentication can be enabled for the following database engines
15728	//
15729	//    * For MySQL 5.6, minor version 5.6.34 or higher
15730	//
15731	//    * For MySQL 5.7, minor version 5.7.16 or higher
15732	//
15733	//    * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,
15734	//    see DBCluster Type.
15735	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
15736
15737	// Provides the date and time the DB instance was created.
15738	InstanceCreateTime *time.Time `type:"timestamp"`
15739
15740	// Specifies the Provisioned IOPS (I/O operations per second) value.
15741	Iops *int64 `type:"integer"`
15742
15743	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
15744	// DB instance.
15745	KmsKeyId *string `type:"string"`
15746
15747	// Specifies the latest time to which a database can be restored with point-in-time
15748	// restore.
15749	LatestRestorableTime *time.Time `type:"timestamp"`
15750
15751	// License model information for this DB instance.
15752	LicenseModel *string `type:"string"`
15753
15754	// Contains the master username for the DB instance.
15755	MasterUsername *string `type:"string"`
15756
15757	// The interval, in seconds, between points when Enhanced Monitoring metrics
15758	// are collected for the DB instance.
15759	MonitoringInterval *int64 `type:"integer"`
15760
15761	// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics
15762	// to Amazon CloudWatch Logs.
15763	MonitoringRoleArn *string `type:"string"`
15764
15765	// Specifies if the DB instance is a Multi-AZ deployment.
15766	MultiAZ *bool `type:"boolean"`
15767
15768	// Provides the list of option group memberships for this DB instance.
15769	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
15770
15771	// Specifies that changes to the DB instance are pending. This element is only
15772	// included when changes are pending. Specific changes are identified by subelements.
15773	PendingModifiedValues *PendingModifiedValues `type:"structure"`
15774
15775	// True if Performance Insights is enabled for the DB instance, and otherwise
15776	// false.
15777	PerformanceInsightsEnabled *bool `type:"boolean"`
15778
15779	// The AWS KMS key identifier for encryption of Performance Insights data. The
15780	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
15781	// KMS key alias for the KMS encryption key.
15782	PerformanceInsightsKMSKeyId *string `type:"string"`
15783
15784	// The amount of time, in days, to retain Performance Insights data. Valid values
15785	// are 7 or 731 (2 years).
15786	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
15787
15788	// Specifies the daily time range during which automated backups are created
15789	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
15790	PreferredBackupWindow *string `type:"string"`
15791
15792	// Specifies the weekly time range during which system maintenance can occur,
15793	// in Universal Coordinated Time (UTC).
15794	PreferredMaintenanceWindow *string `type:"string"`
15795
15796	// The number of CPU cores and the number of threads per core for the DB instance
15797	// class of the DB instance.
15798	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
15799
15800	// A value that specifies the order in which an Aurora Replica is promoted to
15801	// the primary instance after a failure of the existing primary instance. For
15802	// more information, see  Fault Tolerance for an Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance).
15803	PromotionTier *int64 `type:"integer"`
15804
15805	// Specifies the accessibility options for the DB instance. A value of true
15806	// specifies an Internet-facing instance with a publicly resolvable DNS name,
15807	// which resolves to a public IP address. A value of false specifies an internal
15808	// instance with a DNS name that resolves to a private IP address.
15809	PubliclyAccessible *bool `type:"boolean"`
15810
15811	// Contains one or more identifiers of Aurora DB clusters that are Read Replicas
15812	// of this DB instance.
15813	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
15814
15815	// Contains one or more identifiers of the Read Replicas associated with this
15816	// DB instance.
15817	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
15818
15819	// Contains the identifier of the source DB instance if this DB instance is
15820	// a Read Replica.
15821	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
15822
15823	// If present, specifies the name of the secondary Availability Zone for a DB
15824	// instance with multi-AZ support.
15825	SecondaryAvailabilityZone *string `type:"string"`
15826
15827	// The status of a Read Replica. If the instance is not a Read Replica, this
15828	// is blank.
15829	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
15830
15831	// Specifies whether the DB instance is encrypted.
15832	StorageEncrypted *bool `type:"boolean"`
15833
15834	// Specifies the storage type associated with DB instance.
15835	StorageType *string `type:"string"`
15836
15837	// The ARN from the key store with which the instance is associated for TDE
15838	// encryption.
15839	TdeCredentialArn *string `type:"string"`
15840
15841	// The time zone of the DB instance. In most cases, the Timezone element is
15842	// empty. Timezone content appears only for Microsoft SQL Server DB instances
15843	// that were created with a time zone specified.
15844	Timezone *string `type:"string"`
15845
15846	// Provides a list of VPC security group elements that the DB instance belongs
15847	// to.
15848	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
15849}
15850
15851// String returns the string representation
15852func (s DBInstance) String() string {
15853	return awsutil.Prettify(s)
15854}
15855
15856// GoString returns the string representation
15857func (s DBInstance) GoString() string {
15858	return s.String()
15859}
15860
15861// SetAllocatedStorage sets the AllocatedStorage field's value.
15862func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
15863	s.AllocatedStorage = &v
15864	return s
15865}
15866
15867// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
15868func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
15869	s.AutoMinorVersionUpgrade = &v
15870	return s
15871}
15872
15873// SetAvailabilityZone sets the AvailabilityZone field's value.
15874func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
15875	s.AvailabilityZone = &v
15876	return s
15877}
15878
15879// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
15880func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
15881	s.BackupRetentionPeriod = &v
15882	return s
15883}
15884
15885// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
15886func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
15887	s.CACertificateIdentifier = &v
15888	return s
15889}
15890
15891// SetCharacterSetName sets the CharacterSetName field's value.
15892func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
15893	s.CharacterSetName = &v
15894	return s
15895}
15896
15897// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
15898func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
15899	s.CopyTagsToSnapshot = &v
15900	return s
15901}
15902
15903// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15904func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
15905	s.DBClusterIdentifier = &v
15906	return s
15907}
15908
15909// SetDBInstanceArn sets the DBInstanceArn field's value.
15910func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
15911	s.DBInstanceArn = &v
15912	return s
15913}
15914
15915// SetDBInstanceClass sets the DBInstanceClass field's value.
15916func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
15917	s.DBInstanceClass = &v
15918	return s
15919}
15920
15921// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15922func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
15923	s.DBInstanceIdentifier = &v
15924	return s
15925}
15926
15927// SetDBInstanceStatus sets the DBInstanceStatus field's value.
15928func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
15929	s.DBInstanceStatus = &v
15930	return s
15931}
15932
15933// SetDBName sets the DBName field's value.
15934func (s *DBInstance) SetDBName(v string) *DBInstance {
15935	s.DBName = &v
15936	return s
15937}
15938
15939// SetDBParameterGroups sets the DBParameterGroups field's value.
15940func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
15941	s.DBParameterGroups = v
15942	return s
15943}
15944
15945// SetDBSecurityGroups sets the DBSecurityGroups field's value.
15946func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
15947	s.DBSecurityGroups = v
15948	return s
15949}
15950
15951// SetDBSubnetGroup sets the DBSubnetGroup field's value.
15952func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
15953	s.DBSubnetGroup = v
15954	return s
15955}
15956
15957// SetDbInstancePort sets the DbInstancePort field's value.
15958func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
15959	s.DbInstancePort = &v
15960	return s
15961}
15962
15963// SetDbiResourceId sets the DbiResourceId field's value.
15964func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
15965	s.DbiResourceId = &v
15966	return s
15967}
15968
15969// SetDomainMemberships sets the DomainMemberships field's value.
15970func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
15971	s.DomainMemberships = v
15972	return s
15973}
15974
15975// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
15976func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
15977	s.EnabledCloudwatchLogsExports = v
15978	return s
15979}
15980
15981// SetEndpoint sets the Endpoint field's value.
15982func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
15983	s.Endpoint = v
15984	return s
15985}
15986
15987// SetEngine sets the Engine field's value.
15988func (s *DBInstance) SetEngine(v string) *DBInstance {
15989	s.Engine = &v
15990	return s
15991}
15992
15993// SetEngineVersion sets the EngineVersion field's value.
15994func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
15995	s.EngineVersion = &v
15996	return s
15997}
15998
15999// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
16000func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
16001	s.EnhancedMonitoringResourceArn = &v
16002	return s
16003}
16004
16005// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
16006func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
16007	s.IAMDatabaseAuthenticationEnabled = &v
16008	return s
16009}
16010
16011// SetInstanceCreateTime sets the InstanceCreateTime field's value.
16012func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
16013	s.InstanceCreateTime = &v
16014	return s
16015}
16016
16017// SetIops sets the Iops field's value.
16018func (s *DBInstance) SetIops(v int64) *DBInstance {
16019	s.Iops = &v
16020	return s
16021}
16022
16023// SetKmsKeyId sets the KmsKeyId field's value.
16024func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
16025	s.KmsKeyId = &v
16026	return s
16027}
16028
16029// SetLatestRestorableTime sets the LatestRestorableTime field's value.
16030func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
16031	s.LatestRestorableTime = &v
16032	return s
16033}
16034
16035// SetLicenseModel sets the LicenseModel field's value.
16036func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
16037	s.LicenseModel = &v
16038	return s
16039}
16040
16041// SetMasterUsername sets the MasterUsername field's value.
16042func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
16043	s.MasterUsername = &v
16044	return s
16045}
16046
16047// SetMonitoringInterval sets the MonitoringInterval field's value.
16048func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
16049	s.MonitoringInterval = &v
16050	return s
16051}
16052
16053// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
16054func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
16055	s.MonitoringRoleArn = &v
16056	return s
16057}
16058
16059// SetMultiAZ sets the MultiAZ field's value.
16060func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
16061	s.MultiAZ = &v
16062	return s
16063}
16064
16065// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
16066func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
16067	s.OptionGroupMemberships = v
16068	return s
16069}
16070
16071// SetPendingModifiedValues sets the PendingModifiedValues field's value.
16072func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
16073	s.PendingModifiedValues = v
16074	return s
16075}
16076
16077// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
16078func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
16079	s.PerformanceInsightsEnabled = &v
16080	return s
16081}
16082
16083// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
16084func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
16085	s.PerformanceInsightsKMSKeyId = &v
16086	return s
16087}
16088
16089// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
16090func (s *DBInstance) SetPerformanceInsightsRetentionPeriod(v int64) *DBInstance {
16091	s.PerformanceInsightsRetentionPeriod = &v
16092	return s
16093}
16094
16095// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
16096func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
16097	s.PreferredBackupWindow = &v
16098	return s
16099}
16100
16101// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
16102func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
16103	s.PreferredMaintenanceWindow = &v
16104	return s
16105}
16106
16107// SetProcessorFeatures sets the ProcessorFeatures field's value.
16108func (s *DBInstance) SetProcessorFeatures(v []*ProcessorFeature) *DBInstance {
16109	s.ProcessorFeatures = v
16110	return s
16111}
16112
16113// SetPromotionTier sets the PromotionTier field's value.
16114func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
16115	s.PromotionTier = &v
16116	return s
16117}
16118
16119// SetPubliclyAccessible sets the PubliclyAccessible field's value.
16120func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
16121	s.PubliclyAccessible = &v
16122	return s
16123}
16124
16125// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
16126func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
16127	s.ReadReplicaDBClusterIdentifiers = v
16128	return s
16129}
16130
16131// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
16132func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
16133	s.ReadReplicaDBInstanceIdentifiers = v
16134	return s
16135}
16136
16137// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
16138func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
16139	s.ReadReplicaSourceDBInstanceIdentifier = &v
16140	return s
16141}
16142
16143// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
16144func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
16145	s.SecondaryAvailabilityZone = &v
16146	return s
16147}
16148
16149// SetStatusInfos sets the StatusInfos field's value.
16150func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
16151	s.StatusInfos = v
16152	return s
16153}
16154
16155// SetStorageEncrypted sets the StorageEncrypted field's value.
16156func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
16157	s.StorageEncrypted = &v
16158	return s
16159}
16160
16161// SetStorageType sets the StorageType field's value.
16162func (s *DBInstance) SetStorageType(v string) *DBInstance {
16163	s.StorageType = &v
16164	return s
16165}
16166
16167// SetTdeCredentialArn sets the TdeCredentialArn field's value.
16168func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
16169	s.TdeCredentialArn = &v
16170	return s
16171}
16172
16173// SetTimezone sets the Timezone field's value.
16174func (s *DBInstance) SetTimezone(v string) *DBInstance {
16175	s.Timezone = &v
16176	return s
16177}
16178
16179// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
16180func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
16181	s.VpcSecurityGroups = v
16182	return s
16183}
16184
16185// Provides a list of status information for a DB instance.
16186type DBInstanceStatusInfo struct {
16187	_ struct{} `type:"structure"`
16188
16189	// Details of the error if there is an error for the instance. If the instance
16190	// is not in an error state, this value is blank.
16191	Message *string `type:"string"`
16192
16193	// Boolean value that is true if the instance is operating normally, or false
16194	// if the instance is in an error state.
16195	Normal *bool `type:"boolean"`
16196
16197	// Status of the DB instance. For a StatusType of read replica, the values can
16198	// be replicating, replication stop point set, replication stop point reached,
16199	// error, stopped, or terminated.
16200	Status *string `type:"string"`
16201
16202	// This value is currently "read replication."
16203	StatusType *string `type:"string"`
16204}
16205
16206// String returns the string representation
16207func (s DBInstanceStatusInfo) String() string {
16208	return awsutil.Prettify(s)
16209}
16210
16211// GoString returns the string representation
16212func (s DBInstanceStatusInfo) GoString() string {
16213	return s.String()
16214}
16215
16216// SetMessage sets the Message field's value.
16217func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
16218	s.Message = &v
16219	return s
16220}
16221
16222// SetNormal sets the Normal field's value.
16223func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
16224	s.Normal = &v
16225	return s
16226}
16227
16228// SetStatus sets the Status field's value.
16229func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
16230	s.Status = &v
16231	return s
16232}
16233
16234// SetStatusType sets the StatusType field's value.
16235func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
16236	s.StatusType = &v
16237	return s
16238}
16239
16240// Contains the details of an Amazon RDS DB parameter group.
16241//
16242// This data type is used as a response element in the DescribeDBParameterGroups
16243// action.
16244type DBParameterGroup struct {
16245	_ struct{} `type:"structure"`
16246
16247	// The Amazon Resource Name (ARN) for the DB parameter group.
16248	DBParameterGroupArn *string `type:"string"`
16249
16250	// Provides the name of the DB parameter group family that this DB parameter
16251	// group is compatible with.
16252	DBParameterGroupFamily *string `type:"string"`
16253
16254	// Provides the name of the DB parameter group.
16255	DBParameterGroupName *string `type:"string"`
16256
16257	// Provides the customer-specified description for this DB parameter group.
16258	Description *string `type:"string"`
16259}
16260
16261// String returns the string representation
16262func (s DBParameterGroup) String() string {
16263	return awsutil.Prettify(s)
16264}
16265
16266// GoString returns the string representation
16267func (s DBParameterGroup) GoString() string {
16268	return s.String()
16269}
16270
16271// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
16272func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
16273	s.DBParameterGroupArn = &v
16274	return s
16275}
16276
16277// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
16278func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
16279	s.DBParameterGroupFamily = &v
16280	return s
16281}
16282
16283// SetDBParameterGroupName sets the DBParameterGroupName field's value.
16284func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
16285	s.DBParameterGroupName = &v
16286	return s
16287}
16288
16289// SetDescription sets the Description field's value.
16290func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
16291	s.Description = &v
16292	return s
16293}
16294
16295// Contains the result of a successful invocation of the ModifyDBParameterGroup
16296// or ResetDBParameterGroup action.
16297type DBParameterGroupNameMessage struct {
16298	_ struct{} `type:"structure"`
16299
16300	// Provides the name of the DB parameter group.
16301	DBParameterGroupName *string `type:"string"`
16302}
16303
16304// String returns the string representation
16305func (s DBParameterGroupNameMessage) String() string {
16306	return awsutil.Prettify(s)
16307}
16308
16309// GoString returns the string representation
16310func (s DBParameterGroupNameMessage) GoString() string {
16311	return s.String()
16312}
16313
16314// SetDBParameterGroupName sets the DBParameterGroupName field's value.
16315func (s *DBParameterGroupNameMessage) SetDBParameterGroupName(v string) *DBParameterGroupNameMessage {
16316	s.DBParameterGroupName = &v
16317	return s
16318}
16319
16320// The status of the DB parameter group.
16321//
16322// This data type is used as a response element in the following actions:
16323//
16324//    * CreateDBInstance
16325//
16326//    * CreateDBInstanceReadReplica
16327//
16328//    * DeleteDBInstance
16329//
16330//    * ModifyDBInstance
16331//
16332//    * RebootDBInstance
16333//
16334//    * RestoreDBInstanceFromDBSnapshot
16335type DBParameterGroupStatus struct {
16336	_ struct{} `type:"structure"`
16337
16338	// The name of the DP parameter group.
16339	DBParameterGroupName *string `type:"string"`
16340
16341	// The status of parameter updates.
16342	ParameterApplyStatus *string `type:"string"`
16343}
16344
16345// String returns the string representation
16346func (s DBParameterGroupStatus) String() string {
16347	return awsutil.Prettify(s)
16348}
16349
16350// GoString returns the string representation
16351func (s DBParameterGroupStatus) GoString() string {
16352	return s.String()
16353}
16354
16355// SetDBParameterGroupName sets the DBParameterGroupName field's value.
16356func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
16357	s.DBParameterGroupName = &v
16358	return s
16359}
16360
16361// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
16362func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
16363	s.ParameterApplyStatus = &v
16364	return s
16365}
16366
16367// Contains the details for an Amazon RDS DB security group.
16368//
16369// This data type is used as a response element in the DescribeDBSecurityGroups
16370// action.
16371type DBSecurityGroup struct {
16372	_ struct{} `type:"structure"`
16373
16374	// The Amazon Resource Name (ARN) for the DB security group.
16375	DBSecurityGroupArn *string `type:"string"`
16376
16377	// Provides the description of the DB security group.
16378	DBSecurityGroupDescription *string `type:"string"`
16379
16380	// Specifies the name of the DB security group.
16381	DBSecurityGroupName *string `type:"string"`
16382
16383	// Contains a list of EC2SecurityGroup elements.
16384	EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
16385
16386	// Contains a list of IPRange elements.
16387	IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
16388
16389	// Provides the AWS ID of the owner of a specific DB security group.
16390	OwnerId *string `type:"string"`
16391
16392	// Provides the VpcId of the DB security group.
16393	VpcId *string `type:"string"`
16394}
16395
16396// String returns the string representation
16397func (s DBSecurityGroup) String() string {
16398	return awsutil.Prettify(s)
16399}
16400
16401// GoString returns the string representation
16402func (s DBSecurityGroup) GoString() string {
16403	return s.String()
16404}
16405
16406// SetDBSecurityGroupArn sets the DBSecurityGroupArn field's value.
16407func (s *DBSecurityGroup) SetDBSecurityGroupArn(v string) *DBSecurityGroup {
16408	s.DBSecurityGroupArn = &v
16409	return s
16410}
16411
16412// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
16413func (s *DBSecurityGroup) SetDBSecurityGroupDescription(v string) *DBSecurityGroup {
16414	s.DBSecurityGroupDescription = &v
16415	return s
16416}
16417
16418// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
16419func (s *DBSecurityGroup) SetDBSecurityGroupName(v string) *DBSecurityGroup {
16420	s.DBSecurityGroupName = &v
16421	return s
16422}
16423
16424// SetEC2SecurityGroups sets the EC2SecurityGroups field's value.
16425func (s *DBSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *DBSecurityGroup {
16426	s.EC2SecurityGroups = v
16427	return s
16428}
16429
16430// SetIPRanges sets the IPRanges field's value.
16431func (s *DBSecurityGroup) SetIPRanges(v []*IPRange) *DBSecurityGroup {
16432	s.IPRanges = v
16433	return s
16434}
16435
16436// SetOwnerId sets the OwnerId field's value.
16437func (s *DBSecurityGroup) SetOwnerId(v string) *DBSecurityGroup {
16438	s.OwnerId = &v
16439	return s
16440}
16441
16442// SetVpcId sets the VpcId field's value.
16443func (s *DBSecurityGroup) SetVpcId(v string) *DBSecurityGroup {
16444	s.VpcId = &v
16445	return s
16446}
16447
16448// This data type is used as a response element in the following actions:
16449//
16450//    * ModifyDBInstance
16451//
16452//    * RebootDBInstance
16453//
16454//    * RestoreDBInstanceFromDBSnapshot
16455//
16456//    * RestoreDBInstanceToPointInTime
16457type DBSecurityGroupMembership struct {
16458	_ struct{} `type:"structure"`
16459
16460	// The name of the DB security group.
16461	DBSecurityGroupName *string `type:"string"`
16462
16463	// The status of the DB security group.
16464	Status *string `type:"string"`
16465}
16466
16467// String returns the string representation
16468func (s DBSecurityGroupMembership) String() string {
16469	return awsutil.Prettify(s)
16470}
16471
16472// GoString returns the string representation
16473func (s DBSecurityGroupMembership) GoString() string {
16474	return s.String()
16475}
16476
16477// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
16478func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
16479	s.DBSecurityGroupName = &v
16480	return s
16481}
16482
16483// SetStatus sets the Status field's value.
16484func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
16485	s.Status = &v
16486	return s
16487}
16488
16489// Contains the details of an Amazon RDS DB snapshot.
16490//
16491// This data type is used as a response element in the DescribeDBSnapshots action.
16492type DBSnapshot struct {
16493	_ struct{} `type:"structure"`
16494
16495	// Specifies the allocated storage size in gibibytes (GiB).
16496	AllocatedStorage *int64 `type:"integer"`
16497
16498	// Specifies the name of the Availability Zone the DB instance was located in
16499	// at the time of the DB snapshot.
16500	AvailabilityZone *string `type:"string"`
16501
16502	// Specifies the DB instance identifier of the DB instance this DB snapshot
16503	// was created from.
16504	DBInstanceIdentifier *string `type:"string"`
16505
16506	// The Amazon Resource Name (ARN) for the DB snapshot.
16507	DBSnapshotArn *string `type:"string"`
16508
16509	// Specifies the identifier for the DB snapshot.
16510	DBSnapshotIdentifier *string `type:"string"`
16511
16512	// Specifies whether the DB snapshot is encrypted.
16513	Encrypted *bool `type:"boolean"`
16514
16515	// Specifies the name of the database engine.
16516	Engine *string `type:"string"`
16517
16518	// Specifies the version of the database engine.
16519	EngineVersion *string `type:"string"`
16520
16521	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
16522	// accounts is enabled, and otherwise false.
16523	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
16524
16525	// Specifies the time when the snapshot was taken, in Universal Coordinated
16526	// Time (UTC).
16527	InstanceCreateTime *time.Time `type:"timestamp"`
16528
16529	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB
16530	// instance at the time of the snapshot.
16531	Iops *int64 `type:"integer"`
16532
16533	// If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.
16534	KmsKeyId *string `type:"string"`
16535
16536	// License model information for the restored DB instance.
16537	LicenseModel *string `type:"string"`
16538
16539	// Provides the master username for the DB snapshot.
16540	MasterUsername *string `type:"string"`
16541
16542	// Provides the option group name for the DB snapshot.
16543	OptionGroupName *string `type:"string"`
16544
16545	// The percentage of the estimated data that has been transferred.
16546	PercentProgress *int64 `type:"integer"`
16547
16548	// Specifies the port that the database engine was listening on at the time
16549	// of the snapshot.
16550	Port *int64 `type:"integer"`
16551
16552	// The number of CPU cores and the number of threads per core for the DB instance
16553	// class of the DB instance when the DB snapshot was created.
16554	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
16555
16556	// Provides the time when the snapshot was taken, in Universal Coordinated Time
16557	// (UTC).
16558	SnapshotCreateTime *time.Time `type:"timestamp"`
16559
16560	// Provides the type of the DB snapshot.
16561	SnapshotType *string `type:"string"`
16562
16563	// The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied
16564	// from. It only has value in case of cross-customer or cross-region copy.
16565	SourceDBSnapshotIdentifier *string `type:"string"`
16566
16567	// The AWS Region that the DB snapshot was created in or copied from.
16568	SourceRegion *string `type:"string"`
16569
16570	// Specifies the status of this DB snapshot.
16571	Status *string `type:"string"`
16572
16573	// Specifies the storage type associated with DB snapshot.
16574	StorageType *string `type:"string"`
16575
16576	// The ARN from the key store with which to associate the instance for TDE encryption.
16577	TdeCredentialArn *string `type:"string"`
16578
16579	// The time zone of the DB snapshot. In most cases, the Timezone element is
16580	// empty. Timezone content appears only for snapshots taken from Microsoft SQL
16581	// Server DB instances that were created with a time zone specified.
16582	Timezone *string `type:"string"`
16583
16584	// Provides the VPC ID associated with the DB snapshot.
16585	VpcId *string `type:"string"`
16586}
16587
16588// String returns the string representation
16589func (s DBSnapshot) String() string {
16590	return awsutil.Prettify(s)
16591}
16592
16593// GoString returns the string representation
16594func (s DBSnapshot) GoString() string {
16595	return s.String()
16596}
16597
16598// SetAllocatedStorage sets the AllocatedStorage field's value.
16599func (s *DBSnapshot) SetAllocatedStorage(v int64) *DBSnapshot {
16600	s.AllocatedStorage = &v
16601	return s
16602}
16603
16604// SetAvailabilityZone sets the AvailabilityZone field's value.
16605func (s *DBSnapshot) SetAvailabilityZone(v string) *DBSnapshot {
16606	s.AvailabilityZone = &v
16607	return s
16608}
16609
16610// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
16611func (s *DBSnapshot) SetDBInstanceIdentifier(v string) *DBSnapshot {
16612	s.DBInstanceIdentifier = &v
16613	return s
16614}
16615
16616// SetDBSnapshotArn sets the DBSnapshotArn field's value.
16617func (s *DBSnapshot) SetDBSnapshotArn(v string) *DBSnapshot {
16618	s.DBSnapshotArn = &v
16619	return s
16620}
16621
16622// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
16623func (s *DBSnapshot) SetDBSnapshotIdentifier(v string) *DBSnapshot {
16624	s.DBSnapshotIdentifier = &v
16625	return s
16626}
16627
16628// SetEncrypted sets the Encrypted field's value.
16629func (s *DBSnapshot) SetEncrypted(v bool) *DBSnapshot {
16630	s.Encrypted = &v
16631	return s
16632}
16633
16634// SetEngine sets the Engine field's value.
16635func (s *DBSnapshot) SetEngine(v string) *DBSnapshot {
16636	s.Engine = &v
16637	return s
16638}
16639
16640// SetEngineVersion sets the EngineVersion field's value.
16641func (s *DBSnapshot) SetEngineVersion(v string) *DBSnapshot {
16642	s.EngineVersion = &v
16643	return s
16644}
16645
16646// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
16647func (s *DBSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBSnapshot {
16648	s.IAMDatabaseAuthenticationEnabled = &v
16649	return s
16650}
16651
16652// SetInstanceCreateTime sets the InstanceCreateTime field's value.
16653func (s *DBSnapshot) SetInstanceCreateTime(v time.Time) *DBSnapshot {
16654	s.InstanceCreateTime = &v
16655	return s
16656}
16657
16658// SetIops sets the Iops field's value.
16659func (s *DBSnapshot) SetIops(v int64) *DBSnapshot {
16660	s.Iops = &v
16661	return s
16662}
16663
16664// SetKmsKeyId sets the KmsKeyId field's value.
16665func (s *DBSnapshot) SetKmsKeyId(v string) *DBSnapshot {
16666	s.KmsKeyId = &v
16667	return s
16668}
16669
16670// SetLicenseModel sets the LicenseModel field's value.
16671func (s *DBSnapshot) SetLicenseModel(v string) *DBSnapshot {
16672	s.LicenseModel = &v
16673	return s
16674}
16675
16676// SetMasterUsername sets the MasterUsername field's value.
16677func (s *DBSnapshot) SetMasterUsername(v string) *DBSnapshot {
16678	s.MasterUsername = &v
16679	return s
16680}
16681
16682// SetOptionGroupName sets the OptionGroupName field's value.
16683func (s *DBSnapshot) SetOptionGroupName(v string) *DBSnapshot {
16684	s.OptionGroupName = &v
16685	return s
16686}
16687
16688// SetPercentProgress sets the PercentProgress field's value.
16689func (s *DBSnapshot) SetPercentProgress(v int64) *DBSnapshot {
16690	s.PercentProgress = &v
16691	return s
16692}
16693
16694// SetPort sets the Port field's value.
16695func (s *DBSnapshot) SetPort(v int64) *DBSnapshot {
16696	s.Port = &v
16697	return s
16698}
16699
16700// SetProcessorFeatures sets the ProcessorFeatures field's value.
16701func (s *DBSnapshot) SetProcessorFeatures(v []*ProcessorFeature) *DBSnapshot {
16702	s.ProcessorFeatures = v
16703	return s
16704}
16705
16706// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
16707func (s *DBSnapshot) SetSnapshotCreateTime(v time.Time) *DBSnapshot {
16708	s.SnapshotCreateTime = &v
16709	return s
16710}
16711
16712// SetSnapshotType sets the SnapshotType field's value.
16713func (s *DBSnapshot) SetSnapshotType(v string) *DBSnapshot {
16714	s.SnapshotType = &v
16715	return s
16716}
16717
16718// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
16719func (s *DBSnapshot) SetSourceDBSnapshotIdentifier(v string) *DBSnapshot {
16720	s.SourceDBSnapshotIdentifier = &v
16721	return s
16722}
16723
16724// SetSourceRegion sets the SourceRegion field's value.
16725func (s *DBSnapshot) SetSourceRegion(v string) *DBSnapshot {
16726	s.SourceRegion = &v
16727	return s
16728}
16729
16730// SetStatus sets the Status field's value.
16731func (s *DBSnapshot) SetStatus(v string) *DBSnapshot {
16732	s.Status = &v
16733	return s
16734}
16735
16736// SetStorageType sets the StorageType field's value.
16737func (s *DBSnapshot) SetStorageType(v string) *DBSnapshot {
16738	s.StorageType = &v
16739	return s
16740}
16741
16742// SetTdeCredentialArn sets the TdeCredentialArn field's value.
16743func (s *DBSnapshot) SetTdeCredentialArn(v string) *DBSnapshot {
16744	s.TdeCredentialArn = &v
16745	return s
16746}
16747
16748// SetTimezone sets the Timezone field's value.
16749func (s *DBSnapshot) SetTimezone(v string) *DBSnapshot {
16750	s.Timezone = &v
16751	return s
16752}
16753
16754// SetVpcId sets the VpcId field's value.
16755func (s *DBSnapshot) SetVpcId(v string) *DBSnapshot {
16756	s.VpcId = &v
16757	return s
16758}
16759
16760// Contains the name and values of a manual DB snapshot attribute
16761//
16762// Manual DB snapshot attributes are used to authorize other AWS accounts to
16763// restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
16764// API.
16765type DBSnapshotAttribute struct {
16766	_ struct{} `type:"structure"`
16767
16768	// The name of the manual DB snapshot attribute.
16769	//
16770	// The attribute named restore refers to the list of AWS accounts that have
16771	// permission to copy or restore the manual DB cluster snapshot. For more information,
16772	// see the ModifyDBSnapshotAttribute API action.
16773	AttributeName *string `type:"string"`
16774
16775	// The value or values for the manual DB snapshot attribute.
16776	//
16777	// If the AttributeName field is set to restore, then this element returns a
16778	// list of IDs of the AWS accounts that are authorized to copy or restore the
16779	// manual DB snapshot. If a value of all is in the list, then the manual DB
16780	// snapshot is public and available for any AWS account to copy or restore.
16781	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
16782}
16783
16784// String returns the string representation
16785func (s DBSnapshotAttribute) String() string {
16786	return awsutil.Prettify(s)
16787}
16788
16789// GoString returns the string representation
16790func (s DBSnapshotAttribute) GoString() string {
16791	return s.String()
16792}
16793
16794// SetAttributeName sets the AttributeName field's value.
16795func (s *DBSnapshotAttribute) SetAttributeName(v string) *DBSnapshotAttribute {
16796	s.AttributeName = &v
16797	return s
16798}
16799
16800// SetAttributeValues sets the AttributeValues field's value.
16801func (s *DBSnapshotAttribute) SetAttributeValues(v []*string) *DBSnapshotAttribute {
16802	s.AttributeValues = v
16803	return s
16804}
16805
16806// Contains the results of a successful call to the DescribeDBSnapshotAttributes
16807// API action.
16808//
16809// Manual DB snapshot attributes are used to authorize other AWS accounts to
16810// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
16811// API action.
16812type DBSnapshotAttributesResult struct {
16813	_ struct{} `type:"structure"`
16814
16815	// The list of attributes and values for the manual DB snapshot.
16816	DBSnapshotAttributes []*DBSnapshotAttribute `locationNameList:"DBSnapshotAttribute" type:"list"`
16817
16818	// The identifier of the manual DB snapshot that the attributes apply to.
16819	DBSnapshotIdentifier *string `type:"string"`
16820}
16821
16822// String returns the string representation
16823func (s DBSnapshotAttributesResult) String() string {
16824	return awsutil.Prettify(s)
16825}
16826
16827// GoString returns the string representation
16828func (s DBSnapshotAttributesResult) GoString() string {
16829	return s.String()
16830}
16831
16832// SetDBSnapshotAttributes sets the DBSnapshotAttributes field's value.
16833func (s *DBSnapshotAttributesResult) SetDBSnapshotAttributes(v []*DBSnapshotAttribute) *DBSnapshotAttributesResult {
16834	s.DBSnapshotAttributes = v
16835	return s
16836}
16837
16838// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
16839func (s *DBSnapshotAttributesResult) SetDBSnapshotIdentifier(v string) *DBSnapshotAttributesResult {
16840	s.DBSnapshotIdentifier = &v
16841	return s
16842}
16843
16844// Contains the details of an Amazon RDS DB subnet group.
16845//
16846// This data type is used as a response element in the DescribeDBSubnetGroups
16847// action.
16848type DBSubnetGroup struct {
16849	_ struct{} `type:"structure"`
16850
16851	// The Amazon Resource Name (ARN) for the DB subnet group.
16852	DBSubnetGroupArn *string `type:"string"`
16853
16854	// Provides the description of the DB subnet group.
16855	DBSubnetGroupDescription *string `type:"string"`
16856
16857	// The name of the DB subnet group.
16858	DBSubnetGroupName *string `type:"string"`
16859
16860	// Provides the status of the DB subnet group.
16861	SubnetGroupStatus *string `type:"string"`
16862
16863	// Contains a list of Subnet elements.
16864	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
16865
16866	// Provides the VpcId of the DB subnet group.
16867	VpcId *string `type:"string"`
16868}
16869
16870// String returns the string representation
16871func (s DBSubnetGroup) String() string {
16872	return awsutil.Prettify(s)
16873}
16874
16875// GoString returns the string representation
16876func (s DBSubnetGroup) GoString() string {
16877	return s.String()
16878}
16879
16880// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
16881func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
16882	s.DBSubnetGroupArn = &v
16883	return s
16884}
16885
16886// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
16887func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
16888	s.DBSubnetGroupDescription = &v
16889	return s
16890}
16891
16892// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16893func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
16894	s.DBSubnetGroupName = &v
16895	return s
16896}
16897
16898// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
16899func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
16900	s.SubnetGroupStatus = &v
16901	return s
16902}
16903
16904// SetSubnets sets the Subnets field's value.
16905func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
16906	s.Subnets = v
16907	return s
16908}
16909
16910// SetVpcId sets the VpcId field's value.
16911func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
16912	s.VpcId = &v
16913	return s
16914}
16915
16916type DeleteDBClusterInput struct {
16917	_ struct{} `type:"structure"`
16918
16919	// The DB cluster identifier for the DB cluster to be deleted. This parameter
16920	// isn't case-sensitive.
16921	//
16922	// Constraints:
16923	//
16924	//    * Must match an existing DBClusterIdentifier.
16925	//
16926	// DBClusterIdentifier is a required field
16927	DBClusterIdentifier *string `type:"string" required:"true"`
16928
16929	// The DB cluster snapshot identifier of the new DB cluster snapshot created
16930	// when SkipFinalSnapshot is set to false.
16931	//
16932	// Specifying this parameter and also setting the SkipFinalShapshot parameter
16933	// to true results in an error.
16934	//
16935	// Constraints:
16936	//
16937	//    * Must be 1 to 255 letters, numbers, or hyphens.
16938	//
16939	//    * First character must be a letter
16940	//
16941	//    * Cannot end with a hyphen or contain two consecutive hyphens
16942	FinalDBSnapshotIdentifier *string `type:"string"`
16943
16944	// Determines whether a final DB cluster snapshot is created before the DB cluster
16945	// is deleted. If true is specified, no DB cluster snapshot is created. If false
16946	// is specified, a DB cluster snapshot is created before the DB cluster is deleted.
16947	//
16948	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
16949	// is false.
16950	//
16951	// Default: false
16952	SkipFinalSnapshot *bool `type:"boolean"`
16953}
16954
16955// String returns the string representation
16956func (s DeleteDBClusterInput) String() string {
16957	return awsutil.Prettify(s)
16958}
16959
16960// GoString returns the string representation
16961func (s DeleteDBClusterInput) GoString() string {
16962	return s.String()
16963}
16964
16965// Validate inspects the fields of the type to determine if they are valid.
16966func (s *DeleteDBClusterInput) Validate() error {
16967	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
16968	if s.DBClusterIdentifier == nil {
16969		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16970	}
16971
16972	if invalidParams.Len() > 0 {
16973		return invalidParams
16974	}
16975	return nil
16976}
16977
16978// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16979func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
16980	s.DBClusterIdentifier = &v
16981	return s
16982}
16983
16984// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
16985func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
16986	s.FinalDBSnapshotIdentifier = &v
16987	return s
16988}
16989
16990// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
16991func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
16992	s.SkipFinalSnapshot = &v
16993	return s
16994}
16995
16996type DeleteDBClusterOutput struct {
16997	_ struct{} `type:"structure"`
16998
16999	// Contains the details of an Amazon RDS DB cluster.
17000	//
17001	// This data type is used as a response element in the DescribeDBClusters action.
17002	DBCluster *DBCluster `type:"structure"`
17003}
17004
17005// String returns the string representation
17006func (s DeleteDBClusterOutput) String() string {
17007	return awsutil.Prettify(s)
17008}
17009
17010// GoString returns the string representation
17011func (s DeleteDBClusterOutput) GoString() string {
17012	return s.String()
17013}
17014
17015// SetDBCluster sets the DBCluster field's value.
17016func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
17017	s.DBCluster = v
17018	return s
17019}
17020
17021type DeleteDBClusterParameterGroupInput struct {
17022	_ struct{} `type:"structure"`
17023
17024	// The name of the DB cluster parameter group.
17025	//
17026	// Constraints:
17027	//
17028	//    * Must be the name of an existing DB cluster parameter group.
17029	//
17030	//    * You can't delete a default DB cluster parameter group.
17031	//
17032	//    * Cannot be associated with any DB clusters.
17033	//
17034	// DBClusterParameterGroupName is a required field
17035	DBClusterParameterGroupName *string `type:"string" required:"true"`
17036}
17037
17038// String returns the string representation
17039func (s DeleteDBClusterParameterGroupInput) String() string {
17040	return awsutil.Prettify(s)
17041}
17042
17043// GoString returns the string representation
17044func (s DeleteDBClusterParameterGroupInput) GoString() string {
17045	return s.String()
17046}
17047
17048// Validate inspects the fields of the type to determine if they are valid.
17049func (s *DeleteDBClusterParameterGroupInput) Validate() error {
17050	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
17051	if s.DBClusterParameterGroupName == nil {
17052		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
17053	}
17054
17055	if invalidParams.Len() > 0 {
17056		return invalidParams
17057	}
17058	return nil
17059}
17060
17061// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17062func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
17063	s.DBClusterParameterGroupName = &v
17064	return s
17065}
17066
17067type DeleteDBClusterParameterGroupOutput struct {
17068	_ struct{} `type:"structure"`
17069}
17070
17071// String returns the string representation
17072func (s DeleteDBClusterParameterGroupOutput) String() string {
17073	return awsutil.Prettify(s)
17074}
17075
17076// GoString returns the string representation
17077func (s DeleteDBClusterParameterGroupOutput) GoString() string {
17078	return s.String()
17079}
17080
17081type DeleteDBClusterSnapshotInput struct {
17082	_ struct{} `type:"structure"`
17083
17084	// The identifier of the DB cluster snapshot to delete.
17085	//
17086	// Constraints: Must be the name of an existing DB cluster snapshot in the available
17087	// state.
17088	//
17089	// DBClusterSnapshotIdentifier is a required field
17090	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
17091}
17092
17093// String returns the string representation
17094func (s DeleteDBClusterSnapshotInput) String() string {
17095	return awsutil.Prettify(s)
17096}
17097
17098// GoString returns the string representation
17099func (s DeleteDBClusterSnapshotInput) GoString() string {
17100	return s.String()
17101}
17102
17103// Validate inspects the fields of the type to determine if they are valid.
17104func (s *DeleteDBClusterSnapshotInput) Validate() error {
17105	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
17106	if s.DBClusterSnapshotIdentifier == nil {
17107		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
17108	}
17109
17110	if invalidParams.Len() > 0 {
17111		return invalidParams
17112	}
17113	return nil
17114}
17115
17116// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
17117func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
17118	s.DBClusterSnapshotIdentifier = &v
17119	return s
17120}
17121
17122type DeleteDBClusterSnapshotOutput struct {
17123	_ struct{} `type:"structure"`
17124
17125	// Contains the details for an Amazon RDS DB cluster snapshot
17126	//
17127	// This data type is used as a response element in the DescribeDBClusterSnapshots
17128	// action.
17129	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
17130}
17131
17132// String returns the string representation
17133func (s DeleteDBClusterSnapshotOutput) String() string {
17134	return awsutil.Prettify(s)
17135}
17136
17137// GoString returns the string representation
17138func (s DeleteDBClusterSnapshotOutput) GoString() string {
17139	return s.String()
17140}
17141
17142// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
17143func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
17144	s.DBClusterSnapshot = v
17145	return s
17146}
17147
17148type DeleteDBInstanceInput struct {
17149	_ struct{} `type:"structure"`
17150
17151	// The DB instance identifier for the DB instance to be deleted. This parameter
17152	// isn't case-sensitive.
17153	//
17154	// Constraints:
17155	//
17156	//    * Must match the name of an existing DB instance.
17157	//
17158	// DBInstanceIdentifier is a required field
17159	DBInstanceIdentifier *string `type:"string" required:"true"`
17160
17161	// The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot
17162	// is set to false.
17163	//
17164	// Specifying this parameter and also setting the SkipFinalShapshot parameter
17165	// to true results in an error.
17166	//
17167	// Constraints:
17168	//
17169	//    * Must be 1 to 255 letters or numbers.
17170	//
17171	//    * First character must be a letter
17172	//
17173	//    * Cannot end with a hyphen or contain two consecutive hyphens
17174	//
17175	//    * Cannot be specified when deleting a Read Replica.
17176	FinalDBSnapshotIdentifier *string `type:"string"`
17177
17178	// Determines whether a final DB snapshot is created before the DB instance
17179	// is deleted. If true is specified, no DBSnapshot is created. If false is specified,
17180	// a DB snapshot is created before the DB instance is deleted.
17181	//
17182	// Note that when a DB instance is in a failure state and has a status of 'failed',
17183	// 'incompatible-restore', or 'incompatible-network', it can only be deleted
17184	// when the SkipFinalSnapshot parameter is set to "true".
17185	//
17186	// Specify true when deleting a Read Replica.
17187	//
17188	// The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot
17189	// is false.
17190	//
17191	// Default: false
17192	SkipFinalSnapshot *bool `type:"boolean"`
17193}
17194
17195// String returns the string representation
17196func (s DeleteDBInstanceInput) String() string {
17197	return awsutil.Prettify(s)
17198}
17199
17200// GoString returns the string representation
17201func (s DeleteDBInstanceInput) GoString() string {
17202	return s.String()
17203}
17204
17205// Validate inspects the fields of the type to determine if they are valid.
17206func (s *DeleteDBInstanceInput) Validate() error {
17207	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
17208	if s.DBInstanceIdentifier == nil {
17209		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
17210	}
17211
17212	if invalidParams.Len() > 0 {
17213		return invalidParams
17214	}
17215	return nil
17216}
17217
17218// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
17219func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
17220	s.DBInstanceIdentifier = &v
17221	return s
17222}
17223
17224// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
17225func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
17226	s.FinalDBSnapshotIdentifier = &v
17227	return s
17228}
17229
17230// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
17231func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
17232	s.SkipFinalSnapshot = &v
17233	return s
17234}
17235
17236type DeleteDBInstanceOutput struct {
17237	_ struct{} `type:"structure"`
17238
17239	// Contains the details of an Amazon RDS DB instance.
17240	//
17241	// This data type is used as a response element in the DescribeDBInstances action.
17242	DBInstance *DBInstance `type:"structure"`
17243}
17244
17245// String returns the string representation
17246func (s DeleteDBInstanceOutput) String() string {
17247	return awsutil.Prettify(s)
17248}
17249
17250// GoString returns the string representation
17251func (s DeleteDBInstanceOutput) GoString() string {
17252	return s.String()
17253}
17254
17255// SetDBInstance sets the DBInstance field's value.
17256func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
17257	s.DBInstance = v
17258	return s
17259}
17260
17261type DeleteDBParameterGroupInput struct {
17262	_ struct{} `type:"structure"`
17263
17264	// The name of the DB parameter group.
17265	//
17266	// Constraints:
17267	//
17268	//    * Must be the name of an existing DB parameter group
17269	//
17270	//    * You can't delete a default DB parameter group
17271	//
17272	//    * Cannot be associated with any DB instances
17273	//
17274	// DBParameterGroupName is a required field
17275	DBParameterGroupName *string `type:"string" required:"true"`
17276}
17277
17278// String returns the string representation
17279func (s DeleteDBParameterGroupInput) String() string {
17280	return awsutil.Prettify(s)
17281}
17282
17283// GoString returns the string representation
17284func (s DeleteDBParameterGroupInput) GoString() string {
17285	return s.String()
17286}
17287
17288// Validate inspects the fields of the type to determine if they are valid.
17289func (s *DeleteDBParameterGroupInput) Validate() error {
17290	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
17291	if s.DBParameterGroupName == nil {
17292		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
17293	}
17294
17295	if invalidParams.Len() > 0 {
17296		return invalidParams
17297	}
17298	return nil
17299}
17300
17301// SetDBParameterGroupName sets the DBParameterGroupName field's value.
17302func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
17303	s.DBParameterGroupName = &v
17304	return s
17305}
17306
17307type DeleteDBParameterGroupOutput struct {
17308	_ struct{} `type:"structure"`
17309}
17310
17311// String returns the string representation
17312func (s DeleteDBParameterGroupOutput) String() string {
17313	return awsutil.Prettify(s)
17314}
17315
17316// GoString returns the string representation
17317func (s DeleteDBParameterGroupOutput) GoString() string {
17318	return s.String()
17319}
17320
17321type DeleteDBSecurityGroupInput struct {
17322	_ struct{} `type:"structure"`
17323
17324	// The name of the DB security group to delete.
17325	//
17326	// You can't delete the default DB security group.
17327	//
17328	// Constraints:
17329	//
17330	//    * Must be 1 to 255 letters, numbers, or hyphens.
17331	//
17332	//    * First character must be a letter
17333	//
17334	//    * Cannot end with a hyphen or contain two consecutive hyphens
17335	//
17336	//    * Must not be "Default"
17337	//
17338	// DBSecurityGroupName is a required field
17339	DBSecurityGroupName *string `type:"string" required:"true"`
17340}
17341
17342// String returns the string representation
17343func (s DeleteDBSecurityGroupInput) String() string {
17344	return awsutil.Prettify(s)
17345}
17346
17347// GoString returns the string representation
17348func (s DeleteDBSecurityGroupInput) GoString() string {
17349	return s.String()
17350}
17351
17352// Validate inspects the fields of the type to determine if they are valid.
17353func (s *DeleteDBSecurityGroupInput) Validate() error {
17354	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSecurityGroupInput"}
17355	if s.DBSecurityGroupName == nil {
17356		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
17357	}
17358
17359	if invalidParams.Len() > 0 {
17360		return invalidParams
17361	}
17362	return nil
17363}
17364
17365// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
17366func (s *DeleteDBSecurityGroupInput) SetDBSecurityGroupName(v string) *DeleteDBSecurityGroupInput {
17367	s.DBSecurityGroupName = &v
17368	return s
17369}
17370
17371type DeleteDBSecurityGroupOutput struct {
17372	_ struct{} `type:"structure"`
17373}
17374
17375// String returns the string representation
17376func (s DeleteDBSecurityGroupOutput) String() string {
17377	return awsutil.Prettify(s)
17378}
17379
17380// GoString returns the string representation
17381func (s DeleteDBSecurityGroupOutput) GoString() string {
17382	return s.String()
17383}
17384
17385type DeleteDBSnapshotInput struct {
17386	_ struct{} `type:"structure"`
17387
17388	// The DBSnapshot identifier.
17389	//
17390	// Constraints: Must be the name of an existing DB snapshot in the available
17391	// state.
17392	//
17393	// DBSnapshotIdentifier is a required field
17394	DBSnapshotIdentifier *string `type:"string" required:"true"`
17395}
17396
17397// String returns the string representation
17398func (s DeleteDBSnapshotInput) String() string {
17399	return awsutil.Prettify(s)
17400}
17401
17402// GoString returns the string representation
17403func (s DeleteDBSnapshotInput) GoString() string {
17404	return s.String()
17405}
17406
17407// Validate inspects the fields of the type to determine if they are valid.
17408func (s *DeleteDBSnapshotInput) Validate() error {
17409	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSnapshotInput"}
17410	if s.DBSnapshotIdentifier == nil {
17411		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
17412	}
17413
17414	if invalidParams.Len() > 0 {
17415		return invalidParams
17416	}
17417	return nil
17418}
17419
17420// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
17421func (s *DeleteDBSnapshotInput) SetDBSnapshotIdentifier(v string) *DeleteDBSnapshotInput {
17422	s.DBSnapshotIdentifier = &v
17423	return s
17424}
17425
17426type DeleteDBSnapshotOutput struct {
17427	_ struct{} `type:"structure"`
17428
17429	// Contains the details of an Amazon RDS DB snapshot.
17430	//
17431	// This data type is used as a response element in the DescribeDBSnapshots action.
17432	DBSnapshot *DBSnapshot `type:"structure"`
17433}
17434
17435// String returns the string representation
17436func (s DeleteDBSnapshotOutput) String() string {
17437	return awsutil.Prettify(s)
17438}
17439
17440// GoString returns the string representation
17441func (s DeleteDBSnapshotOutput) GoString() string {
17442	return s.String()
17443}
17444
17445// SetDBSnapshot sets the DBSnapshot field's value.
17446func (s *DeleteDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *DeleteDBSnapshotOutput {
17447	s.DBSnapshot = v
17448	return s
17449}
17450
17451type DeleteDBSubnetGroupInput struct {
17452	_ struct{} `type:"structure"`
17453
17454	// The name of the database subnet group to delete.
17455	//
17456	// You can't delete the default subnet group.
17457	//
17458	// Constraints:
17459	//
17460	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
17461	// default.
17462	//
17463	// Example: mySubnetgroup
17464	//
17465	// DBSubnetGroupName is a required field
17466	DBSubnetGroupName *string `type:"string" required:"true"`
17467}
17468
17469// String returns the string representation
17470func (s DeleteDBSubnetGroupInput) String() string {
17471	return awsutil.Prettify(s)
17472}
17473
17474// GoString returns the string representation
17475func (s DeleteDBSubnetGroupInput) GoString() string {
17476	return s.String()
17477}
17478
17479// Validate inspects the fields of the type to determine if they are valid.
17480func (s *DeleteDBSubnetGroupInput) Validate() error {
17481	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
17482	if s.DBSubnetGroupName == nil {
17483		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
17484	}
17485
17486	if invalidParams.Len() > 0 {
17487		return invalidParams
17488	}
17489	return nil
17490}
17491
17492// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
17493func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
17494	s.DBSubnetGroupName = &v
17495	return s
17496}
17497
17498type DeleteDBSubnetGroupOutput struct {
17499	_ struct{} `type:"structure"`
17500}
17501
17502// String returns the string representation
17503func (s DeleteDBSubnetGroupOutput) String() string {
17504	return awsutil.Prettify(s)
17505}
17506
17507// GoString returns the string representation
17508func (s DeleteDBSubnetGroupOutput) GoString() string {
17509	return s.String()
17510}
17511
17512type DeleteEventSubscriptionInput struct {
17513	_ struct{} `type:"structure"`
17514
17515	// The name of the RDS event notification subscription you want to delete.
17516	//
17517	// SubscriptionName is a required field
17518	SubscriptionName *string `type:"string" required:"true"`
17519}
17520
17521// String returns the string representation
17522func (s DeleteEventSubscriptionInput) String() string {
17523	return awsutil.Prettify(s)
17524}
17525
17526// GoString returns the string representation
17527func (s DeleteEventSubscriptionInput) GoString() string {
17528	return s.String()
17529}
17530
17531// Validate inspects the fields of the type to determine if they are valid.
17532func (s *DeleteEventSubscriptionInput) Validate() error {
17533	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
17534	if s.SubscriptionName == nil {
17535		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
17536	}
17537
17538	if invalidParams.Len() > 0 {
17539		return invalidParams
17540	}
17541	return nil
17542}
17543
17544// SetSubscriptionName sets the SubscriptionName field's value.
17545func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
17546	s.SubscriptionName = &v
17547	return s
17548}
17549
17550type DeleteEventSubscriptionOutput struct {
17551	_ struct{} `type:"structure"`
17552
17553	// Contains the results of a successful invocation of the DescribeEventSubscriptions
17554	// action.
17555	EventSubscription *EventSubscription `type:"structure"`
17556}
17557
17558// String returns the string representation
17559func (s DeleteEventSubscriptionOutput) String() string {
17560	return awsutil.Prettify(s)
17561}
17562
17563// GoString returns the string representation
17564func (s DeleteEventSubscriptionOutput) GoString() string {
17565	return s.String()
17566}
17567
17568// SetEventSubscription sets the EventSubscription field's value.
17569func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
17570	s.EventSubscription = v
17571	return s
17572}
17573
17574type DeleteOptionGroupInput struct {
17575	_ struct{} `type:"structure"`
17576
17577	// The name of the option group to be deleted.
17578	//
17579	// You can't delete default option groups.
17580	//
17581	// OptionGroupName is a required field
17582	OptionGroupName *string `type:"string" required:"true"`
17583}
17584
17585// String returns the string representation
17586func (s DeleteOptionGroupInput) String() string {
17587	return awsutil.Prettify(s)
17588}
17589
17590// GoString returns the string representation
17591func (s DeleteOptionGroupInput) GoString() string {
17592	return s.String()
17593}
17594
17595// Validate inspects the fields of the type to determine if they are valid.
17596func (s *DeleteOptionGroupInput) Validate() error {
17597	invalidParams := request.ErrInvalidParams{Context: "DeleteOptionGroupInput"}
17598	if s.OptionGroupName == nil {
17599		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
17600	}
17601
17602	if invalidParams.Len() > 0 {
17603		return invalidParams
17604	}
17605	return nil
17606}
17607
17608// SetOptionGroupName sets the OptionGroupName field's value.
17609func (s *DeleteOptionGroupInput) SetOptionGroupName(v string) *DeleteOptionGroupInput {
17610	s.OptionGroupName = &v
17611	return s
17612}
17613
17614type DeleteOptionGroupOutput struct {
17615	_ struct{} `type:"structure"`
17616}
17617
17618// String returns the string representation
17619func (s DeleteOptionGroupOutput) String() string {
17620	return awsutil.Prettify(s)
17621}
17622
17623// GoString returns the string representation
17624func (s DeleteOptionGroupOutput) GoString() string {
17625	return s.String()
17626}
17627
17628type DescribeAccountAttributesInput struct {
17629	_ struct{} `type:"structure"`
17630}
17631
17632// String returns the string representation
17633func (s DescribeAccountAttributesInput) String() string {
17634	return awsutil.Prettify(s)
17635}
17636
17637// GoString returns the string representation
17638func (s DescribeAccountAttributesInput) GoString() string {
17639	return s.String()
17640}
17641
17642// Data returned by the DescribeAccountAttributes action.
17643type DescribeAccountAttributesOutput struct {
17644	_ struct{} `type:"structure"`
17645
17646	// A list of AccountQuota objects. Within this list, each quota has a name,
17647	// a count of usage toward the quota maximum, and a maximum value for the quota.
17648	AccountQuotas []*AccountQuota `locationNameList:"AccountQuota" type:"list"`
17649}
17650
17651// String returns the string representation
17652func (s DescribeAccountAttributesOutput) String() string {
17653	return awsutil.Prettify(s)
17654}
17655
17656// GoString returns the string representation
17657func (s DescribeAccountAttributesOutput) GoString() string {
17658	return s.String()
17659}
17660
17661// SetAccountQuotas sets the AccountQuotas field's value.
17662func (s *DescribeAccountAttributesOutput) SetAccountQuotas(v []*AccountQuota) *DescribeAccountAttributesOutput {
17663	s.AccountQuotas = v
17664	return s
17665}
17666
17667type DescribeCertificatesInput struct {
17668	_ struct{} `type:"structure"`
17669
17670	// The user-supplied certificate identifier. If this parameter is specified,
17671	// information for only the identified certificate is returned. This parameter
17672	// isn't case-sensitive.
17673	//
17674	// Constraints:
17675	//
17676	//    * Must match an existing CertificateIdentifier.
17677	CertificateIdentifier *string `type:"string"`
17678
17679	// This parameter is not currently supported.
17680	Filters []*Filter `locationNameList:"Filter" type:"list"`
17681
17682	// An optional pagination token provided by a previous DescribeCertificates
17683	// request. If this parameter is specified, the response includes only records
17684	// beyond the marker, up to the value specified by MaxRecords.
17685	Marker *string `type:"string"`
17686
17687	// The maximum number of records to include in the response. If more records
17688	// exist than the specified MaxRecords value, a pagination token called a marker
17689	// is included in the response so that the remaining results can be retrieved.
17690	//
17691	// Default: 100
17692	//
17693	// Constraints: Minimum 20, maximum 100.
17694	MaxRecords *int64 `type:"integer"`
17695}
17696
17697// String returns the string representation
17698func (s DescribeCertificatesInput) String() string {
17699	return awsutil.Prettify(s)
17700}
17701
17702// GoString returns the string representation
17703func (s DescribeCertificatesInput) GoString() string {
17704	return s.String()
17705}
17706
17707// Validate inspects the fields of the type to determine if they are valid.
17708func (s *DescribeCertificatesInput) Validate() error {
17709	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
17710	if s.Filters != nil {
17711		for i, v := range s.Filters {
17712			if v == nil {
17713				continue
17714			}
17715			if err := v.Validate(); err != nil {
17716				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17717			}
17718		}
17719	}
17720
17721	if invalidParams.Len() > 0 {
17722		return invalidParams
17723	}
17724	return nil
17725}
17726
17727// SetCertificateIdentifier sets the CertificateIdentifier field's value.
17728func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
17729	s.CertificateIdentifier = &v
17730	return s
17731}
17732
17733// SetFilters sets the Filters field's value.
17734func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
17735	s.Filters = v
17736	return s
17737}
17738
17739// SetMarker sets the Marker field's value.
17740func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
17741	s.Marker = &v
17742	return s
17743}
17744
17745// SetMaxRecords sets the MaxRecords field's value.
17746func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
17747	s.MaxRecords = &v
17748	return s
17749}
17750
17751// Data returned by the DescribeCertificates action.
17752type DescribeCertificatesOutput struct {
17753	_ struct{} `type:"structure"`
17754
17755	// The list of Certificate objects for the AWS account.
17756	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
17757
17758	// An optional pagination token provided by a previous DescribeCertificates
17759	// request. If this parameter is specified, the response includes only records
17760	// beyond the marker, up to the value specified by MaxRecords .
17761	Marker *string `type:"string"`
17762}
17763
17764// String returns the string representation
17765func (s DescribeCertificatesOutput) String() string {
17766	return awsutil.Prettify(s)
17767}
17768
17769// GoString returns the string representation
17770func (s DescribeCertificatesOutput) GoString() string {
17771	return s.String()
17772}
17773
17774// SetCertificates sets the Certificates field's value.
17775func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
17776	s.Certificates = v
17777	return s
17778}
17779
17780// SetMarker sets the Marker field's value.
17781func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
17782	s.Marker = &v
17783	return s
17784}
17785
17786type DescribeDBClusterBacktracksInput struct {
17787	_ struct{} `type:"structure"`
17788
17789	// If specified, this value is the backtrack identifier of the backtrack to
17790	// be described.
17791	//
17792	// Constraints:
17793	//
17794	//    * Must contain a valid universally unique identifier (UUID). For more
17795	//    information about UUIDs, see A Universally Unique Identifier (UUID) URN
17796	//    Namespace (http://www.ietf.org/rfc/rfc4122.txt).
17797	//
17798	// Example: 123e4567-e89b-12d3-a456-426655440000
17799	BacktrackIdentifier *string `type:"string"`
17800
17801	// The DB cluster identifier of the DB cluster to be described. This parameter
17802	// is stored as a lowercase string.
17803	//
17804	// Constraints:
17805	//
17806	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
17807	//
17808	//    * First character must be a letter.
17809	//
17810	//    * Cannot end with a hyphen or contain two consecutive hyphens.
17811	//
17812	// Example: my-cluster1
17813	//
17814	// DBClusterIdentifier is a required field
17815	DBClusterIdentifier *string `type:"string" required:"true"`
17816
17817	// A filter that specifies one or more DB clusters to describe. Supported filters
17818	// include the following:
17819	//
17820	//    * db-cluster-backtrack-id - Accepts backtrack identifiers. The results
17821	//    list includes information about only the backtracks identified by these
17822	//    identifiers.
17823	//
17824	//    * db-cluster-backtrack-status - Accepts any of the following backtrack
17825	//    status values:
17826	//
17827	// applying
17828	//
17829	// completed
17830	//
17831	// failed
17832	//
17833	// pending
17834	//
17835	// The results list includes information about only the backtracks identified
17836	//    by these values. For more information about backtrack status values, see
17837	//    DBClusterBacktrack.
17838	Filters []*Filter `locationNameList:"Filter" type:"list"`
17839
17840	// An optional pagination token provided by a previous DescribeDBClusterBacktracks
17841	// request. If this parameter is specified, the response includes only records
17842	// beyond the marker, up to the value specified by MaxRecords.
17843	Marker *string `type:"string"`
17844
17845	// The maximum number of records to include in the response. If more records
17846	// exist than the specified MaxRecords value, a pagination token called a marker
17847	// is included in the response so that the remaining results can be retrieved.
17848	//
17849	// Default: 100
17850	//
17851	// Constraints: Minimum 20, maximum 100.
17852	MaxRecords *int64 `type:"integer"`
17853}
17854
17855// String returns the string representation
17856func (s DescribeDBClusterBacktracksInput) String() string {
17857	return awsutil.Prettify(s)
17858}
17859
17860// GoString returns the string representation
17861func (s DescribeDBClusterBacktracksInput) GoString() string {
17862	return s.String()
17863}
17864
17865// Validate inspects the fields of the type to determine if they are valid.
17866func (s *DescribeDBClusterBacktracksInput) Validate() error {
17867	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterBacktracksInput"}
17868	if s.DBClusterIdentifier == nil {
17869		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
17870	}
17871	if s.Filters != nil {
17872		for i, v := range s.Filters {
17873			if v == nil {
17874				continue
17875			}
17876			if err := v.Validate(); err != nil {
17877				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17878			}
17879		}
17880	}
17881
17882	if invalidParams.Len() > 0 {
17883		return invalidParams
17884	}
17885	return nil
17886}
17887
17888// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
17889func (s *DescribeDBClusterBacktracksInput) SetBacktrackIdentifier(v string) *DescribeDBClusterBacktracksInput {
17890	s.BacktrackIdentifier = &v
17891	return s
17892}
17893
17894// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17895func (s *DescribeDBClusterBacktracksInput) SetDBClusterIdentifier(v string) *DescribeDBClusterBacktracksInput {
17896	s.DBClusterIdentifier = &v
17897	return s
17898}
17899
17900// SetFilters sets the Filters field's value.
17901func (s *DescribeDBClusterBacktracksInput) SetFilters(v []*Filter) *DescribeDBClusterBacktracksInput {
17902	s.Filters = v
17903	return s
17904}
17905
17906// SetMarker sets the Marker field's value.
17907func (s *DescribeDBClusterBacktracksInput) SetMarker(v string) *DescribeDBClusterBacktracksInput {
17908	s.Marker = &v
17909	return s
17910}
17911
17912// SetMaxRecords sets the MaxRecords field's value.
17913func (s *DescribeDBClusterBacktracksInput) SetMaxRecords(v int64) *DescribeDBClusterBacktracksInput {
17914	s.MaxRecords = &v
17915	return s
17916}
17917
17918// Contains the result of a successful invocation of the DescribeDBClusterBacktracks
17919// action.
17920type DescribeDBClusterBacktracksOutput struct {
17921	_ struct{} `type:"structure"`
17922
17923	// Contains a list of backtracks for the user.
17924	DBClusterBacktracks []*BacktrackDBClusterOutput `locationNameList:"DBClusterBacktrack" type:"list"`
17925
17926	// A pagination token that can be used in a subsequent DescribeDBClusterBacktracks
17927	// request.
17928	Marker *string `type:"string"`
17929}
17930
17931// String returns the string representation
17932func (s DescribeDBClusterBacktracksOutput) String() string {
17933	return awsutil.Prettify(s)
17934}
17935
17936// GoString returns the string representation
17937func (s DescribeDBClusterBacktracksOutput) GoString() string {
17938	return s.String()
17939}
17940
17941// SetDBClusterBacktracks sets the DBClusterBacktracks field's value.
17942func (s *DescribeDBClusterBacktracksOutput) SetDBClusterBacktracks(v []*BacktrackDBClusterOutput) *DescribeDBClusterBacktracksOutput {
17943	s.DBClusterBacktracks = v
17944	return s
17945}
17946
17947// SetMarker sets the Marker field's value.
17948func (s *DescribeDBClusterBacktracksOutput) SetMarker(v string) *DescribeDBClusterBacktracksOutput {
17949	s.Marker = &v
17950	return s
17951}
17952
17953type DescribeDBClusterParameterGroupsInput struct {
17954	_ struct{} `type:"structure"`
17955
17956	// The name of a specific DB cluster parameter group to return details for.
17957	//
17958	// Constraints:
17959	//
17960	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
17961	DBClusterParameterGroupName *string `type:"string"`
17962
17963	// This parameter is not currently supported.
17964	Filters []*Filter `locationNameList:"Filter" type:"list"`
17965
17966	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
17967	// request. If this parameter is specified, the response includes only records
17968	// beyond the marker, up to the value specified by MaxRecords.
17969	Marker *string `type:"string"`
17970
17971	// The maximum number of records to include in the response. If more records
17972	// exist than the specified MaxRecords value, a pagination token called a marker
17973	// is included in the response so that the remaining results can be retrieved.
17974	//
17975	// Default: 100
17976	//
17977	// Constraints: Minimum 20, maximum 100.
17978	MaxRecords *int64 `type:"integer"`
17979}
17980
17981// String returns the string representation
17982func (s DescribeDBClusterParameterGroupsInput) String() string {
17983	return awsutil.Prettify(s)
17984}
17985
17986// GoString returns the string representation
17987func (s DescribeDBClusterParameterGroupsInput) GoString() string {
17988	return s.String()
17989}
17990
17991// Validate inspects the fields of the type to determine if they are valid.
17992func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
17993	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
17994	if s.Filters != nil {
17995		for i, v := range s.Filters {
17996			if v == nil {
17997				continue
17998			}
17999			if err := v.Validate(); err != nil {
18000				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18001			}
18002		}
18003	}
18004
18005	if invalidParams.Len() > 0 {
18006		return invalidParams
18007	}
18008	return nil
18009}
18010
18011// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
18012func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
18013	s.DBClusterParameterGroupName = &v
18014	return s
18015}
18016
18017// SetFilters sets the Filters field's value.
18018func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
18019	s.Filters = v
18020	return s
18021}
18022
18023// SetMarker sets the Marker field's value.
18024func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
18025	s.Marker = &v
18026	return s
18027}
18028
18029// SetMaxRecords sets the MaxRecords field's value.
18030func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
18031	s.MaxRecords = &v
18032	return s
18033}
18034
18035type DescribeDBClusterParameterGroupsOutput struct {
18036	_ struct{} `type:"structure"`
18037
18038	// A list of DB cluster parameter groups.
18039	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
18040
18041	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
18042	// request. If this parameter is specified, the response includes only records
18043	// beyond the marker, up to the value specified by MaxRecords.
18044	Marker *string `type:"string"`
18045}
18046
18047// String returns the string representation
18048func (s DescribeDBClusterParameterGroupsOutput) String() string {
18049	return awsutil.Prettify(s)
18050}
18051
18052// GoString returns the string representation
18053func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
18054	return s.String()
18055}
18056
18057// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
18058func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
18059	s.DBClusterParameterGroups = v
18060	return s
18061}
18062
18063// SetMarker sets the Marker field's value.
18064func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
18065	s.Marker = &v
18066	return s
18067}
18068
18069type DescribeDBClusterParametersInput struct {
18070	_ struct{} `type:"structure"`
18071
18072	// The name of a specific DB cluster parameter group to return parameter details
18073	// for.
18074	//
18075	// Constraints:
18076	//
18077	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
18078	//
18079	// DBClusterParameterGroupName is a required field
18080	DBClusterParameterGroupName *string `type:"string" required:"true"`
18081
18082	// This parameter is not currently supported.
18083	Filters []*Filter `locationNameList:"Filter" type:"list"`
18084
18085	// An optional pagination token provided by a previous DescribeDBClusterParameters
18086	// request. If this parameter is specified, the response includes only records
18087	// beyond the marker, up to the value specified by MaxRecords.
18088	Marker *string `type:"string"`
18089
18090	// The maximum number of records to include in the response. If more records
18091	// exist than the specified MaxRecords value, a pagination token called a marker
18092	// is included in the response so that the remaining results can be retrieved.
18093	//
18094	// Default: 100
18095	//
18096	// Constraints: Minimum 20, maximum 100.
18097	MaxRecords *int64 `type:"integer"`
18098
18099	// A value that indicates to return only parameters for a specific source. Parameter
18100	// sources can be engine, service, or customer.
18101	Source *string `type:"string"`
18102}
18103
18104// String returns the string representation
18105func (s DescribeDBClusterParametersInput) String() string {
18106	return awsutil.Prettify(s)
18107}
18108
18109// GoString returns the string representation
18110func (s DescribeDBClusterParametersInput) GoString() string {
18111	return s.String()
18112}
18113
18114// Validate inspects the fields of the type to determine if they are valid.
18115func (s *DescribeDBClusterParametersInput) Validate() error {
18116	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
18117	if s.DBClusterParameterGroupName == nil {
18118		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
18119	}
18120	if s.Filters != nil {
18121		for i, v := range s.Filters {
18122			if v == nil {
18123				continue
18124			}
18125			if err := v.Validate(); err != nil {
18126				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18127			}
18128		}
18129	}
18130
18131	if invalidParams.Len() > 0 {
18132		return invalidParams
18133	}
18134	return nil
18135}
18136
18137// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
18138func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
18139	s.DBClusterParameterGroupName = &v
18140	return s
18141}
18142
18143// SetFilters sets the Filters field's value.
18144func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
18145	s.Filters = v
18146	return s
18147}
18148
18149// SetMarker sets the Marker field's value.
18150func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
18151	s.Marker = &v
18152	return s
18153}
18154
18155// SetMaxRecords sets the MaxRecords field's value.
18156func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
18157	s.MaxRecords = &v
18158	return s
18159}
18160
18161// SetSource sets the Source field's value.
18162func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
18163	s.Source = &v
18164	return s
18165}
18166
18167// Provides details about a DB cluster parameter group including the parameters
18168// in the DB cluster parameter group.
18169type DescribeDBClusterParametersOutput struct {
18170	_ struct{} `type:"structure"`
18171
18172	// An optional pagination token provided by a previous DescribeDBClusterParameters
18173	// request. If this parameter is specified, the response includes only records
18174	// beyond the marker, up to the value specified by MaxRecords .
18175	Marker *string `type:"string"`
18176
18177	// Provides a list of parameters for the DB cluster parameter group.
18178	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
18179}
18180
18181// String returns the string representation
18182func (s DescribeDBClusterParametersOutput) String() string {
18183	return awsutil.Prettify(s)
18184}
18185
18186// GoString returns the string representation
18187func (s DescribeDBClusterParametersOutput) GoString() string {
18188	return s.String()
18189}
18190
18191// SetMarker sets the Marker field's value.
18192func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
18193	s.Marker = &v
18194	return s
18195}
18196
18197// SetParameters sets the Parameters field's value.
18198func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
18199	s.Parameters = v
18200	return s
18201}
18202
18203type DescribeDBClusterSnapshotAttributesInput struct {
18204	_ struct{} `type:"structure"`
18205
18206	// The identifier for the DB cluster snapshot to describe the attributes for.
18207	//
18208	// DBClusterSnapshotIdentifier is a required field
18209	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
18210}
18211
18212// String returns the string representation
18213func (s DescribeDBClusterSnapshotAttributesInput) String() string {
18214	return awsutil.Prettify(s)
18215}
18216
18217// GoString returns the string representation
18218func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
18219	return s.String()
18220}
18221
18222// Validate inspects the fields of the type to determine if they are valid.
18223func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
18224	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
18225	if s.DBClusterSnapshotIdentifier == nil {
18226		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
18227	}
18228
18229	if invalidParams.Len() > 0 {
18230		return invalidParams
18231	}
18232	return nil
18233}
18234
18235// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
18236func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
18237	s.DBClusterSnapshotIdentifier = &v
18238	return s
18239}
18240
18241type DescribeDBClusterSnapshotAttributesOutput struct {
18242	_ struct{} `type:"structure"`
18243
18244	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
18245	// API action.
18246	//
18247	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
18248	// to copy or restore a manual DB cluster snapshot. For more information, see
18249	// the ModifyDBClusterSnapshotAttribute API action.
18250	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
18251}
18252
18253// String returns the string representation
18254func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
18255	return awsutil.Prettify(s)
18256}
18257
18258// GoString returns the string representation
18259func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
18260	return s.String()
18261}
18262
18263// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
18264func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
18265	s.DBClusterSnapshotAttributesResult = v
18266	return s
18267}
18268
18269type DescribeDBClusterSnapshotsInput struct {
18270	_ struct{} `type:"structure"`
18271
18272	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
18273	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
18274	// parameter. This parameter is not case-sensitive.
18275	//
18276	// Constraints:
18277	//
18278	//    * If supplied, must match the identifier of an existing DBCluster.
18279	DBClusterIdentifier *string `type:"string"`
18280
18281	// A specific DB cluster snapshot identifier to describe. This parameter can't
18282	// be used in conjunction with the DBClusterIdentifier parameter. This value
18283	// is stored as a lowercase string.
18284	//
18285	// Constraints:
18286	//
18287	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
18288	//
18289	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
18290	//    must also be specified.
18291	DBClusterSnapshotIdentifier *string `type:"string"`
18292
18293	// This parameter is not currently supported.
18294	Filters []*Filter `locationNameList:"Filter" type:"list"`
18295
18296	// True to include manual DB cluster snapshots that are public and can be copied
18297	// or restored by any AWS account, and otherwise false. The default is false.
18298	// The default is false.
18299	//
18300	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
18301	// API action.
18302	IncludePublic *bool `type:"boolean"`
18303
18304	// True to include shared manual DB cluster snapshots from other AWS accounts
18305	// that this AWS account has been given permission to copy or restore, and otherwise
18306	// false. The default is false.
18307	//
18308	// You can give an AWS account permission to restore a manual DB cluster snapshot
18309	// from another AWS account by the ModifyDBClusterSnapshotAttribute API action.
18310	IncludeShared *bool `type:"boolean"`
18311
18312	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
18313	// request. If this parameter is specified, the response includes only records
18314	// beyond the marker, up to the value specified by MaxRecords.
18315	Marker *string `type:"string"`
18316
18317	// The maximum number of records to include in the response. If more records
18318	// exist than the specified MaxRecords value, a pagination token called a marker
18319	// is included in the response so that the remaining results can be retrieved.
18320	//
18321	// Default: 100
18322	//
18323	// Constraints: Minimum 20, maximum 100.
18324	MaxRecords *int64 `type:"integer"`
18325
18326	// The type of DB cluster snapshots to be returned. You can specify one of the
18327	// following values:
18328	//
18329	//    * automated - Return all DB cluster snapshots that have been automatically
18330	//    taken by Amazon RDS for my AWS account.
18331	//
18332	//    * manual - Return all DB cluster snapshots that have been taken by my
18333	//    AWS account.
18334	//
18335	//    * shared - Return all manual DB cluster snapshots that have been shared
18336	//    to my AWS account.
18337	//
18338	//    * public - Return all DB cluster snapshots that have been marked as public.
18339	//
18340	// If you don't specify a SnapshotType value, then both automated and manual
18341	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
18342	// with these results by setting the IncludeShared parameter to true. You can
18343	// include public DB cluster snapshots with these results by setting the IncludePublic
18344	// parameter to true.
18345	//
18346	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
18347	// values of manual or automated. The IncludePublic parameter doesn't apply
18348	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
18349	// when SnapshotType is set to public.
18350	SnapshotType *string `type:"string"`
18351}
18352
18353// String returns the string representation
18354func (s DescribeDBClusterSnapshotsInput) String() string {
18355	return awsutil.Prettify(s)
18356}
18357
18358// GoString returns the string representation
18359func (s DescribeDBClusterSnapshotsInput) GoString() string {
18360	return s.String()
18361}
18362
18363// Validate inspects the fields of the type to determine if they are valid.
18364func (s *DescribeDBClusterSnapshotsInput) Validate() error {
18365	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
18366	if s.Filters != nil {
18367		for i, v := range s.Filters {
18368			if v == nil {
18369				continue
18370			}
18371			if err := v.Validate(); err != nil {
18372				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18373			}
18374		}
18375	}
18376
18377	if invalidParams.Len() > 0 {
18378		return invalidParams
18379	}
18380	return nil
18381}
18382
18383// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18384func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
18385	s.DBClusterIdentifier = &v
18386	return s
18387}
18388
18389// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
18390func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
18391	s.DBClusterSnapshotIdentifier = &v
18392	return s
18393}
18394
18395// SetFilters sets the Filters field's value.
18396func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
18397	s.Filters = v
18398	return s
18399}
18400
18401// SetIncludePublic sets the IncludePublic field's value.
18402func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
18403	s.IncludePublic = &v
18404	return s
18405}
18406
18407// SetIncludeShared sets the IncludeShared field's value.
18408func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
18409	s.IncludeShared = &v
18410	return s
18411}
18412
18413// SetMarker sets the Marker field's value.
18414func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
18415	s.Marker = &v
18416	return s
18417}
18418
18419// SetMaxRecords sets the MaxRecords field's value.
18420func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
18421	s.MaxRecords = &v
18422	return s
18423}
18424
18425// SetSnapshotType sets the SnapshotType field's value.
18426func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
18427	s.SnapshotType = &v
18428	return s
18429}
18430
18431// Provides a list of DB cluster snapshots for the user as the result of a call
18432// to the DescribeDBClusterSnapshots action.
18433type DescribeDBClusterSnapshotsOutput struct {
18434	_ struct{} `type:"structure"`
18435
18436	// Provides a list of DB cluster snapshots for the user.
18437	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
18438
18439	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
18440	// request. If this parameter is specified, the response includes only records
18441	// beyond the marker, up to the value specified by MaxRecords.
18442	Marker *string `type:"string"`
18443}
18444
18445// String returns the string representation
18446func (s DescribeDBClusterSnapshotsOutput) String() string {
18447	return awsutil.Prettify(s)
18448}
18449
18450// GoString returns the string representation
18451func (s DescribeDBClusterSnapshotsOutput) GoString() string {
18452	return s.String()
18453}
18454
18455// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
18456func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
18457	s.DBClusterSnapshots = v
18458	return s
18459}
18460
18461// SetMarker sets the Marker field's value.
18462func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
18463	s.Marker = &v
18464	return s
18465}
18466
18467type DescribeDBClustersInput struct {
18468	_ struct{} `type:"structure"`
18469
18470	// The user-supplied DB cluster identifier. If this parameter is specified,
18471	// information from only the specific DB cluster is returned. This parameter
18472	// isn't case-sensitive.
18473	//
18474	// Constraints:
18475	//
18476	//    * If supplied, must match an existing DBClusterIdentifier.
18477	DBClusterIdentifier *string `type:"string"`
18478
18479	// A filter that specifies one or more DB clusters to describe.
18480	//
18481	// Supported filters:
18482	//
18483	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
18484	//    Resource Names (ARNs). The results list will only include information
18485	//    about the DB clusters identified by these ARNs.
18486	Filters []*Filter `locationNameList:"Filter" type:"list"`
18487
18488	// An optional pagination token provided by a previous DescribeDBClusters request.
18489	// If this parameter is specified, the response includes only records beyond
18490	// the marker, up to the value specified by MaxRecords.
18491	Marker *string `type:"string"`
18492
18493	// The maximum number of records to include in the response. If more records
18494	// exist than the specified MaxRecords value, a pagination token called a marker
18495	// is included in the response so that the remaining results can be retrieved.
18496	//
18497	// Default: 100
18498	//
18499	// Constraints: Minimum 20, maximum 100.
18500	MaxRecords *int64 `type:"integer"`
18501}
18502
18503// String returns the string representation
18504func (s DescribeDBClustersInput) String() string {
18505	return awsutil.Prettify(s)
18506}
18507
18508// GoString returns the string representation
18509func (s DescribeDBClustersInput) GoString() string {
18510	return s.String()
18511}
18512
18513// Validate inspects the fields of the type to determine if they are valid.
18514func (s *DescribeDBClustersInput) Validate() error {
18515	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
18516	if s.Filters != nil {
18517		for i, v := range s.Filters {
18518			if v == nil {
18519				continue
18520			}
18521			if err := v.Validate(); err != nil {
18522				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18523			}
18524		}
18525	}
18526
18527	if invalidParams.Len() > 0 {
18528		return invalidParams
18529	}
18530	return nil
18531}
18532
18533// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18534func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
18535	s.DBClusterIdentifier = &v
18536	return s
18537}
18538
18539// SetFilters sets the Filters field's value.
18540func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
18541	s.Filters = v
18542	return s
18543}
18544
18545// SetMarker sets the Marker field's value.
18546func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
18547	s.Marker = &v
18548	return s
18549}
18550
18551// SetMaxRecords sets the MaxRecords field's value.
18552func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
18553	s.MaxRecords = &v
18554	return s
18555}
18556
18557// Contains the result of a successful invocation of the DescribeDBClusters
18558// action.
18559type DescribeDBClustersOutput struct {
18560	_ struct{} `type:"structure"`
18561
18562	// Contains a list of DB clusters for the user.
18563	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
18564
18565	// A pagination token that can be used in a subsequent DescribeDBClusters request.
18566	Marker *string `type:"string"`
18567}
18568
18569// String returns the string representation
18570func (s DescribeDBClustersOutput) String() string {
18571	return awsutil.Prettify(s)
18572}
18573
18574// GoString returns the string representation
18575func (s DescribeDBClustersOutput) GoString() string {
18576	return s.String()
18577}
18578
18579// SetDBClusters sets the DBClusters field's value.
18580func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
18581	s.DBClusters = v
18582	return s
18583}
18584
18585// SetMarker sets the Marker field's value.
18586func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
18587	s.Marker = &v
18588	return s
18589}
18590
18591type DescribeDBEngineVersionsInput struct {
18592	_ struct{} `type:"structure"`
18593
18594	// The name of a specific DB parameter group family to return details for.
18595	//
18596	// Constraints:
18597	//
18598	//    * If supplied, must match an existing DBParameterGroupFamily.
18599	DBParameterGroupFamily *string `type:"string"`
18600
18601	// Indicates that only the default version of the specified engine or engine
18602	// and major version combination is returned.
18603	DefaultOnly *bool `type:"boolean"`
18604
18605	// The database engine to return.
18606	Engine *string `type:"string"`
18607
18608	// The database engine version to return.
18609	//
18610	// Example: 5.1.49
18611	EngineVersion *string `type:"string"`
18612
18613	// This parameter is not currently supported.
18614	Filters []*Filter `locationNameList:"Filter" type:"list"`
18615
18616	// If this parameter is specified and the requested engine supports the CharacterSetName
18617	// parameter for CreateDBInstance, the response includes a list of supported
18618	// character sets for each engine version.
18619	ListSupportedCharacterSets *bool `type:"boolean"`
18620
18621	// If this parameter is specified and the requested engine supports the TimeZone
18622	// parameter for CreateDBInstance, the response includes a list of supported
18623	// time zones for each engine version.
18624	ListSupportedTimezones *bool `type:"boolean"`
18625
18626	// An optional pagination token provided by a previous request. If this parameter
18627	// is specified, the response includes only records beyond the marker, up to
18628	// the value specified by MaxRecords.
18629	Marker *string `type:"string"`
18630
18631	// The maximum number of records to include in the response. If more than the
18632	// MaxRecords value is available, a pagination token called a marker is included
18633	// in the response so that the following results can be retrieved.
18634	//
18635	// Default: 100
18636	//
18637	// Constraints: Minimum 20, maximum 100.
18638	MaxRecords *int64 `type:"integer"`
18639}
18640
18641// String returns the string representation
18642func (s DescribeDBEngineVersionsInput) String() string {
18643	return awsutil.Prettify(s)
18644}
18645
18646// GoString returns the string representation
18647func (s DescribeDBEngineVersionsInput) GoString() string {
18648	return s.String()
18649}
18650
18651// Validate inspects the fields of the type to determine if they are valid.
18652func (s *DescribeDBEngineVersionsInput) Validate() error {
18653	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
18654	if s.Filters != nil {
18655		for i, v := range s.Filters {
18656			if v == nil {
18657				continue
18658			}
18659			if err := v.Validate(); err != nil {
18660				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18661			}
18662		}
18663	}
18664
18665	if invalidParams.Len() > 0 {
18666		return invalidParams
18667	}
18668	return nil
18669}
18670
18671// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
18672func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
18673	s.DBParameterGroupFamily = &v
18674	return s
18675}
18676
18677// SetDefaultOnly sets the DefaultOnly field's value.
18678func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
18679	s.DefaultOnly = &v
18680	return s
18681}
18682
18683// SetEngine sets the Engine field's value.
18684func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
18685	s.Engine = &v
18686	return s
18687}
18688
18689// SetEngineVersion sets the EngineVersion field's value.
18690func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
18691	s.EngineVersion = &v
18692	return s
18693}
18694
18695// SetFilters sets the Filters field's value.
18696func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
18697	s.Filters = v
18698	return s
18699}
18700
18701// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
18702func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
18703	s.ListSupportedCharacterSets = &v
18704	return s
18705}
18706
18707// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
18708func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
18709	s.ListSupportedTimezones = &v
18710	return s
18711}
18712
18713// SetMarker sets the Marker field's value.
18714func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
18715	s.Marker = &v
18716	return s
18717}
18718
18719// SetMaxRecords sets the MaxRecords field's value.
18720func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
18721	s.MaxRecords = &v
18722	return s
18723}
18724
18725// Contains the result of a successful invocation of the DescribeDBEngineVersions
18726// action.
18727type DescribeDBEngineVersionsOutput struct {
18728	_ struct{} `type:"structure"`
18729
18730	// A list of DBEngineVersion elements.
18731	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
18732
18733	// An optional pagination token provided by a previous request. If this parameter
18734	// is specified, the response includes only records beyond the marker, up to
18735	// the value specified by MaxRecords.
18736	Marker *string `type:"string"`
18737}
18738
18739// String returns the string representation
18740func (s DescribeDBEngineVersionsOutput) String() string {
18741	return awsutil.Prettify(s)
18742}
18743
18744// GoString returns the string representation
18745func (s DescribeDBEngineVersionsOutput) GoString() string {
18746	return s.String()
18747}
18748
18749// SetDBEngineVersions sets the DBEngineVersions field's value.
18750func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
18751	s.DBEngineVersions = v
18752	return s
18753}
18754
18755// SetMarker sets the Marker field's value.
18756func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
18757	s.Marker = &v
18758	return s
18759}
18760
18761type DescribeDBInstancesInput struct {
18762	_ struct{} `type:"structure"`
18763
18764	// The user-supplied instance identifier. If this parameter is specified, information
18765	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
18766	//
18767	// Constraints:
18768	//
18769	//    * If supplied, must match the identifier of an existing DBInstance.
18770	DBInstanceIdentifier *string `type:"string"`
18771
18772	// A filter that specifies one or more DB instances to describe.
18773	//
18774	// Supported filters:
18775	//
18776	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
18777	//    Resource Names (ARNs). The results list will only include information
18778	//    about the DB instances associated with the DB clusters identified by these
18779	//    ARNs.
18780	//
18781	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
18782	//    Resource Names (ARNs). The results list will only include information
18783	//    about the DB instances identified by these ARNs.
18784	Filters []*Filter `locationNameList:"Filter" type:"list"`
18785
18786	// An optional pagination token provided by a previous DescribeDBInstances request.
18787	// If this parameter is specified, the response includes only records beyond
18788	// the marker, up to the value specified by MaxRecords.
18789	Marker *string `type:"string"`
18790
18791	// The maximum number of records to include in the response. If more records
18792	// exist than the specified MaxRecords value, a pagination token called a marker
18793	// is included in the response so that the remaining results can be retrieved.
18794	//
18795	// Default: 100
18796	//
18797	// Constraints: Minimum 20, maximum 100.
18798	MaxRecords *int64 `type:"integer"`
18799}
18800
18801// String returns the string representation
18802func (s DescribeDBInstancesInput) String() string {
18803	return awsutil.Prettify(s)
18804}
18805
18806// GoString returns the string representation
18807func (s DescribeDBInstancesInput) GoString() string {
18808	return s.String()
18809}
18810
18811// Validate inspects the fields of the type to determine if they are valid.
18812func (s *DescribeDBInstancesInput) Validate() error {
18813	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
18814	if s.Filters != nil {
18815		for i, v := range s.Filters {
18816			if v == nil {
18817				continue
18818			}
18819			if err := v.Validate(); err != nil {
18820				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18821			}
18822		}
18823	}
18824
18825	if invalidParams.Len() > 0 {
18826		return invalidParams
18827	}
18828	return nil
18829}
18830
18831// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18832func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
18833	s.DBInstanceIdentifier = &v
18834	return s
18835}
18836
18837// SetFilters sets the Filters field's value.
18838func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
18839	s.Filters = v
18840	return s
18841}
18842
18843// SetMarker sets the Marker field's value.
18844func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
18845	s.Marker = &v
18846	return s
18847}
18848
18849// SetMaxRecords sets the MaxRecords field's value.
18850func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
18851	s.MaxRecords = &v
18852	return s
18853}
18854
18855// Contains the result of a successful invocation of the DescribeDBInstances
18856// action.
18857type DescribeDBInstancesOutput struct {
18858	_ struct{} `type:"structure"`
18859
18860	// A list of DBInstance instances.
18861	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
18862
18863	// An optional pagination token provided by a previous request. If this parameter
18864	// is specified, the response includes only records beyond the marker, up to
18865	// the value specified by MaxRecords .
18866	Marker *string `type:"string"`
18867}
18868
18869// String returns the string representation
18870func (s DescribeDBInstancesOutput) String() string {
18871	return awsutil.Prettify(s)
18872}
18873
18874// GoString returns the string representation
18875func (s DescribeDBInstancesOutput) GoString() string {
18876	return s.String()
18877}
18878
18879// SetDBInstances sets the DBInstances field's value.
18880func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
18881	s.DBInstances = v
18882	return s
18883}
18884
18885// SetMarker sets the Marker field's value.
18886func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
18887	s.Marker = &v
18888	return s
18889}
18890
18891// This data type is used as a response element to DescribeDBLogFiles.
18892type DescribeDBLogFilesDetails struct {
18893	_ struct{} `type:"structure"`
18894
18895	// A POSIX timestamp when the last log entry was written.
18896	LastWritten *int64 `type:"long"`
18897
18898	// The name of the log file for the specified DB instance.
18899	LogFileName *string `type:"string"`
18900
18901	// The size, in bytes, of the log file for the specified DB instance.
18902	Size *int64 `type:"long"`
18903}
18904
18905// String returns the string representation
18906func (s DescribeDBLogFilesDetails) String() string {
18907	return awsutil.Prettify(s)
18908}
18909
18910// GoString returns the string representation
18911func (s DescribeDBLogFilesDetails) GoString() string {
18912	return s.String()
18913}
18914
18915// SetLastWritten sets the LastWritten field's value.
18916func (s *DescribeDBLogFilesDetails) SetLastWritten(v int64) *DescribeDBLogFilesDetails {
18917	s.LastWritten = &v
18918	return s
18919}
18920
18921// SetLogFileName sets the LogFileName field's value.
18922func (s *DescribeDBLogFilesDetails) SetLogFileName(v string) *DescribeDBLogFilesDetails {
18923	s.LogFileName = &v
18924	return s
18925}
18926
18927// SetSize sets the Size field's value.
18928func (s *DescribeDBLogFilesDetails) SetSize(v int64) *DescribeDBLogFilesDetails {
18929	s.Size = &v
18930	return s
18931}
18932
18933type DescribeDBLogFilesInput struct {
18934	_ struct{} `type:"structure"`
18935
18936	// The customer-assigned name of the DB instance that contains the log files
18937	// you want to list.
18938	//
18939	// Constraints:
18940	//
18941	//    * Must match the identifier of an existing DBInstance.
18942	//
18943	// DBInstanceIdentifier is a required field
18944	DBInstanceIdentifier *string `type:"string" required:"true"`
18945
18946	// Filters the available log files for files written since the specified date,
18947	// in POSIX timestamp format with milliseconds.
18948	FileLastWritten *int64 `type:"long"`
18949
18950	// Filters the available log files for files larger than the specified size.
18951	FileSize *int64 `type:"long"`
18952
18953	// Filters the available log files for log file names that contain the specified
18954	// string.
18955	FilenameContains *string `type:"string"`
18956
18957	// This parameter is not currently supported.
18958	Filters []*Filter `locationNameList:"Filter" type:"list"`
18959
18960	// The pagination token provided in the previous request. If this parameter
18961	// is specified the response includes only records beyond the marker, up to
18962	// MaxRecords.
18963	Marker *string `type:"string"`
18964
18965	// The maximum number of records to include in the response. If more records
18966	// exist than the specified MaxRecords value, a pagination token called a marker
18967	// is included in the response so that the remaining results can be retrieved.
18968	MaxRecords *int64 `type:"integer"`
18969}
18970
18971// String returns the string representation
18972func (s DescribeDBLogFilesInput) String() string {
18973	return awsutil.Prettify(s)
18974}
18975
18976// GoString returns the string representation
18977func (s DescribeDBLogFilesInput) GoString() string {
18978	return s.String()
18979}
18980
18981// Validate inspects the fields of the type to determine if they are valid.
18982func (s *DescribeDBLogFilesInput) Validate() error {
18983	invalidParams := request.ErrInvalidParams{Context: "DescribeDBLogFilesInput"}
18984	if s.DBInstanceIdentifier == nil {
18985		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
18986	}
18987	if s.Filters != nil {
18988		for i, v := range s.Filters {
18989			if v == nil {
18990				continue
18991			}
18992			if err := v.Validate(); err != nil {
18993				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18994			}
18995		}
18996	}
18997
18998	if invalidParams.Len() > 0 {
18999		return invalidParams
19000	}
19001	return nil
19002}
19003
19004// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
19005func (s *DescribeDBLogFilesInput) SetDBInstanceIdentifier(v string) *DescribeDBLogFilesInput {
19006	s.DBInstanceIdentifier = &v
19007	return s
19008}
19009
19010// SetFileLastWritten sets the FileLastWritten field's value.
19011func (s *DescribeDBLogFilesInput) SetFileLastWritten(v int64) *DescribeDBLogFilesInput {
19012	s.FileLastWritten = &v
19013	return s
19014}
19015
19016// SetFileSize sets the FileSize field's value.
19017func (s *DescribeDBLogFilesInput) SetFileSize(v int64) *DescribeDBLogFilesInput {
19018	s.FileSize = &v
19019	return s
19020}
19021
19022// SetFilenameContains sets the FilenameContains field's value.
19023func (s *DescribeDBLogFilesInput) SetFilenameContains(v string) *DescribeDBLogFilesInput {
19024	s.FilenameContains = &v
19025	return s
19026}
19027
19028// SetFilters sets the Filters field's value.
19029func (s *DescribeDBLogFilesInput) SetFilters(v []*Filter) *DescribeDBLogFilesInput {
19030	s.Filters = v
19031	return s
19032}
19033
19034// SetMarker sets the Marker field's value.
19035func (s *DescribeDBLogFilesInput) SetMarker(v string) *DescribeDBLogFilesInput {
19036	s.Marker = &v
19037	return s
19038}
19039
19040// SetMaxRecords sets the MaxRecords field's value.
19041func (s *DescribeDBLogFilesInput) SetMaxRecords(v int64) *DescribeDBLogFilesInput {
19042	s.MaxRecords = &v
19043	return s
19044}
19045
19046// The response from a call to DescribeDBLogFiles.
19047type DescribeDBLogFilesOutput struct {
19048	_ struct{} `type:"structure"`
19049
19050	// The DB log files returned.
19051	DescribeDBLogFiles []*DescribeDBLogFilesDetails `locationNameList:"DescribeDBLogFilesDetails" type:"list"`
19052
19053	// A pagination token that can be used in a subsequent DescribeDBLogFiles request.
19054	Marker *string `type:"string"`
19055}
19056
19057// String returns the string representation
19058func (s DescribeDBLogFilesOutput) String() string {
19059	return awsutil.Prettify(s)
19060}
19061
19062// GoString returns the string representation
19063func (s DescribeDBLogFilesOutput) GoString() string {
19064	return s.String()
19065}
19066
19067// SetDescribeDBLogFiles sets the DescribeDBLogFiles field's value.
19068func (s *DescribeDBLogFilesOutput) SetDescribeDBLogFiles(v []*DescribeDBLogFilesDetails) *DescribeDBLogFilesOutput {
19069	s.DescribeDBLogFiles = v
19070	return s
19071}
19072
19073// SetMarker sets the Marker field's value.
19074func (s *DescribeDBLogFilesOutput) SetMarker(v string) *DescribeDBLogFilesOutput {
19075	s.Marker = &v
19076	return s
19077}
19078
19079type DescribeDBParameterGroupsInput struct {
19080	_ struct{} `type:"structure"`
19081
19082	// The name of a specific DB parameter group to return details for.
19083	//
19084	// Constraints:
19085	//
19086	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
19087	DBParameterGroupName *string `type:"string"`
19088
19089	// This parameter is not currently supported.
19090	Filters []*Filter `locationNameList:"Filter" type:"list"`
19091
19092	// An optional pagination token provided by a previous DescribeDBParameterGroups
19093	// request. If this parameter is specified, the response includes only records
19094	// beyond the marker, up to the value specified by MaxRecords.
19095	Marker *string `type:"string"`
19096
19097	// The maximum number of records to include in the response. If more records
19098	// exist than the specified MaxRecords value, a pagination token called a marker
19099	// is included in the response so that the remaining results can be retrieved.
19100	//
19101	// Default: 100
19102	//
19103	// Constraints: Minimum 20, maximum 100.
19104	MaxRecords *int64 `type:"integer"`
19105}
19106
19107// String returns the string representation
19108func (s DescribeDBParameterGroupsInput) String() string {
19109	return awsutil.Prettify(s)
19110}
19111
19112// GoString returns the string representation
19113func (s DescribeDBParameterGroupsInput) GoString() string {
19114	return s.String()
19115}
19116
19117// Validate inspects the fields of the type to determine if they are valid.
19118func (s *DescribeDBParameterGroupsInput) Validate() error {
19119	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
19120	if s.Filters != nil {
19121		for i, v := range s.Filters {
19122			if v == nil {
19123				continue
19124			}
19125			if err := v.Validate(); err != nil {
19126				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19127			}
19128		}
19129	}
19130
19131	if invalidParams.Len() > 0 {
19132		return invalidParams
19133	}
19134	return nil
19135}
19136
19137// SetDBParameterGroupName sets the DBParameterGroupName field's value.
19138func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
19139	s.DBParameterGroupName = &v
19140	return s
19141}
19142
19143// SetFilters sets the Filters field's value.
19144func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
19145	s.Filters = v
19146	return s
19147}
19148
19149// SetMarker sets the Marker field's value.
19150func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
19151	s.Marker = &v
19152	return s
19153}
19154
19155// SetMaxRecords sets the MaxRecords field's value.
19156func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
19157	s.MaxRecords = &v
19158	return s
19159}
19160
19161// Contains the result of a successful invocation of the DescribeDBParameterGroups
19162// action.
19163type DescribeDBParameterGroupsOutput struct {
19164	_ struct{} `type:"structure"`
19165
19166	// A list of DBParameterGroup instances.
19167	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
19168
19169	// An optional pagination token provided by a previous request. If this parameter
19170	// is specified, the response includes only records beyond the marker, up to
19171	// the value specified by MaxRecords.
19172	Marker *string `type:"string"`
19173}
19174
19175// String returns the string representation
19176func (s DescribeDBParameterGroupsOutput) String() string {
19177	return awsutil.Prettify(s)
19178}
19179
19180// GoString returns the string representation
19181func (s DescribeDBParameterGroupsOutput) GoString() string {
19182	return s.String()
19183}
19184
19185// SetDBParameterGroups sets the DBParameterGroups field's value.
19186func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
19187	s.DBParameterGroups = v
19188	return s
19189}
19190
19191// SetMarker sets the Marker field's value.
19192func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
19193	s.Marker = &v
19194	return s
19195}
19196
19197type DescribeDBParametersInput struct {
19198	_ struct{} `type:"structure"`
19199
19200	// The name of a specific DB parameter group to return details for.
19201	//
19202	// Constraints:
19203	//
19204	//    * If supplied, must match the name of an existing DBParameterGroup.
19205	//
19206	// DBParameterGroupName is a required field
19207	DBParameterGroupName *string `type:"string" required:"true"`
19208
19209	// This parameter is not currently supported.
19210	Filters []*Filter `locationNameList:"Filter" type:"list"`
19211
19212	// An optional pagination token provided by a previous DescribeDBParameters
19213	// request. If this parameter is specified, the response includes only records
19214	// beyond the marker, up to the value specified by MaxRecords.
19215	Marker *string `type:"string"`
19216
19217	// The maximum number of records to include in the response. If more records
19218	// exist than the specified MaxRecords value, a pagination token called a marker
19219	// is included in the response so that the remaining results can be retrieved.
19220	//
19221	// Default: 100
19222	//
19223	// Constraints: Minimum 20, maximum 100.
19224	MaxRecords *int64 `type:"integer"`
19225
19226	// The parameter types to return.
19227	//
19228	// Default: All parameter types returned
19229	//
19230	// Valid Values: user | system | engine-default
19231	Source *string `type:"string"`
19232}
19233
19234// String returns the string representation
19235func (s DescribeDBParametersInput) String() string {
19236	return awsutil.Prettify(s)
19237}
19238
19239// GoString returns the string representation
19240func (s DescribeDBParametersInput) GoString() string {
19241	return s.String()
19242}
19243
19244// Validate inspects the fields of the type to determine if they are valid.
19245func (s *DescribeDBParametersInput) Validate() error {
19246	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
19247	if s.DBParameterGroupName == nil {
19248		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
19249	}
19250	if s.Filters != nil {
19251		for i, v := range s.Filters {
19252			if v == nil {
19253				continue
19254			}
19255			if err := v.Validate(); err != nil {
19256				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19257			}
19258		}
19259	}
19260
19261	if invalidParams.Len() > 0 {
19262		return invalidParams
19263	}
19264	return nil
19265}
19266
19267// SetDBParameterGroupName sets the DBParameterGroupName field's value.
19268func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
19269	s.DBParameterGroupName = &v
19270	return s
19271}
19272
19273// SetFilters sets the Filters field's value.
19274func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
19275	s.Filters = v
19276	return s
19277}
19278
19279// SetMarker sets the Marker field's value.
19280func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
19281	s.Marker = &v
19282	return s
19283}
19284
19285// SetMaxRecords sets the MaxRecords field's value.
19286func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
19287	s.MaxRecords = &v
19288	return s
19289}
19290
19291// SetSource sets the Source field's value.
19292func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
19293	s.Source = &v
19294	return s
19295}
19296
19297// Contains the result of a successful invocation of the DescribeDBParameters
19298// action.
19299type DescribeDBParametersOutput struct {
19300	_ struct{} `type:"structure"`
19301
19302	// An optional pagination token provided by a previous request. If this parameter
19303	// is specified, the response includes only records beyond the marker, up to
19304	// the value specified by MaxRecords.
19305	Marker *string `type:"string"`
19306
19307	// A list of Parameter values.
19308	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
19309}
19310
19311// String returns the string representation
19312func (s DescribeDBParametersOutput) String() string {
19313	return awsutil.Prettify(s)
19314}
19315
19316// GoString returns the string representation
19317func (s DescribeDBParametersOutput) GoString() string {
19318	return s.String()
19319}
19320
19321// SetMarker sets the Marker field's value.
19322func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
19323	s.Marker = &v
19324	return s
19325}
19326
19327// SetParameters sets the Parameters field's value.
19328func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
19329	s.Parameters = v
19330	return s
19331}
19332
19333type DescribeDBSecurityGroupsInput struct {
19334	_ struct{} `type:"structure"`
19335
19336	// The name of the DB security group to return details for.
19337	DBSecurityGroupName *string `type:"string"`
19338
19339	// This parameter is not currently supported.
19340	Filters []*Filter `locationNameList:"Filter" type:"list"`
19341
19342	// An optional pagination token provided by a previous DescribeDBSecurityGroups
19343	// request. If this parameter is specified, the response includes only records
19344	// beyond the marker, up to the value specified by MaxRecords.
19345	Marker *string `type:"string"`
19346
19347	// The maximum number of records to include in the response. If more records
19348	// exist than the specified MaxRecords value, a pagination token called a marker
19349	// is included in the response so that the remaining results can be retrieved.
19350	//
19351	// Default: 100
19352	//
19353	// Constraints: Minimum 20, maximum 100.
19354	MaxRecords *int64 `type:"integer"`
19355}
19356
19357// String returns the string representation
19358func (s DescribeDBSecurityGroupsInput) String() string {
19359	return awsutil.Prettify(s)
19360}
19361
19362// GoString returns the string representation
19363func (s DescribeDBSecurityGroupsInput) GoString() string {
19364	return s.String()
19365}
19366
19367// Validate inspects the fields of the type to determine if they are valid.
19368func (s *DescribeDBSecurityGroupsInput) Validate() error {
19369	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSecurityGroupsInput"}
19370	if s.Filters != nil {
19371		for i, v := range s.Filters {
19372			if v == nil {
19373				continue
19374			}
19375			if err := v.Validate(); err != nil {
19376				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19377			}
19378		}
19379	}
19380
19381	if invalidParams.Len() > 0 {
19382		return invalidParams
19383	}
19384	return nil
19385}
19386
19387// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
19388func (s *DescribeDBSecurityGroupsInput) SetDBSecurityGroupName(v string) *DescribeDBSecurityGroupsInput {
19389	s.DBSecurityGroupName = &v
19390	return s
19391}
19392
19393// SetFilters sets the Filters field's value.
19394func (s *DescribeDBSecurityGroupsInput) SetFilters(v []*Filter) *DescribeDBSecurityGroupsInput {
19395	s.Filters = v
19396	return s
19397}
19398
19399// SetMarker sets the Marker field's value.
19400func (s *DescribeDBSecurityGroupsInput) SetMarker(v string) *DescribeDBSecurityGroupsInput {
19401	s.Marker = &v
19402	return s
19403}
19404
19405// SetMaxRecords sets the MaxRecords field's value.
19406func (s *DescribeDBSecurityGroupsInput) SetMaxRecords(v int64) *DescribeDBSecurityGroupsInput {
19407	s.MaxRecords = &v
19408	return s
19409}
19410
19411// Contains the result of a successful invocation of the DescribeDBSecurityGroups
19412// action.
19413type DescribeDBSecurityGroupsOutput struct {
19414	_ struct{} `type:"structure"`
19415
19416	// A list of DBSecurityGroup instances.
19417	DBSecurityGroups []*DBSecurityGroup `locationNameList:"DBSecurityGroup" type:"list"`
19418
19419	// An optional pagination token provided by a previous request. If this parameter
19420	// is specified, the response includes only records beyond the marker, up to
19421	// the value specified by MaxRecords.
19422	Marker *string `type:"string"`
19423}
19424
19425// String returns the string representation
19426func (s DescribeDBSecurityGroupsOutput) String() string {
19427	return awsutil.Prettify(s)
19428}
19429
19430// GoString returns the string representation
19431func (s DescribeDBSecurityGroupsOutput) GoString() string {
19432	return s.String()
19433}
19434
19435// SetDBSecurityGroups sets the DBSecurityGroups field's value.
19436func (s *DescribeDBSecurityGroupsOutput) SetDBSecurityGroups(v []*DBSecurityGroup) *DescribeDBSecurityGroupsOutput {
19437	s.DBSecurityGroups = v
19438	return s
19439}
19440
19441// SetMarker sets the Marker field's value.
19442func (s *DescribeDBSecurityGroupsOutput) SetMarker(v string) *DescribeDBSecurityGroupsOutput {
19443	s.Marker = &v
19444	return s
19445}
19446
19447type DescribeDBSnapshotAttributesInput struct {
19448	_ struct{} `type:"structure"`
19449
19450	// The identifier for the DB snapshot to describe the attributes for.
19451	//
19452	// DBSnapshotIdentifier is a required field
19453	DBSnapshotIdentifier *string `type:"string" required:"true"`
19454}
19455
19456// String returns the string representation
19457func (s DescribeDBSnapshotAttributesInput) String() string {
19458	return awsutil.Prettify(s)
19459}
19460
19461// GoString returns the string representation
19462func (s DescribeDBSnapshotAttributesInput) GoString() string {
19463	return s.String()
19464}
19465
19466// Validate inspects the fields of the type to determine if they are valid.
19467func (s *DescribeDBSnapshotAttributesInput) Validate() error {
19468	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotAttributesInput"}
19469	if s.DBSnapshotIdentifier == nil {
19470		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
19471	}
19472
19473	if invalidParams.Len() > 0 {
19474		return invalidParams
19475	}
19476	return nil
19477}
19478
19479// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
19480func (s *DescribeDBSnapshotAttributesInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotAttributesInput {
19481	s.DBSnapshotIdentifier = &v
19482	return s
19483}
19484
19485type DescribeDBSnapshotAttributesOutput struct {
19486	_ struct{} `type:"structure"`
19487
19488	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
19489	// API action.
19490	//
19491	// Manual DB snapshot attributes are used to authorize other AWS accounts to
19492	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
19493	// API action.
19494	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
19495}
19496
19497// String returns the string representation
19498func (s DescribeDBSnapshotAttributesOutput) String() string {
19499	return awsutil.Prettify(s)
19500}
19501
19502// GoString returns the string representation
19503func (s DescribeDBSnapshotAttributesOutput) GoString() string {
19504	return s.String()
19505}
19506
19507// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
19508func (s *DescribeDBSnapshotAttributesOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *DescribeDBSnapshotAttributesOutput {
19509	s.DBSnapshotAttributesResult = v
19510	return s
19511}
19512
19513type DescribeDBSnapshotsInput struct {
19514	_ struct{} `type:"structure"`
19515
19516	// The ID of the DB instance to retrieve the list of DB snapshots for. This
19517	// parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter
19518	// is not case-sensitive.
19519	//
19520	// Constraints:
19521	//
19522	//    * If supplied, must match the identifier of an existing DBInstance.
19523	DBInstanceIdentifier *string `type:"string"`
19524
19525	// A specific DB snapshot identifier to describe. This parameter can't be used
19526	// in conjunction with DBInstanceIdentifier. This value is stored as a lowercase
19527	// string.
19528	//
19529	// Constraints:
19530	//
19531	//    * If supplied, must match the identifier of an existing DBSnapshot.
19532	//
19533	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
19534	//    must also be specified.
19535	DBSnapshotIdentifier *string `type:"string"`
19536
19537	// This parameter is not currently supported.
19538	Filters []*Filter `locationNameList:"Filter" type:"list"`
19539
19540	// True to include manual DB snapshots that are public and can be copied or
19541	// restored by any AWS account, and otherwise false. The default is false.
19542	//
19543	// You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute
19544	// API.
19545	IncludePublic *bool `type:"boolean"`
19546
19547	// True to include shared manual DB snapshots from other AWS accounts that this
19548	// AWS account has been given permission to copy or restore, and otherwise false.
19549	// The default is false.
19550	//
19551	// You can give an AWS account permission to restore a manual DB snapshot from
19552	// another AWS account by using the ModifyDBSnapshotAttribute API action.
19553	IncludeShared *bool `type:"boolean"`
19554
19555	// An optional pagination token provided by a previous DescribeDBSnapshots request.
19556	// If this parameter is specified, the response includes only records beyond
19557	// the marker, up to the value specified by MaxRecords.
19558	Marker *string `type:"string"`
19559
19560	// The maximum number of records to include in the response. If more records
19561	// exist than the specified MaxRecords value, a pagination token called a marker
19562	// is included in the response so that the remaining results can be retrieved.
19563	//
19564	// Default: 100
19565	//
19566	// Constraints: Minimum 20, maximum 100.
19567	MaxRecords *int64 `type:"integer"`
19568
19569	// The type of snapshots to be returned. You can specify one of the following
19570	// values:
19571	//
19572	//    * automated - Return all DB snapshots that have been automatically taken
19573	//    by Amazon RDS for my AWS account.
19574	//
19575	//    * manual - Return all DB snapshots that have been taken by my AWS account.
19576	//
19577	//    * shared - Return all manual DB snapshots that have been shared to my
19578	//    AWS account.
19579	//
19580	//    * public - Return all DB snapshots that have been marked as public.
19581	//
19582	// If you don't specify a SnapshotType value, then both automated and manual
19583	// snapshots are returned. Shared and public DB snapshots are not included in
19584	// the returned results by default. You can include shared snapshots with these
19585	// results by setting the IncludeShared parameter to true. You can include public
19586	// snapshots with these results by setting the IncludePublic parameter to true.
19587	//
19588	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
19589	// values of manual or automated. The IncludePublic parameter doesn't apply
19590	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
19591	// when SnapshotType is set to public.
19592	SnapshotType *string `type:"string"`
19593}
19594
19595// String returns the string representation
19596func (s DescribeDBSnapshotsInput) String() string {
19597	return awsutil.Prettify(s)
19598}
19599
19600// GoString returns the string representation
19601func (s DescribeDBSnapshotsInput) GoString() string {
19602	return s.String()
19603}
19604
19605// Validate inspects the fields of the type to determine if they are valid.
19606func (s *DescribeDBSnapshotsInput) Validate() error {
19607	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotsInput"}
19608	if s.Filters != nil {
19609		for i, v := range s.Filters {
19610			if v == nil {
19611				continue
19612			}
19613			if err := v.Validate(); err != nil {
19614				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19615			}
19616		}
19617	}
19618
19619	if invalidParams.Len() > 0 {
19620		return invalidParams
19621	}
19622	return nil
19623}
19624
19625// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
19626func (s *DescribeDBSnapshotsInput) SetDBInstanceIdentifier(v string) *DescribeDBSnapshotsInput {
19627	s.DBInstanceIdentifier = &v
19628	return s
19629}
19630
19631// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
19632func (s *DescribeDBSnapshotsInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotsInput {
19633	s.DBSnapshotIdentifier = &v
19634	return s
19635}
19636
19637// SetFilters sets the Filters field's value.
19638func (s *DescribeDBSnapshotsInput) SetFilters(v []*Filter) *DescribeDBSnapshotsInput {
19639	s.Filters = v
19640	return s
19641}
19642
19643// SetIncludePublic sets the IncludePublic field's value.
19644func (s *DescribeDBSnapshotsInput) SetIncludePublic(v bool) *DescribeDBSnapshotsInput {
19645	s.IncludePublic = &v
19646	return s
19647}
19648
19649// SetIncludeShared sets the IncludeShared field's value.
19650func (s *DescribeDBSnapshotsInput) SetIncludeShared(v bool) *DescribeDBSnapshotsInput {
19651	s.IncludeShared = &v
19652	return s
19653}
19654
19655// SetMarker sets the Marker field's value.
19656func (s *DescribeDBSnapshotsInput) SetMarker(v string) *DescribeDBSnapshotsInput {
19657	s.Marker = &v
19658	return s
19659}
19660
19661// SetMaxRecords sets the MaxRecords field's value.
19662func (s *DescribeDBSnapshotsInput) SetMaxRecords(v int64) *DescribeDBSnapshotsInput {
19663	s.MaxRecords = &v
19664	return s
19665}
19666
19667// SetSnapshotType sets the SnapshotType field's value.
19668func (s *DescribeDBSnapshotsInput) SetSnapshotType(v string) *DescribeDBSnapshotsInput {
19669	s.SnapshotType = &v
19670	return s
19671}
19672
19673// Contains the result of a successful invocation of the DescribeDBSnapshots
19674// action.
19675type DescribeDBSnapshotsOutput struct {
19676	_ struct{} `type:"structure"`
19677
19678	// A list of DBSnapshot instances.
19679	DBSnapshots []*DBSnapshot `locationNameList:"DBSnapshot" type:"list"`
19680
19681	// An optional pagination token provided by a previous request. If this parameter
19682	// is specified, the response includes only records beyond the marker, up to
19683	// the value specified by MaxRecords.
19684	Marker *string `type:"string"`
19685}
19686
19687// String returns the string representation
19688func (s DescribeDBSnapshotsOutput) String() string {
19689	return awsutil.Prettify(s)
19690}
19691
19692// GoString returns the string representation
19693func (s DescribeDBSnapshotsOutput) GoString() string {
19694	return s.String()
19695}
19696
19697// SetDBSnapshots sets the DBSnapshots field's value.
19698func (s *DescribeDBSnapshotsOutput) SetDBSnapshots(v []*DBSnapshot) *DescribeDBSnapshotsOutput {
19699	s.DBSnapshots = v
19700	return s
19701}
19702
19703// SetMarker sets the Marker field's value.
19704func (s *DescribeDBSnapshotsOutput) SetMarker(v string) *DescribeDBSnapshotsOutput {
19705	s.Marker = &v
19706	return s
19707}
19708
19709type DescribeDBSubnetGroupsInput struct {
19710	_ struct{} `type:"structure"`
19711
19712	// The name of the DB subnet group to return details for.
19713	DBSubnetGroupName *string `type:"string"`
19714
19715	// This parameter is not currently supported.
19716	Filters []*Filter `locationNameList:"Filter" type:"list"`
19717
19718	// An optional pagination token provided by a previous DescribeDBSubnetGroups
19719	// request. If this parameter is specified, the response includes only records
19720	// beyond the marker, up to the value specified by MaxRecords.
19721	Marker *string `type:"string"`
19722
19723	// The maximum number of records to include in the response. If more records
19724	// exist than the specified MaxRecords value, a pagination token called a marker
19725	// is included in the response so that the remaining results can be retrieved.
19726	//
19727	// Default: 100
19728	//
19729	// Constraints: Minimum 20, maximum 100.
19730	MaxRecords *int64 `type:"integer"`
19731}
19732
19733// String returns the string representation
19734func (s DescribeDBSubnetGroupsInput) String() string {
19735	return awsutil.Prettify(s)
19736}
19737
19738// GoString returns the string representation
19739func (s DescribeDBSubnetGroupsInput) GoString() string {
19740	return s.String()
19741}
19742
19743// Validate inspects the fields of the type to determine if they are valid.
19744func (s *DescribeDBSubnetGroupsInput) Validate() error {
19745	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
19746	if s.Filters != nil {
19747		for i, v := range s.Filters {
19748			if v == nil {
19749				continue
19750			}
19751			if err := v.Validate(); err != nil {
19752				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19753			}
19754		}
19755	}
19756
19757	if invalidParams.Len() > 0 {
19758		return invalidParams
19759	}
19760	return nil
19761}
19762
19763// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
19764func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
19765	s.DBSubnetGroupName = &v
19766	return s
19767}
19768
19769// SetFilters sets the Filters field's value.
19770func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
19771	s.Filters = v
19772	return s
19773}
19774
19775// SetMarker sets the Marker field's value.
19776func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
19777	s.Marker = &v
19778	return s
19779}
19780
19781// SetMaxRecords sets the MaxRecords field's value.
19782func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
19783	s.MaxRecords = &v
19784	return s
19785}
19786
19787// Contains the result of a successful invocation of the DescribeDBSubnetGroups
19788// action.
19789type DescribeDBSubnetGroupsOutput struct {
19790	_ struct{} `type:"structure"`
19791
19792	// A list of DBSubnetGroup instances.
19793	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
19794
19795	// An optional pagination token provided by a previous request. If this parameter
19796	// is specified, the response includes only records beyond the marker, up to
19797	// the value specified by MaxRecords.
19798	Marker *string `type:"string"`
19799}
19800
19801// String returns the string representation
19802func (s DescribeDBSubnetGroupsOutput) String() string {
19803	return awsutil.Prettify(s)
19804}
19805
19806// GoString returns the string representation
19807func (s DescribeDBSubnetGroupsOutput) GoString() string {
19808	return s.String()
19809}
19810
19811// SetDBSubnetGroups sets the DBSubnetGroups field's value.
19812func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
19813	s.DBSubnetGroups = v
19814	return s
19815}
19816
19817// SetMarker sets the Marker field's value.
19818func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
19819	s.Marker = &v
19820	return s
19821}
19822
19823type DescribeEngineDefaultClusterParametersInput struct {
19824	_ struct{} `type:"structure"`
19825
19826	// The name of the DB cluster parameter group family to return engine parameter
19827	// information for.
19828	//
19829	// DBParameterGroupFamily is a required field
19830	DBParameterGroupFamily *string `type:"string" required:"true"`
19831
19832	// This parameter is not currently supported.
19833	Filters []*Filter `locationNameList:"Filter" type:"list"`
19834
19835	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
19836	// request. If this parameter is specified, the response includes only records
19837	// beyond the marker, up to the value specified by MaxRecords.
19838	Marker *string `type:"string"`
19839
19840	// The maximum number of records to include in the response. If more records
19841	// exist than the specified MaxRecords value, a pagination token called a marker
19842	// is included in the response so that the remaining results can be retrieved.
19843	//
19844	// Default: 100
19845	//
19846	// Constraints: Minimum 20, maximum 100.
19847	MaxRecords *int64 `type:"integer"`
19848}
19849
19850// String returns the string representation
19851func (s DescribeEngineDefaultClusterParametersInput) String() string {
19852	return awsutil.Prettify(s)
19853}
19854
19855// GoString returns the string representation
19856func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
19857	return s.String()
19858}
19859
19860// Validate inspects the fields of the type to determine if they are valid.
19861func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
19862	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
19863	if s.DBParameterGroupFamily == nil {
19864		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
19865	}
19866	if s.Filters != nil {
19867		for i, v := range s.Filters {
19868			if v == nil {
19869				continue
19870			}
19871			if err := v.Validate(); err != nil {
19872				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19873			}
19874		}
19875	}
19876
19877	if invalidParams.Len() > 0 {
19878		return invalidParams
19879	}
19880	return nil
19881}
19882
19883// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
19884func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
19885	s.DBParameterGroupFamily = &v
19886	return s
19887}
19888
19889// SetFilters sets the Filters field's value.
19890func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
19891	s.Filters = v
19892	return s
19893}
19894
19895// SetMarker sets the Marker field's value.
19896func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
19897	s.Marker = &v
19898	return s
19899}
19900
19901// SetMaxRecords sets the MaxRecords field's value.
19902func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
19903	s.MaxRecords = &v
19904	return s
19905}
19906
19907type DescribeEngineDefaultClusterParametersOutput struct {
19908	_ struct{} `type:"structure"`
19909
19910	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
19911	// action.
19912	EngineDefaults *EngineDefaults `type:"structure"`
19913}
19914
19915// String returns the string representation
19916func (s DescribeEngineDefaultClusterParametersOutput) String() string {
19917	return awsutil.Prettify(s)
19918}
19919
19920// GoString returns the string representation
19921func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
19922	return s.String()
19923}
19924
19925// SetEngineDefaults sets the EngineDefaults field's value.
19926func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
19927	s.EngineDefaults = v
19928	return s
19929}
19930
19931type DescribeEngineDefaultParametersInput struct {
19932	_ struct{} `type:"structure"`
19933
19934	// The name of the DB parameter group family.
19935	//
19936	// DBParameterGroupFamily is a required field
19937	DBParameterGroupFamily *string `type:"string" required:"true"`
19938
19939	// This parameter is not currently supported.
19940	Filters []*Filter `locationNameList:"Filter" type:"list"`
19941
19942	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
19943	// request. If this parameter is specified, the response includes only records
19944	// beyond the marker, up to the value specified by MaxRecords.
19945	Marker *string `type:"string"`
19946
19947	// The maximum number of records to include in the response. If more records
19948	// exist than the specified MaxRecords value, a pagination token called a marker
19949	// is included in the response so that the remaining results can be retrieved.
19950	//
19951	// Default: 100
19952	//
19953	// Constraints: Minimum 20, maximum 100.
19954	MaxRecords *int64 `type:"integer"`
19955}
19956
19957// String returns the string representation
19958func (s DescribeEngineDefaultParametersInput) String() string {
19959	return awsutil.Prettify(s)
19960}
19961
19962// GoString returns the string representation
19963func (s DescribeEngineDefaultParametersInput) GoString() string {
19964	return s.String()
19965}
19966
19967// Validate inspects the fields of the type to determine if they are valid.
19968func (s *DescribeEngineDefaultParametersInput) Validate() error {
19969	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
19970	if s.DBParameterGroupFamily == nil {
19971		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
19972	}
19973	if s.Filters != nil {
19974		for i, v := range s.Filters {
19975			if v == nil {
19976				continue
19977			}
19978			if err := v.Validate(); err != nil {
19979				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19980			}
19981		}
19982	}
19983
19984	if invalidParams.Len() > 0 {
19985		return invalidParams
19986	}
19987	return nil
19988}
19989
19990// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
19991func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
19992	s.DBParameterGroupFamily = &v
19993	return s
19994}
19995
19996// SetFilters sets the Filters field's value.
19997func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
19998	s.Filters = v
19999	return s
20000}
20001
20002// SetMarker sets the Marker field's value.
20003func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
20004	s.Marker = &v
20005	return s
20006}
20007
20008// SetMaxRecords sets the MaxRecords field's value.
20009func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
20010	s.MaxRecords = &v
20011	return s
20012}
20013
20014type DescribeEngineDefaultParametersOutput struct {
20015	_ struct{} `type:"structure"`
20016
20017	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
20018	// action.
20019	EngineDefaults *EngineDefaults `type:"structure"`
20020}
20021
20022// String returns the string representation
20023func (s DescribeEngineDefaultParametersOutput) String() string {
20024	return awsutil.Prettify(s)
20025}
20026
20027// GoString returns the string representation
20028func (s DescribeEngineDefaultParametersOutput) GoString() string {
20029	return s.String()
20030}
20031
20032// SetEngineDefaults sets the EngineDefaults field's value.
20033func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
20034	s.EngineDefaults = v
20035	return s
20036}
20037
20038type DescribeEventCategoriesInput struct {
20039	_ struct{} `type:"structure"`
20040
20041	// This parameter is not currently supported.
20042	Filters []*Filter `locationNameList:"Filter" type:"list"`
20043
20044	// The type of source that is generating the events.
20045	//
20046	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
20047	SourceType *string `type:"string"`
20048}
20049
20050// String returns the string representation
20051func (s DescribeEventCategoriesInput) String() string {
20052	return awsutil.Prettify(s)
20053}
20054
20055// GoString returns the string representation
20056func (s DescribeEventCategoriesInput) GoString() string {
20057	return s.String()
20058}
20059
20060// Validate inspects the fields of the type to determine if they are valid.
20061func (s *DescribeEventCategoriesInput) Validate() error {
20062	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
20063	if s.Filters != nil {
20064		for i, v := range s.Filters {
20065			if v == nil {
20066				continue
20067			}
20068			if err := v.Validate(); err != nil {
20069				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20070			}
20071		}
20072	}
20073
20074	if invalidParams.Len() > 0 {
20075		return invalidParams
20076	}
20077	return nil
20078}
20079
20080// SetFilters sets the Filters field's value.
20081func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
20082	s.Filters = v
20083	return s
20084}
20085
20086// SetSourceType sets the SourceType field's value.
20087func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
20088	s.SourceType = &v
20089	return s
20090}
20091
20092// Data returned from the DescribeEventCategories action.
20093type DescribeEventCategoriesOutput struct {
20094	_ struct{} `type:"structure"`
20095
20096	// A list of EventCategoriesMap data types.
20097	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
20098}
20099
20100// String returns the string representation
20101func (s DescribeEventCategoriesOutput) String() string {
20102	return awsutil.Prettify(s)
20103}
20104
20105// GoString returns the string representation
20106func (s DescribeEventCategoriesOutput) GoString() string {
20107	return s.String()
20108}
20109
20110// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
20111func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
20112	s.EventCategoriesMapList = v
20113	return s
20114}
20115
20116type DescribeEventSubscriptionsInput struct {
20117	_ struct{} `type:"structure"`
20118
20119	// This parameter is not currently supported.
20120	Filters []*Filter `locationNameList:"Filter" type:"list"`
20121
20122	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
20123	// request. If this parameter is specified, the response includes only records
20124	// beyond the marker, up to the value specified by MaxRecords .
20125	Marker *string `type:"string"`
20126
20127	// The maximum number of records to include in the response. If more records
20128	// exist than the specified MaxRecords value, a pagination token called a marker
20129	// is included in the response so that the remaining results can be retrieved.
20130	//
20131	// Default: 100
20132	//
20133	// Constraints: Minimum 20, maximum 100.
20134	MaxRecords *int64 `type:"integer"`
20135
20136	// The name of the RDS event notification subscription you want to describe.
20137	SubscriptionName *string `type:"string"`
20138}
20139
20140// String returns the string representation
20141func (s DescribeEventSubscriptionsInput) String() string {
20142	return awsutil.Prettify(s)
20143}
20144
20145// GoString returns the string representation
20146func (s DescribeEventSubscriptionsInput) GoString() string {
20147	return s.String()
20148}
20149
20150// Validate inspects the fields of the type to determine if they are valid.
20151func (s *DescribeEventSubscriptionsInput) Validate() error {
20152	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
20153	if s.Filters != nil {
20154		for i, v := range s.Filters {
20155			if v == nil {
20156				continue
20157			}
20158			if err := v.Validate(); err != nil {
20159				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20160			}
20161		}
20162	}
20163
20164	if invalidParams.Len() > 0 {
20165		return invalidParams
20166	}
20167	return nil
20168}
20169
20170// SetFilters sets the Filters field's value.
20171func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
20172	s.Filters = v
20173	return s
20174}
20175
20176// SetMarker sets the Marker field's value.
20177func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
20178	s.Marker = &v
20179	return s
20180}
20181
20182// SetMaxRecords sets the MaxRecords field's value.
20183func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
20184	s.MaxRecords = &v
20185	return s
20186}
20187
20188// SetSubscriptionName sets the SubscriptionName field's value.
20189func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
20190	s.SubscriptionName = &v
20191	return s
20192}
20193
20194// Data returned by the DescribeEventSubscriptions action.
20195type DescribeEventSubscriptionsOutput struct {
20196	_ struct{} `type:"structure"`
20197
20198	// A list of EventSubscriptions data types.
20199	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
20200
20201	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
20202	// request. If this parameter is specified, the response includes only records
20203	// beyond the marker, up to the value specified by MaxRecords.
20204	Marker *string `type:"string"`
20205}
20206
20207// String returns the string representation
20208func (s DescribeEventSubscriptionsOutput) String() string {
20209	return awsutil.Prettify(s)
20210}
20211
20212// GoString returns the string representation
20213func (s DescribeEventSubscriptionsOutput) GoString() string {
20214	return s.String()
20215}
20216
20217// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
20218func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
20219	s.EventSubscriptionsList = v
20220	return s
20221}
20222
20223// SetMarker sets the Marker field's value.
20224func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
20225	s.Marker = &v
20226	return s
20227}
20228
20229type DescribeEventsInput struct {
20230	_ struct{} `type:"structure"`
20231
20232	// The number of minutes to retrieve events for.
20233	//
20234	// Default: 60
20235	Duration *int64 `type:"integer"`
20236
20237	// The end of the time interval for which to retrieve events, specified in ISO
20238	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
20239	// page. (http://en.wikipedia.org/wiki/ISO_8601)
20240	//
20241	// Example: 2009-07-08T18:00Z
20242	EndTime *time.Time `type:"timestamp"`
20243
20244	// A list of event categories that trigger notifications for a event notification
20245	// subscription.
20246	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
20247
20248	// This parameter is not currently supported.
20249	Filters []*Filter `locationNameList:"Filter" type:"list"`
20250
20251	// An optional pagination token provided by a previous DescribeEvents request.
20252	// If this parameter is specified, the response includes only records beyond
20253	// the marker, up to the value specified by MaxRecords.
20254	Marker *string `type:"string"`
20255
20256	// The maximum number of records to include in the response. If more records
20257	// exist than the specified MaxRecords value, a pagination token called a marker
20258	// is included in the response so that the remaining results can be retrieved.
20259	//
20260	// Default: 100
20261	//
20262	// Constraints: Minimum 20, maximum 100.
20263	MaxRecords *int64 `type:"integer"`
20264
20265	// The identifier of the event source for which events are returned. If not
20266	// specified, then all sources are included in the response.
20267	//
20268	// Constraints:
20269	//
20270	//    * If SourceIdentifier is supplied, SourceType must also be provided.
20271	//
20272	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
20273	//    supplied.
20274	//
20275	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
20276	//    supplied.
20277	//
20278	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
20279	//    be supplied.
20280	//
20281	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
20282	//
20283	//    * Cannot end with a hyphen or contain two consecutive hyphens.
20284	SourceIdentifier *string `type:"string"`
20285
20286	// The event source to retrieve events for. If no value is specified, all events
20287	// are returned.
20288	SourceType *string `type:"string" enum:"SourceType"`
20289
20290	// The beginning of the time interval to retrieve events for, specified in ISO
20291	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
20292	// page. (http://en.wikipedia.org/wiki/ISO_8601)
20293	//
20294	// Example: 2009-07-08T18:00Z
20295	StartTime *time.Time `type:"timestamp"`
20296}
20297
20298// String returns the string representation
20299func (s DescribeEventsInput) String() string {
20300	return awsutil.Prettify(s)
20301}
20302
20303// GoString returns the string representation
20304func (s DescribeEventsInput) GoString() string {
20305	return s.String()
20306}
20307
20308// Validate inspects the fields of the type to determine if they are valid.
20309func (s *DescribeEventsInput) Validate() error {
20310	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
20311	if s.Filters != nil {
20312		for i, v := range s.Filters {
20313			if v == nil {
20314				continue
20315			}
20316			if err := v.Validate(); err != nil {
20317				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20318			}
20319		}
20320	}
20321
20322	if invalidParams.Len() > 0 {
20323		return invalidParams
20324	}
20325	return nil
20326}
20327
20328// SetDuration sets the Duration field's value.
20329func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
20330	s.Duration = &v
20331	return s
20332}
20333
20334// SetEndTime sets the EndTime field's value.
20335func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
20336	s.EndTime = &v
20337	return s
20338}
20339
20340// SetEventCategories sets the EventCategories field's value.
20341func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
20342	s.EventCategories = v
20343	return s
20344}
20345
20346// SetFilters sets the Filters field's value.
20347func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
20348	s.Filters = v
20349	return s
20350}
20351
20352// SetMarker sets the Marker field's value.
20353func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
20354	s.Marker = &v
20355	return s
20356}
20357
20358// SetMaxRecords sets the MaxRecords field's value.
20359func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
20360	s.MaxRecords = &v
20361	return s
20362}
20363
20364// SetSourceIdentifier sets the SourceIdentifier field's value.
20365func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
20366	s.SourceIdentifier = &v
20367	return s
20368}
20369
20370// SetSourceType sets the SourceType field's value.
20371func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
20372	s.SourceType = &v
20373	return s
20374}
20375
20376// SetStartTime sets the StartTime field's value.
20377func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
20378	s.StartTime = &v
20379	return s
20380}
20381
20382// Contains the result of a successful invocation of the DescribeEvents action.
20383type DescribeEventsOutput struct {
20384	_ struct{} `type:"structure"`
20385
20386	// A list of Event instances.
20387	Events []*Event `locationNameList:"Event" type:"list"`
20388
20389	// An optional pagination token provided by a previous Events request. If this
20390	// parameter is specified, the response includes only records beyond the marker,
20391	// up to the value specified by MaxRecords .
20392	Marker *string `type:"string"`
20393}
20394
20395// String returns the string representation
20396func (s DescribeEventsOutput) String() string {
20397	return awsutil.Prettify(s)
20398}
20399
20400// GoString returns the string representation
20401func (s DescribeEventsOutput) GoString() string {
20402	return s.String()
20403}
20404
20405// SetEvents sets the Events field's value.
20406func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
20407	s.Events = v
20408	return s
20409}
20410
20411// SetMarker sets the Marker field's value.
20412func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
20413	s.Marker = &v
20414	return s
20415}
20416
20417type DescribeOptionGroupOptionsInput struct {
20418	_ struct{} `type:"structure"`
20419
20420	// A required parameter. Options available for the given engine name are described.
20421	//
20422	// EngineName is a required field
20423	EngineName *string `type:"string" required:"true"`
20424
20425	// This parameter is not currently supported.
20426	Filters []*Filter `locationNameList:"Filter" type:"list"`
20427
20428	// If specified, filters the results to include only options for the specified
20429	// major engine version.
20430	MajorEngineVersion *string `type:"string"`
20431
20432	// An optional pagination token provided by a previous request. If this parameter
20433	// is specified, the response includes only records beyond the marker, up to
20434	// the value specified by MaxRecords.
20435	Marker *string `type:"string"`
20436
20437	// The maximum number of records to include in the response. If more records
20438	// exist than the specified MaxRecords value, a pagination token called a marker
20439	// is included in the response so that the remaining results can be retrieved.
20440	//
20441	// Default: 100
20442	//
20443	// Constraints: Minimum 20, maximum 100.
20444	MaxRecords *int64 `type:"integer"`
20445}
20446
20447// String returns the string representation
20448func (s DescribeOptionGroupOptionsInput) String() string {
20449	return awsutil.Prettify(s)
20450}
20451
20452// GoString returns the string representation
20453func (s DescribeOptionGroupOptionsInput) GoString() string {
20454	return s.String()
20455}
20456
20457// Validate inspects the fields of the type to determine if they are valid.
20458func (s *DescribeOptionGroupOptionsInput) Validate() error {
20459	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupOptionsInput"}
20460	if s.EngineName == nil {
20461		invalidParams.Add(request.NewErrParamRequired("EngineName"))
20462	}
20463	if s.Filters != nil {
20464		for i, v := range s.Filters {
20465			if v == nil {
20466				continue
20467			}
20468			if err := v.Validate(); err != nil {
20469				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20470			}
20471		}
20472	}
20473
20474	if invalidParams.Len() > 0 {
20475		return invalidParams
20476	}
20477	return nil
20478}
20479
20480// SetEngineName sets the EngineName field's value.
20481func (s *DescribeOptionGroupOptionsInput) SetEngineName(v string) *DescribeOptionGroupOptionsInput {
20482	s.EngineName = &v
20483	return s
20484}
20485
20486// SetFilters sets the Filters field's value.
20487func (s *DescribeOptionGroupOptionsInput) SetFilters(v []*Filter) *DescribeOptionGroupOptionsInput {
20488	s.Filters = v
20489	return s
20490}
20491
20492// SetMajorEngineVersion sets the MajorEngineVersion field's value.
20493func (s *DescribeOptionGroupOptionsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupOptionsInput {
20494	s.MajorEngineVersion = &v
20495	return s
20496}
20497
20498// SetMarker sets the Marker field's value.
20499func (s *DescribeOptionGroupOptionsInput) SetMarker(v string) *DescribeOptionGroupOptionsInput {
20500	s.Marker = &v
20501	return s
20502}
20503
20504// SetMaxRecords sets the MaxRecords field's value.
20505func (s *DescribeOptionGroupOptionsInput) SetMaxRecords(v int64) *DescribeOptionGroupOptionsInput {
20506	s.MaxRecords = &v
20507	return s
20508}
20509
20510type DescribeOptionGroupOptionsOutput struct {
20511	_ struct{} `type:"structure"`
20512
20513	// An optional pagination token provided by a previous request. If this parameter
20514	// is specified, the response includes only records beyond the marker, up to
20515	// the value specified by MaxRecords.
20516	Marker *string `type:"string"`
20517
20518	// List of available option group options.
20519	OptionGroupOptions []*OptionGroupOption `locationNameList:"OptionGroupOption" type:"list"`
20520}
20521
20522// String returns the string representation
20523func (s DescribeOptionGroupOptionsOutput) String() string {
20524	return awsutil.Prettify(s)
20525}
20526
20527// GoString returns the string representation
20528func (s DescribeOptionGroupOptionsOutput) GoString() string {
20529	return s.String()
20530}
20531
20532// SetMarker sets the Marker field's value.
20533func (s *DescribeOptionGroupOptionsOutput) SetMarker(v string) *DescribeOptionGroupOptionsOutput {
20534	s.Marker = &v
20535	return s
20536}
20537
20538// SetOptionGroupOptions sets the OptionGroupOptions field's value.
20539func (s *DescribeOptionGroupOptionsOutput) SetOptionGroupOptions(v []*OptionGroupOption) *DescribeOptionGroupOptionsOutput {
20540	s.OptionGroupOptions = v
20541	return s
20542}
20543
20544type DescribeOptionGroupsInput struct {
20545	_ struct{} `type:"structure"`
20546
20547	// Filters the list of option groups to only include groups associated with
20548	// a specific database engine.
20549	EngineName *string `type:"string"`
20550
20551	// This parameter is not currently supported.
20552	Filters []*Filter `locationNameList:"Filter" type:"list"`
20553
20554	// Filters the list of option groups to only include groups associated with
20555	// a specific database engine version. If specified, then EngineName must also
20556	// be specified.
20557	MajorEngineVersion *string `type:"string"`
20558
20559	// An optional pagination token provided by a previous DescribeOptionGroups
20560	// request. If this parameter is specified, the response includes only records
20561	// beyond the marker, up to the value specified by MaxRecords.
20562	Marker *string `type:"string"`
20563
20564	// The maximum number of records to include in the response. If more records
20565	// exist than the specified MaxRecords value, a pagination token called a marker
20566	// is included in the response so that the remaining results can be retrieved.
20567	//
20568	// Default: 100
20569	//
20570	// Constraints: Minimum 20, maximum 100.
20571	MaxRecords *int64 `type:"integer"`
20572
20573	// The name of the option group to describe. Cannot be supplied together with
20574	// EngineName or MajorEngineVersion.
20575	OptionGroupName *string `type:"string"`
20576}
20577
20578// String returns the string representation
20579func (s DescribeOptionGroupsInput) String() string {
20580	return awsutil.Prettify(s)
20581}
20582
20583// GoString returns the string representation
20584func (s DescribeOptionGroupsInput) GoString() string {
20585	return s.String()
20586}
20587
20588// Validate inspects the fields of the type to determine if they are valid.
20589func (s *DescribeOptionGroupsInput) Validate() error {
20590	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupsInput"}
20591	if s.Filters != nil {
20592		for i, v := range s.Filters {
20593			if v == nil {
20594				continue
20595			}
20596			if err := v.Validate(); err != nil {
20597				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20598			}
20599		}
20600	}
20601
20602	if invalidParams.Len() > 0 {
20603		return invalidParams
20604	}
20605	return nil
20606}
20607
20608// SetEngineName sets the EngineName field's value.
20609func (s *DescribeOptionGroupsInput) SetEngineName(v string) *DescribeOptionGroupsInput {
20610	s.EngineName = &v
20611	return s
20612}
20613
20614// SetFilters sets the Filters field's value.
20615func (s *DescribeOptionGroupsInput) SetFilters(v []*Filter) *DescribeOptionGroupsInput {
20616	s.Filters = v
20617	return s
20618}
20619
20620// SetMajorEngineVersion sets the MajorEngineVersion field's value.
20621func (s *DescribeOptionGroupsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupsInput {
20622	s.MajorEngineVersion = &v
20623	return s
20624}
20625
20626// SetMarker sets the Marker field's value.
20627func (s *DescribeOptionGroupsInput) SetMarker(v string) *DescribeOptionGroupsInput {
20628	s.Marker = &v
20629	return s
20630}
20631
20632// SetMaxRecords sets the MaxRecords field's value.
20633func (s *DescribeOptionGroupsInput) SetMaxRecords(v int64) *DescribeOptionGroupsInput {
20634	s.MaxRecords = &v
20635	return s
20636}
20637
20638// SetOptionGroupName sets the OptionGroupName field's value.
20639func (s *DescribeOptionGroupsInput) SetOptionGroupName(v string) *DescribeOptionGroupsInput {
20640	s.OptionGroupName = &v
20641	return s
20642}
20643
20644// List of option groups.
20645type DescribeOptionGroupsOutput struct {
20646	_ struct{} `type:"structure"`
20647
20648	// An optional pagination token provided by a previous request. If this parameter
20649	// is specified, the response includes only records beyond the marker, up to
20650	// the value specified by MaxRecords.
20651	Marker *string `type:"string"`
20652
20653	// List of option groups.
20654	OptionGroupsList []*OptionGroup `locationNameList:"OptionGroup" type:"list"`
20655}
20656
20657// String returns the string representation
20658func (s DescribeOptionGroupsOutput) String() string {
20659	return awsutil.Prettify(s)
20660}
20661
20662// GoString returns the string representation
20663func (s DescribeOptionGroupsOutput) GoString() string {
20664	return s.String()
20665}
20666
20667// SetMarker sets the Marker field's value.
20668func (s *DescribeOptionGroupsOutput) SetMarker(v string) *DescribeOptionGroupsOutput {
20669	s.Marker = &v
20670	return s
20671}
20672
20673// SetOptionGroupsList sets the OptionGroupsList field's value.
20674func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *DescribeOptionGroupsOutput {
20675	s.OptionGroupsList = v
20676	return s
20677}
20678
20679type DescribeOrderableDBInstanceOptionsInput struct {
20680	_ struct{} `type:"structure"`
20681
20682	// The DB instance class filter value. Specify this parameter to show only the
20683	// available offerings matching the specified DB instance class.
20684	DBInstanceClass *string `type:"string"`
20685
20686	// The name of the engine to retrieve DB instance options for.
20687	//
20688	// Engine is a required field
20689	Engine *string `type:"string" required:"true"`
20690
20691	// The engine version filter value. Specify this parameter to show only the
20692	// available offerings matching the specified engine version.
20693	EngineVersion *string `type:"string"`
20694
20695	// This parameter is not currently supported.
20696	Filters []*Filter `locationNameList:"Filter" type:"list"`
20697
20698	// The license model filter value. Specify this parameter to show only the available
20699	// offerings matching the specified license model.
20700	LicenseModel *string `type:"string"`
20701
20702	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
20703	// request. If this parameter is specified, the response includes only records
20704	// beyond the marker, up to the value specified by MaxRecords .
20705	Marker *string `type:"string"`
20706
20707	// The maximum number of records to include in the response. If more records
20708	// exist than the specified MaxRecords value, a pagination token called a marker
20709	// is included in the response so that the remaining results can be retrieved.
20710	//
20711	// Default: 100
20712	//
20713	// Constraints: Minimum 20, maximum 100.
20714	MaxRecords *int64 `type:"integer"`
20715
20716	// The VPC filter value. Specify this parameter to show only the available VPC
20717	// or non-VPC offerings.
20718	Vpc *bool `type:"boolean"`
20719}
20720
20721// String returns the string representation
20722func (s DescribeOrderableDBInstanceOptionsInput) String() string {
20723	return awsutil.Prettify(s)
20724}
20725
20726// GoString returns the string representation
20727func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
20728	return s.String()
20729}
20730
20731// Validate inspects the fields of the type to determine if they are valid.
20732func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
20733	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
20734	if s.Engine == nil {
20735		invalidParams.Add(request.NewErrParamRequired("Engine"))
20736	}
20737	if s.Filters != nil {
20738		for i, v := range s.Filters {
20739			if v == nil {
20740				continue
20741			}
20742			if err := v.Validate(); err != nil {
20743				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20744			}
20745		}
20746	}
20747
20748	if invalidParams.Len() > 0 {
20749		return invalidParams
20750	}
20751	return nil
20752}
20753
20754// SetDBInstanceClass sets the DBInstanceClass field's value.
20755func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
20756	s.DBInstanceClass = &v
20757	return s
20758}
20759
20760// SetEngine sets the Engine field's value.
20761func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
20762	s.Engine = &v
20763	return s
20764}
20765
20766// SetEngineVersion sets the EngineVersion field's value.
20767func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
20768	s.EngineVersion = &v
20769	return s
20770}
20771
20772// SetFilters sets the Filters field's value.
20773func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
20774	s.Filters = v
20775	return s
20776}
20777
20778// SetLicenseModel sets the LicenseModel field's value.
20779func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
20780	s.LicenseModel = &v
20781	return s
20782}
20783
20784// SetMarker sets the Marker field's value.
20785func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
20786	s.Marker = &v
20787	return s
20788}
20789
20790// SetMaxRecords sets the MaxRecords field's value.
20791func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
20792	s.MaxRecords = &v
20793	return s
20794}
20795
20796// SetVpc sets the Vpc field's value.
20797func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
20798	s.Vpc = &v
20799	return s
20800}
20801
20802// Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions
20803// action.
20804type DescribeOrderableDBInstanceOptionsOutput struct {
20805	_ struct{} `type:"structure"`
20806
20807	// An optional pagination token provided by a previous OrderableDBInstanceOptions
20808	// request. If this parameter is specified, the response includes only records
20809	// beyond the marker, up to the value specified by MaxRecords .
20810	Marker *string `type:"string"`
20811
20812	// An OrderableDBInstanceOption structure containing information about orderable
20813	// options for the DB instance.
20814	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
20815}
20816
20817// String returns the string representation
20818func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
20819	return awsutil.Prettify(s)
20820}
20821
20822// GoString returns the string representation
20823func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
20824	return s.String()
20825}
20826
20827// SetMarker sets the Marker field's value.
20828func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
20829	s.Marker = &v
20830	return s
20831}
20832
20833// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
20834func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
20835	s.OrderableDBInstanceOptions = v
20836	return s
20837}
20838
20839type DescribePendingMaintenanceActionsInput struct {
20840	_ struct{} `type:"structure"`
20841
20842	// A filter that specifies one or more resources to return pending maintenance
20843	// actions for.
20844	//
20845	// Supported filters:
20846	//
20847	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
20848	//    Resource Names (ARNs). The results list will only include pending maintenance
20849	//    actions for the DB clusters identified by these ARNs.
20850	//
20851	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
20852	//    The results list will only include pending maintenance actions for the
20853	//    DB instances identified by these ARNs.
20854	Filters []*Filter `locationNameList:"Filter" type:"list"`
20855
20856	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
20857	// request. If this parameter is specified, the response includes only records
20858	// beyond the marker, up to a number of records specified by MaxRecords.
20859	Marker *string `type:"string"`
20860
20861	// The maximum number of records to include in the response. If more records
20862	// exist than the specified MaxRecords value, a pagination token called a marker
20863	// is included in the response so that the remaining results can be retrieved.
20864	//
20865	// Default: 100
20866	//
20867	// Constraints: Minimum 20, maximum 100.
20868	MaxRecords *int64 `type:"integer"`
20869
20870	// The ARN of a resource to return pending maintenance actions for.
20871	ResourceIdentifier *string `type:"string"`
20872}
20873
20874// String returns the string representation
20875func (s DescribePendingMaintenanceActionsInput) String() string {
20876	return awsutil.Prettify(s)
20877}
20878
20879// GoString returns the string representation
20880func (s DescribePendingMaintenanceActionsInput) GoString() string {
20881	return s.String()
20882}
20883
20884// Validate inspects the fields of the type to determine if they are valid.
20885func (s *DescribePendingMaintenanceActionsInput) Validate() error {
20886	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
20887	if s.Filters != nil {
20888		for i, v := range s.Filters {
20889			if v == nil {
20890				continue
20891			}
20892			if err := v.Validate(); err != nil {
20893				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20894			}
20895		}
20896	}
20897
20898	if invalidParams.Len() > 0 {
20899		return invalidParams
20900	}
20901	return nil
20902}
20903
20904// SetFilters sets the Filters field's value.
20905func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
20906	s.Filters = v
20907	return s
20908}
20909
20910// SetMarker sets the Marker field's value.
20911func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
20912	s.Marker = &v
20913	return s
20914}
20915
20916// SetMaxRecords sets the MaxRecords field's value.
20917func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
20918	s.MaxRecords = &v
20919	return s
20920}
20921
20922// SetResourceIdentifier sets the ResourceIdentifier field's value.
20923func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
20924	s.ResourceIdentifier = &v
20925	return s
20926}
20927
20928// Data returned from the DescribePendingMaintenanceActions action.
20929type DescribePendingMaintenanceActionsOutput struct {
20930	_ struct{} `type:"structure"`
20931
20932	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
20933	// request. If this parameter is specified, the response includes only records
20934	// beyond the marker, up to a number of records specified by MaxRecords.
20935	Marker *string `type:"string"`
20936
20937	// A list of the pending maintenance actions for the resource.
20938	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
20939}
20940
20941// String returns the string representation
20942func (s DescribePendingMaintenanceActionsOutput) String() string {
20943	return awsutil.Prettify(s)
20944}
20945
20946// GoString returns the string representation
20947func (s DescribePendingMaintenanceActionsOutput) GoString() string {
20948	return s.String()
20949}
20950
20951// SetMarker sets the Marker field's value.
20952func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
20953	s.Marker = &v
20954	return s
20955}
20956
20957// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
20958func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
20959	s.PendingMaintenanceActions = v
20960	return s
20961}
20962
20963type DescribeReservedDBInstancesInput struct {
20964	_ struct{} `type:"structure"`
20965
20966	// The DB instance class filter value. Specify this parameter to show only those
20967	// reservations matching the specified DB instances class.
20968	DBInstanceClass *string `type:"string"`
20969
20970	// The duration filter value, specified in years or seconds. Specify this parameter
20971	// to show only reservations for this duration.
20972	//
20973	// Valid Values: 1 | 3 | 31536000 | 94608000
20974	Duration *string `type:"string"`
20975
20976	// This parameter is not currently supported.
20977	Filters []*Filter `locationNameList:"Filter" type:"list"`
20978
20979	// An optional pagination token provided by a previous request. If this parameter
20980	// is specified, the response includes only records beyond the marker, up to
20981	// the value specified by MaxRecords.
20982	Marker *string `type:"string"`
20983
20984	// The maximum number of records to include in the response. If more than the
20985	// MaxRecords value is available, a pagination token called a marker is included
20986	// in the response so that the following results can be retrieved.
20987	//
20988	// Default: 100
20989	//
20990	// Constraints: Minimum 20, maximum 100.
20991	MaxRecords *int64 `type:"integer"`
20992
20993	// The Multi-AZ filter value. Specify this parameter to show only those reservations
20994	// matching the specified Multi-AZ parameter.
20995	MultiAZ *bool `type:"boolean"`
20996
20997	// The offering type filter value. Specify this parameter to show only the available
20998	// offerings matching the specified offering type.
20999	//
21000	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
21001	OfferingType *string `type:"string"`
21002
21003	// The product description filter value. Specify this parameter to show only
21004	// those reservations matching the specified product description.
21005	ProductDescription *string `type:"string"`
21006
21007	// The reserved DB instance identifier filter value. Specify this parameter
21008	// to show only the reservation that matches the specified reservation ID.
21009	ReservedDBInstanceId *string `type:"string"`
21010
21011	// The offering identifier filter value. Specify this parameter to show only
21012	// purchased reservations matching the specified offering identifier.
21013	ReservedDBInstancesOfferingId *string `type:"string"`
21014}
21015
21016// String returns the string representation
21017func (s DescribeReservedDBInstancesInput) String() string {
21018	return awsutil.Prettify(s)
21019}
21020
21021// GoString returns the string representation
21022func (s DescribeReservedDBInstancesInput) GoString() string {
21023	return s.String()
21024}
21025
21026// Validate inspects the fields of the type to determine if they are valid.
21027func (s *DescribeReservedDBInstancesInput) Validate() error {
21028	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesInput"}
21029	if s.Filters != nil {
21030		for i, v := range s.Filters {
21031			if v == nil {
21032				continue
21033			}
21034			if err := v.Validate(); err != nil {
21035				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21036			}
21037		}
21038	}
21039
21040	if invalidParams.Len() > 0 {
21041		return invalidParams
21042	}
21043	return nil
21044}
21045
21046// SetDBInstanceClass sets the DBInstanceClass field's value.
21047func (s *DescribeReservedDBInstancesInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesInput {
21048	s.DBInstanceClass = &v
21049	return s
21050}
21051
21052// SetDuration sets the Duration field's value.
21053func (s *DescribeReservedDBInstancesInput) SetDuration(v string) *DescribeReservedDBInstancesInput {
21054	s.Duration = &v
21055	return s
21056}
21057
21058// SetFilters sets the Filters field's value.
21059func (s *DescribeReservedDBInstancesInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesInput {
21060	s.Filters = v
21061	return s
21062}
21063
21064// SetMarker sets the Marker field's value.
21065func (s *DescribeReservedDBInstancesInput) SetMarker(v string) *DescribeReservedDBInstancesInput {
21066	s.Marker = &v
21067	return s
21068}
21069
21070// SetMaxRecords sets the MaxRecords field's value.
21071func (s *DescribeReservedDBInstancesInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesInput {
21072	s.MaxRecords = &v
21073	return s
21074}
21075
21076// SetMultiAZ sets the MultiAZ field's value.
21077func (s *DescribeReservedDBInstancesInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesInput {
21078	s.MultiAZ = &v
21079	return s
21080}
21081
21082// SetOfferingType sets the OfferingType field's value.
21083func (s *DescribeReservedDBInstancesInput) SetOfferingType(v string) *DescribeReservedDBInstancesInput {
21084	s.OfferingType = &v
21085	return s
21086}
21087
21088// SetProductDescription sets the ProductDescription field's value.
21089func (s *DescribeReservedDBInstancesInput) SetProductDescription(v string) *DescribeReservedDBInstancesInput {
21090	s.ProductDescription = &v
21091	return s
21092}
21093
21094// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
21095func (s *DescribeReservedDBInstancesInput) SetReservedDBInstanceId(v string) *DescribeReservedDBInstancesInput {
21096	s.ReservedDBInstanceId = &v
21097	return s
21098}
21099
21100// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
21101func (s *DescribeReservedDBInstancesInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesInput {
21102	s.ReservedDBInstancesOfferingId = &v
21103	return s
21104}
21105
21106type DescribeReservedDBInstancesOfferingsInput struct {
21107	_ struct{} `type:"structure"`
21108
21109	// The DB instance class filter value. Specify this parameter to show only the
21110	// available offerings matching the specified DB instance class.
21111	DBInstanceClass *string `type:"string"`
21112
21113	// Duration filter value, specified in years or seconds. Specify this parameter
21114	// to show only reservations for this duration.
21115	//
21116	// Valid Values: 1 | 3 | 31536000 | 94608000
21117	Duration *string `type:"string"`
21118
21119	// This parameter is not currently supported.
21120	Filters []*Filter `locationNameList:"Filter" type:"list"`
21121
21122	// An optional pagination token provided by a previous request. If this parameter
21123	// is specified, the response includes only records beyond the marker, up to
21124	// the value specified by MaxRecords.
21125	Marker *string `type:"string"`
21126
21127	// The maximum number of records to include in the response. If more than the
21128	// MaxRecords value is available, a pagination token called a marker is included
21129	// in the response so that the following results can be retrieved.
21130	//
21131	// Default: 100
21132	//
21133	// Constraints: Minimum 20, maximum 100.
21134	MaxRecords *int64 `type:"integer"`
21135
21136	// The Multi-AZ filter value. Specify this parameter to show only the available
21137	// offerings matching the specified Multi-AZ parameter.
21138	MultiAZ *bool `type:"boolean"`
21139
21140	// The offering type filter value. Specify this parameter to show only the available
21141	// offerings matching the specified offering type.
21142	//
21143	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
21144	OfferingType *string `type:"string"`
21145
21146	// Product description filter value. Specify this parameter to show only the
21147	// available offerings that contain the specified product description.
21148	//
21149	// The results show offerings that partially match the filter value.
21150	ProductDescription *string `type:"string"`
21151
21152	// The offering identifier filter value. Specify this parameter to show only
21153	// the available offering that matches the specified reservation identifier.
21154	//
21155	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
21156	ReservedDBInstancesOfferingId *string `type:"string"`
21157}
21158
21159// String returns the string representation
21160func (s DescribeReservedDBInstancesOfferingsInput) String() string {
21161	return awsutil.Prettify(s)
21162}
21163
21164// GoString returns the string representation
21165func (s DescribeReservedDBInstancesOfferingsInput) GoString() string {
21166	return s.String()
21167}
21168
21169// Validate inspects the fields of the type to determine if they are valid.
21170func (s *DescribeReservedDBInstancesOfferingsInput) Validate() error {
21171	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesOfferingsInput"}
21172	if s.Filters != nil {
21173		for i, v := range s.Filters {
21174			if v == nil {
21175				continue
21176			}
21177			if err := v.Validate(); err != nil {
21178				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21179			}
21180		}
21181	}
21182
21183	if invalidParams.Len() > 0 {
21184		return invalidParams
21185	}
21186	return nil
21187}
21188
21189// SetDBInstanceClass sets the DBInstanceClass field's value.
21190func (s *DescribeReservedDBInstancesOfferingsInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesOfferingsInput {
21191	s.DBInstanceClass = &v
21192	return s
21193}
21194
21195// SetDuration sets the Duration field's value.
21196func (s *DescribeReservedDBInstancesOfferingsInput) SetDuration(v string) *DescribeReservedDBInstancesOfferingsInput {
21197	s.Duration = &v
21198	return s
21199}
21200
21201// SetFilters sets the Filters field's value.
21202func (s *DescribeReservedDBInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesOfferingsInput {
21203	s.Filters = v
21204	return s
21205}
21206
21207// SetMarker sets the Marker field's value.
21208func (s *DescribeReservedDBInstancesOfferingsInput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsInput {
21209	s.Marker = &v
21210	return s
21211}
21212
21213// SetMaxRecords sets the MaxRecords field's value.
21214func (s *DescribeReservedDBInstancesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesOfferingsInput {
21215	s.MaxRecords = &v
21216	return s
21217}
21218
21219// SetMultiAZ sets the MultiAZ field's value.
21220func (s *DescribeReservedDBInstancesOfferingsInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesOfferingsInput {
21221	s.MultiAZ = &v
21222	return s
21223}
21224
21225// SetOfferingType sets the OfferingType field's value.
21226func (s *DescribeReservedDBInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedDBInstancesOfferingsInput {
21227	s.OfferingType = &v
21228	return s
21229}
21230
21231// SetProductDescription sets the ProductDescription field's value.
21232func (s *DescribeReservedDBInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedDBInstancesOfferingsInput {
21233	s.ProductDescription = &v
21234	return s
21235}
21236
21237// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
21238func (s *DescribeReservedDBInstancesOfferingsInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesOfferingsInput {
21239	s.ReservedDBInstancesOfferingId = &v
21240	return s
21241}
21242
21243// Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings
21244// action.
21245type DescribeReservedDBInstancesOfferingsOutput struct {
21246	_ struct{} `type:"structure"`
21247
21248	// An optional pagination token provided by a previous request. If this parameter
21249	// is specified, the response includes only records beyond the marker, up to
21250	// the value specified by MaxRecords.
21251	Marker *string `type:"string"`
21252
21253	// A list of reserved DB instance offerings.
21254	ReservedDBInstancesOfferings []*ReservedDBInstancesOffering `locationNameList:"ReservedDBInstancesOffering" type:"list"`
21255}
21256
21257// String returns the string representation
21258func (s DescribeReservedDBInstancesOfferingsOutput) String() string {
21259	return awsutil.Prettify(s)
21260}
21261
21262// GoString returns the string representation
21263func (s DescribeReservedDBInstancesOfferingsOutput) GoString() string {
21264	return s.String()
21265}
21266
21267// SetMarker sets the Marker field's value.
21268func (s *DescribeReservedDBInstancesOfferingsOutput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsOutput {
21269	s.Marker = &v
21270	return s
21271}
21272
21273// SetReservedDBInstancesOfferings sets the ReservedDBInstancesOfferings field's value.
21274func (s *DescribeReservedDBInstancesOfferingsOutput) SetReservedDBInstancesOfferings(v []*ReservedDBInstancesOffering) *DescribeReservedDBInstancesOfferingsOutput {
21275	s.ReservedDBInstancesOfferings = v
21276	return s
21277}
21278
21279// Contains the result of a successful invocation of the DescribeReservedDBInstances
21280// action.
21281type DescribeReservedDBInstancesOutput struct {
21282	_ struct{} `type:"structure"`
21283
21284	// An optional pagination token provided by a previous request. If this parameter
21285	// is specified, the response includes only records beyond the marker, up to
21286	// the value specified by MaxRecords.
21287	Marker *string `type:"string"`
21288
21289	// A list of reserved DB instances.
21290	ReservedDBInstances []*ReservedDBInstance `locationNameList:"ReservedDBInstance" type:"list"`
21291}
21292
21293// String returns the string representation
21294func (s DescribeReservedDBInstancesOutput) String() string {
21295	return awsutil.Prettify(s)
21296}
21297
21298// GoString returns the string representation
21299func (s DescribeReservedDBInstancesOutput) GoString() string {
21300	return s.String()
21301}
21302
21303// SetMarker sets the Marker field's value.
21304func (s *DescribeReservedDBInstancesOutput) SetMarker(v string) *DescribeReservedDBInstancesOutput {
21305	s.Marker = &v
21306	return s
21307}
21308
21309// SetReservedDBInstances sets the ReservedDBInstances field's value.
21310func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*ReservedDBInstance) *DescribeReservedDBInstancesOutput {
21311	s.ReservedDBInstances = v
21312	return s
21313}
21314
21315type DescribeSourceRegionsInput struct {
21316	_ struct{} `type:"structure"`
21317
21318	// This parameter is not currently supported.
21319	Filters []*Filter `locationNameList:"Filter" type:"list"`
21320
21321	// An optional pagination token provided by a previous DescribeSourceRegions
21322	// request. If this parameter is specified, the response includes only records
21323	// beyond the marker, up to the value specified by MaxRecords.
21324	Marker *string `type:"string"`
21325
21326	// The maximum number of records to include in the response. If more records
21327	// exist than the specified MaxRecords value, a pagination token called a marker
21328	// is included in the response so that the remaining results can be retrieved.
21329	//
21330	// Default: 100
21331	//
21332	// Constraints: Minimum 20, maximum 100.
21333	MaxRecords *int64 `type:"integer"`
21334
21335	// The source AWS Region name. For example, us-east-1.
21336	//
21337	// Constraints:
21338	//
21339	//    * Must specify a valid AWS Region name.
21340	RegionName *string `type:"string"`
21341}
21342
21343// String returns the string representation
21344func (s DescribeSourceRegionsInput) String() string {
21345	return awsutil.Prettify(s)
21346}
21347
21348// GoString returns the string representation
21349func (s DescribeSourceRegionsInput) GoString() string {
21350	return s.String()
21351}
21352
21353// Validate inspects the fields of the type to determine if they are valid.
21354func (s *DescribeSourceRegionsInput) Validate() error {
21355	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"}
21356	if s.Filters != nil {
21357		for i, v := range s.Filters {
21358			if v == nil {
21359				continue
21360			}
21361			if err := v.Validate(); err != nil {
21362				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21363			}
21364		}
21365	}
21366
21367	if invalidParams.Len() > 0 {
21368		return invalidParams
21369	}
21370	return nil
21371}
21372
21373// SetFilters sets the Filters field's value.
21374func (s *DescribeSourceRegionsInput) SetFilters(v []*Filter) *DescribeSourceRegionsInput {
21375	s.Filters = v
21376	return s
21377}
21378
21379// SetMarker sets the Marker field's value.
21380func (s *DescribeSourceRegionsInput) SetMarker(v string) *DescribeSourceRegionsInput {
21381	s.Marker = &v
21382	return s
21383}
21384
21385// SetMaxRecords sets the MaxRecords field's value.
21386func (s *DescribeSourceRegionsInput) SetMaxRecords(v int64) *DescribeSourceRegionsInput {
21387	s.MaxRecords = &v
21388	return s
21389}
21390
21391// SetRegionName sets the RegionName field's value.
21392func (s *DescribeSourceRegionsInput) SetRegionName(v string) *DescribeSourceRegionsInput {
21393	s.RegionName = &v
21394	return s
21395}
21396
21397// Contains the result of a successful invocation of the DescribeSourceRegions
21398// action.
21399type DescribeSourceRegionsOutput struct {
21400	_ struct{} `type:"structure"`
21401
21402	// An optional pagination token provided by a previous request. If this parameter
21403	// is specified, the response includes only records beyond the marker, up to
21404	// the value specified by MaxRecords.
21405	Marker *string `type:"string"`
21406
21407	// A list of SourceRegion instances that contains each source AWS Region that
21408	// the current AWS Region can get a Read Replica or a DB snapshot from.
21409	SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"`
21410}
21411
21412// String returns the string representation
21413func (s DescribeSourceRegionsOutput) String() string {
21414	return awsutil.Prettify(s)
21415}
21416
21417// GoString returns the string representation
21418func (s DescribeSourceRegionsOutput) GoString() string {
21419	return s.String()
21420}
21421
21422// SetMarker sets the Marker field's value.
21423func (s *DescribeSourceRegionsOutput) SetMarker(v string) *DescribeSourceRegionsOutput {
21424	s.Marker = &v
21425	return s
21426}
21427
21428// SetSourceRegions sets the SourceRegions field's value.
21429func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *DescribeSourceRegionsOutput {
21430	s.SourceRegions = v
21431	return s
21432}
21433
21434type DescribeValidDBInstanceModificationsInput struct {
21435	_ struct{} `type:"structure"`
21436
21437	// The customer identifier or the ARN of your DB instance.
21438	//
21439	// DBInstanceIdentifier is a required field
21440	DBInstanceIdentifier *string `type:"string" required:"true"`
21441}
21442
21443// String returns the string representation
21444func (s DescribeValidDBInstanceModificationsInput) String() string {
21445	return awsutil.Prettify(s)
21446}
21447
21448// GoString returns the string representation
21449func (s DescribeValidDBInstanceModificationsInput) GoString() string {
21450	return s.String()
21451}
21452
21453// Validate inspects the fields of the type to determine if they are valid.
21454func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
21455	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
21456	if s.DBInstanceIdentifier == nil {
21457		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
21458	}
21459
21460	if invalidParams.Len() > 0 {
21461		return invalidParams
21462	}
21463	return nil
21464}
21465
21466// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
21467func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
21468	s.DBInstanceIdentifier = &v
21469	return s
21470}
21471
21472type DescribeValidDBInstanceModificationsOutput struct {
21473	_ struct{} `type:"structure"`
21474
21475	// Information about valid modifications that you can make to your DB instance.
21476	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
21477	// action. You can use this information when you call ModifyDBInstance.
21478	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
21479}
21480
21481// String returns the string representation
21482func (s DescribeValidDBInstanceModificationsOutput) String() string {
21483	return awsutil.Prettify(s)
21484}
21485
21486// GoString returns the string representation
21487func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
21488	return s.String()
21489}
21490
21491// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
21492func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
21493	s.ValidDBInstanceModificationsMessage = v
21494	return s
21495}
21496
21497// An Active Directory Domain membership record associated with the DB instance.
21498type DomainMembership struct {
21499	_ struct{} `type:"structure"`
21500
21501	// The identifier of the Active Directory Domain.
21502	Domain *string `type:"string"`
21503
21504	// The fully qualified domain name of the Active Directory Domain.
21505	FQDN *string `type:"string"`
21506
21507	// The name of the IAM role to be used when making API calls to the Directory
21508	// Service.
21509	IAMRoleName *string `type:"string"`
21510
21511	// The status of the DB instance's Active Directory Domain membership, such
21512	// as joined, pending-join, failed etc).
21513	Status *string `type:"string"`
21514}
21515
21516// String returns the string representation
21517func (s DomainMembership) String() string {
21518	return awsutil.Prettify(s)
21519}
21520
21521// GoString returns the string representation
21522func (s DomainMembership) GoString() string {
21523	return s.String()
21524}
21525
21526// SetDomain sets the Domain field's value.
21527func (s *DomainMembership) SetDomain(v string) *DomainMembership {
21528	s.Domain = &v
21529	return s
21530}
21531
21532// SetFQDN sets the FQDN field's value.
21533func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
21534	s.FQDN = &v
21535	return s
21536}
21537
21538// SetIAMRoleName sets the IAMRoleName field's value.
21539func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
21540	s.IAMRoleName = &v
21541	return s
21542}
21543
21544// SetStatus sets the Status field's value.
21545func (s *DomainMembership) SetStatus(v string) *DomainMembership {
21546	s.Status = &v
21547	return s
21548}
21549
21550// A range of double values.
21551type DoubleRange struct {
21552	_ struct{} `type:"structure"`
21553
21554	// The minimum value in the range.
21555	From *float64 `type:"double"`
21556
21557	// The maximum value in the range.
21558	To *float64 `type:"double"`
21559}
21560
21561// String returns the string representation
21562func (s DoubleRange) String() string {
21563	return awsutil.Prettify(s)
21564}
21565
21566// GoString returns the string representation
21567func (s DoubleRange) GoString() string {
21568	return s.String()
21569}
21570
21571// SetFrom sets the From field's value.
21572func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
21573	s.From = &v
21574	return s
21575}
21576
21577// SetTo sets the To field's value.
21578func (s *DoubleRange) SetTo(v float64) *DoubleRange {
21579	s.To = &v
21580	return s
21581}
21582
21583type DownloadDBLogFilePortionInput struct {
21584	_ struct{} `type:"structure"`
21585
21586	// The customer-assigned name of the DB instance that contains the log files
21587	// you want to list.
21588	//
21589	// Constraints:
21590	//
21591	//    * Must match the identifier of an existing DBInstance.
21592	//
21593	// DBInstanceIdentifier is a required field
21594	DBInstanceIdentifier *string `type:"string" required:"true"`
21595
21596	// The name of the log file to be downloaded.
21597	//
21598	// LogFileName is a required field
21599	LogFileName *string `type:"string" required:"true"`
21600
21601	// The pagination token provided in the previous request or "0". If the Marker
21602	// parameter is specified the response includes only records beyond the marker
21603	// until the end of the file or up to NumberOfLines.
21604	Marker *string `type:"string"`
21605
21606	// The number of lines to download. If the number of lines specified results
21607	// in a file over 1 MB in size, the file is truncated at 1 MB in size.
21608	//
21609	// If the NumberOfLines parameter is specified, then the block of lines returned
21610	// can be from the beginning or the end of the log file, depending on the value
21611	// of the Marker parameter.
21612	//
21613	//    * If neither Marker or NumberOfLines are specified, the entire log file
21614	//    is returned up to a maximum of 10000 lines, starting with the most recent
21615	//    log entries first.
21616	//
21617	//    * If NumberOfLines is specified and Marker is not specified, then the
21618	//    most recent lines from the end of the log file are returned.
21619	//
21620	//    * If Marker is specified as "0", then the specified number of lines from
21621	//    the beginning of the log file are returned.
21622	//
21623	//    * You can download the log file in blocks of lines by specifying the size
21624	//    of the block using the NumberOfLines parameter, and by specifying a value
21625	//    of "0" for the Marker parameter in your first request. Include the Marker
21626	//    value returned in the response as the Marker value for the next request,
21627	//    continuing until the AdditionalDataPending response element returns false.
21628	NumberOfLines *int64 `type:"integer"`
21629}
21630
21631// String returns the string representation
21632func (s DownloadDBLogFilePortionInput) String() string {
21633	return awsutil.Prettify(s)
21634}
21635
21636// GoString returns the string representation
21637func (s DownloadDBLogFilePortionInput) GoString() string {
21638	return s.String()
21639}
21640
21641// Validate inspects the fields of the type to determine if they are valid.
21642func (s *DownloadDBLogFilePortionInput) Validate() error {
21643	invalidParams := request.ErrInvalidParams{Context: "DownloadDBLogFilePortionInput"}
21644	if s.DBInstanceIdentifier == nil {
21645		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
21646	}
21647	if s.LogFileName == nil {
21648		invalidParams.Add(request.NewErrParamRequired("LogFileName"))
21649	}
21650
21651	if invalidParams.Len() > 0 {
21652		return invalidParams
21653	}
21654	return nil
21655}
21656
21657// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
21658func (s *DownloadDBLogFilePortionInput) SetDBInstanceIdentifier(v string) *DownloadDBLogFilePortionInput {
21659	s.DBInstanceIdentifier = &v
21660	return s
21661}
21662
21663// SetLogFileName sets the LogFileName field's value.
21664func (s *DownloadDBLogFilePortionInput) SetLogFileName(v string) *DownloadDBLogFilePortionInput {
21665	s.LogFileName = &v
21666	return s
21667}
21668
21669// SetMarker sets the Marker field's value.
21670func (s *DownloadDBLogFilePortionInput) SetMarker(v string) *DownloadDBLogFilePortionInput {
21671	s.Marker = &v
21672	return s
21673}
21674
21675// SetNumberOfLines sets the NumberOfLines field's value.
21676func (s *DownloadDBLogFilePortionInput) SetNumberOfLines(v int64) *DownloadDBLogFilePortionInput {
21677	s.NumberOfLines = &v
21678	return s
21679}
21680
21681// This data type is used as a response element to DownloadDBLogFilePortion.
21682type DownloadDBLogFilePortionOutput struct {
21683	_ struct{} `type:"structure"`
21684
21685	// Boolean value that if true, indicates there is more data to be downloaded.
21686	AdditionalDataPending *bool `type:"boolean"`
21687
21688	// Entries from the specified log file.
21689	LogFileData *string `type:"string"`
21690
21691	// A pagination token that can be used in a subsequent DownloadDBLogFilePortion
21692	// request.
21693	Marker *string `type:"string"`
21694}
21695
21696// String returns the string representation
21697func (s DownloadDBLogFilePortionOutput) String() string {
21698	return awsutil.Prettify(s)
21699}
21700
21701// GoString returns the string representation
21702func (s DownloadDBLogFilePortionOutput) GoString() string {
21703	return s.String()
21704}
21705
21706// SetAdditionalDataPending sets the AdditionalDataPending field's value.
21707func (s *DownloadDBLogFilePortionOutput) SetAdditionalDataPending(v bool) *DownloadDBLogFilePortionOutput {
21708	s.AdditionalDataPending = &v
21709	return s
21710}
21711
21712// SetLogFileData sets the LogFileData field's value.
21713func (s *DownloadDBLogFilePortionOutput) SetLogFileData(v string) *DownloadDBLogFilePortionOutput {
21714	s.LogFileData = &v
21715	return s
21716}
21717
21718// SetMarker sets the Marker field's value.
21719func (s *DownloadDBLogFilePortionOutput) SetMarker(v string) *DownloadDBLogFilePortionOutput {
21720	s.Marker = &v
21721	return s
21722}
21723
21724// This data type is used as a response element in the following actions:
21725//
21726//    * AuthorizeDBSecurityGroupIngress
21727//
21728//    * DescribeDBSecurityGroups
21729//
21730//    * RevokeDBSecurityGroupIngress
21731type EC2SecurityGroup struct {
21732	_ struct{} `type:"structure"`
21733
21734	// Specifies the id of the EC2 security group.
21735	EC2SecurityGroupId *string `type:"string"`
21736
21737	// Specifies the name of the EC2 security group.
21738	EC2SecurityGroupName *string `type:"string"`
21739
21740	// Specifies the AWS ID of the owner of the EC2 security group specified in
21741	// the EC2SecurityGroupName field.
21742	EC2SecurityGroupOwnerId *string `type:"string"`
21743
21744	// Provides the status of the EC2 security group. Status can be "authorizing",
21745	// "authorized", "revoking", and "revoked".
21746	Status *string `type:"string"`
21747}
21748
21749// String returns the string representation
21750func (s EC2SecurityGroup) String() string {
21751	return awsutil.Prettify(s)
21752}
21753
21754// GoString returns the string representation
21755func (s EC2SecurityGroup) GoString() string {
21756	return s.String()
21757}
21758
21759// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
21760func (s *EC2SecurityGroup) SetEC2SecurityGroupId(v string) *EC2SecurityGroup {
21761	s.EC2SecurityGroupId = &v
21762	return s
21763}
21764
21765// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
21766func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
21767	s.EC2SecurityGroupName = &v
21768	return s
21769}
21770
21771// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
21772func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
21773	s.EC2SecurityGroupOwnerId = &v
21774	return s
21775}
21776
21777// SetStatus sets the Status field's value.
21778func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
21779	s.Status = &v
21780	return s
21781}
21782
21783// This data type is used as a response element in the following actions:
21784//
21785//    * CreateDBInstance
21786//
21787//    * DescribeDBInstances
21788//
21789//    * DeleteDBInstance
21790type Endpoint struct {
21791	_ struct{} `type:"structure"`
21792
21793	// Specifies the DNS address of the DB instance.
21794	Address *string `type:"string"`
21795
21796	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
21797	HostedZoneId *string `type:"string"`
21798
21799	// Specifies the port that the database engine is listening on.
21800	Port *int64 `type:"integer"`
21801}
21802
21803// String returns the string representation
21804func (s Endpoint) String() string {
21805	return awsutil.Prettify(s)
21806}
21807
21808// GoString returns the string representation
21809func (s Endpoint) GoString() string {
21810	return s.String()
21811}
21812
21813// SetAddress sets the Address field's value.
21814func (s *Endpoint) SetAddress(v string) *Endpoint {
21815	s.Address = &v
21816	return s
21817}
21818
21819// SetHostedZoneId sets the HostedZoneId field's value.
21820func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
21821	s.HostedZoneId = &v
21822	return s
21823}
21824
21825// SetPort sets the Port field's value.
21826func (s *Endpoint) SetPort(v int64) *Endpoint {
21827	s.Port = &v
21828	return s
21829}
21830
21831// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
21832// action.
21833type EngineDefaults struct {
21834	_ struct{} `type:"structure"`
21835
21836	// Specifies the name of the DB parameter group family that the engine default
21837	// parameters apply to.
21838	DBParameterGroupFamily *string `type:"string"`
21839
21840	// An optional pagination token provided by a previous EngineDefaults request.
21841	// If this parameter is specified, the response includes only records beyond
21842	// the marker, up to the value specified by MaxRecords .
21843	Marker *string `type:"string"`
21844
21845	// Contains a list of engine default parameters.
21846	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
21847}
21848
21849// String returns the string representation
21850func (s EngineDefaults) String() string {
21851	return awsutil.Prettify(s)
21852}
21853
21854// GoString returns the string representation
21855func (s EngineDefaults) GoString() string {
21856	return s.String()
21857}
21858
21859// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
21860func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
21861	s.DBParameterGroupFamily = &v
21862	return s
21863}
21864
21865// SetMarker sets the Marker field's value.
21866func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
21867	s.Marker = &v
21868	return s
21869}
21870
21871// SetParameters sets the Parameters field's value.
21872func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
21873	s.Parameters = v
21874	return s
21875}
21876
21877// This data type is used as a response element in the DescribeEvents action.
21878type Event struct {
21879	_ struct{} `type:"structure"`
21880
21881	// Specifies the date and time of the event.
21882	Date *time.Time `type:"timestamp"`
21883
21884	// Specifies the category for the event.
21885	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
21886
21887	// Provides the text of this event.
21888	Message *string `type:"string"`
21889
21890	// The Amazon Resource Name (ARN) for the event.
21891	SourceArn *string `type:"string"`
21892
21893	// Provides the identifier for the source of the event.
21894	SourceIdentifier *string `type:"string"`
21895
21896	// Specifies the source type for this event.
21897	SourceType *string `type:"string" enum:"SourceType"`
21898}
21899
21900// String returns the string representation
21901func (s Event) String() string {
21902	return awsutil.Prettify(s)
21903}
21904
21905// GoString returns the string representation
21906func (s Event) GoString() string {
21907	return s.String()
21908}
21909
21910// SetDate sets the Date field's value.
21911func (s *Event) SetDate(v time.Time) *Event {
21912	s.Date = &v
21913	return s
21914}
21915
21916// SetEventCategories sets the EventCategories field's value.
21917func (s *Event) SetEventCategories(v []*string) *Event {
21918	s.EventCategories = v
21919	return s
21920}
21921
21922// SetMessage sets the Message field's value.
21923func (s *Event) SetMessage(v string) *Event {
21924	s.Message = &v
21925	return s
21926}
21927
21928// SetSourceArn sets the SourceArn field's value.
21929func (s *Event) SetSourceArn(v string) *Event {
21930	s.SourceArn = &v
21931	return s
21932}
21933
21934// SetSourceIdentifier sets the SourceIdentifier field's value.
21935func (s *Event) SetSourceIdentifier(v string) *Event {
21936	s.SourceIdentifier = &v
21937	return s
21938}
21939
21940// SetSourceType sets the SourceType field's value.
21941func (s *Event) SetSourceType(v string) *Event {
21942	s.SourceType = &v
21943	return s
21944}
21945
21946// Contains the results of a successful invocation of the DescribeEventCategories
21947// action.
21948type EventCategoriesMap struct {
21949	_ struct{} `type:"structure"`
21950
21951	// The event categories for the specified source type
21952	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
21953
21954	// The source type that the returned categories belong to
21955	SourceType *string `type:"string"`
21956}
21957
21958// String returns the string representation
21959func (s EventCategoriesMap) String() string {
21960	return awsutil.Prettify(s)
21961}
21962
21963// GoString returns the string representation
21964func (s EventCategoriesMap) GoString() string {
21965	return s.String()
21966}
21967
21968// SetEventCategories sets the EventCategories field's value.
21969func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
21970	s.EventCategories = v
21971	return s
21972}
21973
21974// SetSourceType sets the SourceType field's value.
21975func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
21976	s.SourceType = &v
21977	return s
21978}
21979
21980// Contains the results of a successful invocation of the DescribeEventSubscriptions
21981// action.
21982type EventSubscription struct {
21983	_ struct{} `type:"structure"`
21984
21985	// The RDS event notification subscription Id.
21986	CustSubscriptionId *string `type:"string"`
21987
21988	// The AWS customer account associated with the RDS event notification subscription.
21989	CustomerAwsId *string `type:"string"`
21990
21991	// A Boolean value indicating if the subscription is enabled. True indicates
21992	// the subscription is enabled.
21993	Enabled *bool `type:"boolean"`
21994
21995	// A list of event categories for the RDS event notification subscription.
21996	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
21997
21998	// The Amazon Resource Name (ARN) for the event subscription.
21999	EventSubscriptionArn *string `type:"string"`
22000
22001	// The topic ARN of the RDS event notification subscription.
22002	SnsTopicArn *string `type:"string"`
22003
22004	// A list of source IDs for the RDS event notification subscription.
22005	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
22006
22007	// The source type for the RDS event notification subscription.
22008	SourceType *string `type:"string"`
22009
22010	// The status of the RDS event notification subscription.
22011	//
22012	// Constraints:
22013	//
22014	// Can be one of the following: creating | modifying | deleting | active | no-permission
22015	// | topic-not-exist
22016	//
22017	// The status "no-permission" indicates that RDS no longer has permission to
22018	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
22019	// was deleted after the subscription was created.
22020	Status *string `type:"string"`
22021
22022	// The time the RDS event notification subscription was created.
22023	SubscriptionCreationTime *string `type:"string"`
22024}
22025
22026// String returns the string representation
22027func (s EventSubscription) String() string {
22028	return awsutil.Prettify(s)
22029}
22030
22031// GoString returns the string representation
22032func (s EventSubscription) GoString() string {
22033	return s.String()
22034}
22035
22036// SetCustSubscriptionId sets the CustSubscriptionId field's value.
22037func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
22038	s.CustSubscriptionId = &v
22039	return s
22040}
22041
22042// SetCustomerAwsId sets the CustomerAwsId field's value.
22043func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
22044	s.CustomerAwsId = &v
22045	return s
22046}
22047
22048// SetEnabled sets the Enabled field's value.
22049func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
22050	s.Enabled = &v
22051	return s
22052}
22053
22054// SetEventCategoriesList sets the EventCategoriesList field's value.
22055func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
22056	s.EventCategoriesList = v
22057	return s
22058}
22059
22060// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
22061func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
22062	s.EventSubscriptionArn = &v
22063	return s
22064}
22065
22066// SetSnsTopicArn sets the SnsTopicArn field's value.
22067func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
22068	s.SnsTopicArn = &v
22069	return s
22070}
22071
22072// SetSourceIdsList sets the SourceIdsList field's value.
22073func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
22074	s.SourceIdsList = v
22075	return s
22076}
22077
22078// SetSourceType sets the SourceType field's value.
22079func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
22080	s.SourceType = &v
22081	return s
22082}
22083
22084// SetStatus sets the Status field's value.
22085func (s *EventSubscription) SetStatus(v string) *EventSubscription {
22086	s.Status = &v
22087	return s
22088}
22089
22090// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
22091func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
22092	s.SubscriptionCreationTime = &v
22093	return s
22094}
22095
22096type FailoverDBClusterInput struct {
22097	_ struct{} `type:"structure"`
22098
22099	// A DB cluster identifier to force a failover for. This parameter is not case-sensitive.
22100	//
22101	// Constraints:
22102	//
22103	//    * Must match the identifier of an existing DBCluster.
22104	DBClusterIdentifier *string `type:"string"`
22105
22106	// The name of the instance to promote to the primary instance.
22107	//
22108	// You must specify the instance identifier for an Aurora Replica in the DB
22109	// cluster. For example, mydbcluster-replica1.
22110	TargetDBInstanceIdentifier *string `type:"string"`
22111}
22112
22113// String returns the string representation
22114func (s FailoverDBClusterInput) String() string {
22115	return awsutil.Prettify(s)
22116}
22117
22118// GoString returns the string representation
22119func (s FailoverDBClusterInput) GoString() string {
22120	return s.String()
22121}
22122
22123// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
22124func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
22125	s.DBClusterIdentifier = &v
22126	return s
22127}
22128
22129// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
22130func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
22131	s.TargetDBInstanceIdentifier = &v
22132	return s
22133}
22134
22135type FailoverDBClusterOutput struct {
22136	_ struct{} `type:"structure"`
22137
22138	// Contains the details of an Amazon RDS DB cluster.
22139	//
22140	// This data type is used as a response element in the DescribeDBClusters action.
22141	DBCluster *DBCluster `type:"structure"`
22142}
22143
22144// String returns the string representation
22145func (s FailoverDBClusterOutput) String() string {
22146	return awsutil.Prettify(s)
22147}
22148
22149// GoString returns the string representation
22150func (s FailoverDBClusterOutput) GoString() string {
22151	return s.String()
22152}
22153
22154// SetDBCluster sets the DBCluster field's value.
22155func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
22156	s.DBCluster = v
22157	return s
22158}
22159
22160// A filter name and value pair that is used to return a more specific list
22161// of results from a describe operation. Filters can be used to match a set
22162// of resources by specific criteria, such as IDs. The filters supported by
22163// a describe operation are documented with the describe operation.
22164//
22165// Currently, wildcards are not supported in filters.
22166//
22167// The following actions can be filtered:
22168//
22169//    * DescribeDBClusterBacktracks
22170//
22171//    * DescribeDBClusters
22172//
22173//    * DescribeDBInstances
22174//
22175//    * DescribePendingMaintenanceActions
22176type Filter struct {
22177	_ struct{} `type:"structure"`
22178
22179	// The name of the filter. Filter names are case-sensitive.
22180	//
22181	// Name is a required field
22182	Name *string `type:"string" required:"true"`
22183
22184	// One or more filter values. Filter values are case-sensitive.
22185	//
22186	// Values is a required field
22187	Values []*string `locationNameList:"Value" type:"list" required:"true"`
22188}
22189
22190// String returns the string representation
22191func (s Filter) String() string {
22192	return awsutil.Prettify(s)
22193}
22194
22195// GoString returns the string representation
22196func (s Filter) GoString() string {
22197	return s.String()
22198}
22199
22200// Validate inspects the fields of the type to determine if they are valid.
22201func (s *Filter) Validate() error {
22202	invalidParams := request.ErrInvalidParams{Context: "Filter"}
22203	if s.Name == nil {
22204		invalidParams.Add(request.NewErrParamRequired("Name"))
22205	}
22206	if s.Values == nil {
22207		invalidParams.Add(request.NewErrParamRequired("Values"))
22208	}
22209
22210	if invalidParams.Len() > 0 {
22211		return invalidParams
22212	}
22213	return nil
22214}
22215
22216// SetName sets the Name field's value.
22217func (s *Filter) SetName(v string) *Filter {
22218	s.Name = &v
22219	return s
22220}
22221
22222// SetValues sets the Values field's value.
22223func (s *Filter) SetValues(v []*string) *Filter {
22224	s.Values = v
22225	return s
22226}
22227
22228// This data type is used as a response element in the DescribeDBSecurityGroups
22229// action.
22230type IPRange struct {
22231	_ struct{} `type:"structure"`
22232
22233	// Specifies the IP range.
22234	CIDRIP *string `type:"string"`
22235
22236	// Specifies the status of the IP range. Status can be "authorizing", "authorized",
22237	// "revoking", and "revoked".
22238	Status *string `type:"string"`
22239}
22240
22241// String returns the string representation
22242func (s IPRange) String() string {
22243	return awsutil.Prettify(s)
22244}
22245
22246// GoString returns the string representation
22247func (s IPRange) GoString() string {
22248	return s.String()
22249}
22250
22251// SetCIDRIP sets the CIDRIP field's value.
22252func (s *IPRange) SetCIDRIP(v string) *IPRange {
22253	s.CIDRIP = &v
22254	return s
22255}
22256
22257// SetStatus sets the Status field's value.
22258func (s *IPRange) SetStatus(v string) *IPRange {
22259	s.Status = &v
22260	return s
22261}
22262
22263type ListTagsForResourceInput struct {
22264	_ struct{} `type:"structure"`
22265
22266	// This parameter is not currently supported.
22267	Filters []*Filter `locationNameList:"Filter" type:"list"`
22268
22269	// The Amazon RDS resource with tags to be listed. This value is an Amazon Resource
22270	// Name (ARN). For information about creating an ARN, see  Constructing an RDS
22271	// Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
22272	//
22273	// ResourceName is a required field
22274	ResourceName *string `type:"string" required:"true"`
22275}
22276
22277// String returns the string representation
22278func (s ListTagsForResourceInput) String() string {
22279	return awsutil.Prettify(s)
22280}
22281
22282// GoString returns the string representation
22283func (s ListTagsForResourceInput) GoString() string {
22284	return s.String()
22285}
22286
22287// Validate inspects the fields of the type to determine if they are valid.
22288func (s *ListTagsForResourceInput) Validate() error {
22289	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
22290	if s.ResourceName == nil {
22291		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
22292	}
22293	if s.Filters != nil {
22294		for i, v := range s.Filters {
22295			if v == nil {
22296				continue
22297			}
22298			if err := v.Validate(); err != nil {
22299				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
22300			}
22301		}
22302	}
22303
22304	if invalidParams.Len() > 0 {
22305		return invalidParams
22306	}
22307	return nil
22308}
22309
22310// SetFilters sets the Filters field's value.
22311func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
22312	s.Filters = v
22313	return s
22314}
22315
22316// SetResourceName sets the ResourceName field's value.
22317func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
22318	s.ResourceName = &v
22319	return s
22320}
22321
22322type ListTagsForResourceOutput struct {
22323	_ struct{} `type:"structure"`
22324
22325	// List of tags returned by the ListTagsForResource operation.
22326	TagList []*Tag `locationNameList:"Tag" type:"list"`
22327}
22328
22329// String returns the string representation
22330func (s ListTagsForResourceOutput) String() string {
22331	return awsutil.Prettify(s)
22332}
22333
22334// GoString returns the string representation
22335func (s ListTagsForResourceOutput) GoString() string {
22336	return s.String()
22337}
22338
22339// SetTagList sets the TagList field's value.
22340func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
22341	s.TagList = v
22342	return s
22343}
22344
22345type ModifyCurrentDBClusterCapacityInput struct {
22346	_ struct{} `type:"structure"`
22347
22348	// The DB cluster capacity.
22349	//
22350	// Constraints:
22351	//
22352	//    * Value must be 2, 4, 8, 16, 32, 64, 128, or 256.
22353	Capacity *int64 `type:"integer"`
22354
22355	// The DB cluster identifier for the cluster being modified. This parameter
22356	// is not case-sensitive.
22357	//
22358	// Constraints:
22359	//
22360	//    * Must match the identifier of an existing DB cluster.
22361	//
22362	// DBClusterIdentifier is a required field
22363	DBClusterIdentifier *string `type:"string" required:"true"`
22364
22365	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
22366	// point to perform seamless scaling before enforcing the timeout action. The
22367	// default is 300.
22368	//
22369	//    * Value must be from 10 through 600.
22370	SecondsBeforeTimeout *int64 `type:"integer"`
22371
22372	// The action to take when the timeout is reached, either ForceApplyCapacityChange
22373	// or RollbackCapacityChange.
22374	//
22375	// ForceApplyCapacityChange, the default, sets the capacity to the specified
22376	// value as soon as possible.
22377	//
22378	// RollbackCapacityChange ignores the capacity change if a scaling point is
22379	// not found in the timeout period.
22380	TimeoutAction *string `type:"string"`
22381}
22382
22383// String returns the string representation
22384func (s ModifyCurrentDBClusterCapacityInput) String() string {
22385	return awsutil.Prettify(s)
22386}
22387
22388// GoString returns the string representation
22389func (s ModifyCurrentDBClusterCapacityInput) GoString() string {
22390	return s.String()
22391}
22392
22393// Validate inspects the fields of the type to determine if they are valid.
22394func (s *ModifyCurrentDBClusterCapacityInput) Validate() error {
22395	invalidParams := request.ErrInvalidParams{Context: "ModifyCurrentDBClusterCapacityInput"}
22396	if s.DBClusterIdentifier == nil {
22397		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
22398	}
22399
22400	if invalidParams.Len() > 0 {
22401		return invalidParams
22402	}
22403	return nil
22404}
22405
22406// SetCapacity sets the Capacity field's value.
22407func (s *ModifyCurrentDBClusterCapacityInput) SetCapacity(v int64) *ModifyCurrentDBClusterCapacityInput {
22408	s.Capacity = &v
22409	return s
22410}
22411
22412// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
22413func (s *ModifyCurrentDBClusterCapacityInput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityInput {
22414	s.DBClusterIdentifier = &v
22415	return s
22416}
22417
22418// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
22419func (s *ModifyCurrentDBClusterCapacityInput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityInput {
22420	s.SecondsBeforeTimeout = &v
22421	return s
22422}
22423
22424// SetTimeoutAction sets the TimeoutAction field's value.
22425func (s *ModifyCurrentDBClusterCapacityInput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityInput {
22426	s.TimeoutAction = &v
22427	return s
22428}
22429
22430type ModifyCurrentDBClusterCapacityOutput struct {
22431	_ struct{} `type:"structure"`
22432
22433	// The current capacity of the DB cluster.
22434	CurrentCapacity *int64 `type:"integer"`
22435
22436	// A user-supplied DB cluster identifier. This identifier is the unique key
22437	// that identifies a DB cluster.
22438	DBClusterIdentifier *string `type:"string"`
22439
22440	// A value that specifies the capacity that the DB cluster scales to next.
22441	PendingCapacity *int64 `type:"integer"`
22442
22443	// The number of seconds before a call to ModifyCurrentDBClusterCapacity times
22444	// out.
22445	SecondsBeforeTimeout *int64 `type:"integer"`
22446
22447	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
22448	// or RollbackCapacityChange.
22449	TimeoutAction *string `type:"string"`
22450}
22451
22452// String returns the string representation
22453func (s ModifyCurrentDBClusterCapacityOutput) String() string {
22454	return awsutil.Prettify(s)
22455}
22456
22457// GoString returns the string representation
22458func (s ModifyCurrentDBClusterCapacityOutput) GoString() string {
22459	return s.String()
22460}
22461
22462// SetCurrentCapacity sets the CurrentCapacity field's value.
22463func (s *ModifyCurrentDBClusterCapacityOutput) SetCurrentCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
22464	s.CurrentCapacity = &v
22465	return s
22466}
22467
22468// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
22469func (s *ModifyCurrentDBClusterCapacityOutput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityOutput {
22470	s.DBClusterIdentifier = &v
22471	return s
22472}
22473
22474// SetPendingCapacity sets the PendingCapacity field's value.
22475func (s *ModifyCurrentDBClusterCapacityOutput) SetPendingCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
22476	s.PendingCapacity = &v
22477	return s
22478}
22479
22480// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
22481func (s *ModifyCurrentDBClusterCapacityOutput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityOutput {
22482	s.SecondsBeforeTimeout = &v
22483	return s
22484}
22485
22486// SetTimeoutAction sets the TimeoutAction field's value.
22487func (s *ModifyCurrentDBClusterCapacityOutput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityOutput {
22488	s.TimeoutAction = &v
22489	return s
22490}
22491
22492type ModifyDBClusterInput struct {
22493	_ struct{} `type:"structure"`
22494
22495	// A value that specifies whether the modifications in this request and any
22496	// pending modifications are asynchronously applied as soon as possible, regardless
22497	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
22498	// is set to false, changes to the DB cluster are applied during the next maintenance
22499	// window.
22500	//
22501	// The ApplyImmediately parameter only affects the NewDBClusterIdentifier and
22502	// MasterUserPassword values. If you set the ApplyImmediately parameter value
22503	// to false, then changes to the NewDBClusterIdentifier and MasterUserPassword
22504	// values are applied during the next maintenance window. All other changes
22505	// are applied immediately, regardless of the value of the ApplyImmediately
22506	// parameter.
22507	//
22508	// Default: false
22509	ApplyImmediately *bool `type:"boolean"`
22510
22511	// The target backtrack window, in seconds. To disable backtracking, set this
22512	// value to 0.
22513	//
22514	// Default: 0
22515	//
22516	// Constraints:
22517	//
22518	//    * If specified, this value must be set to a number from 0 to 259,200 (72
22519	//    hours).
22520	BacktrackWindow *int64 `type:"long"`
22521
22522	// The number of days for which automated backups are retained. You must specify
22523	// a minimum value of 1.
22524	//
22525	// Default: 1
22526	//
22527	// Constraints:
22528	//
22529	//    * Must be a value from 1 to 35
22530	BackupRetentionPeriod *int64 `type:"integer"`
22531
22532	// The configuration setting for the log types to be enabled for export to CloudWatch
22533	// Logs for a specific DB cluster.
22534	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
22535
22536	// The DB cluster identifier for the cluster being modified. This parameter
22537	// is not case-sensitive.
22538	//
22539	// Constraints:
22540	//
22541	//    * Must match the identifier of an existing DBCluster.
22542	//
22543	// DBClusterIdentifier is a required field
22544	DBClusterIdentifier *string `type:"string" required:"true"`
22545
22546	// The name of the DB cluster parameter group to use for the DB cluster.
22547	DBClusterParameterGroupName *string `type:"string"`
22548
22549	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
22550	// to database accounts, and otherwise false.
22551	//
22552	// Default: false
22553	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
22554
22555	// The version number of the database engine to which you want to upgrade. Changing
22556	// this parameter results in an outage. The change is applied during the next
22557	// maintenance window unless the ApplyImmediately parameter is set to true.
22558	//
22559	// For a list of valid engine versions, see CreateDBCluster, or call DescribeDBEngineVersions.
22560	EngineVersion *string `type:"string"`
22561
22562	// The new password for the master database user. This password can contain
22563	// any printable ASCII character except "/", """, or "@".
22564	//
22565	// Constraints: Must contain from 8 to 41 characters.
22566	MasterUserPassword *string `type:"string"`
22567
22568	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
22569	// This value is stored as a lowercase string.
22570	//
22571	// Constraints:
22572	//
22573	//    * Must contain from 1 to 63 letters, numbers, or hyphens
22574	//
22575	//    * The first character must be a letter
22576	//
22577	//    * Cannot end with a hyphen or contain two consecutive hyphens
22578	//
22579	// Example: my-cluster2
22580	NewDBClusterIdentifier *string `type:"string"`
22581
22582	// A value that indicates that the DB cluster should be associated with the
22583	// specified option group. Changing this parameter doesn't result in an outage
22584	// except in the following case, and the change is applied during the next maintenance
22585	// window unless the ApplyImmediately parameter is set to true for this request.
22586	// If the parameter change results in an option group that enables OEM, this
22587	// change can cause a brief (sub-second) period during which new connections
22588	// are rejected but existing connections are not interrupted.
22589	//
22590	// Permanent options can't be removed from an option group. The option group
22591	// can't be removed from a DB cluster once it is associated with a DB cluster.
22592	OptionGroupName *string `type:"string"`
22593
22594	// The port number on which the DB cluster accepts connections.
22595	//
22596	// Constraints: Value must be 1150-65535
22597	//
22598	// Default: The same port as the original DB cluster.
22599	Port *int64 `type:"integer"`
22600
22601	// The daily time range during which automated backups are created if automated
22602	// backups are enabled, using the BackupRetentionPeriod parameter.
22603	//
22604	// The default is a 30-minute window selected at random from an 8-hour block
22605	// of time for each AWS Region. To see the time blocks available, see  Adjusting
22606	// the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
22607	// in the Amazon RDS User Guide.
22608	//
22609	// Constraints:
22610	//
22611	//    * Must be in the format hh24:mi-hh24:mi.
22612	//
22613	//    * Must be in Universal Coordinated Time (UTC).
22614	//
22615	//    * Must not conflict with the preferred maintenance window.
22616	//
22617	//    * Must be at least 30 minutes.
22618	PreferredBackupWindow *string `type:"string"`
22619
22620	// The weekly time range during which system maintenance can occur, in Universal
22621	// Coordinated Time (UTC).
22622	//
22623	// Format: ddd:hh24:mi-ddd:hh24:mi
22624	//
22625	// The default is a 30-minute window selected at random from an 8-hour block
22626	// of time for each AWS Region, occurring on a random day of the week. To see
22627	// the time blocks available, see  Adjusting the Preferred Maintenance Window
22628	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
22629	// in the Amazon RDS User Guide.
22630	//
22631	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
22632	//
22633	// Constraints: Minimum 30-minute window.
22634	PreferredMaintenanceWindow *string `type:"string"`
22635
22636	// The scaling properties of the DB cluster. You can only modify scaling properties
22637	// for DB clusters in serverless DB engine mode.
22638	ScalingConfiguration *ScalingConfiguration `type:"structure"`
22639
22640	// A list of VPC security groups that the DB cluster will belong to.
22641	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
22642}
22643
22644// String returns the string representation
22645func (s ModifyDBClusterInput) String() string {
22646	return awsutil.Prettify(s)
22647}
22648
22649// GoString returns the string representation
22650func (s ModifyDBClusterInput) GoString() string {
22651	return s.String()
22652}
22653
22654// Validate inspects the fields of the type to determine if they are valid.
22655func (s *ModifyDBClusterInput) Validate() error {
22656	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
22657	if s.DBClusterIdentifier == nil {
22658		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
22659	}
22660
22661	if invalidParams.Len() > 0 {
22662		return invalidParams
22663	}
22664	return nil
22665}
22666
22667// SetApplyImmediately sets the ApplyImmediately field's value.
22668func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
22669	s.ApplyImmediately = &v
22670	return s
22671}
22672
22673// SetBacktrackWindow sets the BacktrackWindow field's value.
22674func (s *ModifyDBClusterInput) SetBacktrackWindow(v int64) *ModifyDBClusterInput {
22675	s.BacktrackWindow = &v
22676	return s
22677}
22678
22679// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
22680func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
22681	s.BackupRetentionPeriod = &v
22682	return s
22683}
22684
22685// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
22686func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
22687	s.CloudwatchLogsExportConfiguration = v
22688	return s
22689}
22690
22691// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
22692func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
22693	s.DBClusterIdentifier = &v
22694	return s
22695}
22696
22697// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
22698func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
22699	s.DBClusterParameterGroupName = &v
22700	return s
22701}
22702
22703// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
22704func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
22705	s.EnableIAMDatabaseAuthentication = &v
22706	return s
22707}
22708
22709// SetEngineVersion sets the EngineVersion field's value.
22710func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
22711	s.EngineVersion = &v
22712	return s
22713}
22714
22715// SetMasterUserPassword sets the MasterUserPassword field's value.
22716func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
22717	s.MasterUserPassword = &v
22718	return s
22719}
22720
22721// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
22722func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
22723	s.NewDBClusterIdentifier = &v
22724	return s
22725}
22726
22727// SetOptionGroupName sets the OptionGroupName field's value.
22728func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
22729	s.OptionGroupName = &v
22730	return s
22731}
22732
22733// SetPort sets the Port field's value.
22734func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
22735	s.Port = &v
22736	return s
22737}
22738
22739// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
22740func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
22741	s.PreferredBackupWindow = &v
22742	return s
22743}
22744
22745// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
22746func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
22747	s.PreferredMaintenanceWindow = &v
22748	return s
22749}
22750
22751// SetScalingConfiguration sets the ScalingConfiguration field's value.
22752func (s *ModifyDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *ModifyDBClusterInput {
22753	s.ScalingConfiguration = v
22754	return s
22755}
22756
22757// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
22758func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
22759	s.VpcSecurityGroupIds = v
22760	return s
22761}
22762
22763type ModifyDBClusterOutput struct {
22764	_ struct{} `type:"structure"`
22765
22766	// Contains the details of an Amazon RDS DB cluster.
22767	//
22768	// This data type is used as a response element in the DescribeDBClusters action.
22769	DBCluster *DBCluster `type:"structure"`
22770}
22771
22772// String returns the string representation
22773func (s ModifyDBClusterOutput) String() string {
22774	return awsutil.Prettify(s)
22775}
22776
22777// GoString returns the string representation
22778func (s ModifyDBClusterOutput) GoString() string {
22779	return s.String()
22780}
22781
22782// SetDBCluster sets the DBCluster field's value.
22783func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
22784	s.DBCluster = v
22785	return s
22786}
22787
22788type ModifyDBClusterParameterGroupInput struct {
22789	_ struct{} `type:"structure"`
22790
22791	// The name of the DB cluster parameter group to modify.
22792	//
22793	// DBClusterParameterGroupName is a required field
22794	DBClusterParameterGroupName *string `type:"string" required:"true"`
22795
22796	// A list of parameters in the DB cluster parameter group to modify.
22797	//
22798	// Parameters is a required field
22799	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
22800}
22801
22802// String returns the string representation
22803func (s ModifyDBClusterParameterGroupInput) String() string {
22804	return awsutil.Prettify(s)
22805}
22806
22807// GoString returns the string representation
22808func (s ModifyDBClusterParameterGroupInput) GoString() string {
22809	return s.String()
22810}
22811
22812// Validate inspects the fields of the type to determine if they are valid.
22813func (s *ModifyDBClusterParameterGroupInput) Validate() error {
22814	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
22815	if s.DBClusterParameterGroupName == nil {
22816		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
22817	}
22818	if s.Parameters == nil {
22819		invalidParams.Add(request.NewErrParamRequired("Parameters"))
22820	}
22821
22822	if invalidParams.Len() > 0 {
22823		return invalidParams
22824	}
22825	return nil
22826}
22827
22828// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
22829func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
22830	s.DBClusterParameterGroupName = &v
22831	return s
22832}
22833
22834// SetParameters sets the Parameters field's value.
22835func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
22836	s.Parameters = v
22837	return s
22838}
22839
22840type ModifyDBClusterSnapshotAttributeInput struct {
22841	_ struct{} `type:"structure"`
22842
22843	// The name of the DB cluster snapshot attribute to modify.
22844	//
22845	// To manage authorization for other AWS accounts to copy or restore a manual
22846	// DB cluster snapshot, set this value to restore.
22847	//
22848	// AttributeName is a required field
22849	AttributeName *string `type:"string" required:"true"`
22850
22851	// The identifier for the DB cluster snapshot to modify the attributes for.
22852	//
22853	// DBClusterSnapshotIdentifier is a required field
22854	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
22855
22856	// A list of DB cluster snapshot attributes to add to the attribute specified
22857	// by AttributeName.
22858	//
22859	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
22860	// set this list to include one or more AWS account IDs, or all to make the
22861	// manual DB cluster snapshot restorable by any AWS account. Do not add the
22862	// all value for any manual DB cluster snapshots that contain private information
22863	// that you don't want available to all AWS accounts.
22864	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
22865
22866	// A list of DB cluster snapshot attributes to remove from the attribute specified
22867	// by AttributeName.
22868	//
22869	// To remove authorization for other AWS accounts to copy or restore a manual
22870	// DB cluster snapshot, set this list to include one or more AWS account identifiers,
22871	// or all to remove authorization for any AWS account to copy or restore the
22872	// DB cluster snapshot. If you specify all, an AWS account whose account ID
22873	// is explicitly added to the restore attribute can still copy or restore a
22874	// manual DB cluster snapshot.
22875	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
22876}
22877
22878// String returns the string representation
22879func (s ModifyDBClusterSnapshotAttributeInput) String() string {
22880	return awsutil.Prettify(s)
22881}
22882
22883// GoString returns the string representation
22884func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
22885	return s.String()
22886}
22887
22888// Validate inspects the fields of the type to determine if they are valid.
22889func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
22890	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
22891	if s.AttributeName == nil {
22892		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
22893	}
22894	if s.DBClusterSnapshotIdentifier == nil {
22895		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
22896	}
22897
22898	if invalidParams.Len() > 0 {
22899		return invalidParams
22900	}
22901	return nil
22902}
22903
22904// SetAttributeName sets the AttributeName field's value.
22905func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
22906	s.AttributeName = &v
22907	return s
22908}
22909
22910// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
22911func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
22912	s.DBClusterSnapshotIdentifier = &v
22913	return s
22914}
22915
22916// SetValuesToAdd sets the ValuesToAdd field's value.
22917func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
22918	s.ValuesToAdd = v
22919	return s
22920}
22921
22922// SetValuesToRemove sets the ValuesToRemove field's value.
22923func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
22924	s.ValuesToRemove = v
22925	return s
22926}
22927
22928type ModifyDBClusterSnapshotAttributeOutput struct {
22929	_ struct{} `type:"structure"`
22930
22931	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
22932	// API action.
22933	//
22934	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
22935	// to copy or restore a manual DB cluster snapshot. For more information, see
22936	// the ModifyDBClusterSnapshotAttribute API action.
22937	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
22938}
22939
22940// String returns the string representation
22941func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
22942	return awsutil.Prettify(s)
22943}
22944
22945// GoString returns the string representation
22946func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
22947	return s.String()
22948}
22949
22950// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
22951func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
22952	s.DBClusterSnapshotAttributesResult = v
22953	return s
22954}
22955
22956type ModifyDBInstanceInput struct {
22957	_ struct{} `type:"structure"`
22958
22959	// The new amount of storage (in gibibytes) to allocate for the DB instance.
22960	//
22961	// For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at
22962	// least 10% greater than the current value. Values that are not at least 10%
22963	// greater than the existing value are rounded up so that they are 10% greater
22964	// than the current value.
22965	//
22966	// For the valid values for allocated storage for each engine, see CreateDBInstance.
22967	AllocatedStorage *int64 `type:"integer"`
22968
22969	// Indicates that major version upgrades are allowed. Changing this parameter
22970	// doesn't result in an outage and the change is asynchronously applied as soon
22971	// as possible.
22972	//
22973	// Constraints: This parameter must be set to true when specifying a value for
22974	// the EngineVersion parameter that is a different major version than the DB
22975	// instance's current version.
22976	AllowMajorVersionUpgrade *bool `type:"boolean"`
22977
22978	// Specifies whether the modifications in this request and any pending modifications
22979	// are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
22980	// setting for the DB instance.
22981	//
22982	// If this parameter is set to false, changes to the DB instance are applied
22983	// during the next maintenance window. Some parameter changes can cause an outage
22984	// and are applied on the next call to RebootDBInstance, or the next failure
22985	// reboot. Review the table of parameters in Modifying a DB Instance and Using
22986	// the Apply Immediately Parameter (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
22987	// to see the impact that setting ApplyImmediately to true or false has for
22988	// each modified parameter and to determine when the changes are applied.
22989	//
22990	// Default: false
22991	ApplyImmediately *bool `type:"boolean"`
22992
22993	// Indicates that minor version upgrades are applied automatically to the DB
22994	// instance during the maintenance window. Changing this parameter doesn't result
22995	// in an outage except in the following case and the change is asynchronously
22996	// applied as soon as possible. An outage will result if this parameter is set
22997	// to true during the maintenance window, and a newer minor version is available,
22998	// and RDS has enabled auto patching for that engine version.
22999	AutoMinorVersionUpgrade *bool `type:"boolean"`
23000
23001	// The number of days to retain automated backups. Setting this parameter to
23002	// a positive number enables backups. Setting this parameter to 0 disables automated
23003	// backups.
23004	//
23005	// Changing this parameter can result in an outage if you change from 0 to a
23006	// non-zero value or from a non-zero value to 0. These changes are applied during
23007	// the next maintenance window unless the ApplyImmediately parameter is set
23008	// to true for this request. If you change the parameter from one non-zero value
23009	// to another non-zero value, the change is asynchronously applied as soon as
23010	// possible.
23011	//
23012	// Amazon Aurora
23013	//
23014	// Not applicable. The retention period for automated backups is managed by
23015	// the DB cluster. For more information, see ModifyDBCluster.
23016	//
23017	// Default: Uses existing setting
23018	//
23019	// Constraints:
23020	//
23021	//    * Must be a value from 0 to 35
23022	//
23023	//    * Can be specified for a MySQL Read Replica only if the source is running
23024	//    MySQL 5.6
23025	//
23026	//    * Can be specified for a PostgreSQL Read Replica only if the source is
23027	//    running PostgreSQL 9.3.5
23028	//
23029	//    * Cannot be set to 0 if the DB instance is a source to Read Replicas
23030	BackupRetentionPeriod *int64 `type:"integer"`
23031
23032	// Indicates the certificate that needs to be associated with the instance.
23033	CACertificateIdentifier *string `type:"string"`
23034
23035	// The configuration setting for the log types to be enabled for export to CloudWatch
23036	// Logs for a specific DB instance.
23037	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
23038
23039	// True to copy all tags from the DB instance to snapshots of the DB instance,
23040	// and otherwise false. The default is false.
23041	CopyTagsToSnapshot *bool `type:"boolean"`
23042
23043	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
23044	// Not all DB instance classes are available in all AWS Regions, or for all
23045	// database engines. For the full list of DB instance classes, and availability
23046	// for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
23047	// in the Amazon RDS User Guide.
23048	//
23049	// If you modify the DB instance class, an outage occurs during the change.
23050	// The change is applied during the next maintenance window, unless ApplyImmediately
23051	// is specified as true for this request.
23052	//
23053	// Default: Uses existing setting
23054	DBInstanceClass *string `type:"string"`
23055
23056	// The DB instance identifier. This value is stored as a lowercase string.
23057	//
23058	// Constraints:
23059	//
23060	//    * Must match the identifier of an existing DBInstance.
23061	//
23062	// DBInstanceIdentifier is a required field
23063	DBInstanceIdentifier *string `type:"string" required:"true"`
23064
23065	// The name of the DB parameter group to apply to the DB instance. Changing
23066	// this setting doesn't result in an outage. The parameter group name itself
23067	// is changed immediately, but the actual parameter changes are not applied
23068	// until you reboot the instance without failover. The db instance will NOT
23069	// be rebooted automatically and the parameter changes will NOT be applied during
23070	// the next maintenance window.
23071	//
23072	// Default: Uses existing setting
23073	//
23074	// Constraints: The DB parameter group must be in the same DB parameter group
23075	// family as this DB instance.
23076	DBParameterGroupName *string `type:"string"`
23077
23078	// The port number on which the database accepts connections.
23079	//
23080	// The value of the DBPortNumber parameter must not match any of the port values
23081	// specified for options in the option group for the DB instance.
23082	//
23083	// Your database will restart when you change the DBPortNumber value regardless
23084	// of the value of the ApplyImmediately parameter.
23085	//
23086	// MySQL
23087	//
23088	// Default: 3306
23089	//
23090	// Valid Values: 1150-65535
23091	//
23092	// MariaDB
23093	//
23094	// Default: 3306
23095	//
23096	// Valid Values: 1150-65535
23097	//
23098	// PostgreSQL
23099	//
23100	// Default: 5432
23101	//
23102	// Valid Values: 1150-65535
23103	//
23104	// Type: Integer
23105	//
23106	// Oracle
23107	//
23108	// Default: 1521
23109	//
23110	// Valid Values: 1150-65535
23111	//
23112	// SQL Server
23113	//
23114	// Default: 1433
23115	//
23116	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
23117	// 49156.
23118	//
23119	// Amazon Aurora
23120	//
23121	// Default: 3306
23122	//
23123	// Valid Values: 1150-65535
23124	DBPortNumber *int64 `type:"integer"`
23125
23126	// A list of DB security groups to authorize on this DB instance. Changing this
23127	// setting doesn't result in an outage and the change is asynchronously applied
23128	// as soon as possible.
23129	//
23130	// Constraints:
23131	//
23132	//    * If supplied, must match existing DBSecurityGroups.
23133	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
23134
23135	// The new DB subnet group for the DB instance. You can use this parameter to
23136	// move your DB instance to a different VPC. If your DB instance is not in a
23137	// VPC, you can also use this parameter to move your DB instance into a VPC.
23138	// 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).
23139	//
23140	// Changing the subnet group causes an outage during the change. The change
23141	// is applied during the next maintenance window, unless you specify true for
23142	// the ApplyImmediately parameter.
23143	//
23144	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
23145	//
23146	// Example: mySubnetGroup
23147	DBSubnetGroupName *string `type:"string"`
23148
23149	// The Active Directory Domain to move the instance to. Specify none to remove
23150	// the instance from its current domain. The domain must be created prior to
23151	// this operation. Currently only a Microsoft SQL Server instance can be created
23152	// in a Active Directory Domain.
23153	Domain *string `type:"string"`
23154
23155	// The name of the IAM role to use when making API calls to the Directory Service.
23156	DomainIAMRoleName *string `type:"string"`
23157
23158	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
23159	// to database accounts, and otherwise false.
23160	//
23161	// You can enable IAM database authentication for the following database engines
23162	//
23163	// Amazon Aurora
23164	//
23165	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
23166	// by the DB cluster. For more information, see ModifyDBCluster.
23167	//
23168	// MySQL
23169	//
23170	//    * For MySQL 5.6, minor version 5.6.34 or higher
23171	//
23172	//    * For MySQL 5.7, minor version 5.7.16 or higher
23173	//
23174	// Default: false
23175	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
23176
23177	// True to enable Performance Insights for the DB instance, and otherwise false.
23178	//
23179	// For more information, see Using Amazon Performance Insights (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
23180	// in the Amazon Relational Database Service User Guide.
23181	EnablePerformanceInsights *bool `type:"boolean"`
23182
23183	// The version number of the database engine to upgrade to. Changing this parameter
23184	// results in an outage and the change is applied during the next maintenance
23185	// window unless the ApplyImmediately parameter is set to true for this request.
23186	//
23187	// For major version upgrades, if a nondefault DB parameter group is currently
23188	// in use, a new DB parameter group in the DB parameter group family for the
23189	// new engine version must be specified. The new DB parameter group can be the
23190	// default for that DB parameter group family.
23191	//
23192	// For information about valid engine versions, see CreateDBInstance, or call
23193	// DescribeDBEngineVersions.
23194	EngineVersion *string `type:"string"`
23195
23196	// The new Provisioned IOPS (I/O operations per second) value for the RDS instance.
23197	//
23198	// Changing this setting doesn't result in an outage and the change is applied
23199	// during the next maintenance window unless the ApplyImmediately parameter
23200	// is set to true for this request. If you are migrating from Provisioned IOPS
23201	// to standard storage, set this value to 0. The DB instance will require a
23202	// reboot for the change in storage type to take effect.
23203	//
23204	// If you choose to migrate your DB instance from using standard storage to
23205	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
23206	// storage, the process can take time. The duration of the migration depends
23207	// on several factors such as database load, storage size, storage type (standard
23208	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
23209	// of prior scale storage operations. Typical migration times are under 24 hours,
23210	// but the process can take up to several days in some cases. During the migration,
23211	// the DB instance is available for use, but might experience performance degradation.
23212	// While the migration takes place, nightly backups for the instance are suspended.
23213	// No other Amazon RDS operations can take place for the instance, including
23214	// modifying the instance, rebooting the instance, deleting the instance, creating
23215	// a Read Replica for the instance, and creating a DB snapshot of the instance.
23216	//
23217	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied
23218	// must be at least 10% greater than the current value. Values that are not
23219	// at least 10% greater than the existing value are rounded up so that they
23220	// are 10% greater than the current value.
23221	//
23222	// Default: Uses existing setting
23223	Iops *int64 `type:"integer"`
23224
23225	// The license model for the DB instance.
23226	//
23227	// Valid values: license-included | bring-your-own-license | general-public-license
23228	LicenseModel *string `type:"string"`
23229
23230	// The new password for the master user. The password can include any printable
23231	// ASCII character except "/", """, or "@".
23232	//
23233	// Changing this parameter doesn't result in an outage and the change is asynchronously
23234	// applied as soon as possible. Between the time of the request and the completion
23235	// of the request, the MasterUserPassword element exists in the PendingModifiedValues
23236	// element of the operation response.
23237	//
23238	// Amazon Aurora
23239	//
23240	// Not applicable. The password for the master user is managed by the DB cluster.
23241	// For more information, see ModifyDBCluster.
23242	//
23243	// Default: Uses existing setting
23244	//
23245	// MariaDB
23246	//
23247	// Constraints: Must contain from 8 to 41 characters.
23248	//
23249	// Microsoft SQL Server
23250	//
23251	// Constraints: Must contain from 8 to 128 characters.
23252	//
23253	// MySQL
23254	//
23255	// Constraints: Must contain from 8 to 41 characters.
23256	//
23257	// Oracle
23258	//
23259	// Constraints: Must contain from 8 to 30 characters.
23260	//
23261	// PostgreSQL
23262	//
23263	// Constraints: Must contain from 8 to 128 characters.
23264	//
23265	// Amazon RDS API actions never return the password, so this action provides
23266	// a way to regain access to a primary instance user if the password is lost.
23267	// This includes restoring privileges that might have been accidentally revoked.
23268	MasterUserPassword *string `type:"string"`
23269
23270	// The interval, in seconds, between points when Enhanced Monitoring metrics
23271	// are collected for the DB instance. To disable collecting Enhanced Monitoring
23272	// metrics, specify 0. The default is 0.
23273	//
23274	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
23275	// to a value other than 0.
23276	//
23277	// Valid Values: 0, 1, 5, 10, 15, 30, 60
23278	MonitoringInterval *int64 `type:"integer"`
23279
23280	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
23281	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
23282	// For information on creating a monitoring role, go to To create an IAM role
23283	// for Amazon RDS Enhanced Monitoring (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole).
23284	//
23285	// If MonitoringInterval is set to a value other than 0, then you must supply
23286	// a MonitoringRoleArn value.
23287	MonitoringRoleArn *string `type:"string"`
23288
23289	// Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter
23290	// doesn't result in an outage and the change is applied during the next maintenance
23291	// window unless the ApplyImmediately parameter is set to true for this request.
23292	MultiAZ *bool `type:"boolean"`
23293
23294	// The new DB instance identifier for the DB instance when renaming a DB instance.
23295	// When you change the DB instance identifier, an instance reboot will occur
23296	// immediately if you set Apply Immediately to true, or will occur during the
23297	// next maintenance window if Apply Immediately to false. This value is stored
23298	// as a lowercase string.
23299	//
23300	// Constraints:
23301	//
23302	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
23303	//
23304	//    * The first character must be a letter.
23305	//
23306	//    * Cannot end with a hyphen or contain two consecutive hyphens.
23307	//
23308	// Example: mydbinstance
23309	NewDBInstanceIdentifier *string `type:"string"`
23310
23311	// Indicates that the DB instance should be associated with the specified option
23312	// group. Changing this parameter doesn't result in an outage except in the
23313	// following case and the change is applied during the next maintenance window
23314	// unless the ApplyImmediately parameter is set to true for this request. If
23315	// the parameter change results in an option group that enables OEM, this change
23316	// can cause a brief (sub-second) period during which new connections are rejected
23317	// but existing connections are not interrupted.
23318	//
23319	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
23320	// can't be removed from an option group, and that option group can't be removed
23321	// from a DB instance once it is associated with a DB instance
23322	OptionGroupName *string `type:"string"`
23323
23324	// The AWS KMS key identifier for encryption of Performance Insights data. The
23325	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
23326	// KMS key alias for the KMS encryption key.
23327	PerformanceInsightsKMSKeyId *string `type:"string"`
23328
23329	// The amount of time, in days, to retain Performance Insights data. Valid values
23330	// are 7 or 731 (2 years).
23331	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
23332
23333	// The daily time range during which automated backups are created if automated
23334	// backups are enabled, as determined by the BackupRetentionPeriod parameter.
23335	// Changing this parameter doesn't result in an outage and the change is asynchronously
23336	// applied as soon as possible.
23337	//
23338	// Amazon Aurora
23339	//
23340	// Not applicable. The daily time range for creating automated backups is managed
23341	// by the DB cluster. For more information, see ModifyDBCluster.
23342	//
23343	// Constraints:
23344	//
23345	//    * Must be in the format hh24:mi-hh24:mi
23346	//
23347	//    * Must be in Universal Time Coordinated (UTC)
23348	//
23349	//    * Must not conflict with the preferred maintenance window
23350	//
23351	//    * Must be at least 30 minutes
23352	PreferredBackupWindow *string `type:"string"`
23353
23354	// The weekly time range (in UTC) during which system maintenance can occur,
23355	// which might result in an outage. Changing this parameter doesn't result in
23356	// an outage, except in the following situation, and the change is asynchronously
23357	// applied as soon as possible. If there are pending actions that cause a reboot,
23358	// and the maintenance window is changed to include the current time, then changing
23359	// this parameter will cause a reboot of the DB instance. If moving this window
23360	// to the current time, there must be at least 30 minutes between the current
23361	// time and end of the window to ensure pending changes are applied.
23362	//
23363	// Default: Uses existing setting
23364	//
23365	// Format: ddd:hh24:mi-ddd:hh24:mi
23366	//
23367	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
23368	//
23369	// Constraints: Must be at least 30 minutes
23370	PreferredMaintenanceWindow *string `type:"string"`
23371
23372	// The number of CPU cores and the number of threads per core for the DB instance
23373	// class of the DB instance.
23374	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
23375
23376	// A value that specifies the order in which an Aurora Replica is promoted to
23377	// the primary instance after a failure of the existing primary instance. For
23378	// more information, see  Fault Tolerance for an Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance).
23379	//
23380	// Default: 1
23381	//
23382	// Valid Values: 0 - 15
23383	PromotionTier *int64 `type:"integer"`
23384
23385	// Boolean value that indicates if the DB instance has a publicly resolvable
23386	// DNS name. Set to True to make the DB instance Internet-facing with a publicly
23387	// resolvable DNS name, which resolves to a public IP address. Set to False
23388	// to make the DB instance internal with a DNS name that resolves to a private
23389	// IP address.
23390	//
23391	// PubliclyAccessible only applies to DB instances in a VPC. The DB instance
23392	// must be part of a public subnet and PubliclyAccessible must be true in order
23393	// for it to be publicly accessible.
23394	//
23395	// Changes to the PubliclyAccessible parameter are applied immediately regardless
23396	// of the value of the ApplyImmediately parameter.
23397	//
23398	// Default: false
23399	PubliclyAccessible *bool `type:"boolean"`
23400
23401	// Specifies the storage type to be associated with the DB instance.
23402	//
23403	// If you specify Provisioned IOPS (io1), you must also include a value for
23404	// the Iops parameter.
23405	//
23406	// If you choose to migrate your DB instance from using standard storage to
23407	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
23408	// storage, the process can take time. The duration of the migration depends
23409	// on several factors such as database load, storage size, storage type (standard
23410	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
23411	// of prior scale storage operations. Typical migration times are under 24 hours,
23412	// but the process can take up to several days in some cases. During the migration,
23413	// the DB instance is available for use, but might experience performance degradation.
23414	// While the migration takes place, nightly backups for the instance are suspended.
23415	// No other Amazon RDS operations can take place for the instance, including
23416	// modifying the instance, rebooting the instance, deleting the instance, creating
23417	// a Read Replica for the instance, and creating a DB snapshot of the instance.
23418	//
23419	// Valid values: standard | gp2 | io1
23420	//
23421	// Default: io1 if the Iops parameter is specified, otherwise standard
23422	StorageType *string `type:"string"`
23423
23424	// The ARN from the key store with which to associate the instance for TDE encryption.
23425	TdeCredentialArn *string `type:"string"`
23426
23427	// The password for the given ARN from the key store in order to access the
23428	// device.
23429	TdeCredentialPassword *string `type:"string"`
23430
23431	// A value that specifies that the DB instance class of the DB instance uses
23432	// its default processor features.
23433	UseDefaultProcessorFeatures *bool `type:"boolean"`
23434
23435	// A list of EC2 VPC security groups to authorize on this DB instance. This
23436	// change is asynchronously applied as soon as possible.
23437	//
23438	// Amazon Aurora
23439	//
23440	// Not applicable. The associated list of EC2 VPC security groups is managed
23441	// by the DB cluster. For more information, see ModifyDBCluster.
23442	//
23443	// Constraints:
23444	//
23445	//    * If supplied, must match existing VpcSecurityGroupIds.
23446	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
23447}
23448
23449// String returns the string representation
23450func (s ModifyDBInstanceInput) String() string {
23451	return awsutil.Prettify(s)
23452}
23453
23454// GoString returns the string representation
23455func (s ModifyDBInstanceInput) GoString() string {
23456	return s.String()
23457}
23458
23459// Validate inspects the fields of the type to determine if they are valid.
23460func (s *ModifyDBInstanceInput) Validate() error {
23461	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
23462	if s.DBInstanceIdentifier == nil {
23463		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
23464	}
23465
23466	if invalidParams.Len() > 0 {
23467		return invalidParams
23468	}
23469	return nil
23470}
23471
23472// SetAllocatedStorage sets the AllocatedStorage field's value.
23473func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
23474	s.AllocatedStorage = &v
23475	return s
23476}
23477
23478// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
23479func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
23480	s.AllowMajorVersionUpgrade = &v
23481	return s
23482}
23483
23484// SetApplyImmediately sets the ApplyImmediately field's value.
23485func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
23486	s.ApplyImmediately = &v
23487	return s
23488}
23489
23490// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
23491func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
23492	s.AutoMinorVersionUpgrade = &v
23493	return s
23494}
23495
23496// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
23497func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
23498	s.BackupRetentionPeriod = &v
23499	return s
23500}
23501
23502// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
23503func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
23504	s.CACertificateIdentifier = &v
23505	return s
23506}
23507
23508// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
23509func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
23510	s.CloudwatchLogsExportConfiguration = v
23511	return s
23512}
23513
23514// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
23515func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
23516	s.CopyTagsToSnapshot = &v
23517	return s
23518}
23519
23520// SetDBInstanceClass sets the DBInstanceClass field's value.
23521func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
23522	s.DBInstanceClass = &v
23523	return s
23524}
23525
23526// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
23527func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
23528	s.DBInstanceIdentifier = &v
23529	return s
23530}
23531
23532// SetDBParameterGroupName sets the DBParameterGroupName field's value.
23533func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
23534	s.DBParameterGroupName = &v
23535	return s
23536}
23537
23538// SetDBPortNumber sets the DBPortNumber field's value.
23539func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
23540	s.DBPortNumber = &v
23541	return s
23542}
23543
23544// SetDBSecurityGroups sets the DBSecurityGroups field's value.
23545func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
23546	s.DBSecurityGroups = v
23547	return s
23548}
23549
23550// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
23551func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
23552	s.DBSubnetGroupName = &v
23553	return s
23554}
23555
23556// SetDomain sets the Domain field's value.
23557func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
23558	s.Domain = &v
23559	return s
23560}
23561
23562// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
23563func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
23564	s.DomainIAMRoleName = &v
23565	return s
23566}
23567
23568// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
23569func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
23570	s.EnableIAMDatabaseAuthentication = &v
23571	return s
23572}
23573
23574// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
23575func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
23576	s.EnablePerformanceInsights = &v
23577	return s
23578}
23579
23580// SetEngineVersion sets the EngineVersion field's value.
23581func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
23582	s.EngineVersion = &v
23583	return s
23584}
23585
23586// SetIops sets the Iops field's value.
23587func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
23588	s.Iops = &v
23589	return s
23590}
23591
23592// SetLicenseModel sets the LicenseModel field's value.
23593func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
23594	s.LicenseModel = &v
23595	return s
23596}
23597
23598// SetMasterUserPassword sets the MasterUserPassword field's value.
23599func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
23600	s.MasterUserPassword = &v
23601	return s
23602}
23603
23604// SetMonitoringInterval sets the MonitoringInterval field's value.
23605func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
23606	s.MonitoringInterval = &v
23607	return s
23608}
23609
23610// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
23611func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
23612	s.MonitoringRoleArn = &v
23613	return s
23614}
23615
23616// SetMultiAZ sets the MultiAZ field's value.
23617func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
23618	s.MultiAZ = &v
23619	return s
23620}
23621
23622// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
23623func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
23624	s.NewDBInstanceIdentifier = &v
23625	return s
23626}
23627
23628// SetOptionGroupName sets the OptionGroupName field's value.
23629func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
23630	s.OptionGroupName = &v
23631	return s
23632}
23633
23634// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
23635func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
23636	s.PerformanceInsightsKMSKeyId = &v
23637	return s
23638}
23639
23640// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
23641func (s *ModifyDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *ModifyDBInstanceInput {
23642	s.PerformanceInsightsRetentionPeriod = &v
23643	return s
23644}
23645
23646// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
23647func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
23648	s.PreferredBackupWindow = &v
23649	return s
23650}
23651
23652// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
23653func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
23654	s.PreferredMaintenanceWindow = &v
23655	return s
23656}
23657
23658// SetProcessorFeatures sets the ProcessorFeatures field's value.
23659func (s *ModifyDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *ModifyDBInstanceInput {
23660	s.ProcessorFeatures = v
23661	return s
23662}
23663
23664// SetPromotionTier sets the PromotionTier field's value.
23665func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
23666	s.PromotionTier = &v
23667	return s
23668}
23669
23670// SetPubliclyAccessible sets the PubliclyAccessible field's value.
23671func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
23672	s.PubliclyAccessible = &v
23673	return s
23674}
23675
23676// SetStorageType sets the StorageType field's value.
23677func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
23678	s.StorageType = &v
23679	return s
23680}
23681
23682// SetTdeCredentialArn sets the TdeCredentialArn field's value.
23683func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
23684	s.TdeCredentialArn = &v
23685	return s
23686}
23687
23688// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
23689func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
23690	s.TdeCredentialPassword = &v
23691	return s
23692}
23693
23694// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
23695func (s *ModifyDBInstanceInput) SetUseDefaultProcessorFeatures(v bool) *ModifyDBInstanceInput {
23696	s.UseDefaultProcessorFeatures = &v
23697	return s
23698}
23699
23700// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
23701func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
23702	s.VpcSecurityGroupIds = v
23703	return s
23704}
23705
23706type ModifyDBInstanceOutput struct {
23707	_ struct{} `type:"structure"`
23708
23709	// Contains the details of an Amazon RDS DB instance.
23710	//
23711	// This data type is used as a response element in the DescribeDBInstances action.
23712	DBInstance *DBInstance `type:"structure"`
23713}
23714
23715// String returns the string representation
23716func (s ModifyDBInstanceOutput) String() string {
23717	return awsutil.Prettify(s)
23718}
23719
23720// GoString returns the string representation
23721func (s ModifyDBInstanceOutput) GoString() string {
23722	return s.String()
23723}
23724
23725// SetDBInstance sets the DBInstance field's value.
23726func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
23727	s.DBInstance = v
23728	return s
23729}
23730
23731type ModifyDBParameterGroupInput struct {
23732	_ struct{} `type:"structure"`
23733
23734	// The name of the DB parameter group.
23735	//
23736	// Constraints:
23737	//
23738	//    * If supplied, must match the name of an existing DBParameterGroup.
23739	//
23740	// DBParameterGroupName is a required field
23741	DBParameterGroupName *string `type:"string" required:"true"`
23742
23743	// An array of parameter names, values, and the apply method for the parameter
23744	// update. At least one parameter name, value, and apply method must be supplied;
23745	// subsequent arguments are optional. A maximum of 20 parameters can be modified
23746	// in a single request.
23747	//
23748	// Valid Values (for the application method): immediate | pending-reboot
23749	//
23750	// You can use the immediate value with dynamic parameters only. You can use
23751	// the pending-reboot value for both dynamic and static parameters, and changes
23752	// are applied when you reboot the DB instance without failover.
23753	//
23754	// Parameters is a required field
23755	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
23756}
23757
23758// String returns the string representation
23759func (s ModifyDBParameterGroupInput) String() string {
23760	return awsutil.Prettify(s)
23761}
23762
23763// GoString returns the string representation
23764func (s ModifyDBParameterGroupInput) GoString() string {
23765	return s.String()
23766}
23767
23768// Validate inspects the fields of the type to determine if they are valid.
23769func (s *ModifyDBParameterGroupInput) Validate() error {
23770	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
23771	if s.DBParameterGroupName == nil {
23772		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
23773	}
23774	if s.Parameters == nil {
23775		invalidParams.Add(request.NewErrParamRequired("Parameters"))
23776	}
23777
23778	if invalidParams.Len() > 0 {
23779		return invalidParams
23780	}
23781	return nil
23782}
23783
23784// SetDBParameterGroupName sets the DBParameterGroupName field's value.
23785func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
23786	s.DBParameterGroupName = &v
23787	return s
23788}
23789
23790// SetParameters sets the Parameters field's value.
23791func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
23792	s.Parameters = v
23793	return s
23794}
23795
23796type ModifyDBSnapshotAttributeInput struct {
23797	_ struct{} `type:"structure"`
23798
23799	// The name of the DB snapshot attribute to modify.
23800	//
23801	// To manage authorization for other AWS accounts to copy or restore a manual
23802	// DB snapshot, set this value to restore.
23803	//
23804	// AttributeName is a required field
23805	AttributeName *string `type:"string" required:"true"`
23806
23807	// The identifier for the DB snapshot to modify the attributes for.
23808	//
23809	// DBSnapshotIdentifier is a required field
23810	DBSnapshotIdentifier *string `type:"string" required:"true"`
23811
23812	// A list of DB snapshot attributes to add to the attribute specified by AttributeName.
23813	//
23814	// To authorize other AWS accounts to copy or restore a manual snapshot, set
23815	// this list to include one or more AWS account IDs, or all to make the manual
23816	// DB snapshot restorable by any AWS account. Do not add the all value for any
23817	// manual DB snapshots that contain private information that you don't want
23818	// available to all AWS accounts.
23819	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
23820
23821	// A list of DB snapshot attributes to remove from the attribute specified by
23822	// AttributeName.
23823	//
23824	// To remove authorization for other AWS accounts to copy or restore a manual
23825	// snapshot, set this list to include one or more AWS account identifiers, or
23826	// all to remove authorization for any AWS account to copy or restore the DB
23827	// snapshot. If you specify all, an AWS account whose account ID is explicitly
23828	// added to the restore attribute can still copy or restore the manual DB snapshot.
23829	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
23830}
23831
23832// String returns the string representation
23833func (s ModifyDBSnapshotAttributeInput) String() string {
23834	return awsutil.Prettify(s)
23835}
23836
23837// GoString returns the string representation
23838func (s ModifyDBSnapshotAttributeInput) GoString() string {
23839	return s.String()
23840}
23841
23842// Validate inspects the fields of the type to determine if they are valid.
23843func (s *ModifyDBSnapshotAttributeInput) Validate() error {
23844	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"}
23845	if s.AttributeName == nil {
23846		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
23847	}
23848	if s.DBSnapshotIdentifier == nil {
23849		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
23850	}
23851
23852	if invalidParams.Len() > 0 {
23853		return invalidParams
23854	}
23855	return nil
23856}
23857
23858// SetAttributeName sets the AttributeName field's value.
23859func (s *ModifyDBSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBSnapshotAttributeInput {
23860	s.AttributeName = &v
23861	return s
23862}
23863
23864// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
23865func (s *ModifyDBSnapshotAttributeInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotAttributeInput {
23866	s.DBSnapshotIdentifier = &v
23867	return s
23868}
23869
23870// SetValuesToAdd sets the ValuesToAdd field's value.
23871func (s *ModifyDBSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBSnapshotAttributeInput {
23872	s.ValuesToAdd = v
23873	return s
23874}
23875
23876// SetValuesToRemove sets the ValuesToRemove field's value.
23877func (s *ModifyDBSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBSnapshotAttributeInput {
23878	s.ValuesToRemove = v
23879	return s
23880}
23881
23882type ModifyDBSnapshotAttributeOutput struct {
23883	_ struct{} `type:"structure"`
23884
23885	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
23886	// API action.
23887	//
23888	// Manual DB snapshot attributes are used to authorize other AWS accounts to
23889	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
23890	// API action.
23891	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
23892}
23893
23894// String returns the string representation
23895func (s ModifyDBSnapshotAttributeOutput) String() string {
23896	return awsutil.Prettify(s)
23897}
23898
23899// GoString returns the string representation
23900func (s ModifyDBSnapshotAttributeOutput) GoString() string {
23901	return s.String()
23902}
23903
23904// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
23905func (s *ModifyDBSnapshotAttributeOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *ModifyDBSnapshotAttributeOutput {
23906	s.DBSnapshotAttributesResult = v
23907	return s
23908}
23909
23910type ModifyDBSnapshotInput struct {
23911	_ struct{} `type:"structure"`
23912
23913	// The identifier of the DB snapshot to modify.
23914	//
23915	// DBSnapshotIdentifier is a required field
23916	DBSnapshotIdentifier *string `type:"string" required:"true"`
23917
23918	// The engine version to upgrade the DB snapshot to.
23919	//
23920	// The following are the database engines and engine versions that are available
23921	// when you upgrade a DB snapshot.
23922	//
23923	// MySQL
23924	//
23925	//    * 5.5.46 (supported for 5.1 DB snapshots)
23926	//
23927	// Oracle
23928	//
23929	//    * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
23930	//
23931	//    * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
23932	//
23933	//    * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
23934	EngineVersion *string `type:"string"`
23935
23936	// The option group to identify with the upgraded DB snapshot.
23937	//
23938	// You can specify this parameter when you upgrade an Oracle DB snapshot. The
23939	// same option group considerations apply when upgrading a DB snapshot as when
23940	// upgrading a DB instance. For more information, see Option Group Considerations
23941	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG).
23942	OptionGroupName *string `type:"string"`
23943}
23944
23945// String returns the string representation
23946func (s ModifyDBSnapshotInput) String() string {
23947	return awsutil.Prettify(s)
23948}
23949
23950// GoString returns the string representation
23951func (s ModifyDBSnapshotInput) GoString() string {
23952	return s.String()
23953}
23954
23955// Validate inspects the fields of the type to determine if they are valid.
23956func (s *ModifyDBSnapshotInput) Validate() error {
23957	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotInput"}
23958	if s.DBSnapshotIdentifier == nil {
23959		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
23960	}
23961
23962	if invalidParams.Len() > 0 {
23963		return invalidParams
23964	}
23965	return nil
23966}
23967
23968// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
23969func (s *ModifyDBSnapshotInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotInput {
23970	s.DBSnapshotIdentifier = &v
23971	return s
23972}
23973
23974// SetEngineVersion sets the EngineVersion field's value.
23975func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInput {
23976	s.EngineVersion = &v
23977	return s
23978}
23979
23980// SetOptionGroupName sets the OptionGroupName field's value.
23981func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput {
23982	s.OptionGroupName = &v
23983	return s
23984}
23985
23986type ModifyDBSnapshotOutput struct {
23987	_ struct{} `type:"structure"`
23988
23989	// Contains the details of an Amazon RDS DB snapshot.
23990	//
23991	// This data type is used as a response element in the DescribeDBSnapshots action.
23992	DBSnapshot *DBSnapshot `type:"structure"`
23993}
23994
23995// String returns the string representation
23996func (s ModifyDBSnapshotOutput) String() string {
23997	return awsutil.Prettify(s)
23998}
23999
24000// GoString returns the string representation
24001func (s ModifyDBSnapshotOutput) GoString() string {
24002	return s.String()
24003}
24004
24005// SetDBSnapshot sets the DBSnapshot field's value.
24006func (s *ModifyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *ModifyDBSnapshotOutput {
24007	s.DBSnapshot = v
24008	return s
24009}
24010
24011type ModifyDBSubnetGroupInput struct {
24012	_ struct{} `type:"structure"`
24013
24014	// The description for the DB subnet group.
24015	DBSubnetGroupDescription *string `type:"string"`
24016
24017	// The name for the DB subnet group. This value is stored as a lowercase string.
24018	// You can't modify the default subnet group.
24019	//
24020	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
24021	// default.
24022	//
24023	// Example: mySubnetgroup
24024	//
24025	// DBSubnetGroupName is a required field
24026	DBSubnetGroupName *string `type:"string" required:"true"`
24027
24028	// The EC2 subnet IDs for the DB subnet group.
24029	//
24030	// SubnetIds is a required field
24031	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
24032}
24033
24034// String returns the string representation
24035func (s ModifyDBSubnetGroupInput) String() string {
24036	return awsutil.Prettify(s)
24037}
24038
24039// GoString returns the string representation
24040func (s ModifyDBSubnetGroupInput) GoString() string {
24041	return s.String()
24042}
24043
24044// Validate inspects the fields of the type to determine if they are valid.
24045func (s *ModifyDBSubnetGroupInput) Validate() error {
24046	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
24047	if s.DBSubnetGroupName == nil {
24048		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
24049	}
24050	if s.SubnetIds == nil {
24051		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
24052	}
24053
24054	if invalidParams.Len() > 0 {
24055		return invalidParams
24056	}
24057	return nil
24058}
24059
24060// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
24061func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
24062	s.DBSubnetGroupDescription = &v
24063	return s
24064}
24065
24066// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
24067func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
24068	s.DBSubnetGroupName = &v
24069	return s
24070}
24071
24072// SetSubnetIds sets the SubnetIds field's value.
24073func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
24074	s.SubnetIds = v
24075	return s
24076}
24077
24078type ModifyDBSubnetGroupOutput struct {
24079	_ struct{} `type:"structure"`
24080
24081	// Contains the details of an Amazon RDS DB subnet group.
24082	//
24083	// This data type is used as a response element in the DescribeDBSubnetGroups
24084	// action.
24085	DBSubnetGroup *DBSubnetGroup `type:"structure"`
24086}
24087
24088// String returns the string representation
24089func (s ModifyDBSubnetGroupOutput) String() string {
24090	return awsutil.Prettify(s)
24091}
24092
24093// GoString returns the string representation
24094func (s ModifyDBSubnetGroupOutput) GoString() string {
24095	return s.String()
24096}
24097
24098// SetDBSubnetGroup sets the DBSubnetGroup field's value.
24099func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
24100	s.DBSubnetGroup = v
24101	return s
24102}
24103
24104type ModifyEventSubscriptionInput struct {
24105	_ struct{} `type:"structure"`
24106
24107	// A Boolean value; set to true to activate the subscription.
24108	Enabled *bool `type:"boolean"`
24109
24110	// A list of event categories for a SourceType that you want to subscribe to.
24111	// You can see a list of the categories for a given SourceType in the Events
24112	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
24113	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
24114	// action.
24115	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
24116
24117	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
24118	// The ARN is created by Amazon SNS when you create a topic and subscribe to
24119	// it.
24120	SnsTopicArn *string `type:"string"`
24121
24122	// The type of source that is generating the events. For example, if you want
24123	// to be notified of events generated by a DB instance, you would set this parameter
24124	// to db-instance. if this value is not specified, all events are returned.
24125	//
24126	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
24127	SourceType *string `type:"string"`
24128
24129	// The name of the RDS event notification subscription.
24130	//
24131	// SubscriptionName is a required field
24132	SubscriptionName *string `type:"string" required:"true"`
24133}
24134
24135// String returns the string representation
24136func (s ModifyEventSubscriptionInput) String() string {
24137	return awsutil.Prettify(s)
24138}
24139
24140// GoString returns the string representation
24141func (s ModifyEventSubscriptionInput) GoString() string {
24142	return s.String()
24143}
24144
24145// Validate inspects the fields of the type to determine if they are valid.
24146func (s *ModifyEventSubscriptionInput) Validate() error {
24147	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
24148	if s.SubscriptionName == nil {
24149		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
24150	}
24151
24152	if invalidParams.Len() > 0 {
24153		return invalidParams
24154	}
24155	return nil
24156}
24157
24158// SetEnabled sets the Enabled field's value.
24159func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
24160	s.Enabled = &v
24161	return s
24162}
24163
24164// SetEventCategories sets the EventCategories field's value.
24165func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
24166	s.EventCategories = v
24167	return s
24168}
24169
24170// SetSnsTopicArn sets the SnsTopicArn field's value.
24171func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
24172	s.SnsTopicArn = &v
24173	return s
24174}
24175
24176// SetSourceType sets the SourceType field's value.
24177func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
24178	s.SourceType = &v
24179	return s
24180}
24181
24182// SetSubscriptionName sets the SubscriptionName field's value.
24183func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
24184	s.SubscriptionName = &v
24185	return s
24186}
24187
24188type ModifyEventSubscriptionOutput struct {
24189	_ struct{} `type:"structure"`
24190
24191	// Contains the results of a successful invocation of the DescribeEventSubscriptions
24192	// action.
24193	EventSubscription *EventSubscription `type:"structure"`
24194}
24195
24196// String returns the string representation
24197func (s ModifyEventSubscriptionOutput) String() string {
24198	return awsutil.Prettify(s)
24199}
24200
24201// GoString returns the string representation
24202func (s ModifyEventSubscriptionOutput) GoString() string {
24203	return s.String()
24204}
24205
24206// SetEventSubscription sets the EventSubscription field's value.
24207func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
24208	s.EventSubscription = v
24209	return s
24210}
24211
24212type ModifyOptionGroupInput struct {
24213	_ struct{} `type:"structure"`
24214
24215	// Indicates whether the changes should be applied immediately, or during the
24216	// next maintenance window for each instance associated with the option group.
24217	ApplyImmediately *bool `type:"boolean"`
24218
24219	// The name of the option group to be modified.
24220	//
24221	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
24222	// can't be removed from an option group, and that option group can't be removed
24223	// from a DB instance once it is associated with a DB instance
24224	//
24225	// OptionGroupName is a required field
24226	OptionGroupName *string `type:"string" required:"true"`
24227
24228	// Options in this list are added to the option group or, if already present,
24229	// the specified configuration is used to update the existing configuration.
24230	OptionsToInclude []*OptionConfiguration `locationNameList:"OptionConfiguration" type:"list"`
24231
24232	// Options in this list are removed from the option group.
24233	OptionsToRemove []*string `type:"list"`
24234}
24235
24236// String returns the string representation
24237func (s ModifyOptionGroupInput) String() string {
24238	return awsutil.Prettify(s)
24239}
24240
24241// GoString returns the string representation
24242func (s ModifyOptionGroupInput) GoString() string {
24243	return s.String()
24244}
24245
24246// Validate inspects the fields of the type to determine if they are valid.
24247func (s *ModifyOptionGroupInput) Validate() error {
24248	invalidParams := request.ErrInvalidParams{Context: "ModifyOptionGroupInput"}
24249	if s.OptionGroupName == nil {
24250		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
24251	}
24252	if s.OptionsToInclude != nil {
24253		for i, v := range s.OptionsToInclude {
24254			if v == nil {
24255				continue
24256			}
24257			if err := v.Validate(); err != nil {
24258				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToInclude", i), err.(request.ErrInvalidParams))
24259			}
24260		}
24261	}
24262
24263	if invalidParams.Len() > 0 {
24264		return invalidParams
24265	}
24266	return nil
24267}
24268
24269// SetApplyImmediately sets the ApplyImmediately field's value.
24270func (s *ModifyOptionGroupInput) SetApplyImmediately(v bool) *ModifyOptionGroupInput {
24271	s.ApplyImmediately = &v
24272	return s
24273}
24274
24275// SetOptionGroupName sets the OptionGroupName field's value.
24276func (s *ModifyOptionGroupInput) SetOptionGroupName(v string) *ModifyOptionGroupInput {
24277	s.OptionGroupName = &v
24278	return s
24279}
24280
24281// SetOptionsToInclude sets the OptionsToInclude field's value.
24282func (s *ModifyOptionGroupInput) SetOptionsToInclude(v []*OptionConfiguration) *ModifyOptionGroupInput {
24283	s.OptionsToInclude = v
24284	return s
24285}
24286
24287// SetOptionsToRemove sets the OptionsToRemove field's value.
24288func (s *ModifyOptionGroupInput) SetOptionsToRemove(v []*string) *ModifyOptionGroupInput {
24289	s.OptionsToRemove = v
24290	return s
24291}
24292
24293type ModifyOptionGroupOutput struct {
24294	_ struct{} `type:"structure"`
24295
24296	OptionGroup *OptionGroup `type:"structure"`
24297}
24298
24299// String returns the string representation
24300func (s ModifyOptionGroupOutput) String() string {
24301	return awsutil.Prettify(s)
24302}
24303
24304// GoString returns the string representation
24305func (s ModifyOptionGroupOutput) GoString() string {
24306	return s.String()
24307}
24308
24309// SetOptionGroup sets the OptionGroup field's value.
24310func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGroupOutput {
24311	s.OptionGroup = v
24312	return s
24313}
24314
24315// Option details.
24316type Option struct {
24317	_ struct{} `type:"structure"`
24318
24319	// If the option requires access to a port, then this DB security group allows
24320	// access to the port.
24321	DBSecurityGroupMemberships []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
24322
24323	// The description of the option.
24324	OptionDescription *string `type:"string"`
24325
24326	// The name of the option.
24327	OptionName *string `type:"string"`
24328
24329	// The option settings for this option.
24330	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
24331
24332	// The version of the option.
24333	OptionVersion *string `type:"string"`
24334
24335	// Indicate if this option is permanent.
24336	Permanent *bool `type:"boolean"`
24337
24338	// Indicate if this option is persistent.
24339	Persistent *bool `type:"boolean"`
24340
24341	// If required, the port configured for this option to use.
24342	Port *int64 `type:"integer"`
24343
24344	// If the option requires access to a port, then this VPC security group allows
24345	// access to the port.
24346	VpcSecurityGroupMemberships []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
24347}
24348
24349// String returns the string representation
24350func (s Option) String() string {
24351	return awsutil.Prettify(s)
24352}
24353
24354// GoString returns the string representation
24355func (s Option) GoString() string {
24356	return s.String()
24357}
24358
24359// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
24360func (s *Option) SetDBSecurityGroupMemberships(v []*DBSecurityGroupMembership) *Option {
24361	s.DBSecurityGroupMemberships = v
24362	return s
24363}
24364
24365// SetOptionDescription sets the OptionDescription field's value.
24366func (s *Option) SetOptionDescription(v string) *Option {
24367	s.OptionDescription = &v
24368	return s
24369}
24370
24371// SetOptionName sets the OptionName field's value.
24372func (s *Option) SetOptionName(v string) *Option {
24373	s.OptionName = &v
24374	return s
24375}
24376
24377// SetOptionSettings sets the OptionSettings field's value.
24378func (s *Option) SetOptionSettings(v []*OptionSetting) *Option {
24379	s.OptionSettings = v
24380	return s
24381}
24382
24383// SetOptionVersion sets the OptionVersion field's value.
24384func (s *Option) SetOptionVersion(v string) *Option {
24385	s.OptionVersion = &v
24386	return s
24387}
24388
24389// SetPermanent sets the Permanent field's value.
24390func (s *Option) SetPermanent(v bool) *Option {
24391	s.Permanent = &v
24392	return s
24393}
24394
24395// SetPersistent sets the Persistent field's value.
24396func (s *Option) SetPersistent(v bool) *Option {
24397	s.Persistent = &v
24398	return s
24399}
24400
24401// SetPort sets the Port field's value.
24402func (s *Option) SetPort(v int64) *Option {
24403	s.Port = &v
24404	return s
24405}
24406
24407// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
24408func (s *Option) SetVpcSecurityGroupMemberships(v []*VpcSecurityGroupMembership) *Option {
24409	s.VpcSecurityGroupMemberships = v
24410	return s
24411}
24412
24413// A list of all available options
24414type OptionConfiguration struct {
24415	_ struct{} `type:"structure"`
24416
24417	// A list of DBSecurityGroupMemebrship name strings used for this option.
24418	DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"`
24419
24420	// The configuration of options to include in a group.
24421	//
24422	// OptionName is a required field
24423	OptionName *string `type:"string" required:"true"`
24424
24425	// The option settings to include in an option group.
24426	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
24427
24428	// The version for the option.
24429	OptionVersion *string `type:"string"`
24430
24431	// The optional port for the option.
24432	Port *int64 `type:"integer"`
24433
24434	// A list of VpcSecurityGroupMemebrship name strings used for this option.
24435	VpcSecurityGroupMemberships []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
24436}
24437
24438// String returns the string representation
24439func (s OptionConfiguration) String() string {
24440	return awsutil.Prettify(s)
24441}
24442
24443// GoString returns the string representation
24444func (s OptionConfiguration) GoString() string {
24445	return s.String()
24446}
24447
24448// Validate inspects the fields of the type to determine if they are valid.
24449func (s *OptionConfiguration) Validate() error {
24450	invalidParams := request.ErrInvalidParams{Context: "OptionConfiguration"}
24451	if s.OptionName == nil {
24452		invalidParams.Add(request.NewErrParamRequired("OptionName"))
24453	}
24454
24455	if invalidParams.Len() > 0 {
24456		return invalidParams
24457	}
24458	return nil
24459}
24460
24461// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
24462func (s *OptionConfiguration) SetDBSecurityGroupMemberships(v []*string) *OptionConfiguration {
24463	s.DBSecurityGroupMemberships = v
24464	return s
24465}
24466
24467// SetOptionName sets the OptionName field's value.
24468func (s *OptionConfiguration) SetOptionName(v string) *OptionConfiguration {
24469	s.OptionName = &v
24470	return s
24471}
24472
24473// SetOptionSettings sets the OptionSettings field's value.
24474func (s *OptionConfiguration) SetOptionSettings(v []*OptionSetting) *OptionConfiguration {
24475	s.OptionSettings = v
24476	return s
24477}
24478
24479// SetOptionVersion sets the OptionVersion field's value.
24480func (s *OptionConfiguration) SetOptionVersion(v string) *OptionConfiguration {
24481	s.OptionVersion = &v
24482	return s
24483}
24484
24485// SetPort sets the Port field's value.
24486func (s *OptionConfiguration) SetPort(v int64) *OptionConfiguration {
24487	s.Port = &v
24488	return s
24489}
24490
24491// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
24492func (s *OptionConfiguration) SetVpcSecurityGroupMemberships(v []*string) *OptionConfiguration {
24493	s.VpcSecurityGroupMemberships = v
24494	return s
24495}
24496
24497type OptionGroup struct {
24498	_ struct{} `type:"structure"`
24499
24500	// Indicates whether this option group can be applied to both VPC and non-VPC
24501	// instances. The value true indicates the option group can be applied to both
24502	// VPC and non-VPC instances.
24503	AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"`
24504
24505	// Indicates the name of the engine that this option group can be applied to.
24506	EngineName *string `type:"string"`
24507
24508	// Indicates the major engine version associated with this option group.
24509	MajorEngineVersion *string `type:"string"`
24510
24511	// The Amazon Resource Name (ARN) for the option group.
24512	OptionGroupArn *string `type:"string"`
24513
24514	// Provides a description of the option group.
24515	OptionGroupDescription *string `type:"string"`
24516
24517	// Specifies the name of the option group.
24518	OptionGroupName *string `type:"string"`
24519
24520	// Indicates what options are available in the option group.
24521	Options []*Option `locationNameList:"Option" type:"list"`
24522
24523	// If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If
24524	// AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then
24525	// this option group can be applied to both VPC and non-VPC instances. If this
24526	// field contains a value, then this option group can only be applied to instances
24527	// that are in the VPC indicated by this field.
24528	VpcId *string `type:"string"`
24529}
24530
24531// String returns the string representation
24532func (s OptionGroup) String() string {
24533	return awsutil.Prettify(s)
24534}
24535
24536// GoString returns the string representation
24537func (s OptionGroup) GoString() string {
24538	return s.String()
24539}
24540
24541// SetAllowsVpcAndNonVpcInstanceMemberships sets the AllowsVpcAndNonVpcInstanceMemberships field's value.
24542func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGroup {
24543	s.AllowsVpcAndNonVpcInstanceMemberships = &v
24544	return s
24545}
24546
24547// SetEngineName sets the EngineName field's value.
24548func (s *OptionGroup) SetEngineName(v string) *OptionGroup {
24549	s.EngineName = &v
24550	return s
24551}
24552
24553// SetMajorEngineVersion sets the MajorEngineVersion field's value.
24554func (s *OptionGroup) SetMajorEngineVersion(v string) *OptionGroup {
24555	s.MajorEngineVersion = &v
24556	return s
24557}
24558
24559// SetOptionGroupArn sets the OptionGroupArn field's value.
24560func (s *OptionGroup) SetOptionGroupArn(v string) *OptionGroup {
24561	s.OptionGroupArn = &v
24562	return s
24563}
24564
24565// SetOptionGroupDescription sets the OptionGroupDescription field's value.
24566func (s *OptionGroup) SetOptionGroupDescription(v string) *OptionGroup {
24567	s.OptionGroupDescription = &v
24568	return s
24569}
24570
24571// SetOptionGroupName sets the OptionGroupName field's value.
24572func (s *OptionGroup) SetOptionGroupName(v string) *OptionGroup {
24573	s.OptionGroupName = &v
24574	return s
24575}
24576
24577// SetOptions sets the Options field's value.
24578func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup {
24579	s.Options = v
24580	return s
24581}
24582
24583// SetVpcId sets the VpcId field's value.
24584func (s *OptionGroup) SetVpcId(v string) *OptionGroup {
24585	s.VpcId = &v
24586	return s
24587}
24588
24589// Provides information on the option groups the DB instance is a member of.
24590type OptionGroupMembership struct {
24591	_ struct{} `type:"structure"`
24592
24593	// The name of the option group that the instance belongs to.
24594	OptionGroupName *string `type:"string"`
24595
24596	// The status of the DB instance's option group membership. Valid values are:
24597	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
24598	// applying, removing, and failed.
24599	Status *string `type:"string"`
24600}
24601
24602// String returns the string representation
24603func (s OptionGroupMembership) String() string {
24604	return awsutil.Prettify(s)
24605}
24606
24607// GoString returns the string representation
24608func (s OptionGroupMembership) GoString() string {
24609	return s.String()
24610}
24611
24612// SetOptionGroupName sets the OptionGroupName field's value.
24613func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
24614	s.OptionGroupName = &v
24615	return s
24616}
24617
24618// SetStatus sets the Status field's value.
24619func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
24620	s.Status = &v
24621	return s
24622}
24623
24624// Available option.
24625type OptionGroupOption struct {
24626	_ struct{} `type:"structure"`
24627
24628	// If the option requires a port, specifies the default port for the option.
24629	DefaultPort *int64 `type:"integer"`
24630
24631	// The description of the option.
24632	Description *string `type:"string"`
24633
24634	// The name of the engine that this option can be applied to.
24635	EngineName *string `type:"string"`
24636
24637	// Indicates the major engine version that the option is available for.
24638	MajorEngineVersion *string `type:"string"`
24639
24640	// The minimum required engine version for the option to be applied.
24641	MinimumRequiredMinorEngineVersion *string `type:"string"`
24642
24643	// The name of the option.
24644	Name *string `type:"string"`
24645
24646	// The option settings that are available (and the default value) for each option
24647	// in an option group.
24648	OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"`
24649
24650	// The versions that are available for the option.
24651	OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"`
24652
24653	// The options that conflict with this option.
24654	OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"`
24655
24656	// The options that are prerequisites for this option.
24657	OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"`
24658
24659	// Permanent options can never be removed from an option group. An option group
24660	// containing a permanent option can't be removed from a DB instance.
24661	Permanent *bool `type:"boolean"`
24662
24663	// Persistent options can't be removed from an option group while DB instances
24664	// are associated with the option group. If you disassociate all DB instances
24665	// from the option group, your can remove the persistent option from the option
24666	// group.
24667	Persistent *bool `type:"boolean"`
24668
24669	// Specifies whether the option requires a port.
24670	PortRequired *bool `type:"boolean"`
24671
24672	// If true, you must enable the Auto Minor Version Upgrade setting for your
24673	// DB instance before you can use this option. You can enable Auto Minor Version
24674	// Upgrade when you first create your DB instance, or by modifying your DB instance
24675	// later.
24676	RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"`
24677
24678	// If true, you can change the option to an earlier version of the option. This
24679	// only applies to options that have different versions available.
24680	SupportsOptionVersionDowngrade *bool `type:"boolean"`
24681
24682	// If true, you can only use this option with a DB instance that is in a VPC.
24683	VpcOnly *bool `type:"boolean"`
24684}
24685
24686// String returns the string representation
24687func (s OptionGroupOption) String() string {
24688	return awsutil.Prettify(s)
24689}
24690
24691// GoString returns the string representation
24692func (s OptionGroupOption) GoString() string {
24693	return s.String()
24694}
24695
24696// SetDefaultPort sets the DefaultPort field's value.
24697func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption {
24698	s.DefaultPort = &v
24699	return s
24700}
24701
24702// SetDescription sets the Description field's value.
24703func (s *OptionGroupOption) SetDescription(v string) *OptionGroupOption {
24704	s.Description = &v
24705	return s
24706}
24707
24708// SetEngineName sets the EngineName field's value.
24709func (s *OptionGroupOption) SetEngineName(v string) *OptionGroupOption {
24710	s.EngineName = &v
24711	return s
24712}
24713
24714// SetMajorEngineVersion sets the MajorEngineVersion field's value.
24715func (s *OptionGroupOption) SetMajorEngineVersion(v string) *OptionGroupOption {
24716	s.MajorEngineVersion = &v
24717	return s
24718}
24719
24720// SetMinimumRequiredMinorEngineVersion sets the MinimumRequiredMinorEngineVersion field's value.
24721func (s *OptionGroupOption) SetMinimumRequiredMinorEngineVersion(v string) *OptionGroupOption {
24722	s.MinimumRequiredMinorEngineVersion = &v
24723	return s
24724}
24725
24726// SetName sets the Name field's value.
24727func (s *OptionGroupOption) SetName(v string) *OptionGroupOption {
24728	s.Name = &v
24729	return s
24730}
24731
24732// SetOptionGroupOptionSettings sets the OptionGroupOptionSettings field's value.
24733func (s *OptionGroupOption) SetOptionGroupOptionSettings(v []*OptionGroupOptionSetting) *OptionGroupOption {
24734	s.OptionGroupOptionSettings = v
24735	return s
24736}
24737
24738// SetOptionGroupOptionVersions sets the OptionGroupOptionVersions field's value.
24739func (s *OptionGroupOption) SetOptionGroupOptionVersions(v []*OptionVersion) *OptionGroupOption {
24740	s.OptionGroupOptionVersions = v
24741	return s
24742}
24743
24744// SetOptionsConflictsWith sets the OptionsConflictsWith field's value.
24745func (s *OptionGroupOption) SetOptionsConflictsWith(v []*string) *OptionGroupOption {
24746	s.OptionsConflictsWith = v
24747	return s
24748}
24749
24750// SetOptionsDependedOn sets the OptionsDependedOn field's value.
24751func (s *OptionGroupOption) SetOptionsDependedOn(v []*string) *OptionGroupOption {
24752	s.OptionsDependedOn = v
24753	return s
24754}
24755
24756// SetPermanent sets the Permanent field's value.
24757func (s *OptionGroupOption) SetPermanent(v bool) *OptionGroupOption {
24758	s.Permanent = &v
24759	return s
24760}
24761
24762// SetPersistent sets the Persistent field's value.
24763func (s *OptionGroupOption) SetPersistent(v bool) *OptionGroupOption {
24764	s.Persistent = &v
24765	return s
24766}
24767
24768// SetPortRequired sets the PortRequired field's value.
24769func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption {
24770	s.PortRequired = &v
24771	return s
24772}
24773
24774// SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value.
24775func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption {
24776	s.RequiresAutoMinorEngineVersionUpgrade = &v
24777	return s
24778}
24779
24780// SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value.
24781func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption {
24782	s.SupportsOptionVersionDowngrade = &v
24783	return s
24784}
24785
24786// SetVpcOnly sets the VpcOnly field's value.
24787func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption {
24788	s.VpcOnly = &v
24789	return s
24790}
24791
24792// Option group option settings are used to display settings available for each
24793// option with their default values and other information. These values are
24794// used with the DescribeOptionGroupOptions action.
24795type OptionGroupOptionSetting struct {
24796	_ struct{} `type:"structure"`
24797
24798	// Indicates the acceptable values for the option group option.
24799	AllowedValues *string `type:"string"`
24800
24801	// The DB engine specific parameter type for the option group option.
24802	ApplyType *string `type:"string"`
24803
24804	// The default value for the option group option.
24805	DefaultValue *string `type:"string"`
24806
24807	// Boolean value where true indicates that this option group option can be changed
24808	// from the default value.
24809	IsModifiable *bool `type:"boolean"`
24810
24811	// The description of the option group option.
24812	SettingDescription *string `type:"string"`
24813
24814	// The name of the option group option.
24815	SettingName *string `type:"string"`
24816}
24817
24818// String returns the string representation
24819func (s OptionGroupOptionSetting) String() string {
24820	return awsutil.Prettify(s)
24821}
24822
24823// GoString returns the string representation
24824func (s OptionGroupOptionSetting) GoString() string {
24825	return s.String()
24826}
24827
24828// SetAllowedValues sets the AllowedValues field's value.
24829func (s *OptionGroupOptionSetting) SetAllowedValues(v string) *OptionGroupOptionSetting {
24830	s.AllowedValues = &v
24831	return s
24832}
24833
24834// SetApplyType sets the ApplyType field's value.
24835func (s *OptionGroupOptionSetting) SetApplyType(v string) *OptionGroupOptionSetting {
24836	s.ApplyType = &v
24837	return s
24838}
24839
24840// SetDefaultValue sets the DefaultValue field's value.
24841func (s *OptionGroupOptionSetting) SetDefaultValue(v string) *OptionGroupOptionSetting {
24842	s.DefaultValue = &v
24843	return s
24844}
24845
24846// SetIsModifiable sets the IsModifiable field's value.
24847func (s *OptionGroupOptionSetting) SetIsModifiable(v bool) *OptionGroupOptionSetting {
24848	s.IsModifiable = &v
24849	return s
24850}
24851
24852// SetSettingDescription sets the SettingDescription field's value.
24853func (s *OptionGroupOptionSetting) SetSettingDescription(v string) *OptionGroupOptionSetting {
24854	s.SettingDescription = &v
24855	return s
24856}
24857
24858// SetSettingName sets the SettingName field's value.
24859func (s *OptionGroupOptionSetting) SetSettingName(v string) *OptionGroupOptionSetting {
24860	s.SettingName = &v
24861	return s
24862}
24863
24864// Option settings are the actual settings being applied or configured for that
24865// option. It is used when you modify an option group or describe option groups.
24866// For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER
24867// that can have several different values.
24868type OptionSetting struct {
24869	_ struct{} `type:"structure"`
24870
24871	// The allowed values of the option setting.
24872	AllowedValues *string `type:"string"`
24873
24874	// The DB engine specific parameter type.
24875	ApplyType *string `type:"string"`
24876
24877	// The data type of the option setting.
24878	DataType *string `type:"string"`
24879
24880	// The default value of the option setting.
24881	DefaultValue *string `type:"string"`
24882
24883	// The description of the option setting.
24884	Description *string `type:"string"`
24885
24886	// Indicates if the option setting is part of a collection.
24887	IsCollection *bool `type:"boolean"`
24888
24889	// A Boolean value that, when true, indicates the option setting can be modified
24890	// from the default.
24891	IsModifiable *bool `type:"boolean"`
24892
24893	// The name of the option that has settings that you can set.
24894	Name *string `type:"string"`
24895
24896	// The current value of the option setting.
24897	Value *string `type:"string"`
24898}
24899
24900// String returns the string representation
24901func (s OptionSetting) String() string {
24902	return awsutil.Prettify(s)
24903}
24904
24905// GoString returns the string representation
24906func (s OptionSetting) GoString() string {
24907	return s.String()
24908}
24909
24910// SetAllowedValues sets the AllowedValues field's value.
24911func (s *OptionSetting) SetAllowedValues(v string) *OptionSetting {
24912	s.AllowedValues = &v
24913	return s
24914}
24915
24916// SetApplyType sets the ApplyType field's value.
24917func (s *OptionSetting) SetApplyType(v string) *OptionSetting {
24918	s.ApplyType = &v
24919	return s
24920}
24921
24922// SetDataType sets the DataType field's value.
24923func (s *OptionSetting) SetDataType(v string) *OptionSetting {
24924	s.DataType = &v
24925	return s
24926}
24927
24928// SetDefaultValue sets the DefaultValue field's value.
24929func (s *OptionSetting) SetDefaultValue(v string) *OptionSetting {
24930	s.DefaultValue = &v
24931	return s
24932}
24933
24934// SetDescription sets the Description field's value.
24935func (s *OptionSetting) SetDescription(v string) *OptionSetting {
24936	s.Description = &v
24937	return s
24938}
24939
24940// SetIsCollection sets the IsCollection field's value.
24941func (s *OptionSetting) SetIsCollection(v bool) *OptionSetting {
24942	s.IsCollection = &v
24943	return s
24944}
24945
24946// SetIsModifiable sets the IsModifiable field's value.
24947func (s *OptionSetting) SetIsModifiable(v bool) *OptionSetting {
24948	s.IsModifiable = &v
24949	return s
24950}
24951
24952// SetName sets the Name field's value.
24953func (s *OptionSetting) SetName(v string) *OptionSetting {
24954	s.Name = &v
24955	return s
24956}
24957
24958// SetValue sets the Value field's value.
24959func (s *OptionSetting) SetValue(v string) *OptionSetting {
24960	s.Value = &v
24961	return s
24962}
24963
24964// The version for an option. Option group option versions are returned by the
24965// DescribeOptionGroupOptions action.
24966type OptionVersion struct {
24967	_ struct{} `type:"structure"`
24968
24969	// True if the version is the default version of the option, and otherwise false.
24970	IsDefault *bool `type:"boolean"`
24971
24972	// The version of the option.
24973	Version *string `type:"string"`
24974}
24975
24976// String returns the string representation
24977func (s OptionVersion) String() string {
24978	return awsutil.Prettify(s)
24979}
24980
24981// GoString returns the string representation
24982func (s OptionVersion) GoString() string {
24983	return s.String()
24984}
24985
24986// SetIsDefault sets the IsDefault field's value.
24987func (s *OptionVersion) SetIsDefault(v bool) *OptionVersion {
24988	s.IsDefault = &v
24989	return s
24990}
24991
24992// SetVersion sets the Version field's value.
24993func (s *OptionVersion) SetVersion(v string) *OptionVersion {
24994	s.Version = &v
24995	return s
24996}
24997
24998// Contains a list of available options for a DB instance.
24999//
25000// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
25001// action.
25002type OrderableDBInstanceOption struct {
25003	_ struct{} `type:"structure"`
25004
25005	// A list of Availability Zones for a DB instance.
25006	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
25007
25008	// A list of the available processor features for the DB instance class of a
25009	// DB instance.
25010	AvailableProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
25011
25012	// The DB instance class for a DB instance.
25013	DBInstanceClass *string `type:"string"`
25014
25015	// The engine type of a DB instance.
25016	Engine *string `type:"string"`
25017
25018	// The engine version of a DB instance.
25019	EngineVersion *string `type:"string"`
25020
25021	// The license model for a DB instance.
25022	LicenseModel *string `type:"string"`
25023
25024	// Maximum total provisioned IOPS for a DB instance.
25025	MaxIopsPerDbInstance *int64 `type:"integer"`
25026
25027	// Maximum provisioned IOPS per GiB for a DB instance.
25028	MaxIopsPerGib *float64 `type:"double"`
25029
25030	// Maximum storage size for a DB instance.
25031	MaxStorageSize *int64 `type:"integer"`
25032
25033	// Minimum total provisioned IOPS for a DB instance.
25034	MinIopsPerDbInstance *int64 `type:"integer"`
25035
25036	// Minimum provisioned IOPS per GiB for a DB instance.
25037	MinIopsPerGib *float64 `type:"double"`
25038
25039	// Minimum storage size for a DB instance.
25040	MinStorageSize *int64 `type:"integer"`
25041
25042	// Indicates whether a DB instance is Multi-AZ capable.
25043	MultiAZCapable *bool `type:"boolean"`
25044
25045	// Indicates whether a DB instance can have a Read Replica.
25046	ReadReplicaCapable *bool `type:"boolean"`
25047
25048	// Indicates the storage type for a DB instance.
25049	StorageType *string `type:"string"`
25050
25051	// A list of the supported DB engine modes.
25052	SupportedEngineModes []*string `type:"list"`
25053
25054	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
25055	// from 1 to 60 seconds.
25056	SupportsEnhancedMonitoring *bool `type:"boolean"`
25057
25058	// Indicates whether a DB instance supports IAM database authentication.
25059	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
25060
25061	// Indicates whether a DB instance supports provisioned IOPS.
25062	SupportsIops *bool `type:"boolean"`
25063
25064	// True if a DB instance supports Performance Insights, otherwise false.
25065	SupportsPerformanceInsights *bool `type:"boolean"`
25066
25067	// Indicates whether a DB instance supports encrypted storage.
25068	SupportsStorageEncryption *bool `type:"boolean"`
25069
25070	// Indicates whether a DB instance is in a VPC.
25071	Vpc *bool `type:"boolean"`
25072}
25073
25074// String returns the string representation
25075func (s OrderableDBInstanceOption) String() string {
25076	return awsutil.Prettify(s)
25077}
25078
25079// GoString returns the string representation
25080func (s OrderableDBInstanceOption) GoString() string {
25081	return s.String()
25082}
25083
25084// SetAvailabilityZones sets the AvailabilityZones field's value.
25085func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
25086	s.AvailabilityZones = v
25087	return s
25088}
25089
25090// SetAvailableProcessorFeatures sets the AvailableProcessorFeatures field's value.
25091func (s *OrderableDBInstanceOption) SetAvailableProcessorFeatures(v []*AvailableProcessorFeature) *OrderableDBInstanceOption {
25092	s.AvailableProcessorFeatures = v
25093	return s
25094}
25095
25096// SetDBInstanceClass sets the DBInstanceClass field's value.
25097func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
25098	s.DBInstanceClass = &v
25099	return s
25100}
25101
25102// SetEngine sets the Engine field's value.
25103func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
25104	s.Engine = &v
25105	return s
25106}
25107
25108// SetEngineVersion sets the EngineVersion field's value.
25109func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
25110	s.EngineVersion = &v
25111	return s
25112}
25113
25114// SetLicenseModel sets the LicenseModel field's value.
25115func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
25116	s.LicenseModel = &v
25117	return s
25118}
25119
25120// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
25121func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
25122	s.MaxIopsPerDbInstance = &v
25123	return s
25124}
25125
25126// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
25127func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
25128	s.MaxIopsPerGib = &v
25129	return s
25130}
25131
25132// SetMaxStorageSize sets the MaxStorageSize field's value.
25133func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
25134	s.MaxStorageSize = &v
25135	return s
25136}
25137
25138// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
25139func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
25140	s.MinIopsPerDbInstance = &v
25141	return s
25142}
25143
25144// SetMinIopsPerGib sets the MinIopsPerGib field's value.
25145func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
25146	s.MinIopsPerGib = &v
25147	return s
25148}
25149
25150// SetMinStorageSize sets the MinStorageSize field's value.
25151func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
25152	s.MinStorageSize = &v
25153	return s
25154}
25155
25156// SetMultiAZCapable sets the MultiAZCapable field's value.
25157func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
25158	s.MultiAZCapable = &v
25159	return s
25160}
25161
25162// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
25163func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
25164	s.ReadReplicaCapable = &v
25165	return s
25166}
25167
25168// SetStorageType sets the StorageType field's value.
25169func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
25170	s.StorageType = &v
25171	return s
25172}
25173
25174// SetSupportedEngineModes sets the SupportedEngineModes field's value.
25175func (s *OrderableDBInstanceOption) SetSupportedEngineModes(v []*string) *OrderableDBInstanceOption {
25176	s.SupportedEngineModes = v
25177	return s
25178}
25179
25180// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
25181func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
25182	s.SupportsEnhancedMonitoring = &v
25183	return s
25184}
25185
25186// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
25187func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
25188	s.SupportsIAMDatabaseAuthentication = &v
25189	return s
25190}
25191
25192// SetSupportsIops sets the SupportsIops field's value.
25193func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
25194	s.SupportsIops = &v
25195	return s
25196}
25197
25198// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
25199func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
25200	s.SupportsPerformanceInsights = &v
25201	return s
25202}
25203
25204// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
25205func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
25206	s.SupportsStorageEncryption = &v
25207	return s
25208}
25209
25210// SetVpc sets the Vpc field's value.
25211func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
25212	s.Vpc = &v
25213	return s
25214}
25215
25216// This data type is used as a request parameter in the ModifyDBParameterGroup
25217// and ResetDBParameterGroup actions.
25218//
25219// This data type is used as a response element in the DescribeEngineDefaultParameters
25220// and DescribeDBParameters actions.
25221type Parameter struct {
25222	_ struct{} `type:"structure"`
25223
25224	// Specifies the valid range of values for the parameter.
25225	AllowedValues *string `type:"string"`
25226
25227	// Indicates when to apply parameter updates.
25228	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
25229
25230	// Specifies the engine specific parameters type.
25231	ApplyType *string `type:"string"`
25232
25233	// Specifies the valid data type for the parameter.
25234	DataType *string `type:"string"`
25235
25236	// Provides a description of the parameter.
25237	Description *string `type:"string"`
25238
25239	// Indicates whether (true) or not (false) the parameter can be modified. Some
25240	// parameters have security or operational implications that prevent them from
25241	// being changed.
25242	IsModifiable *bool `type:"boolean"`
25243
25244	// The earliest engine version to which the parameter can apply.
25245	MinimumEngineVersion *string `type:"string"`
25246
25247	// Specifies the name of the parameter.
25248	ParameterName *string `type:"string"`
25249
25250	// Specifies the value of the parameter.
25251	ParameterValue *string `type:"string"`
25252
25253	// Indicates the source of the parameter value.
25254	Source *string `type:"string"`
25255
25256	// The valid DB engine modes.
25257	SupportedEngineModes []*string `type:"list"`
25258}
25259
25260// String returns the string representation
25261func (s Parameter) String() string {
25262	return awsutil.Prettify(s)
25263}
25264
25265// GoString returns the string representation
25266func (s Parameter) GoString() string {
25267	return s.String()
25268}
25269
25270// SetAllowedValues sets the AllowedValues field's value.
25271func (s *Parameter) SetAllowedValues(v string) *Parameter {
25272	s.AllowedValues = &v
25273	return s
25274}
25275
25276// SetApplyMethod sets the ApplyMethod field's value.
25277func (s *Parameter) SetApplyMethod(v string) *Parameter {
25278	s.ApplyMethod = &v
25279	return s
25280}
25281
25282// SetApplyType sets the ApplyType field's value.
25283func (s *Parameter) SetApplyType(v string) *Parameter {
25284	s.ApplyType = &v
25285	return s
25286}
25287
25288// SetDataType sets the DataType field's value.
25289func (s *Parameter) SetDataType(v string) *Parameter {
25290	s.DataType = &v
25291	return s
25292}
25293
25294// SetDescription sets the Description field's value.
25295func (s *Parameter) SetDescription(v string) *Parameter {
25296	s.Description = &v
25297	return s
25298}
25299
25300// SetIsModifiable sets the IsModifiable field's value.
25301func (s *Parameter) SetIsModifiable(v bool) *Parameter {
25302	s.IsModifiable = &v
25303	return s
25304}
25305
25306// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
25307func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
25308	s.MinimumEngineVersion = &v
25309	return s
25310}
25311
25312// SetParameterName sets the ParameterName field's value.
25313func (s *Parameter) SetParameterName(v string) *Parameter {
25314	s.ParameterName = &v
25315	return s
25316}
25317
25318// SetParameterValue sets the ParameterValue field's value.
25319func (s *Parameter) SetParameterValue(v string) *Parameter {
25320	s.ParameterValue = &v
25321	return s
25322}
25323
25324// SetSource sets the Source field's value.
25325func (s *Parameter) SetSource(v string) *Parameter {
25326	s.Source = &v
25327	return s
25328}
25329
25330// SetSupportedEngineModes sets the SupportedEngineModes field's value.
25331func (s *Parameter) SetSupportedEngineModes(v []*string) *Parameter {
25332	s.SupportedEngineModes = v
25333	return s
25334}
25335
25336// A list of the log types whose configuration is still pending. In other words,
25337// these log types are in the process of being activated or deactivated.
25338type PendingCloudwatchLogsExports struct {
25339	_ struct{} `type:"structure"`
25340
25341	// Log types that are in the process of being enabled. After they are enabled,
25342	// these log types are exported to CloudWatch Logs.
25343	LogTypesToDisable []*string `type:"list"`
25344
25345	// Log types that are in the process of being deactivated. After they are deactivated,
25346	// these log types aren't exported to CloudWatch Logs.
25347	LogTypesToEnable []*string `type:"list"`
25348}
25349
25350// String returns the string representation
25351func (s PendingCloudwatchLogsExports) String() string {
25352	return awsutil.Prettify(s)
25353}
25354
25355// GoString returns the string representation
25356func (s PendingCloudwatchLogsExports) GoString() string {
25357	return s.String()
25358}
25359
25360// SetLogTypesToDisable sets the LogTypesToDisable field's value.
25361func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
25362	s.LogTypesToDisable = v
25363	return s
25364}
25365
25366// SetLogTypesToEnable sets the LogTypesToEnable field's value.
25367func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
25368	s.LogTypesToEnable = v
25369	return s
25370}
25371
25372// Provides information about a pending maintenance action for a resource.
25373type PendingMaintenanceAction struct {
25374	_ struct{} `type:"structure"`
25375
25376	// The type of pending maintenance action that is available for the resource.
25377	Action *string `type:"string"`
25378
25379	// The date of the maintenance window when the action is applied. The maintenance
25380	// action is applied to the resource during its first maintenance window after
25381	// this date. If this date is specified, any next-maintenance opt-in requests
25382	// are ignored.
25383	AutoAppliedAfterDate *time.Time `type:"timestamp"`
25384
25385	// The effective date when the pending maintenance action is applied to the
25386	// resource. This date takes into account opt-in requests received from the
25387	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
25388	// This value is blank if an opt-in request has not been received and nothing
25389	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
25390	CurrentApplyDate *time.Time `type:"timestamp"`
25391
25392	// A description providing more detail about the maintenance action.
25393	Description *string `type:"string"`
25394
25395	// The date when the maintenance action is automatically applied. The maintenance
25396	// action is applied to the resource on this date regardless of the maintenance
25397	// window for the resource. If this date is specified, any immediate opt-in
25398	// requests are ignored.
25399	ForcedApplyDate *time.Time `type:"timestamp"`
25400
25401	// Indicates the type of opt-in request that has been received for the resource.
25402	OptInStatus *string `type:"string"`
25403}
25404
25405// String returns the string representation
25406func (s PendingMaintenanceAction) String() string {
25407	return awsutil.Prettify(s)
25408}
25409
25410// GoString returns the string representation
25411func (s PendingMaintenanceAction) GoString() string {
25412	return s.String()
25413}
25414
25415// SetAction sets the Action field's value.
25416func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
25417	s.Action = &v
25418	return s
25419}
25420
25421// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
25422func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
25423	s.AutoAppliedAfterDate = &v
25424	return s
25425}
25426
25427// SetCurrentApplyDate sets the CurrentApplyDate field's value.
25428func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
25429	s.CurrentApplyDate = &v
25430	return s
25431}
25432
25433// SetDescription sets the Description field's value.
25434func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
25435	s.Description = &v
25436	return s
25437}
25438
25439// SetForcedApplyDate sets the ForcedApplyDate field's value.
25440func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
25441	s.ForcedApplyDate = &v
25442	return s
25443}
25444
25445// SetOptInStatus sets the OptInStatus field's value.
25446func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
25447	s.OptInStatus = &v
25448	return s
25449}
25450
25451// This data type is used as a response element in the ModifyDBInstance action.
25452type PendingModifiedValues struct {
25453	_ struct{} `type:"structure"`
25454
25455	// Contains the new AllocatedStorage size for the DB instance that will be applied
25456	// or is currently being applied.
25457	AllocatedStorage *int64 `type:"integer"`
25458
25459	// Specifies the pending number of days for which automated backups are retained.
25460	BackupRetentionPeriod *int64 `type:"integer"`
25461
25462	// Specifies the identifier of the CA certificate for the DB instance.
25463	CACertificateIdentifier *string `type:"string"`
25464
25465	// Contains the new DBInstanceClass for the DB instance that will be applied
25466	// or is currently being applied.
25467	DBInstanceClass *string `type:"string"`
25468
25469	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
25470	// or is currently being applied.
25471	DBInstanceIdentifier *string `type:"string"`
25472
25473	// The new DB subnet group for the DB instance.
25474	DBSubnetGroupName *string `type:"string"`
25475
25476	// Indicates the database engine version.
25477	EngineVersion *string `type:"string"`
25478
25479	// Specifies the new Provisioned IOPS value for the DB instance that will be
25480	// applied or is currently being applied.
25481	Iops *int64 `type:"integer"`
25482
25483	// The license model for the DB instance.
25484	//
25485	// Valid values: license-included | bring-your-own-license | general-public-license
25486	LicenseModel *string `type:"string"`
25487
25488	// Contains the pending or currently-in-progress change of the master credentials
25489	// for the DB instance.
25490	MasterUserPassword *string `type:"string"`
25491
25492	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
25493	MultiAZ *bool `type:"boolean"`
25494
25495	// A list of the log types whose configuration is still pending. In other words,
25496	// these log types are in the process of being activated or deactivated.
25497	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
25498
25499	// Specifies the pending port for the DB instance.
25500	Port *int64 `type:"integer"`
25501
25502	// The number of CPU cores and the number of threads per core for the DB instance
25503	// class of the DB instance.
25504	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
25505
25506	// Specifies the storage type to be associated with the DB instance.
25507	StorageType *string `type:"string"`
25508}
25509
25510// String returns the string representation
25511func (s PendingModifiedValues) String() string {
25512	return awsutil.Prettify(s)
25513}
25514
25515// GoString returns the string representation
25516func (s PendingModifiedValues) GoString() string {
25517	return s.String()
25518}
25519
25520// SetAllocatedStorage sets the AllocatedStorage field's value.
25521func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
25522	s.AllocatedStorage = &v
25523	return s
25524}
25525
25526// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
25527func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
25528	s.BackupRetentionPeriod = &v
25529	return s
25530}
25531
25532// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
25533func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
25534	s.CACertificateIdentifier = &v
25535	return s
25536}
25537
25538// SetDBInstanceClass sets the DBInstanceClass field's value.
25539func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
25540	s.DBInstanceClass = &v
25541	return s
25542}
25543
25544// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
25545func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
25546	s.DBInstanceIdentifier = &v
25547	return s
25548}
25549
25550// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
25551func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
25552	s.DBSubnetGroupName = &v
25553	return s
25554}
25555
25556// SetEngineVersion sets the EngineVersion field's value.
25557func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
25558	s.EngineVersion = &v
25559	return s
25560}
25561
25562// SetIops sets the Iops field's value.
25563func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
25564	s.Iops = &v
25565	return s
25566}
25567
25568// SetLicenseModel sets the LicenseModel field's value.
25569func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
25570	s.LicenseModel = &v
25571	return s
25572}
25573
25574// SetMasterUserPassword sets the MasterUserPassword field's value.
25575func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
25576	s.MasterUserPassword = &v
25577	return s
25578}
25579
25580// SetMultiAZ sets the MultiAZ field's value.
25581func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
25582	s.MultiAZ = &v
25583	return s
25584}
25585
25586// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
25587func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
25588	s.PendingCloudwatchLogsExports = v
25589	return s
25590}
25591
25592// SetPort sets the Port field's value.
25593func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
25594	s.Port = &v
25595	return s
25596}
25597
25598// SetProcessorFeatures sets the ProcessorFeatures field's value.
25599func (s *PendingModifiedValues) SetProcessorFeatures(v []*ProcessorFeature) *PendingModifiedValues {
25600	s.ProcessorFeatures = v
25601	return s
25602}
25603
25604// SetStorageType sets the StorageType field's value.
25605func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
25606	s.StorageType = &v
25607	return s
25608}
25609
25610// Contains the processor features of a DB instance class.
25611//
25612// To specify the number of CPU cores, use the coreCount feature name for the
25613// Name parameter. To specify the number of threads per core, use the threadsPerCore
25614// feature name for the Name parameter.
25615//
25616// You can set the processor features of the DB instance class for a DB instance
25617// when you call one of the following actions:
25618//
25619//    * CreateDBInstance
25620//
25621//    * ModifyDBInstance
25622//
25623//    * RestoreDBInstanceFromDBSnapshot
25624//
25625//    * RestoreDBInstanceFromS3
25626//
25627//    * RestoreDBInstanceToPointInTime
25628//
25629// You can view the valid processor values for a particular instance class by
25630// calling the DescribeOrderableDBInstanceOptions action and specifying the
25631// instance class for the DBInstanceClass parameter.
25632//
25633// In addition, you can use the following actions for DB instance class processor
25634// information:
25635//
25636//    * DescribeDBInstances
25637//
25638//    * DescribeDBSnapshots
25639//
25640//    * DescribeValidDBInstanceModifications
25641//
25642// For more information, see Configuring the Processor of the DB Instance Class
25643// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
25644// in the Amazon RDS User Guide.
25645type ProcessorFeature struct {
25646	_ struct{} `type:"structure"`
25647
25648	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
25649	Name *string `type:"string"`
25650
25651	// The value of a processor feature name.
25652	Value *string `type:"string"`
25653}
25654
25655// String returns the string representation
25656func (s ProcessorFeature) String() string {
25657	return awsutil.Prettify(s)
25658}
25659
25660// GoString returns the string representation
25661func (s ProcessorFeature) GoString() string {
25662	return s.String()
25663}
25664
25665// SetName sets the Name field's value.
25666func (s *ProcessorFeature) SetName(v string) *ProcessorFeature {
25667	s.Name = &v
25668	return s
25669}
25670
25671// SetValue sets the Value field's value.
25672func (s *ProcessorFeature) SetValue(v string) *ProcessorFeature {
25673	s.Value = &v
25674	return s
25675}
25676
25677type PromoteReadReplicaDBClusterInput struct {
25678	_ struct{} `type:"structure"`
25679
25680	// The identifier of the DB cluster Read Replica to promote. This parameter
25681	// is not case-sensitive.
25682	//
25683	// Constraints:
25684	//
25685	//    * Must match the identifier of an existing DBCluster Read Replica.
25686	//
25687	// Example: my-cluster-replica1
25688	//
25689	// DBClusterIdentifier is a required field
25690	DBClusterIdentifier *string `type:"string" required:"true"`
25691}
25692
25693// String returns the string representation
25694func (s PromoteReadReplicaDBClusterInput) String() string {
25695	return awsutil.Prettify(s)
25696}
25697
25698// GoString returns the string representation
25699func (s PromoteReadReplicaDBClusterInput) GoString() string {
25700	return s.String()
25701}
25702
25703// Validate inspects the fields of the type to determine if they are valid.
25704func (s *PromoteReadReplicaDBClusterInput) Validate() error {
25705	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
25706	if s.DBClusterIdentifier == nil {
25707		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
25708	}
25709
25710	if invalidParams.Len() > 0 {
25711		return invalidParams
25712	}
25713	return nil
25714}
25715
25716// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25717func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
25718	s.DBClusterIdentifier = &v
25719	return s
25720}
25721
25722type PromoteReadReplicaDBClusterOutput struct {
25723	_ struct{} `type:"structure"`
25724
25725	// Contains the details of an Amazon RDS DB cluster.
25726	//
25727	// This data type is used as a response element in the DescribeDBClusters action.
25728	DBCluster *DBCluster `type:"structure"`
25729}
25730
25731// String returns the string representation
25732func (s PromoteReadReplicaDBClusterOutput) String() string {
25733	return awsutil.Prettify(s)
25734}
25735
25736// GoString returns the string representation
25737func (s PromoteReadReplicaDBClusterOutput) GoString() string {
25738	return s.String()
25739}
25740
25741// SetDBCluster sets the DBCluster field's value.
25742func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
25743	s.DBCluster = v
25744	return s
25745}
25746
25747type PromoteReadReplicaInput struct {
25748	_ struct{} `type:"structure"`
25749
25750	// The number of days to retain automated backups. Setting this parameter to
25751	// a positive number enables backups. Setting this parameter to 0 disables automated
25752	// backups.
25753	//
25754	// Default: 1
25755	//
25756	// Constraints:
25757	//
25758	//    * Must be a value from 0 to 8
25759	BackupRetentionPeriod *int64 `type:"integer"`
25760
25761	// The DB instance identifier. This value is stored as a lowercase string.
25762	//
25763	// Constraints:
25764	//
25765	//    * Must match the identifier of an existing Read Replica DB instance.
25766	//
25767	// Example: mydbinstance
25768	//
25769	// DBInstanceIdentifier is a required field
25770	DBInstanceIdentifier *string `type:"string" required:"true"`
25771
25772	// The daily time range during which automated backups are created if automated
25773	// backups are enabled, using the BackupRetentionPeriod parameter.
25774	//
25775	// The default is a 30-minute window selected at random from an 8-hour block
25776	// of time for each AWS Region. To see the time blocks available, see  Adjusting
25777	// the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
25778	// in the Amazon RDS User Guide.
25779	//
25780	// Constraints:
25781	//
25782	//    * Must be in the format hh24:mi-hh24:mi.
25783	//
25784	//    * Must be in Universal Coordinated Time (UTC).
25785	//
25786	//    * Must not conflict with the preferred maintenance window.
25787	//
25788	//    * Must be at least 30 minutes.
25789	PreferredBackupWindow *string `type:"string"`
25790}
25791
25792// String returns the string representation
25793func (s PromoteReadReplicaInput) String() string {
25794	return awsutil.Prettify(s)
25795}
25796
25797// GoString returns the string representation
25798func (s PromoteReadReplicaInput) GoString() string {
25799	return s.String()
25800}
25801
25802// Validate inspects the fields of the type to determine if they are valid.
25803func (s *PromoteReadReplicaInput) Validate() error {
25804	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaInput"}
25805	if s.DBInstanceIdentifier == nil {
25806		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
25807	}
25808
25809	if invalidParams.Len() > 0 {
25810		return invalidParams
25811	}
25812	return nil
25813}
25814
25815// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
25816func (s *PromoteReadReplicaInput) SetBackupRetentionPeriod(v int64) *PromoteReadReplicaInput {
25817	s.BackupRetentionPeriod = &v
25818	return s
25819}
25820
25821// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
25822func (s *PromoteReadReplicaInput) SetDBInstanceIdentifier(v string) *PromoteReadReplicaInput {
25823	s.DBInstanceIdentifier = &v
25824	return s
25825}
25826
25827// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
25828func (s *PromoteReadReplicaInput) SetPreferredBackupWindow(v string) *PromoteReadReplicaInput {
25829	s.PreferredBackupWindow = &v
25830	return s
25831}
25832
25833type PromoteReadReplicaOutput struct {
25834	_ struct{} `type:"structure"`
25835
25836	// Contains the details of an Amazon RDS DB instance.
25837	//
25838	// This data type is used as a response element in the DescribeDBInstances action.
25839	DBInstance *DBInstance `type:"structure"`
25840}
25841
25842// String returns the string representation
25843func (s PromoteReadReplicaOutput) String() string {
25844	return awsutil.Prettify(s)
25845}
25846
25847// GoString returns the string representation
25848func (s PromoteReadReplicaOutput) GoString() string {
25849	return s.String()
25850}
25851
25852// SetDBInstance sets the DBInstance field's value.
25853func (s *PromoteReadReplicaOutput) SetDBInstance(v *DBInstance) *PromoteReadReplicaOutput {
25854	s.DBInstance = v
25855	return s
25856}
25857
25858type PurchaseReservedDBInstancesOfferingInput struct {
25859	_ struct{} `type:"structure"`
25860
25861	// The number of instances to reserve.
25862	//
25863	// Default: 1
25864	DBInstanceCount *int64 `type:"integer"`
25865
25866	// Customer-specified identifier to track this reservation.
25867	//
25868	// Example: myreservationID
25869	ReservedDBInstanceId *string `type:"string"`
25870
25871	// The ID of the Reserved DB instance offering to purchase.
25872	//
25873	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
25874	//
25875	// ReservedDBInstancesOfferingId is a required field
25876	ReservedDBInstancesOfferingId *string `type:"string" required:"true"`
25877
25878	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
25879	Tags []*Tag `locationNameList:"Tag" type:"list"`
25880}
25881
25882// String returns the string representation
25883func (s PurchaseReservedDBInstancesOfferingInput) String() string {
25884	return awsutil.Prettify(s)
25885}
25886
25887// GoString returns the string representation
25888func (s PurchaseReservedDBInstancesOfferingInput) GoString() string {
25889	return s.String()
25890}
25891
25892// Validate inspects the fields of the type to determine if they are valid.
25893func (s *PurchaseReservedDBInstancesOfferingInput) Validate() error {
25894	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedDBInstancesOfferingInput"}
25895	if s.ReservedDBInstancesOfferingId == nil {
25896		invalidParams.Add(request.NewErrParamRequired("ReservedDBInstancesOfferingId"))
25897	}
25898
25899	if invalidParams.Len() > 0 {
25900		return invalidParams
25901	}
25902	return nil
25903}
25904
25905// SetDBInstanceCount sets the DBInstanceCount field's value.
25906func (s *PurchaseReservedDBInstancesOfferingInput) SetDBInstanceCount(v int64) *PurchaseReservedDBInstancesOfferingInput {
25907	s.DBInstanceCount = &v
25908	return s
25909}
25910
25911// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
25912func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstanceId(v string) *PurchaseReservedDBInstancesOfferingInput {
25913	s.ReservedDBInstanceId = &v
25914	return s
25915}
25916
25917// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
25918func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstancesOfferingId(v string) *PurchaseReservedDBInstancesOfferingInput {
25919	s.ReservedDBInstancesOfferingId = &v
25920	return s
25921}
25922
25923// SetTags sets the Tags field's value.
25924func (s *PurchaseReservedDBInstancesOfferingInput) SetTags(v []*Tag) *PurchaseReservedDBInstancesOfferingInput {
25925	s.Tags = v
25926	return s
25927}
25928
25929type PurchaseReservedDBInstancesOfferingOutput struct {
25930	_ struct{} `type:"structure"`
25931
25932	// This data type is used as a response element in the DescribeReservedDBInstances
25933	// and PurchaseReservedDBInstancesOffering actions.
25934	ReservedDBInstance *ReservedDBInstance `type:"structure"`
25935}
25936
25937// String returns the string representation
25938func (s PurchaseReservedDBInstancesOfferingOutput) String() string {
25939	return awsutil.Prettify(s)
25940}
25941
25942// GoString returns the string representation
25943func (s PurchaseReservedDBInstancesOfferingOutput) GoString() string {
25944	return s.String()
25945}
25946
25947// SetReservedDBInstance sets the ReservedDBInstance field's value.
25948func (s *PurchaseReservedDBInstancesOfferingOutput) SetReservedDBInstance(v *ReservedDBInstance) *PurchaseReservedDBInstancesOfferingOutput {
25949	s.ReservedDBInstance = v
25950	return s
25951}
25952
25953// A range of integer values.
25954type Range struct {
25955	_ struct{} `type:"structure"`
25956
25957	// The minimum value in the range.
25958	From *int64 `type:"integer"`
25959
25960	// The step value for the range. For example, if you have a range of 5,000 to
25961	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
25962	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
25963	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
25964	Step *int64 `type:"integer"`
25965
25966	// The maximum value in the range.
25967	To *int64 `type:"integer"`
25968}
25969
25970// String returns the string representation
25971func (s Range) String() string {
25972	return awsutil.Prettify(s)
25973}
25974
25975// GoString returns the string representation
25976func (s Range) GoString() string {
25977	return s.String()
25978}
25979
25980// SetFrom sets the From field's value.
25981func (s *Range) SetFrom(v int64) *Range {
25982	s.From = &v
25983	return s
25984}
25985
25986// SetStep sets the Step field's value.
25987func (s *Range) SetStep(v int64) *Range {
25988	s.Step = &v
25989	return s
25990}
25991
25992// SetTo sets the To field's value.
25993func (s *Range) SetTo(v int64) *Range {
25994	s.To = &v
25995	return s
25996}
25997
25998type RebootDBInstanceInput struct {
25999	_ struct{} `type:"structure"`
26000
26001	// The DB instance identifier. This parameter is stored as a lowercase string.
26002	//
26003	// Constraints:
26004	//
26005	//    * Must match the identifier of an existing DBInstance.
26006	//
26007	// DBInstanceIdentifier is a required field
26008	DBInstanceIdentifier *string `type:"string" required:"true"`
26009
26010	// When true, the reboot is conducted through a MultiAZ failover.
26011	//
26012	// Constraint: You can't specify true if the instance is not configured for
26013	// MultiAZ.
26014	ForceFailover *bool `type:"boolean"`
26015}
26016
26017// String returns the string representation
26018func (s RebootDBInstanceInput) String() string {
26019	return awsutil.Prettify(s)
26020}
26021
26022// GoString returns the string representation
26023func (s RebootDBInstanceInput) GoString() string {
26024	return s.String()
26025}
26026
26027// Validate inspects the fields of the type to determine if they are valid.
26028func (s *RebootDBInstanceInput) Validate() error {
26029	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
26030	if s.DBInstanceIdentifier == nil {
26031		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
26032	}
26033
26034	if invalidParams.Len() > 0 {
26035		return invalidParams
26036	}
26037	return nil
26038}
26039
26040// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
26041func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
26042	s.DBInstanceIdentifier = &v
26043	return s
26044}
26045
26046// SetForceFailover sets the ForceFailover field's value.
26047func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
26048	s.ForceFailover = &v
26049	return s
26050}
26051
26052type RebootDBInstanceOutput struct {
26053	_ struct{} `type:"structure"`
26054
26055	// Contains the details of an Amazon RDS DB instance.
26056	//
26057	// This data type is used as a response element in the DescribeDBInstances action.
26058	DBInstance *DBInstance `type:"structure"`
26059}
26060
26061// String returns the string representation
26062func (s RebootDBInstanceOutput) String() string {
26063	return awsutil.Prettify(s)
26064}
26065
26066// GoString returns the string representation
26067func (s RebootDBInstanceOutput) GoString() string {
26068	return s.String()
26069}
26070
26071// SetDBInstance sets the DBInstance field's value.
26072func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
26073	s.DBInstance = v
26074	return s
26075}
26076
26077// This data type is used as a response element in the DescribeReservedDBInstances
26078// and DescribeReservedDBInstancesOfferings actions.
26079type RecurringCharge struct {
26080	_ struct{} `type:"structure"`
26081
26082	// The amount of the recurring charge.
26083	RecurringChargeAmount *float64 `type:"double"`
26084
26085	// The frequency of the recurring charge.
26086	RecurringChargeFrequency *string `type:"string"`
26087}
26088
26089// String returns the string representation
26090func (s RecurringCharge) String() string {
26091	return awsutil.Prettify(s)
26092}
26093
26094// GoString returns the string representation
26095func (s RecurringCharge) GoString() string {
26096	return s.String()
26097}
26098
26099// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
26100func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
26101	s.RecurringChargeAmount = &v
26102	return s
26103}
26104
26105// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
26106func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
26107	s.RecurringChargeFrequency = &v
26108	return s
26109}
26110
26111type RemoveRoleFromDBClusterInput struct {
26112	_ struct{} `type:"structure"`
26113
26114	// The name of the DB cluster to disassociate the IAM role from.
26115	//
26116	// DBClusterIdentifier is a required field
26117	DBClusterIdentifier *string `type:"string" required:"true"`
26118
26119	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora
26120	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
26121	//
26122	// RoleArn is a required field
26123	RoleArn *string `type:"string" required:"true"`
26124}
26125
26126// String returns the string representation
26127func (s RemoveRoleFromDBClusterInput) String() string {
26128	return awsutil.Prettify(s)
26129}
26130
26131// GoString returns the string representation
26132func (s RemoveRoleFromDBClusterInput) GoString() string {
26133	return s.String()
26134}
26135
26136// Validate inspects the fields of the type to determine if they are valid.
26137func (s *RemoveRoleFromDBClusterInput) Validate() error {
26138	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
26139	if s.DBClusterIdentifier == nil {
26140		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
26141	}
26142	if s.RoleArn == nil {
26143		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
26144	}
26145
26146	if invalidParams.Len() > 0 {
26147		return invalidParams
26148	}
26149	return nil
26150}
26151
26152// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
26153func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
26154	s.DBClusterIdentifier = &v
26155	return s
26156}
26157
26158// SetRoleArn sets the RoleArn field's value.
26159func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
26160	s.RoleArn = &v
26161	return s
26162}
26163
26164type RemoveRoleFromDBClusterOutput struct {
26165	_ struct{} `type:"structure"`
26166}
26167
26168// String returns the string representation
26169func (s RemoveRoleFromDBClusterOutput) String() string {
26170	return awsutil.Prettify(s)
26171}
26172
26173// GoString returns the string representation
26174func (s RemoveRoleFromDBClusterOutput) GoString() string {
26175	return s.String()
26176}
26177
26178type RemoveSourceIdentifierFromSubscriptionInput struct {
26179	_ struct{} `type:"structure"`
26180
26181	// The source identifier to be removed from the subscription, such as the DB
26182	// instance identifier for a DB instance or the name of a security group.
26183	//
26184	// SourceIdentifier is a required field
26185	SourceIdentifier *string `type:"string" required:"true"`
26186
26187	// The name of the RDS event notification subscription you want to remove a
26188	// source identifier from.
26189	//
26190	// SubscriptionName is a required field
26191	SubscriptionName *string `type:"string" required:"true"`
26192}
26193
26194// String returns the string representation
26195func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
26196	return awsutil.Prettify(s)
26197}
26198
26199// GoString returns the string representation
26200func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
26201	return s.String()
26202}
26203
26204// Validate inspects the fields of the type to determine if they are valid.
26205func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
26206	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
26207	if s.SourceIdentifier == nil {
26208		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
26209	}
26210	if s.SubscriptionName == nil {
26211		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
26212	}
26213
26214	if invalidParams.Len() > 0 {
26215		return invalidParams
26216	}
26217	return nil
26218}
26219
26220// SetSourceIdentifier sets the SourceIdentifier field's value.
26221func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
26222	s.SourceIdentifier = &v
26223	return s
26224}
26225
26226// SetSubscriptionName sets the SubscriptionName field's value.
26227func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
26228	s.SubscriptionName = &v
26229	return s
26230}
26231
26232type RemoveSourceIdentifierFromSubscriptionOutput struct {
26233	_ struct{} `type:"structure"`
26234
26235	// Contains the results of a successful invocation of the DescribeEventSubscriptions
26236	// action.
26237	EventSubscription *EventSubscription `type:"structure"`
26238}
26239
26240// String returns the string representation
26241func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
26242	return awsutil.Prettify(s)
26243}
26244
26245// GoString returns the string representation
26246func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
26247	return s.String()
26248}
26249
26250// SetEventSubscription sets the EventSubscription field's value.
26251func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
26252	s.EventSubscription = v
26253	return s
26254}
26255
26256type RemoveTagsFromResourceInput struct {
26257	_ struct{} `type:"structure"`
26258
26259	// The Amazon RDS resource that the tags are removed from. This value is an
26260	// Amazon Resource Name (ARN). For information about creating an ARN, see  Constructing
26261	// an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
26262	//
26263	// ResourceName is a required field
26264	ResourceName *string `type:"string" required:"true"`
26265
26266	// The tag key (name) of the tag to be removed.
26267	//
26268	// TagKeys is a required field
26269	TagKeys []*string `type:"list" required:"true"`
26270}
26271
26272// String returns the string representation
26273func (s RemoveTagsFromResourceInput) String() string {
26274	return awsutil.Prettify(s)
26275}
26276
26277// GoString returns the string representation
26278func (s RemoveTagsFromResourceInput) GoString() string {
26279	return s.String()
26280}
26281
26282// Validate inspects the fields of the type to determine if they are valid.
26283func (s *RemoveTagsFromResourceInput) Validate() error {
26284	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
26285	if s.ResourceName == nil {
26286		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
26287	}
26288	if s.TagKeys == nil {
26289		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
26290	}
26291
26292	if invalidParams.Len() > 0 {
26293		return invalidParams
26294	}
26295	return nil
26296}
26297
26298// SetResourceName sets the ResourceName field's value.
26299func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
26300	s.ResourceName = &v
26301	return s
26302}
26303
26304// SetTagKeys sets the TagKeys field's value.
26305func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
26306	s.TagKeys = v
26307	return s
26308}
26309
26310type RemoveTagsFromResourceOutput struct {
26311	_ struct{} `type:"structure"`
26312}
26313
26314// String returns the string representation
26315func (s RemoveTagsFromResourceOutput) String() string {
26316	return awsutil.Prettify(s)
26317}
26318
26319// GoString returns the string representation
26320func (s RemoveTagsFromResourceOutput) GoString() string {
26321	return s.String()
26322}
26323
26324// This data type is used as a response element in the DescribeReservedDBInstances
26325// and PurchaseReservedDBInstancesOffering actions.
26326type ReservedDBInstance struct {
26327	_ struct{} `type:"structure"`
26328
26329	// The currency code for the reserved DB instance.
26330	CurrencyCode *string `type:"string"`
26331
26332	// The DB instance class for the reserved DB instance.
26333	DBInstanceClass *string `type:"string"`
26334
26335	// The number of reserved DB instances.
26336	DBInstanceCount *int64 `type:"integer"`
26337
26338	// The duration of the reservation in seconds.
26339	Duration *int64 `type:"integer"`
26340
26341	// The fixed price charged for this reserved DB instance.
26342	FixedPrice *float64 `type:"double"`
26343
26344	// Indicates if the reservation applies to Multi-AZ deployments.
26345	MultiAZ *bool `type:"boolean"`
26346
26347	// The offering type of this reserved DB instance.
26348	OfferingType *string `type:"string"`
26349
26350	// The description of the reserved DB instance.
26351	ProductDescription *string `type:"string"`
26352
26353	// The recurring price charged to run this reserved DB instance.
26354	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
26355
26356	// The Amazon Resource Name (ARN) for the reserved DB instance.
26357	ReservedDBInstanceArn *string `type:"string"`
26358
26359	// The unique identifier for the reservation.
26360	ReservedDBInstanceId *string `type:"string"`
26361
26362	// The offering identifier.
26363	ReservedDBInstancesOfferingId *string `type:"string"`
26364
26365	// The time the reservation started.
26366	StartTime *time.Time `type:"timestamp"`
26367
26368	// The state of the reserved DB instance.
26369	State *string `type:"string"`
26370
26371	// The hourly price charged for this reserved DB instance.
26372	UsagePrice *float64 `type:"double"`
26373}
26374
26375// String returns the string representation
26376func (s ReservedDBInstance) String() string {
26377	return awsutil.Prettify(s)
26378}
26379
26380// GoString returns the string representation
26381func (s ReservedDBInstance) GoString() string {
26382	return s.String()
26383}
26384
26385// SetCurrencyCode sets the CurrencyCode field's value.
26386func (s *ReservedDBInstance) SetCurrencyCode(v string) *ReservedDBInstance {
26387	s.CurrencyCode = &v
26388	return s
26389}
26390
26391// SetDBInstanceClass sets the DBInstanceClass field's value.
26392func (s *ReservedDBInstance) SetDBInstanceClass(v string) *ReservedDBInstance {
26393	s.DBInstanceClass = &v
26394	return s
26395}
26396
26397// SetDBInstanceCount sets the DBInstanceCount field's value.
26398func (s *ReservedDBInstance) SetDBInstanceCount(v int64) *ReservedDBInstance {
26399	s.DBInstanceCount = &v
26400	return s
26401}
26402
26403// SetDuration sets the Duration field's value.
26404func (s *ReservedDBInstance) SetDuration(v int64) *ReservedDBInstance {
26405	s.Duration = &v
26406	return s
26407}
26408
26409// SetFixedPrice sets the FixedPrice field's value.
26410func (s *ReservedDBInstance) SetFixedPrice(v float64) *ReservedDBInstance {
26411	s.FixedPrice = &v
26412	return s
26413}
26414
26415// SetMultiAZ sets the MultiAZ field's value.
26416func (s *ReservedDBInstance) SetMultiAZ(v bool) *ReservedDBInstance {
26417	s.MultiAZ = &v
26418	return s
26419}
26420
26421// SetOfferingType sets the OfferingType field's value.
26422func (s *ReservedDBInstance) SetOfferingType(v string) *ReservedDBInstance {
26423	s.OfferingType = &v
26424	return s
26425}
26426
26427// SetProductDescription sets the ProductDescription field's value.
26428func (s *ReservedDBInstance) SetProductDescription(v string) *ReservedDBInstance {
26429	s.ProductDescription = &v
26430	return s
26431}
26432
26433// SetRecurringCharges sets the RecurringCharges field's value.
26434func (s *ReservedDBInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstance {
26435	s.RecurringCharges = v
26436	return s
26437}
26438
26439// SetReservedDBInstanceArn sets the ReservedDBInstanceArn field's value.
26440func (s *ReservedDBInstance) SetReservedDBInstanceArn(v string) *ReservedDBInstance {
26441	s.ReservedDBInstanceArn = &v
26442	return s
26443}
26444
26445// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
26446func (s *ReservedDBInstance) SetReservedDBInstanceId(v string) *ReservedDBInstance {
26447	s.ReservedDBInstanceId = &v
26448	return s
26449}
26450
26451// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
26452func (s *ReservedDBInstance) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstance {
26453	s.ReservedDBInstancesOfferingId = &v
26454	return s
26455}
26456
26457// SetStartTime sets the StartTime field's value.
26458func (s *ReservedDBInstance) SetStartTime(v time.Time) *ReservedDBInstance {
26459	s.StartTime = &v
26460	return s
26461}
26462
26463// SetState sets the State field's value.
26464func (s *ReservedDBInstance) SetState(v string) *ReservedDBInstance {
26465	s.State = &v
26466	return s
26467}
26468
26469// SetUsagePrice sets the UsagePrice field's value.
26470func (s *ReservedDBInstance) SetUsagePrice(v float64) *ReservedDBInstance {
26471	s.UsagePrice = &v
26472	return s
26473}
26474
26475// This data type is used as a response element in the DescribeReservedDBInstancesOfferings
26476// action.
26477type ReservedDBInstancesOffering struct {
26478	_ struct{} `type:"structure"`
26479
26480	// The currency code for the reserved DB instance offering.
26481	CurrencyCode *string `type:"string"`
26482
26483	// The DB instance class for the reserved DB instance.
26484	DBInstanceClass *string `type:"string"`
26485
26486	// The duration of the offering in seconds.
26487	Duration *int64 `type:"integer"`
26488
26489	// The fixed price charged for this offering.
26490	FixedPrice *float64 `type:"double"`
26491
26492	// Indicates if the offering applies to Multi-AZ deployments.
26493	MultiAZ *bool `type:"boolean"`
26494
26495	// The offering type.
26496	OfferingType *string `type:"string"`
26497
26498	// The database engine used by the offering.
26499	ProductDescription *string `type:"string"`
26500
26501	// The recurring price charged to run this reserved DB instance.
26502	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
26503
26504	// The offering identifier.
26505	ReservedDBInstancesOfferingId *string `type:"string"`
26506
26507	// The hourly price charged for this offering.
26508	UsagePrice *float64 `type:"double"`
26509}
26510
26511// String returns the string representation
26512func (s ReservedDBInstancesOffering) String() string {
26513	return awsutil.Prettify(s)
26514}
26515
26516// GoString returns the string representation
26517func (s ReservedDBInstancesOffering) GoString() string {
26518	return s.String()
26519}
26520
26521// SetCurrencyCode sets the CurrencyCode field's value.
26522func (s *ReservedDBInstancesOffering) SetCurrencyCode(v string) *ReservedDBInstancesOffering {
26523	s.CurrencyCode = &v
26524	return s
26525}
26526
26527// SetDBInstanceClass sets the DBInstanceClass field's value.
26528func (s *ReservedDBInstancesOffering) SetDBInstanceClass(v string) *ReservedDBInstancesOffering {
26529	s.DBInstanceClass = &v
26530	return s
26531}
26532
26533// SetDuration sets the Duration field's value.
26534func (s *ReservedDBInstancesOffering) SetDuration(v int64) *ReservedDBInstancesOffering {
26535	s.Duration = &v
26536	return s
26537}
26538
26539// SetFixedPrice sets the FixedPrice field's value.
26540func (s *ReservedDBInstancesOffering) SetFixedPrice(v float64) *ReservedDBInstancesOffering {
26541	s.FixedPrice = &v
26542	return s
26543}
26544
26545// SetMultiAZ sets the MultiAZ field's value.
26546func (s *ReservedDBInstancesOffering) SetMultiAZ(v bool) *ReservedDBInstancesOffering {
26547	s.MultiAZ = &v
26548	return s
26549}
26550
26551// SetOfferingType sets the OfferingType field's value.
26552func (s *ReservedDBInstancesOffering) SetOfferingType(v string) *ReservedDBInstancesOffering {
26553	s.OfferingType = &v
26554	return s
26555}
26556
26557// SetProductDescription sets the ProductDescription field's value.
26558func (s *ReservedDBInstancesOffering) SetProductDescription(v string) *ReservedDBInstancesOffering {
26559	s.ProductDescription = &v
26560	return s
26561}
26562
26563// SetRecurringCharges sets the RecurringCharges field's value.
26564func (s *ReservedDBInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstancesOffering {
26565	s.RecurringCharges = v
26566	return s
26567}
26568
26569// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
26570func (s *ReservedDBInstancesOffering) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstancesOffering {
26571	s.ReservedDBInstancesOfferingId = &v
26572	return s
26573}
26574
26575// SetUsagePrice sets the UsagePrice field's value.
26576func (s *ReservedDBInstancesOffering) SetUsagePrice(v float64) *ReservedDBInstancesOffering {
26577	s.UsagePrice = &v
26578	return s
26579}
26580
26581type ResetDBClusterParameterGroupInput struct {
26582	_ struct{} `type:"structure"`
26583
26584	// The name of the DB cluster parameter group to reset.
26585	//
26586	// DBClusterParameterGroupName is a required field
26587	DBClusterParameterGroupName *string `type:"string" required:"true"`
26588
26589	// A list of parameter names in the DB cluster parameter group to reset to the
26590	// default values. You can't use this parameter if the ResetAllParameters parameter
26591	// is set to true.
26592	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
26593
26594	// A value that is set to true to reset all parameters in the DB cluster parameter
26595	// group to their default values, and false otherwise. You can't use this parameter
26596	// if there is a list of parameter names specified for the Parameters parameter.
26597	ResetAllParameters *bool `type:"boolean"`
26598}
26599
26600// String returns the string representation
26601func (s ResetDBClusterParameterGroupInput) String() string {
26602	return awsutil.Prettify(s)
26603}
26604
26605// GoString returns the string representation
26606func (s ResetDBClusterParameterGroupInput) GoString() string {
26607	return s.String()
26608}
26609
26610// Validate inspects the fields of the type to determine if they are valid.
26611func (s *ResetDBClusterParameterGroupInput) Validate() error {
26612	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
26613	if s.DBClusterParameterGroupName == nil {
26614		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
26615	}
26616
26617	if invalidParams.Len() > 0 {
26618		return invalidParams
26619	}
26620	return nil
26621}
26622
26623// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
26624func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
26625	s.DBClusterParameterGroupName = &v
26626	return s
26627}
26628
26629// SetParameters sets the Parameters field's value.
26630func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
26631	s.Parameters = v
26632	return s
26633}
26634
26635// SetResetAllParameters sets the ResetAllParameters field's value.
26636func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
26637	s.ResetAllParameters = &v
26638	return s
26639}
26640
26641type ResetDBParameterGroupInput struct {
26642	_ struct{} `type:"structure"`
26643
26644	// The name of the DB parameter group.
26645	//
26646	// Constraints:
26647	//
26648	//    * Must match the name of an existing DBParameterGroup.
26649	//
26650	// DBParameterGroupName is a required field
26651	DBParameterGroupName *string `type:"string" required:"true"`
26652
26653	// To reset the entire DB parameter group, specify the DBParameterGroup name
26654	// and ResetAllParameters parameters. To reset specific parameters, provide
26655	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
26656	// can be modified in a single request.
26657	//
26658	// MySQL
26659	//
26660	// Valid Values (for Apply method): immediate | pending-reboot
26661	//
26662	// You can use the immediate value with dynamic parameters only. You can use
26663	// the pending-reboot value for both dynamic and static parameters, and changes
26664	// are applied when DB instance reboots.
26665	//
26666	// MariaDB
26667	//
26668	// Valid Values (for Apply method): immediate | pending-reboot
26669	//
26670	// You can use the immediate value with dynamic parameters only. You can use
26671	// the pending-reboot value for both dynamic and static parameters, and changes
26672	// are applied when DB instance reboots.
26673	//
26674	// Oracle
26675	//
26676	// Valid Values (for Apply method): pending-reboot
26677	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
26678
26679	// Specifies whether (true) or not (false) to reset all parameters in the DB
26680	// parameter group to default values.
26681	//
26682	// Default: true
26683	ResetAllParameters *bool `type:"boolean"`
26684}
26685
26686// String returns the string representation
26687func (s ResetDBParameterGroupInput) String() string {
26688	return awsutil.Prettify(s)
26689}
26690
26691// GoString returns the string representation
26692func (s ResetDBParameterGroupInput) GoString() string {
26693	return s.String()
26694}
26695
26696// Validate inspects the fields of the type to determine if they are valid.
26697func (s *ResetDBParameterGroupInput) Validate() error {
26698	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
26699	if s.DBParameterGroupName == nil {
26700		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
26701	}
26702
26703	if invalidParams.Len() > 0 {
26704		return invalidParams
26705	}
26706	return nil
26707}
26708
26709// SetDBParameterGroupName sets the DBParameterGroupName field's value.
26710func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
26711	s.DBParameterGroupName = &v
26712	return s
26713}
26714
26715// SetParameters sets the Parameters field's value.
26716func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
26717	s.Parameters = v
26718	return s
26719}
26720
26721// SetResetAllParameters sets the ResetAllParameters field's value.
26722func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
26723	s.ResetAllParameters = &v
26724	return s
26725}
26726
26727// Describes the pending maintenance actions for a resource.
26728type ResourcePendingMaintenanceActions struct {
26729	_ struct{} `type:"structure"`
26730
26731	// A list that provides details about the pending maintenance actions for the
26732	// resource.
26733	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
26734
26735	// The ARN of the resource that has pending maintenance actions.
26736	ResourceIdentifier *string `type:"string"`
26737}
26738
26739// String returns the string representation
26740func (s ResourcePendingMaintenanceActions) String() string {
26741	return awsutil.Prettify(s)
26742}
26743
26744// GoString returns the string representation
26745func (s ResourcePendingMaintenanceActions) GoString() string {
26746	return s.String()
26747}
26748
26749// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
26750func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
26751	s.PendingMaintenanceActionDetails = v
26752	return s
26753}
26754
26755// SetResourceIdentifier sets the ResourceIdentifier field's value.
26756func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
26757	s.ResourceIdentifier = &v
26758	return s
26759}
26760
26761type RestoreDBClusterFromS3Input struct {
26762	_ struct{} `type:"structure"`
26763
26764	// A list of EC2 Availability Zones that instances in the restored DB cluster
26765	// can be created in.
26766	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
26767
26768	// The target backtrack window, in seconds. To disable backtracking, set this
26769	// value to 0.
26770	//
26771	// Default: 0
26772	//
26773	// Constraints:
26774	//
26775	//    * If specified, this value must be set to a number from 0 to 259,200 (72
26776	//    hours).
26777	BacktrackWindow *int64 `type:"long"`
26778
26779	// The number of days for which automated backups of the restored DB cluster
26780	// are retained. You must specify a minimum value of 1.
26781	//
26782	// Default: 1
26783	//
26784	// Constraints:
26785	//
26786	//    * Must be a value from 1 to 35
26787	BackupRetentionPeriod *int64 `type:"integer"`
26788
26789	// A value that indicates that the restored DB cluster should be associated
26790	// with the specified CharacterSet.
26791	CharacterSetName *string `type:"string"`
26792
26793	// The name of the DB cluster to create from the source data in the Amazon S3
26794	// bucket. This parameter is isn't case-sensitive.
26795	//
26796	// Constraints:
26797	//
26798	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
26799	//
26800	//    * First character must be a letter.
26801	//
26802	//    * Cannot end with a hyphen or contain two consecutive hyphens.
26803	//
26804	// Example: my-cluster1
26805	//
26806	// DBClusterIdentifier is a required field
26807	DBClusterIdentifier *string `type:"string" required:"true"`
26808
26809	// The name of the DB cluster parameter group to associate with the restored
26810	// DB cluster. If this argument is omitted, default.aurora5.6 is used.
26811	//
26812	// Constraints:
26813	//
26814	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
26815	DBClusterParameterGroupName *string `type:"string"`
26816
26817	// A DB subnet group to associate with the restored DB cluster.
26818	//
26819	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
26820	//
26821	// Example: mySubnetgroup
26822	DBSubnetGroupName *string `type:"string"`
26823
26824	// The database name for the restored DB cluster.
26825	DatabaseName *string `type:"string"`
26826
26827	// The list of logs that the restored DB cluster is to export to CloudWatch
26828	// Logs. The values in the list depend on the DB engine being used. For more
26829	// information, see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
26830	// in the Amazon Relational Database Service User Guide.
26831	EnableCloudwatchLogsExports []*string `type:"list"`
26832
26833	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
26834	// to database accounts, and otherwise false.
26835	//
26836	// Default: false
26837	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
26838
26839	// The name of the database engine to be used for the restored DB cluster.
26840	//
26841	// Valid Values: aurora, aurora-postgresql
26842	//
26843	// Engine is a required field
26844	Engine *string `type:"string" required:"true"`
26845
26846	// The version number of the database engine to use.
26847	//
26848	// Aurora MySQL
26849	//
26850	// Example: 5.6.10a
26851	//
26852	// Aurora PostgreSQL
26853	//
26854	// Example: 9.6.3
26855	EngineVersion *string `type:"string"`
26856
26857	// The AWS KMS key identifier for an encrypted DB cluster.
26858	//
26859	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
26860	// key. If you are creating a DB cluster with the same AWS account that owns
26861	// the KMS encryption key used to encrypt the new DB cluster, then you can use
26862	// the KMS key alias instead of the ARN for the KM encryption key.
26863	//
26864	// If the StorageEncrypted parameter is true, and you do not specify a value
26865	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
26866	// key. AWS KMS creates the default encryption key for your AWS account. Your
26867	// AWS account has a different default encryption key for each AWS Region.
26868	KmsKeyId *string `type:"string"`
26869
26870	// The password for the master database user. This password can contain any
26871	// printable ASCII character except "/", """, or "@".
26872	//
26873	// Constraints: Must contain from 8 to 41 characters.
26874	//
26875	// MasterUserPassword is a required field
26876	MasterUserPassword *string `type:"string" required:"true"`
26877
26878	// The name of the master user for the restored DB cluster.
26879	//
26880	// Constraints:
26881	//
26882	//    * Must be 1 to 16 letters or numbers.
26883	//
26884	//    * First character must be a letter.
26885	//
26886	//    * Cannot be a reserved word for the chosen database engine.
26887	//
26888	// MasterUsername is a required field
26889	MasterUsername *string `type:"string" required:"true"`
26890
26891	// A value that indicates that the restored DB cluster should be associated
26892	// with the specified option group.
26893	//
26894	// Permanent options can't be removed from an option group. An option group
26895	// can't be removed from a DB cluster once it is associated with a DB cluster.
26896	OptionGroupName *string `type:"string"`
26897
26898	// The port number on which the instances in the restored DB cluster accept
26899	// connections.
26900	//
26901	// Default: 3306
26902	Port *int64 `type:"integer"`
26903
26904	// The daily time range during which automated backups are created if automated
26905	// backups are enabled using the BackupRetentionPeriod parameter.
26906	//
26907	// The default is a 30-minute window selected at random from an 8-hour block
26908	// of time for each AWS Region. To see the time blocks available, see  Adjusting
26909	// the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
26910	// in the Amazon RDS User Guide.
26911	//
26912	// Constraints:
26913	//
26914	//    * Must be in the format hh24:mi-hh24:mi.
26915	//
26916	//    * Must be in Universal Coordinated Time (UTC).
26917	//
26918	//    * Must not conflict with the preferred maintenance window.
26919	//
26920	//    * Must be at least 30 minutes.
26921	PreferredBackupWindow *string `type:"string"`
26922
26923	// The weekly time range during which system maintenance can occur, in Universal
26924	// Coordinated Time (UTC).
26925	//
26926	// Format: ddd:hh24:mi-ddd:hh24:mi
26927	//
26928	// The default is a 30-minute window selected at random from an 8-hour block
26929	// of time for each AWS Region, occurring on a random day of the week. To see
26930	// the time blocks available, see  Adjusting the Preferred Maintenance Window
26931	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
26932	// in the Amazon RDS User Guide.
26933	//
26934	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
26935	//
26936	// Constraints: Minimum 30-minute window.
26937	PreferredMaintenanceWindow *string `type:"string"`
26938
26939	// The name of the Amazon S3 bucket that contains the data used to create the
26940	// Amazon Aurora DB cluster.
26941	//
26942	// S3BucketName is a required field
26943	S3BucketName *string `type:"string" required:"true"`
26944
26945	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
26946	// (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your
26947	// behalf.
26948	//
26949	// S3IngestionRoleArn is a required field
26950	S3IngestionRoleArn *string `type:"string" required:"true"`
26951
26952	// The prefix for all of the file names that contain the data used to create
26953	// the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value,
26954	// then the Amazon Aurora DB cluster is created by using all of the files in
26955	// the Amazon S3 bucket.
26956	S3Prefix *string `type:"string"`
26957
26958	// The identifier for the database engine that was backed up to create the files
26959	// stored in the Amazon S3 bucket.
26960	//
26961	// Valid values: mysql
26962	//
26963	// SourceEngine is a required field
26964	SourceEngine *string `type:"string" required:"true"`
26965
26966	// The version of the database that the backup files were created from.
26967	//
26968	// MySQL version 5.5 and 5.6 are supported.
26969	//
26970	// Example: 5.6.22
26971	//
26972	// SourceEngineVersion is a required field
26973	SourceEngineVersion *string `type:"string" required:"true"`
26974
26975	// Specifies whether the restored DB cluster is encrypted.
26976	StorageEncrypted *bool `type:"boolean"`
26977
26978	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
26979	Tags []*Tag `locationNameList:"Tag" type:"list"`
26980
26981	// A list of EC2 VPC security groups to associate with the restored DB cluster.
26982	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
26983}
26984
26985// String returns the string representation
26986func (s RestoreDBClusterFromS3Input) String() string {
26987	return awsutil.Prettify(s)
26988}
26989
26990// GoString returns the string representation
26991func (s RestoreDBClusterFromS3Input) GoString() string {
26992	return s.String()
26993}
26994
26995// Validate inspects the fields of the type to determine if they are valid.
26996func (s *RestoreDBClusterFromS3Input) Validate() error {
26997	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"}
26998	if s.DBClusterIdentifier == nil {
26999		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
27000	}
27001	if s.Engine == nil {
27002		invalidParams.Add(request.NewErrParamRequired("Engine"))
27003	}
27004	if s.MasterUserPassword == nil {
27005		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
27006	}
27007	if s.MasterUsername == nil {
27008		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
27009	}
27010	if s.S3BucketName == nil {
27011		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
27012	}
27013	if s.S3IngestionRoleArn == nil {
27014		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
27015	}
27016	if s.SourceEngine == nil {
27017		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
27018	}
27019	if s.SourceEngineVersion == nil {
27020		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
27021	}
27022
27023	if invalidParams.Len() > 0 {
27024		return invalidParams
27025	}
27026	return nil
27027}
27028
27029// SetAvailabilityZones sets the AvailabilityZones field's value.
27030func (s *RestoreDBClusterFromS3Input) SetAvailabilityZones(v []*string) *RestoreDBClusterFromS3Input {
27031	s.AvailabilityZones = v
27032	return s
27033}
27034
27035// SetBacktrackWindow sets the BacktrackWindow field's value.
27036func (s *RestoreDBClusterFromS3Input) SetBacktrackWindow(v int64) *RestoreDBClusterFromS3Input {
27037	s.BacktrackWindow = &v
27038	return s
27039}
27040
27041// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
27042func (s *RestoreDBClusterFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBClusterFromS3Input {
27043	s.BackupRetentionPeriod = &v
27044	return s
27045}
27046
27047// SetCharacterSetName sets the CharacterSetName field's value.
27048func (s *RestoreDBClusterFromS3Input) SetCharacterSetName(v string) *RestoreDBClusterFromS3Input {
27049	s.CharacterSetName = &v
27050	return s
27051}
27052
27053// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
27054func (s *RestoreDBClusterFromS3Input) SetDBClusterIdentifier(v string) *RestoreDBClusterFromS3Input {
27055	s.DBClusterIdentifier = &v
27056	return s
27057}
27058
27059// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
27060func (s *RestoreDBClusterFromS3Input) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromS3Input {
27061	s.DBClusterParameterGroupName = &v
27062	return s
27063}
27064
27065// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
27066func (s *RestoreDBClusterFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBClusterFromS3Input {
27067	s.DBSubnetGroupName = &v
27068	return s
27069}
27070
27071// SetDatabaseName sets the DatabaseName field's value.
27072func (s *RestoreDBClusterFromS3Input) SetDatabaseName(v string) *RestoreDBClusterFromS3Input {
27073	s.DatabaseName = &v
27074	return s
27075}
27076
27077// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
27078func (s *RestoreDBClusterFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromS3Input {
27079	s.EnableCloudwatchLogsExports = v
27080	return s
27081}
27082
27083// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
27084func (s *RestoreDBClusterFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromS3Input {
27085	s.EnableIAMDatabaseAuthentication = &v
27086	return s
27087}
27088
27089// SetEngine sets the Engine field's value.
27090func (s *RestoreDBClusterFromS3Input) SetEngine(v string) *RestoreDBClusterFromS3Input {
27091	s.Engine = &v
27092	return s
27093}
27094
27095// SetEngineVersion sets the EngineVersion field's value.
27096func (s *RestoreDBClusterFromS3Input) SetEngineVersion(v string) *RestoreDBClusterFromS3Input {
27097	s.EngineVersion = &v
27098	return s
27099}
27100
27101// SetKmsKeyId sets the KmsKeyId field's value.
27102func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFromS3Input {
27103	s.KmsKeyId = &v
27104	return s
27105}
27106
27107// SetMasterUserPassword sets the MasterUserPassword field's value.
27108func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
27109	s.MasterUserPassword = &v
27110	return s
27111}
27112
27113// SetMasterUsername sets the MasterUsername field's value.
27114func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
27115	s.MasterUsername = &v
27116	return s
27117}
27118
27119// SetOptionGroupName sets the OptionGroupName field's value.
27120func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input {
27121	s.OptionGroupName = &v
27122	return s
27123}
27124
27125// SetPort sets the Port field's value.
27126func (s *RestoreDBClusterFromS3Input) SetPort(v int64) *RestoreDBClusterFromS3Input {
27127	s.Port = &v
27128	return s
27129}
27130
27131// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
27132func (s *RestoreDBClusterFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBClusterFromS3Input {
27133	s.PreferredBackupWindow = &v
27134	return s
27135}
27136
27137// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
27138func (s *RestoreDBClusterFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBClusterFromS3Input {
27139	s.PreferredMaintenanceWindow = &v
27140	return s
27141}
27142
27143// SetS3BucketName sets the S3BucketName field's value.
27144func (s *RestoreDBClusterFromS3Input) SetS3BucketName(v string) *RestoreDBClusterFromS3Input {
27145	s.S3BucketName = &v
27146	return s
27147}
27148
27149// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
27150func (s *RestoreDBClusterFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBClusterFromS3Input {
27151	s.S3IngestionRoleArn = &v
27152	return s
27153}
27154
27155// SetS3Prefix sets the S3Prefix field's value.
27156func (s *RestoreDBClusterFromS3Input) SetS3Prefix(v string) *RestoreDBClusterFromS3Input {
27157	s.S3Prefix = &v
27158	return s
27159}
27160
27161// SetSourceEngine sets the SourceEngine field's value.
27162func (s *RestoreDBClusterFromS3Input) SetSourceEngine(v string) *RestoreDBClusterFromS3Input {
27163	s.SourceEngine = &v
27164	return s
27165}
27166
27167// SetSourceEngineVersion sets the SourceEngineVersion field's value.
27168func (s *RestoreDBClusterFromS3Input) SetSourceEngineVersion(v string) *RestoreDBClusterFromS3Input {
27169	s.SourceEngineVersion = &v
27170	return s
27171}
27172
27173// SetStorageEncrypted sets the StorageEncrypted field's value.
27174func (s *RestoreDBClusterFromS3Input) SetStorageEncrypted(v bool) *RestoreDBClusterFromS3Input {
27175	s.StorageEncrypted = &v
27176	return s
27177}
27178
27179// SetTags sets the Tags field's value.
27180func (s *RestoreDBClusterFromS3Input) SetTags(v []*Tag) *RestoreDBClusterFromS3Input {
27181	s.Tags = v
27182	return s
27183}
27184
27185// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
27186func (s *RestoreDBClusterFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromS3Input {
27187	s.VpcSecurityGroupIds = v
27188	return s
27189}
27190
27191type RestoreDBClusterFromS3Output struct {
27192	_ struct{} `type:"structure"`
27193
27194	// Contains the details of an Amazon RDS DB cluster.
27195	//
27196	// This data type is used as a response element in the DescribeDBClusters action.
27197	DBCluster *DBCluster `type:"structure"`
27198}
27199
27200// String returns the string representation
27201func (s RestoreDBClusterFromS3Output) String() string {
27202	return awsutil.Prettify(s)
27203}
27204
27205// GoString returns the string representation
27206func (s RestoreDBClusterFromS3Output) GoString() string {
27207	return s.String()
27208}
27209
27210// SetDBCluster sets the DBCluster field's value.
27211func (s *RestoreDBClusterFromS3Output) SetDBCluster(v *DBCluster) *RestoreDBClusterFromS3Output {
27212	s.DBCluster = v
27213	return s
27214}
27215
27216type RestoreDBClusterFromSnapshotInput struct {
27217	_ struct{} `type:"structure"`
27218
27219	// Provides the list of EC2 Availability Zones that instances in the restored
27220	// DB cluster can be created in.
27221	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
27222
27223	// The target backtrack window, in seconds. To disable backtracking, set this
27224	// value to 0.
27225	//
27226	// Default: 0
27227	//
27228	// Constraints:
27229	//
27230	//    * If specified, this value must be set to a number from 0 to 259,200 (72
27231	//    hours).
27232	BacktrackWindow *int64 `type:"long"`
27233
27234	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
27235	// This parameter isn't case-sensitive.
27236	//
27237	// Constraints:
27238	//
27239	//    * Must contain from 1 to 63 letters, numbers, or hyphens
27240	//
27241	//    * First character must be a letter
27242	//
27243	//    * Cannot end with a hyphen or contain two consecutive hyphens
27244	//
27245	// Example: my-snapshot-id
27246	//
27247	// DBClusterIdentifier is a required field
27248	DBClusterIdentifier *string `type:"string" required:"true"`
27249
27250	// The name of the DB subnet group to use for the new DB cluster.
27251	//
27252	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
27253	//
27254	// Example: mySubnetgroup
27255	DBSubnetGroupName *string `type:"string"`
27256
27257	// The database name for the restored DB cluster.
27258	DatabaseName *string `type:"string"`
27259
27260	// The list of logs that the restored DB cluster is to export to CloudWatch
27261	// Logs. The values in the list depend on the DB engine being used. For more
27262	// information, see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
27263	// in the Amazon Relational Database Service User Guide.
27264	EnableCloudwatchLogsExports []*string `type:"list"`
27265
27266	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
27267	// to database accounts, and otherwise false.
27268	//
27269	// Default: false
27270	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
27271
27272	// The database engine to use for the new DB cluster.
27273	//
27274	// Default: The same as source
27275	//
27276	// Constraint: Must be compatible with the engine of the source
27277	//
27278	// Engine is a required field
27279	Engine *string `type:"string" required:"true"`
27280
27281	// The DB engine mode of the DB cluster, either provisioned or serverless.
27282	EngineMode *string `type:"string"`
27283
27284	// The version of the database engine to use for the new DB cluster.
27285	EngineVersion *string `type:"string"`
27286
27287	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
27288	// from a DB snapshot or DB cluster snapshot.
27289	//
27290	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
27291	// key. If you are restoring a DB cluster with the same AWS account that owns
27292	// the KMS encryption key used to encrypt the new DB cluster, then you can use
27293	// the KMS key alias instead of the ARN for the KMS encryption key.
27294	//
27295	// If you do not specify a value for the KmsKeyId parameter, then the following
27296	// will occur:
27297	//
27298	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
27299	//    then the restored DB cluster is encrypted using the KMS key that was used
27300	//    to encrypt the DB snapshot or DB cluster snapshot.
27301	//
27302	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not
27303	//    encrypted, then the restored DB cluster is not encrypted.
27304	KmsKeyId *string `type:"string"`
27305
27306	// The name of the option group to use for the restored DB cluster.
27307	OptionGroupName *string `type:"string"`
27308
27309	// The port number on which the new DB cluster accepts connections.
27310	//
27311	// Constraints: Value must be 1150-65535
27312	//
27313	// Default: The same port as the original DB cluster.
27314	Port *int64 `type:"integer"`
27315
27316	// For DB clusters in serverless DB engine mode, the scaling properties of the
27317	// DB cluster.
27318	ScalingConfiguration *ScalingConfiguration `type:"structure"`
27319
27320	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
27321	//
27322	// You can use either the name or the Amazon Resource Name (ARN) to specify
27323	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
27324	// snapshot.
27325	//
27326	// Constraints:
27327	//
27328	//    * Must match the identifier of an existing Snapshot.
27329	//
27330	// SnapshotIdentifier is a required field
27331	SnapshotIdentifier *string `type:"string" required:"true"`
27332
27333	// The tags to be assigned to the restored DB cluster.
27334	Tags []*Tag `locationNameList:"Tag" type:"list"`
27335
27336	// A list of VPC security groups that the new DB cluster will belong to.
27337	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
27338}
27339
27340// String returns the string representation
27341func (s RestoreDBClusterFromSnapshotInput) String() string {
27342	return awsutil.Prettify(s)
27343}
27344
27345// GoString returns the string representation
27346func (s RestoreDBClusterFromSnapshotInput) GoString() string {
27347	return s.String()
27348}
27349
27350// Validate inspects the fields of the type to determine if they are valid.
27351func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
27352	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
27353	if s.DBClusterIdentifier == nil {
27354		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
27355	}
27356	if s.Engine == nil {
27357		invalidParams.Add(request.NewErrParamRequired("Engine"))
27358	}
27359	if s.SnapshotIdentifier == nil {
27360		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
27361	}
27362
27363	if invalidParams.Len() > 0 {
27364		return invalidParams
27365	}
27366	return nil
27367}
27368
27369// SetAvailabilityZones sets the AvailabilityZones field's value.
27370func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
27371	s.AvailabilityZones = v
27372	return s
27373}
27374
27375// SetBacktrackWindow sets the BacktrackWindow field's value.
27376func (s *RestoreDBClusterFromSnapshotInput) SetBacktrackWindow(v int64) *RestoreDBClusterFromSnapshotInput {
27377	s.BacktrackWindow = &v
27378	return s
27379}
27380
27381// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
27382func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
27383	s.DBClusterIdentifier = &v
27384	return s
27385}
27386
27387// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
27388func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
27389	s.DBSubnetGroupName = &v
27390	return s
27391}
27392
27393// SetDatabaseName sets the DatabaseName field's value.
27394func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
27395	s.DatabaseName = &v
27396	return s
27397}
27398
27399// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
27400func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
27401	s.EnableCloudwatchLogsExports = v
27402	return s
27403}
27404
27405// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
27406func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
27407	s.EnableIAMDatabaseAuthentication = &v
27408	return s
27409}
27410
27411// SetEngine sets the Engine field's value.
27412func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
27413	s.Engine = &v
27414	return s
27415}
27416
27417// SetEngineMode sets the EngineMode field's value.
27418func (s *RestoreDBClusterFromSnapshotInput) SetEngineMode(v string) *RestoreDBClusterFromSnapshotInput {
27419	s.EngineMode = &v
27420	return s
27421}
27422
27423// SetEngineVersion sets the EngineVersion field's value.
27424func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
27425	s.EngineVersion = &v
27426	return s
27427}
27428
27429// SetKmsKeyId sets the KmsKeyId field's value.
27430func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
27431	s.KmsKeyId = &v
27432	return s
27433}
27434
27435// SetOptionGroupName sets the OptionGroupName field's value.
27436func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
27437	s.OptionGroupName = &v
27438	return s
27439}
27440
27441// SetPort sets the Port field's value.
27442func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
27443	s.Port = &v
27444	return s
27445}
27446
27447// SetScalingConfiguration sets the ScalingConfiguration field's value.
27448func (s *RestoreDBClusterFromSnapshotInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterFromSnapshotInput {
27449	s.ScalingConfiguration = v
27450	return s
27451}
27452
27453// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
27454func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
27455	s.SnapshotIdentifier = &v
27456	return s
27457}
27458
27459// SetTags sets the Tags field's value.
27460func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
27461	s.Tags = v
27462	return s
27463}
27464
27465// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
27466func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
27467	s.VpcSecurityGroupIds = v
27468	return s
27469}
27470
27471type RestoreDBClusterFromSnapshotOutput struct {
27472	_ struct{} `type:"structure"`
27473
27474	// Contains the details of an Amazon RDS DB cluster.
27475	//
27476	// This data type is used as a response element in the DescribeDBClusters action.
27477	DBCluster *DBCluster `type:"structure"`
27478}
27479
27480// String returns the string representation
27481func (s RestoreDBClusterFromSnapshotOutput) String() string {
27482	return awsutil.Prettify(s)
27483}
27484
27485// GoString returns the string representation
27486func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
27487	return s.String()
27488}
27489
27490// SetDBCluster sets the DBCluster field's value.
27491func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
27492	s.DBCluster = v
27493	return s
27494}
27495
27496type RestoreDBClusterToPointInTimeInput struct {
27497	_ struct{} `type:"structure"`
27498
27499	// The target backtrack window, in seconds. To disable backtracking, set this
27500	// value to 0.
27501	//
27502	// Default: 0
27503	//
27504	// Constraints:
27505	//
27506	//    * If specified, this value must be set to a number from 0 to 259,200 (72
27507	//    hours).
27508	BacktrackWindow *int64 `type:"long"`
27509
27510	// The name of the new DB cluster to be created.
27511	//
27512	// Constraints:
27513	//
27514	//    * Must contain from 1 to 63 letters, numbers, or hyphens
27515	//
27516	//    * First character must be a letter
27517	//
27518	//    * Cannot end with a hyphen or contain two consecutive hyphens
27519	//
27520	// DBClusterIdentifier is a required field
27521	DBClusterIdentifier *string `type:"string" required:"true"`
27522
27523	// The DB subnet group name to use for the new DB cluster.
27524	//
27525	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
27526	//
27527	// Example: mySubnetgroup
27528	DBSubnetGroupName *string `type:"string"`
27529
27530	// The list of logs that the restored DB cluster is to export to CloudWatch
27531	// Logs. The values in the list depend on the DB engine being used. For more
27532	// information, see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
27533	// in the Amazon Relational Database Service User Guide.
27534	EnableCloudwatchLogsExports []*string `type:"list"`
27535
27536	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
27537	// to database accounts, and otherwise false.
27538	//
27539	// Default: false
27540	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
27541
27542	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
27543	// from an encrypted DB cluster.
27544	//
27545	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
27546	// key. If you are restoring a DB cluster with the same AWS account that owns
27547	// the KMS encryption key used to encrypt the new DB cluster, then you can use
27548	// the KMS key alias instead of the ARN for the KMS encryption key.
27549	//
27550	// You can restore to a new DB cluster and encrypt the new DB cluster with a
27551	// KMS key that is different than the KMS key used to encrypt the source DB
27552	// cluster. The new DB cluster is encrypted with the KMS key identified by the
27553	// KmsKeyId parameter.
27554	//
27555	// If you do not specify a value for the KmsKeyId parameter, then the following
27556	// will occur:
27557	//
27558	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
27559	//    using the KMS key that was used to encrypt the source DB cluster.
27560	//
27561	//    * If the DB cluster is not encrypted, then the restored DB cluster is
27562	//    not encrypted.
27563	//
27564	// If DBClusterIdentifier refers to a DB cluster that is not encrypted, then
27565	// the restore request is rejected.
27566	KmsKeyId *string `type:"string"`
27567
27568	// The name of the option group for the new DB cluster.
27569	OptionGroupName *string `type:"string"`
27570
27571	// The port number on which the new DB cluster accepts connections.
27572	//
27573	// Constraints: A value from 1150-65535.
27574	//
27575	// Default: The default port for the engine.
27576	Port *int64 `type:"integer"`
27577
27578	// The date and time to restore the DB cluster to.
27579	//
27580	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
27581	//
27582	// Constraints:
27583	//
27584	//    * Must be before the latest restorable time for the DB instance
27585	//
27586	//    * Must be specified if UseLatestRestorableTime parameter is not provided
27587	//
27588	//    * Cannot be specified if UseLatestRestorableTime parameter is true
27589	//
27590	//    * Cannot be specified if RestoreType parameter is copy-on-write
27591	//
27592	// Example: 2015-03-07T23:45:00Z
27593	RestoreToTime *time.Time `type:"timestamp"`
27594
27595	// The type of restore to be performed. You can specify one of the following
27596	// values:
27597	//
27598	//    * full-copy - The new DB cluster is restored as a full copy of the source
27599	//    DB cluster.
27600	//
27601	//    * copy-on-write - The new DB cluster is restored as a clone of the source
27602	//    DB cluster.
27603	//
27604	// Constraints: You can't specify copy-on-write if the engine version of the
27605	// source DB cluster is earlier than 1.11.
27606	//
27607	// If you don't specify a RestoreType value, then the new DB cluster is restored
27608	// as a full copy of the source DB cluster.
27609	RestoreType *string `type:"string"`
27610
27611	// The identifier of the source DB cluster from which to restore.
27612	//
27613	// Constraints:
27614	//
27615	//    * Must match the identifier of an existing DBCluster.
27616	//
27617	// SourceDBClusterIdentifier is a required field
27618	SourceDBClusterIdentifier *string `type:"string" required:"true"`
27619
27620	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
27621	Tags []*Tag `locationNameList:"Tag" type:"list"`
27622
27623	// A value that is set to true to restore the DB cluster to the latest restorable
27624	// backup time, and false otherwise.
27625	//
27626	// Default: false
27627	//
27628	// Constraints: Cannot be specified if RestoreToTime parameter is provided.
27629	UseLatestRestorableTime *bool `type:"boolean"`
27630
27631	// A list of VPC security groups that the new DB cluster belongs to.
27632	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
27633}
27634
27635// String returns the string representation
27636func (s RestoreDBClusterToPointInTimeInput) String() string {
27637	return awsutil.Prettify(s)
27638}
27639
27640// GoString returns the string representation
27641func (s RestoreDBClusterToPointInTimeInput) GoString() string {
27642	return s.String()
27643}
27644
27645// Validate inspects the fields of the type to determine if they are valid.
27646func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
27647	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
27648	if s.DBClusterIdentifier == nil {
27649		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
27650	}
27651	if s.SourceDBClusterIdentifier == nil {
27652		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
27653	}
27654
27655	if invalidParams.Len() > 0 {
27656		return invalidParams
27657	}
27658	return nil
27659}
27660
27661// SetBacktrackWindow sets the BacktrackWindow field's value.
27662func (s *RestoreDBClusterToPointInTimeInput) SetBacktrackWindow(v int64) *RestoreDBClusterToPointInTimeInput {
27663	s.BacktrackWindow = &v
27664	return s
27665}
27666
27667// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
27668func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
27669	s.DBClusterIdentifier = &v
27670	return s
27671}
27672
27673// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
27674func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
27675	s.DBSubnetGroupName = &v
27676	return s
27677}
27678
27679// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
27680func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
27681	s.EnableCloudwatchLogsExports = v
27682	return s
27683}
27684
27685// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
27686func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
27687	s.EnableIAMDatabaseAuthentication = &v
27688	return s
27689}
27690
27691// SetKmsKeyId sets the KmsKeyId field's value.
27692func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
27693	s.KmsKeyId = &v
27694	return s
27695}
27696
27697// SetOptionGroupName sets the OptionGroupName field's value.
27698func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
27699	s.OptionGroupName = &v
27700	return s
27701}
27702
27703// SetPort sets the Port field's value.
27704func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
27705	s.Port = &v
27706	return s
27707}
27708
27709// SetRestoreToTime sets the RestoreToTime field's value.
27710func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
27711	s.RestoreToTime = &v
27712	return s
27713}
27714
27715// SetRestoreType sets the RestoreType field's value.
27716func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
27717	s.RestoreType = &v
27718	return s
27719}
27720
27721// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
27722func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
27723	s.SourceDBClusterIdentifier = &v
27724	return s
27725}
27726
27727// SetTags sets the Tags field's value.
27728func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
27729	s.Tags = v
27730	return s
27731}
27732
27733// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
27734func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
27735	s.UseLatestRestorableTime = &v
27736	return s
27737}
27738
27739// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
27740func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
27741	s.VpcSecurityGroupIds = v
27742	return s
27743}
27744
27745type RestoreDBClusterToPointInTimeOutput struct {
27746	_ struct{} `type:"structure"`
27747
27748	// Contains the details of an Amazon RDS DB cluster.
27749	//
27750	// This data type is used as a response element in the DescribeDBClusters action.
27751	DBCluster *DBCluster `type:"structure"`
27752}
27753
27754// String returns the string representation
27755func (s RestoreDBClusterToPointInTimeOutput) String() string {
27756	return awsutil.Prettify(s)
27757}
27758
27759// GoString returns the string representation
27760func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
27761	return s.String()
27762}
27763
27764// SetDBCluster sets the DBCluster field's value.
27765func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
27766	s.DBCluster = v
27767	return s
27768}
27769
27770type RestoreDBInstanceFromDBSnapshotInput struct {
27771	_ struct{} `type:"structure"`
27772
27773	// Indicates that minor version upgrades are applied automatically to the DB
27774	// instance during the maintenance window.
27775	AutoMinorVersionUpgrade *bool `type:"boolean"`
27776
27777	// The EC2 Availability Zone that the DB instance is created in.
27778	//
27779	// Default: A random, system-chosen Availability Zone.
27780	//
27781	// Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ
27782	// parameter is set to true.
27783	//
27784	// Example: us-east-1a
27785	AvailabilityZone *string `type:"string"`
27786
27787	// True to copy all tags from the restored DB instance to snapshots of the DB
27788	// instance, and otherwise false. The default is false.
27789	CopyTagsToSnapshot *bool `type:"boolean"`
27790
27791	// The compute and memory capacity of the Amazon RDS DB instance, for example,
27792	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
27793	// or for all database engines. For the full list of DB instance classes, and
27794	// availability for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
27795	// in the Amazon RDS User Guide.
27796	//
27797	// Default: The same DBInstanceClass as the original DB instance.
27798	DBInstanceClass *string `type:"string"`
27799
27800	// Name of the DB instance to create from the DB snapshot. This parameter isn't
27801	// case-sensitive.
27802	//
27803	// Constraints:
27804	//
27805	//    * Must contain from 1 to 63 numbers, letters, or hyphens
27806	//
27807	//    * First character must be a letter
27808	//
27809	//    * Cannot end with a hyphen or contain two consecutive hyphens
27810	//
27811	// Example: my-snapshot-id
27812	//
27813	// DBInstanceIdentifier is a required field
27814	DBInstanceIdentifier *string `type:"string" required:"true"`
27815
27816	// The database name for the restored DB instance.
27817	//
27818	// This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.
27819	DBName *string `type:"string"`
27820
27821	// The identifier for the DB snapshot to restore from.
27822	//
27823	// Constraints:
27824	//
27825	//    * Must match the identifier of an existing DBSnapshot.
27826	//
27827	//    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
27828	//    must be the ARN of the shared DB snapshot.
27829	//
27830	// DBSnapshotIdentifier is a required field
27831	DBSnapshotIdentifier *string `type:"string" required:"true"`
27832
27833	// The DB subnet group name to use for the new instance.
27834	//
27835	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
27836	//
27837	// Example: mySubnetgroup
27838	DBSubnetGroupName *string `type:"string"`
27839
27840	// Specify the Active Directory Domain to restore the instance in.
27841	Domain *string `type:"string"`
27842
27843	// Specify the name of the IAM role to be used when making API calls to the
27844	// Directory Service.
27845	DomainIAMRoleName *string `type:"string"`
27846
27847	// The list of logs that the restored DB instance is to export to CloudWatch
27848	// Logs. The values in the list depend on the DB engine being used. For more
27849	// information, see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
27850	// in the Amazon Relational Database Service User Guide.
27851	EnableCloudwatchLogsExports []*string `type:"list"`
27852
27853	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
27854	// to database accounts, and otherwise false.
27855	//
27856	// You can enable IAM database authentication for the following database engines
27857	//
27858	//    * For MySQL 5.6, minor version 5.6.34 or higher
27859	//
27860	//    * For MySQL 5.7, minor version 5.7.16 or higher
27861	//
27862	// Default: false
27863	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
27864
27865	// The database engine to use for the new instance.
27866	//
27867	// Default: The same as source
27868	//
27869	// Constraint: Must be compatible with the engine of the source. For example,
27870	// you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.
27871	//
27872	// Valid Values:
27873	//
27874	//    * mariadb
27875	//
27876	//    * mysql
27877	//
27878	//    * oracle-ee
27879	//
27880	//    * oracle-se2
27881	//
27882	//    * oracle-se1
27883	//
27884	//    * oracle-se
27885	//
27886	//    * postgres
27887	//
27888	//    * sqlserver-ee
27889	//
27890	//    * sqlserver-se
27891	//
27892	//    * sqlserver-ex
27893	//
27894	//    * sqlserver-web
27895	Engine *string `type:"string"`
27896
27897	// Specifies the amount of provisioned IOPS for the DB instance, expressed in
27898	// I/O operations per second. If this parameter is not specified, the IOPS value
27899	// is taken from the backup. If this parameter is set to 0, the new instance
27900	// is converted to a non-PIOPS instance. The conversion takes additional time,
27901	// though your DB instance is available for connections before the conversion
27902	// starts.
27903	//
27904	// The provisioned IOPS value must follow the requirements for your database
27905	// engine. For more information, see Amazon RDS Provisioned IOPS Storage to
27906	// Improve Performance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS).
27907	//
27908	// Constraints: Must be an integer greater than 1000.
27909	Iops *int64 `type:"integer"`
27910
27911	// License model information for the restored DB instance.
27912	//
27913	// Default: Same as source.
27914	//
27915	// Valid values: license-included | bring-your-own-license | general-public-license
27916	LicenseModel *string `type:"string"`
27917
27918	// Specifies if the DB instance is a Multi-AZ deployment.
27919	//
27920	// Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ
27921	// parameter is set to true.
27922	MultiAZ *bool `type:"boolean"`
27923
27924	// The name of the option group to be used for the restored DB instance.
27925	//
27926	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
27927	// can't be removed from an option group, and that option group can't be removed
27928	// from a DB instance once it is associated with a DB instance
27929	OptionGroupName *string `type:"string"`
27930
27931	// The port number on which the database accepts connections.
27932	//
27933	// Default: The same port as the original DB instance
27934	//
27935	// Constraints: Value must be 1150-65535
27936	Port *int64 `type:"integer"`
27937
27938	// The number of CPU cores and the number of threads per core for the DB instance
27939	// class of the DB instance.
27940	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
27941
27942	// Specifies the accessibility options for the DB instance. A value of true
27943	// specifies an Internet-facing instance with a publicly resolvable DNS name,
27944	// which resolves to a public IP address. A value of false specifies an internal
27945	// instance with a DNS name that resolves to a private IP address. For more
27946	// information, see CreateDBInstance.
27947	PubliclyAccessible *bool `type:"boolean"`
27948
27949	// Specifies the storage type to be associated with the DB instance.
27950	//
27951	// Valid values: standard | gp2 | io1
27952	//
27953	// If you specify io1, you must also include a value for the Iops parameter.
27954	//
27955	// Default: io1 if the Iops parameter is specified, otherwise standard
27956	StorageType *string `type:"string"`
27957
27958	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
27959	Tags []*Tag `locationNameList:"Tag" type:"list"`
27960
27961	// The ARN from the key store with which to associate the instance for TDE encryption.
27962	TdeCredentialArn *string `type:"string"`
27963
27964	// The password for the given ARN from the key store in order to access the
27965	// device.
27966	TdeCredentialPassword *string `type:"string"`
27967
27968	// A value that specifies that the DB instance class of the DB instance uses
27969	// its default processor features.
27970	UseDefaultProcessorFeatures *bool `type:"boolean"`
27971}
27972
27973// String returns the string representation
27974func (s RestoreDBInstanceFromDBSnapshotInput) String() string {
27975	return awsutil.Prettify(s)
27976}
27977
27978// GoString returns the string representation
27979func (s RestoreDBInstanceFromDBSnapshotInput) GoString() string {
27980	return s.String()
27981}
27982
27983// Validate inspects the fields of the type to determine if they are valid.
27984func (s *RestoreDBInstanceFromDBSnapshotInput) Validate() error {
27985	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromDBSnapshotInput"}
27986	if s.DBInstanceIdentifier == nil {
27987		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
27988	}
27989	if s.DBSnapshotIdentifier == nil {
27990		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
27991	}
27992
27993	if invalidParams.Len() > 0 {
27994		return invalidParams
27995	}
27996	return nil
27997}
27998
27999// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
28000func (s *RestoreDBInstanceFromDBSnapshotInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromDBSnapshotInput {
28001	s.AutoMinorVersionUpgrade = &v
28002	return s
28003}
28004
28005// SetAvailabilityZone sets the AvailabilityZone field's value.
28006func (s *RestoreDBInstanceFromDBSnapshotInput) SetAvailabilityZone(v string) *RestoreDBInstanceFromDBSnapshotInput {
28007	s.AvailabilityZone = &v
28008	return s
28009}
28010
28011// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
28012func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
28013	s.CopyTagsToSnapshot = &v
28014	return s
28015}
28016
28017// SetDBInstanceClass sets the DBInstanceClass field's value.
28018func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceClass(v string) *RestoreDBInstanceFromDBSnapshotInput {
28019	s.DBInstanceClass = &v
28020	return s
28021}
28022
28023// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
28024func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
28025	s.DBInstanceIdentifier = &v
28026	return s
28027}
28028
28029// SetDBName sets the DBName field's value.
28030func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBName(v string) *RestoreDBInstanceFromDBSnapshotInput {
28031	s.DBName = &v
28032	return s
28033}
28034
28035// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
28036func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSnapshotIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
28037	s.DBSnapshotIdentifier = &v
28038	return s
28039}
28040
28041// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
28042func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
28043	s.DBSubnetGroupName = &v
28044	return s
28045}
28046
28047// SetDomain sets the Domain field's value.
28048func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomain(v string) *RestoreDBInstanceFromDBSnapshotInput {
28049	s.Domain = &v
28050	return s
28051}
28052
28053// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
28054func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceFromDBSnapshotInput {
28055	s.DomainIAMRoleName = &v
28056	return s
28057}
28058
28059// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
28060func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
28061	s.EnableCloudwatchLogsExports = v
28062	return s
28063}
28064
28065// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
28066func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput {
28067	s.EnableIAMDatabaseAuthentication = &v
28068	return s
28069}
28070
28071// SetEngine sets the Engine field's value.
28072func (s *RestoreDBInstanceFromDBSnapshotInput) SetEngine(v string) *RestoreDBInstanceFromDBSnapshotInput {
28073	s.Engine = &v
28074	return s
28075}
28076
28077// SetIops sets the Iops field's value.
28078func (s *RestoreDBInstanceFromDBSnapshotInput) SetIops(v int64) *RestoreDBInstanceFromDBSnapshotInput {
28079	s.Iops = &v
28080	return s
28081}
28082
28083// SetLicenseModel sets the LicenseModel field's value.
28084func (s *RestoreDBInstanceFromDBSnapshotInput) SetLicenseModel(v string) *RestoreDBInstanceFromDBSnapshotInput {
28085	s.LicenseModel = &v
28086	return s
28087}
28088
28089// SetMultiAZ sets the MultiAZ field's value.
28090func (s *RestoreDBInstanceFromDBSnapshotInput) SetMultiAZ(v bool) *RestoreDBInstanceFromDBSnapshotInput {
28091	s.MultiAZ = &v
28092	return s
28093}
28094
28095// SetOptionGroupName sets the OptionGroupName field's value.
28096func (s *RestoreDBInstanceFromDBSnapshotInput) SetOptionGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
28097	s.OptionGroupName = &v
28098	return s
28099}
28100
28101// SetPort sets the Port field's value.
28102func (s *RestoreDBInstanceFromDBSnapshotInput) SetPort(v int64) *RestoreDBInstanceFromDBSnapshotInput {
28103	s.Port = &v
28104	return s
28105}
28106
28107// SetProcessorFeatures sets the ProcessorFeatures field's value.
28108func (s *RestoreDBInstanceFromDBSnapshotInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromDBSnapshotInput {
28109	s.ProcessorFeatures = v
28110	return s
28111}
28112
28113// SetPubliclyAccessible sets the PubliclyAccessible field's value.
28114func (s *RestoreDBInstanceFromDBSnapshotInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromDBSnapshotInput {
28115	s.PubliclyAccessible = &v
28116	return s
28117}
28118
28119// SetStorageType sets the StorageType field's value.
28120func (s *RestoreDBInstanceFromDBSnapshotInput) SetStorageType(v string) *RestoreDBInstanceFromDBSnapshotInput {
28121	s.StorageType = &v
28122	return s
28123}
28124
28125// SetTags sets the Tags field's value.
28126func (s *RestoreDBInstanceFromDBSnapshotInput) SetTags(v []*Tag) *RestoreDBInstanceFromDBSnapshotInput {
28127	s.Tags = v
28128	return s
28129}
28130
28131// SetTdeCredentialArn sets the TdeCredentialArn field's value.
28132func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialArn(v string) *RestoreDBInstanceFromDBSnapshotInput {
28133	s.TdeCredentialArn = &v
28134	return s
28135}
28136
28137// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
28138func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceFromDBSnapshotInput {
28139	s.TdeCredentialPassword = &v
28140	return s
28141}
28142
28143// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
28144func (s *RestoreDBInstanceFromDBSnapshotInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromDBSnapshotInput {
28145	s.UseDefaultProcessorFeatures = &v
28146	return s
28147}
28148
28149type RestoreDBInstanceFromDBSnapshotOutput struct {
28150	_ struct{} `type:"structure"`
28151
28152	// Contains the details of an Amazon RDS DB instance.
28153	//
28154	// This data type is used as a response element in the DescribeDBInstances action.
28155	DBInstance *DBInstance `type:"structure"`
28156}
28157
28158// String returns the string representation
28159func (s RestoreDBInstanceFromDBSnapshotOutput) String() string {
28160	return awsutil.Prettify(s)
28161}
28162
28163// GoString returns the string representation
28164func (s RestoreDBInstanceFromDBSnapshotOutput) GoString() string {
28165	return s.String()
28166}
28167
28168// SetDBInstance sets the DBInstance field's value.
28169func (s *RestoreDBInstanceFromDBSnapshotOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromDBSnapshotOutput {
28170	s.DBInstance = v
28171	return s
28172}
28173
28174type RestoreDBInstanceFromS3Input struct {
28175	_ struct{} `type:"structure"`
28176
28177	// The amount of storage (in gigabytes) to allocate initially for the DB instance.
28178	// Follow the allocation rules specified in CreateDBInstance.
28179	//
28180	// Be sure to allocate enough memory for your new DB instance so that the restore
28181	// operation can succeed. You can also allocate additional memory for future
28182	// growth.
28183	AllocatedStorage *int64 `type:"integer"`
28184
28185	// True to indicate that minor engine upgrades are applied automatically to
28186	// the DB instance during the maintenance window, and otherwise false.
28187	//
28188	// Default: true
28189	AutoMinorVersionUpgrade *bool `type:"boolean"`
28190
28191	// The Availability Zone that the DB instance is created in. For information
28192	// about AWS Regions and Availability Zones, see Regions and Availability Zones
28193	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
28194	//
28195	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
28196	// Region.
28197	//
28198	// Example: us-east-1d
28199	//
28200	// Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ
28201	// parameter is set to true. The specified Availability Zone must be in the
28202	// same AWS Region as the current endpoint.
28203	AvailabilityZone *string `type:"string"`
28204
28205	// The number of days for which automated backups are retained. Setting this
28206	// parameter to a positive number enables backups. For more information, see
28207	// CreateDBInstance.
28208	BackupRetentionPeriod *int64 `type:"integer"`
28209
28210	// True to copy all tags from the DB instance to snapshots of the DB instance,
28211	// and otherwise false.
28212	//
28213	// Default: false.
28214	CopyTagsToSnapshot *bool `type:"boolean"`
28215
28216	// The compute and memory capacity of the DB instance, for example, db.m4.large.
28217	// Not all DB instance classes are available in all AWS Regions, or for all
28218	// database engines. For the full list of DB instance classes, and availability
28219	// for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
28220	// in the Amazon RDS User Guide.
28221	//
28222	// Importing from Amazon S3 is not supported on the db.t2.micro DB instance
28223	// class.
28224	//
28225	// DBInstanceClass is a required field
28226	DBInstanceClass *string `type:"string" required:"true"`
28227
28228	// The DB instance identifier. This parameter is stored as a lowercase string.
28229	//
28230	// Constraints:
28231	//
28232	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
28233	//
28234	//    * First character must be a letter.
28235	//
28236	//    * Cannot end with a hyphen or contain two consecutive hyphens.
28237	//
28238	// Example: mydbinstance
28239	//
28240	// DBInstanceIdentifier is a required field
28241	DBInstanceIdentifier *string `type:"string" required:"true"`
28242
28243	// The name of the database to create when the DB instance is created. Follow
28244	// the naming rules specified in CreateDBInstance.
28245	DBName *string `type:"string"`
28246
28247	// The name of the DB parameter group to associate with this DB instance. If
28248	// this argument is omitted, the default parameter group for the specified engine
28249	// is used.
28250	DBParameterGroupName *string `type:"string"`
28251
28252	// A list of DB security groups to associate with this DB instance.
28253	//
28254	// Default: The default DB security group for the database engine.
28255	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
28256
28257	// A DB subnet group to associate with this DB instance.
28258	DBSubnetGroupName *string `type:"string"`
28259
28260	// The list of logs that the restored DB instance is to export to CloudWatch
28261	// Logs. The values in the list depend on the DB engine being used. For more
28262	// information, see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
28263	// in the Amazon Relational Database Service User Guide.
28264	EnableCloudwatchLogsExports []*string `type:"list"`
28265
28266	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
28267	// to database accounts, and otherwise false.
28268	//
28269	// Default: false
28270	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
28271
28272	// True to enable Performance Insights for the DB instance, and otherwise false.
28273	//
28274	// For more information, see Using Amazon Performance Insights (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
28275	// in the Amazon Relational Database Service User Guide.
28276	EnablePerformanceInsights *bool `type:"boolean"`
28277
28278	// The name of the database engine to be used for this instance.
28279	//
28280	// Valid Values: mysql
28281	//
28282	// Engine is a required field
28283	Engine *string `type:"string" required:"true"`
28284
28285	// The version number of the database engine to use. Choose the latest minor
28286	// version of your database engine. For information about engine versions, see
28287	// CreateDBInstance, or call DescribeDBEngineVersions.
28288	EngineVersion *string `type:"string"`
28289
28290	// The amount of Provisioned IOPS (input/output operations per second) to allocate
28291	// initially for the DB instance. For information about valid Iops values, see
28292	// see Amazon RDS Provisioned IOPS Storage to Improve Performance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS).
28293	Iops *int64 `type:"integer"`
28294
28295	// The AWS KMS key identifier for an encrypted DB instance.
28296	//
28297	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
28298	// key. If you are creating a DB instance with the same AWS account that owns
28299	// the KMS encryption key used to encrypt the new DB instance, then you can
28300	// use the KMS key alias instead of the ARN for the KM encryption key.
28301	//
28302	// If the StorageEncrypted parameter is true, and you do not specify a value
28303	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
28304	// key. AWS KMS creates the default encryption key for your AWS account. Your
28305	// AWS account has a different default encryption key for each AWS Region.
28306	KmsKeyId *string `type:"string"`
28307
28308	// The license model for this DB instance. Use general-public-license.
28309	LicenseModel *string `type:"string"`
28310
28311	// The password for the master user. The password can include any printable
28312	// ASCII character except "/", """, or "@".
28313	//
28314	// Constraints: Must contain from 8 to 41 characters.
28315	MasterUserPassword *string `type:"string"`
28316
28317	// The name for the master user.
28318	//
28319	// Constraints:
28320	//
28321	//    * Must be 1 to 16 letters or numbers.
28322	//
28323	//    * First character must be a letter.
28324	//
28325	//    * Cannot be a reserved word for the chosen database engine.
28326	MasterUsername *string `type:"string"`
28327
28328	// The interval, in seconds, between points when Enhanced Monitoring metrics
28329	// are collected for the DB instance. To disable collecting Enhanced Monitoring
28330	// metrics, specify 0.
28331	//
28332	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
28333	// to a value other than 0.
28334	//
28335	// Valid Values: 0, 1, 5, 10, 15, 30, 60
28336	//
28337	// Default: 0
28338	MonitoringInterval *int64 `type:"integer"`
28339
28340	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
28341	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
28342	// For information on creating a monitoring role, see Setting Up and Enabling
28343	// Enhanced Monitoring (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling).
28344	//
28345	// If MonitoringInterval is set to a value other than 0, then you must supply
28346	// a MonitoringRoleArn value.
28347	MonitoringRoleArn *string `type:"string"`
28348
28349	// Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ is
28350	// set to true, you can't set the AvailabilityZone parameter.
28351	MultiAZ *bool `type:"boolean"`
28352
28353	// The name of the option group to associate with this DB instance. If this
28354	// argument is omitted, the default option group for the specified engine is
28355	// used.
28356	OptionGroupName *string `type:"string"`
28357
28358	// The AWS KMS key identifier for encryption of Performance Insights data. The
28359	// KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or
28360	// the KMS key alias for the KMS encryption key.
28361	PerformanceInsightsKMSKeyId *string `type:"string"`
28362
28363	// The amount of time, in days, to retain Performance Insights data. Valid values
28364	// are 7 or 731 (2 years).
28365	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
28366
28367	// The port number on which the database accepts connections.
28368	//
28369	// Type: Integer
28370	//
28371	// Valid Values: 1150-65535
28372	//
28373	// Default: 3306
28374	Port *int64 `type:"integer"`
28375
28376	// The time range each day during which automated backups are created if automated
28377	// backups are enabled. For more information, see The Backup Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow).
28378	//
28379	// Constraints:
28380	//
28381	//    * Must be in the format hh24:mi-hh24:mi.
28382	//
28383	//    * Must be in Universal Coordinated Time (UTC).
28384	//
28385	//    * Must not conflict with the preferred maintenance window.
28386	//
28387	//    * Must be at least 30 minutes.
28388	PreferredBackupWindow *string `type:"string"`
28389
28390	// The time range each week during which system maintenance can occur, in Universal
28391	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
28392	// Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
28393	//
28394	// Constraints:
28395	//
28396	//    * Must be in the format ddd:hh24:mi-ddd:hh24:mi.
28397	//
28398	//    * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
28399	//
28400	//    * Must be in Universal Coordinated Time (UTC).
28401	//
28402	//    * Must not conflict with the preferred backup window.
28403	//
28404	//    * Must be at least 30 minutes.
28405	PreferredMaintenanceWindow *string `type:"string"`
28406
28407	// The number of CPU cores and the number of threads per core for the DB instance
28408	// class of the DB instance.
28409	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
28410
28411	// Specifies the accessibility options for the DB instance. A value of true
28412	// specifies an Internet-facing instance with a publicly resolvable DNS name,
28413	// which resolves to a public IP address. A value of false specifies an internal
28414	// instance with a DNS name that resolves to a private IP address. For more
28415	// information, see CreateDBInstance.
28416	PubliclyAccessible *bool `type:"boolean"`
28417
28418	// The name of your Amazon S3 bucket that contains your database backup file.
28419	//
28420	// S3BucketName is a required field
28421	S3BucketName *string `type:"string" required:"true"`
28422
28423	// An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access
28424	// your Amazon S3 bucket.
28425	//
28426	// S3IngestionRoleArn is a required field
28427	S3IngestionRoleArn *string `type:"string" required:"true"`
28428
28429	// The prefix of your Amazon S3 bucket.
28430	S3Prefix *string `type:"string"`
28431
28432	// The name of the engine of your source database.
28433	//
28434	// Valid Values: mysql
28435	//
28436	// SourceEngine is a required field
28437	SourceEngine *string `type:"string" required:"true"`
28438
28439	// The engine version of your source database.
28440	//
28441	// Valid Values: 5.6
28442	//
28443	// SourceEngineVersion is a required field
28444	SourceEngineVersion *string `type:"string" required:"true"`
28445
28446	// Specifies whether the new DB instance is encrypted or not.
28447	StorageEncrypted *bool `type:"boolean"`
28448
28449	// Specifies the storage type to be associated with the DB instance.
28450	//
28451	// Valid values: standard | gp2 | io1
28452	//
28453	// If you specify io1, you must also include a value for the Iops parameter.
28454	//
28455	// Default: io1 if the Iops parameter is specified; otherwise standard
28456	StorageType *string `type:"string"`
28457
28458	// A list of tags to associate with this DB instance. For more information,
28459	// see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
28460	Tags []*Tag `locationNameList:"Tag" type:"list"`
28461
28462	// A value that specifies that the DB instance class of the DB instance uses
28463	// its default processor features.
28464	UseDefaultProcessorFeatures *bool `type:"boolean"`
28465
28466	// A list of VPC security groups to associate with this DB instance.
28467	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
28468}
28469
28470// String returns the string representation
28471func (s RestoreDBInstanceFromS3Input) String() string {
28472	return awsutil.Prettify(s)
28473}
28474
28475// GoString returns the string representation
28476func (s RestoreDBInstanceFromS3Input) GoString() string {
28477	return s.String()
28478}
28479
28480// Validate inspects the fields of the type to determine if they are valid.
28481func (s *RestoreDBInstanceFromS3Input) Validate() error {
28482	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromS3Input"}
28483	if s.DBInstanceClass == nil {
28484		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
28485	}
28486	if s.DBInstanceIdentifier == nil {
28487		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
28488	}
28489	if s.Engine == nil {
28490		invalidParams.Add(request.NewErrParamRequired("Engine"))
28491	}
28492	if s.S3BucketName == nil {
28493		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
28494	}
28495	if s.S3IngestionRoleArn == nil {
28496		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
28497	}
28498	if s.SourceEngine == nil {
28499		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
28500	}
28501	if s.SourceEngineVersion == nil {
28502		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
28503	}
28504
28505	if invalidParams.Len() > 0 {
28506		return invalidParams
28507	}
28508	return nil
28509}
28510
28511// SetAllocatedStorage sets the AllocatedStorage field's value.
28512func (s *RestoreDBInstanceFromS3Input) SetAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
28513	s.AllocatedStorage = &v
28514	return s
28515}
28516
28517// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
28518func (s *RestoreDBInstanceFromS3Input) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromS3Input {
28519	s.AutoMinorVersionUpgrade = &v
28520	return s
28521}
28522
28523// SetAvailabilityZone sets the AvailabilityZone field's value.
28524func (s *RestoreDBInstanceFromS3Input) SetAvailabilityZone(v string) *RestoreDBInstanceFromS3Input {
28525	s.AvailabilityZone = &v
28526	return s
28527}
28528
28529// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
28530func (s *RestoreDBInstanceFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
28531	s.BackupRetentionPeriod = &v
28532	return s
28533}
28534
28535// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
28536func (s *RestoreDBInstanceFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromS3Input {
28537	s.CopyTagsToSnapshot = &v
28538	return s
28539}
28540
28541// SetDBInstanceClass sets the DBInstanceClass field's value.
28542func (s *RestoreDBInstanceFromS3Input) SetDBInstanceClass(v string) *RestoreDBInstanceFromS3Input {
28543	s.DBInstanceClass = &v
28544	return s
28545}
28546
28547// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
28548func (s *RestoreDBInstanceFromS3Input) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromS3Input {
28549	s.DBInstanceIdentifier = &v
28550	return s
28551}
28552
28553// SetDBName sets the DBName field's value.
28554func (s *RestoreDBInstanceFromS3Input) SetDBName(v string) *RestoreDBInstanceFromS3Input {
28555	s.DBName = &v
28556	return s
28557}
28558
28559// SetDBParameterGroupName sets the DBParameterGroupName field's value.
28560func (s *RestoreDBInstanceFromS3Input) SetDBParameterGroupName(v string) *RestoreDBInstanceFromS3Input {
28561	s.DBParameterGroupName = &v
28562	return s
28563}
28564
28565// SetDBSecurityGroups sets the DBSecurityGroups field's value.
28566func (s *RestoreDBInstanceFromS3Input) SetDBSecurityGroups(v []*string) *RestoreDBInstanceFromS3Input {
28567	s.DBSecurityGroups = v
28568	return s
28569}
28570
28571// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
28572func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromS3Input {
28573	s.DBSubnetGroupName = &v
28574	return s
28575}
28576
28577// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
28578func (s *RestoreDBInstanceFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromS3Input {
28579	s.EnableCloudwatchLogsExports = v
28580	return s
28581}
28582
28583// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
28584func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input {
28585	s.EnableIAMDatabaseAuthentication = &v
28586	return s
28587}
28588
28589// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
28590func (s *RestoreDBInstanceFromS3Input) SetEnablePerformanceInsights(v bool) *RestoreDBInstanceFromS3Input {
28591	s.EnablePerformanceInsights = &v
28592	return s
28593}
28594
28595// SetEngine sets the Engine field's value.
28596func (s *RestoreDBInstanceFromS3Input) SetEngine(v string) *RestoreDBInstanceFromS3Input {
28597	s.Engine = &v
28598	return s
28599}
28600
28601// SetEngineVersion sets the EngineVersion field's value.
28602func (s *RestoreDBInstanceFromS3Input) SetEngineVersion(v string) *RestoreDBInstanceFromS3Input {
28603	s.EngineVersion = &v
28604	return s
28605}
28606
28607// SetIops sets the Iops field's value.
28608func (s *RestoreDBInstanceFromS3Input) SetIops(v int64) *RestoreDBInstanceFromS3Input {
28609	s.Iops = &v
28610	return s
28611}
28612
28613// SetKmsKeyId sets the KmsKeyId field's value.
28614func (s *RestoreDBInstanceFromS3Input) SetKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
28615	s.KmsKeyId = &v
28616	return s
28617}
28618
28619// SetLicenseModel sets the LicenseModel field's value.
28620func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInstanceFromS3Input {
28621	s.LicenseModel = &v
28622	return s
28623}
28624
28625// SetMasterUserPassword sets the MasterUserPassword field's value.
28626func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
28627	s.MasterUserPassword = &v
28628	return s
28629}
28630
28631// SetMasterUsername sets the MasterUsername field's value.
28632func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
28633	s.MasterUsername = &v
28634	return s
28635}
28636
28637// SetMonitoringInterval sets the MonitoringInterval field's value.
28638func (s *RestoreDBInstanceFromS3Input) SetMonitoringInterval(v int64) *RestoreDBInstanceFromS3Input {
28639	s.MonitoringInterval = &v
28640	return s
28641}
28642
28643// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
28644func (s *RestoreDBInstanceFromS3Input) SetMonitoringRoleArn(v string) *RestoreDBInstanceFromS3Input {
28645	s.MonitoringRoleArn = &v
28646	return s
28647}
28648
28649// SetMultiAZ sets the MultiAZ field's value.
28650func (s *RestoreDBInstanceFromS3Input) SetMultiAZ(v bool) *RestoreDBInstanceFromS3Input {
28651	s.MultiAZ = &v
28652	return s
28653}
28654
28655// SetOptionGroupName sets the OptionGroupName field's value.
28656func (s *RestoreDBInstanceFromS3Input) SetOptionGroupName(v string) *RestoreDBInstanceFromS3Input {
28657	s.OptionGroupName = &v
28658	return s
28659}
28660
28661// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
28662func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsKMSKeyId(v string) *RestoreDBInstanceFromS3Input {
28663	s.PerformanceInsightsKMSKeyId = &v
28664	return s
28665}
28666
28667// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
28668func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
28669	s.PerformanceInsightsRetentionPeriod = &v
28670	return s
28671}
28672
28673// SetPort sets the Port field's value.
28674func (s *RestoreDBInstanceFromS3Input) SetPort(v int64) *RestoreDBInstanceFromS3Input {
28675	s.Port = &v
28676	return s
28677}
28678
28679// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
28680func (s *RestoreDBInstanceFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBInstanceFromS3Input {
28681	s.PreferredBackupWindow = &v
28682	return s
28683}
28684
28685// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
28686func (s *RestoreDBInstanceFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBInstanceFromS3Input {
28687	s.PreferredMaintenanceWindow = &v
28688	return s
28689}
28690
28691// SetProcessorFeatures sets the ProcessorFeatures field's value.
28692func (s *RestoreDBInstanceFromS3Input) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromS3Input {
28693	s.ProcessorFeatures = v
28694	return s
28695}
28696
28697// SetPubliclyAccessible sets the PubliclyAccessible field's value.
28698func (s *RestoreDBInstanceFromS3Input) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromS3Input {
28699	s.PubliclyAccessible = &v
28700	return s
28701}
28702
28703// SetS3BucketName sets the S3BucketName field's value.
28704func (s *RestoreDBInstanceFromS3Input) SetS3BucketName(v string) *RestoreDBInstanceFromS3Input {
28705	s.S3BucketName = &v
28706	return s
28707}
28708
28709// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
28710func (s *RestoreDBInstanceFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBInstanceFromS3Input {
28711	s.S3IngestionRoleArn = &v
28712	return s
28713}
28714
28715// SetS3Prefix sets the S3Prefix field's value.
28716func (s *RestoreDBInstanceFromS3Input) SetS3Prefix(v string) *RestoreDBInstanceFromS3Input {
28717	s.S3Prefix = &v
28718	return s
28719}
28720
28721// SetSourceEngine sets the SourceEngine field's value.
28722func (s *RestoreDBInstanceFromS3Input) SetSourceEngine(v string) *RestoreDBInstanceFromS3Input {
28723	s.SourceEngine = &v
28724	return s
28725}
28726
28727// SetSourceEngineVersion sets the SourceEngineVersion field's value.
28728func (s *RestoreDBInstanceFromS3Input) SetSourceEngineVersion(v string) *RestoreDBInstanceFromS3Input {
28729	s.SourceEngineVersion = &v
28730	return s
28731}
28732
28733// SetStorageEncrypted sets the StorageEncrypted field's value.
28734func (s *RestoreDBInstanceFromS3Input) SetStorageEncrypted(v bool) *RestoreDBInstanceFromS3Input {
28735	s.StorageEncrypted = &v
28736	return s
28737}
28738
28739// SetStorageType sets the StorageType field's value.
28740func (s *RestoreDBInstanceFromS3Input) SetStorageType(v string) *RestoreDBInstanceFromS3Input {
28741	s.StorageType = &v
28742	return s
28743}
28744
28745// SetTags sets the Tags field's value.
28746func (s *RestoreDBInstanceFromS3Input) SetTags(v []*Tag) *RestoreDBInstanceFromS3Input {
28747	s.Tags = v
28748	return s
28749}
28750
28751// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
28752func (s *RestoreDBInstanceFromS3Input) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromS3Input {
28753	s.UseDefaultProcessorFeatures = &v
28754	return s
28755}
28756
28757// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
28758func (s *RestoreDBInstanceFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromS3Input {
28759	s.VpcSecurityGroupIds = v
28760	return s
28761}
28762
28763type RestoreDBInstanceFromS3Output struct {
28764	_ struct{} `type:"structure"`
28765
28766	// Contains the details of an Amazon RDS DB instance.
28767	//
28768	// This data type is used as a response element in the DescribeDBInstances action.
28769	DBInstance *DBInstance `type:"structure"`
28770}
28771
28772// String returns the string representation
28773func (s RestoreDBInstanceFromS3Output) String() string {
28774	return awsutil.Prettify(s)
28775}
28776
28777// GoString returns the string representation
28778func (s RestoreDBInstanceFromS3Output) GoString() string {
28779	return s.String()
28780}
28781
28782// SetDBInstance sets the DBInstance field's value.
28783func (s *RestoreDBInstanceFromS3Output) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromS3Output {
28784	s.DBInstance = v
28785	return s
28786}
28787
28788type RestoreDBInstanceToPointInTimeInput struct {
28789	_ struct{} `type:"structure"`
28790
28791	// Indicates that minor version upgrades are applied automatically to the DB
28792	// instance during the maintenance window.
28793	AutoMinorVersionUpgrade *bool `type:"boolean"`
28794
28795	// The EC2 Availability Zone that the DB instance is created in.
28796	//
28797	// Default: A random, system-chosen Availability Zone.
28798	//
28799	// Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ
28800	// parameter is set to true.
28801	//
28802	// Example: us-east-1a
28803	AvailabilityZone *string `type:"string"`
28804
28805	// True to copy all tags from the restored DB instance to snapshots of the DB
28806	// instance, and otherwise false. The default is false.
28807	CopyTagsToSnapshot *bool `type:"boolean"`
28808
28809	// The compute and memory capacity of the Amazon RDS DB instance, for example,
28810	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
28811	// or for all database engines. For the full list of DB instance classes, and
28812	// availability for your engine, see DB Instance Class (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
28813	// in the Amazon RDS User Guide.
28814	//
28815	// Default: The same DBInstanceClass as the original DB instance.
28816	DBInstanceClass *string `type:"string"`
28817
28818	// The database name for the restored DB instance.
28819	//
28820	// This parameter is not used for the MySQL or MariaDB engines.
28821	DBName *string `type:"string"`
28822
28823	// The DB subnet group name to use for the new instance.
28824	//
28825	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
28826	//
28827	// Example: mySubnetgroup
28828	DBSubnetGroupName *string `type:"string"`
28829
28830	// Specify the Active Directory Domain to restore the instance in.
28831	Domain *string `type:"string"`
28832
28833	// Specify the name of the IAM role to be used when making API calls to the
28834	// Directory Service.
28835	DomainIAMRoleName *string `type:"string"`
28836
28837	// The list of logs that the restored DB instance is to export to CloudWatch
28838	// Logs. The values in the list depend on the DB engine being used. For more
28839	// information, see Publishing Database Logs to Amazon CloudWatch Logs  (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
28840	// in the Amazon Relational Database Service User Guide.
28841	EnableCloudwatchLogsExports []*string `type:"list"`
28842
28843	// True to enable mapping of AWS Identity and Access Management (IAM) accounts
28844	// to database accounts, and otherwise false.
28845	//
28846	// You can enable IAM database authentication for the following database engines
28847	//
28848	//    * For MySQL 5.6, minor version 5.6.34 or higher
28849	//
28850	//    * For MySQL 5.7, minor version 5.7.16 or higher
28851	//
28852	// Default: false
28853	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
28854
28855	// The database engine to use for the new instance.
28856	//
28857	// Default: The same as source
28858	//
28859	// Constraint: Must be compatible with the engine of the source
28860	//
28861	// Valid Values:
28862	//
28863	//    * mariadb
28864	//
28865	//    * mysql
28866	//
28867	//    * oracle-ee
28868	//
28869	//    * oracle-se2
28870	//
28871	//    * oracle-se1
28872	//
28873	//    * oracle-se
28874	//
28875	//    * postgres
28876	//
28877	//    * sqlserver-ee
28878	//
28879	//    * sqlserver-se
28880	//
28881	//    * sqlserver-ex
28882	//
28883	//    * sqlserver-web
28884	Engine *string `type:"string"`
28885
28886	// The amount of Provisioned IOPS (input/output operations per second) to be
28887	// initially allocated for the DB instance.
28888	//
28889	// Constraints: Must be an integer greater than 1000.
28890	//
28891	// SQL Server
28892	//
28893	// Setting the IOPS value for the SQL Server database engine is not supported.
28894	Iops *int64 `type:"integer"`
28895
28896	// License model information for the restored DB instance.
28897	//
28898	// Default: Same as source.
28899	//
28900	// Valid values: license-included | bring-your-own-license | general-public-license
28901	LicenseModel *string `type:"string"`
28902
28903	// Specifies if the DB instance is a Multi-AZ deployment.
28904	//
28905	// Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ
28906	// parameter is set to true.
28907	MultiAZ *bool `type:"boolean"`
28908
28909	// The name of the option group to be used for the restored DB instance.
28910	//
28911	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
28912	// can't be removed from an option group, and that option group can't be removed
28913	// from a DB instance once it is associated with a DB instance
28914	OptionGroupName *string `type:"string"`
28915
28916	// The port number on which the database accepts connections.
28917	//
28918	// Constraints: Value must be 1150-65535
28919	//
28920	// Default: The same port as the original DB instance.
28921	Port *int64 `type:"integer"`
28922
28923	// The number of CPU cores and the number of threads per core for the DB instance
28924	// class of the DB instance.
28925	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
28926
28927	// Specifies the accessibility options for the DB instance. A value of true
28928	// specifies an Internet-facing instance with a publicly resolvable DNS name,
28929	// which resolves to a public IP address. A value of false specifies an internal
28930	// instance with a DNS name that resolves to a private IP address. For more
28931	// information, see CreateDBInstance.
28932	PubliclyAccessible *bool `type:"boolean"`
28933
28934	// The date and time to restore from.
28935	//
28936	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
28937	//
28938	// Constraints:
28939	//
28940	//    * Must be before the latest restorable time for the DB instance
28941	//
28942	//    * Cannot be specified if UseLatestRestorableTime parameter is true
28943	//
28944	// Example: 2009-09-07T23:45:00Z
28945	RestoreTime *time.Time `type:"timestamp"`
28946
28947	// The identifier of the source DB instance from which to restore.
28948	//
28949	// Constraints:
28950	//
28951	//    * Must match the identifier of an existing DB instance.
28952	//
28953	// SourceDBInstanceIdentifier is a required field
28954	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
28955
28956	// Specifies the storage type to be associated with the DB instance.
28957	//
28958	// Valid values: standard | gp2 | io1
28959	//
28960	// If you specify io1, you must also include a value for the Iops parameter.
28961	//
28962	// Default: io1 if the Iops parameter is specified, otherwise standard
28963	StorageType *string `type:"string"`
28964
28965	// A list of tags. For more information, see Tagging Amazon RDS Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html).
28966	Tags []*Tag `locationNameList:"Tag" type:"list"`
28967
28968	// The name of the new DB instance to be created.
28969	//
28970	// Constraints:
28971	//
28972	//    * Must contain from 1 to 63 letters, numbers, or hyphens
28973	//
28974	//    * First character must be a letter
28975	//
28976	//    * Cannot end with a hyphen or contain two consecutive hyphens
28977	//
28978	// TargetDBInstanceIdentifier is a required field
28979	TargetDBInstanceIdentifier *string `type:"string" required:"true"`
28980
28981	// The ARN from the key store with which to associate the instance for TDE encryption.
28982	TdeCredentialArn *string `type:"string"`
28983
28984	// The password for the given ARN from the key store in order to access the
28985	// device.
28986	TdeCredentialPassword *string `type:"string"`
28987
28988	// A value that specifies that the DB instance class of the DB instance uses
28989	// its default processor features.
28990	UseDefaultProcessorFeatures *bool `type:"boolean"`
28991
28992	// Specifies whether (true) or not (false) the DB instance is restored from
28993	// the latest backup time.
28994	//
28995	// Default: false
28996	//
28997	// Constraints: Cannot be specified if RestoreTime parameter is provided.
28998	UseLatestRestorableTime *bool `type:"boolean"`
28999}
29000
29001// String returns the string representation
29002func (s RestoreDBInstanceToPointInTimeInput) String() string {
29003	return awsutil.Prettify(s)
29004}
29005
29006// GoString returns the string representation
29007func (s RestoreDBInstanceToPointInTimeInput) GoString() string {
29008	return s.String()
29009}
29010
29011// Validate inspects the fields of the type to determine if they are valid.
29012func (s *RestoreDBInstanceToPointInTimeInput) Validate() error {
29013	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceToPointInTimeInput"}
29014	if s.SourceDBInstanceIdentifier == nil {
29015		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
29016	}
29017	if s.TargetDBInstanceIdentifier == nil {
29018		invalidParams.Add(request.NewErrParamRequired("TargetDBInstanceIdentifier"))
29019	}
29020
29021	if invalidParams.Len() > 0 {
29022		return invalidParams
29023	}
29024	return nil
29025}
29026
29027// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
29028func (s *RestoreDBInstanceToPointInTimeInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceToPointInTimeInput {
29029	s.AutoMinorVersionUpgrade = &v
29030	return s
29031}
29032
29033// SetAvailabilityZone sets the AvailabilityZone field's value.
29034func (s *RestoreDBInstanceToPointInTimeInput) SetAvailabilityZone(v string) *RestoreDBInstanceToPointInTimeInput {
29035	s.AvailabilityZone = &v
29036	return s
29037}
29038
29039// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
29040func (s *RestoreDBInstanceToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceToPointInTimeInput {
29041	s.CopyTagsToSnapshot = &v
29042	return s
29043}
29044
29045// SetDBInstanceClass sets the DBInstanceClass field's value.
29046func (s *RestoreDBInstanceToPointInTimeInput) SetDBInstanceClass(v string) *RestoreDBInstanceToPointInTimeInput {
29047	s.DBInstanceClass = &v
29048	return s
29049}
29050
29051// SetDBName sets the DBName field's value.
29052func (s *RestoreDBInstanceToPointInTimeInput) SetDBName(v string) *RestoreDBInstanceToPointInTimeInput {
29053	s.DBName = &v
29054	return s
29055}
29056
29057// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
29058func (s *RestoreDBInstanceToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
29059	s.DBSubnetGroupName = &v
29060	return s
29061}
29062
29063// SetDomain sets the Domain field's value.
29064func (s *RestoreDBInstanceToPointInTimeInput) SetDomain(v string) *RestoreDBInstanceToPointInTimeInput {
29065	s.Domain = &v
29066	return s
29067}
29068
29069// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
29070func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceToPointInTimeInput {
29071	s.DomainIAMRoleName = &v
29072	return s
29073}
29074
29075// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
29076func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceToPointInTimeInput {
29077	s.EnableCloudwatchLogsExports = v
29078	return s
29079}
29080
29081// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
29082func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput {
29083	s.EnableIAMDatabaseAuthentication = &v
29084	return s
29085}
29086
29087// SetEngine sets the Engine field's value.
29088func (s *RestoreDBInstanceToPointInTimeInput) SetEngine(v string) *RestoreDBInstanceToPointInTimeInput {
29089	s.Engine = &v
29090	return s
29091}
29092
29093// SetIops sets the Iops field's value.
29094func (s *RestoreDBInstanceToPointInTimeInput) SetIops(v int64) *RestoreDBInstanceToPointInTimeInput {
29095	s.Iops = &v
29096	return s
29097}
29098
29099// SetLicenseModel sets the LicenseModel field's value.
29100func (s *RestoreDBInstanceToPointInTimeInput) SetLicenseModel(v string) *RestoreDBInstanceToPointInTimeInput {
29101	s.LicenseModel = &v
29102	return s
29103}
29104
29105// SetMultiAZ sets the MultiAZ field's value.
29106func (s *RestoreDBInstanceToPointInTimeInput) SetMultiAZ(v bool) *RestoreDBInstanceToPointInTimeInput {
29107	s.MultiAZ = &v
29108	return s
29109}
29110
29111// SetOptionGroupName sets the OptionGroupName field's value.
29112func (s *RestoreDBInstanceToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
29113	s.OptionGroupName = &v
29114	return s
29115}
29116
29117// SetPort sets the Port field's value.
29118func (s *RestoreDBInstanceToPointInTimeInput) SetPort(v int64) *RestoreDBInstanceToPointInTimeInput {
29119	s.Port = &v
29120	return s
29121}
29122
29123// SetProcessorFeatures sets the ProcessorFeatures field's value.
29124func (s *RestoreDBInstanceToPointInTimeInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceToPointInTimeInput {
29125	s.ProcessorFeatures = v
29126	return s
29127}
29128
29129// SetPubliclyAccessible sets the PubliclyAccessible field's value.
29130func (s *RestoreDBInstanceToPointInTimeInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceToPointInTimeInput {
29131	s.PubliclyAccessible = &v
29132	return s
29133}
29134
29135// SetRestoreTime sets the RestoreTime field's value.
29136func (s *RestoreDBInstanceToPointInTimeInput) SetRestoreTime(v time.Time) *RestoreDBInstanceToPointInTimeInput {
29137	s.RestoreTime = &v
29138	return s
29139}
29140
29141// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
29142func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
29143	s.SourceDBInstanceIdentifier = &v
29144	return s
29145}
29146
29147// SetStorageType sets the StorageType field's value.
29148func (s *RestoreDBInstanceToPointInTimeInput) SetStorageType(v string) *RestoreDBInstanceToPointInTimeInput {
29149	s.StorageType = &v
29150	return s
29151}
29152
29153// SetTags sets the Tags field's value.
29154func (s *RestoreDBInstanceToPointInTimeInput) SetTags(v []*Tag) *RestoreDBInstanceToPointInTimeInput {
29155	s.Tags = v
29156	return s
29157}
29158
29159// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
29160func (s *RestoreDBInstanceToPointInTimeInput) SetTargetDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
29161	s.TargetDBInstanceIdentifier = &v
29162	return s
29163}
29164
29165// SetTdeCredentialArn sets the TdeCredentialArn field's value.
29166func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialArn(v string) *RestoreDBInstanceToPointInTimeInput {
29167	s.TdeCredentialArn = &v
29168	return s
29169}
29170
29171// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
29172func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceToPointInTimeInput {
29173	s.TdeCredentialPassword = &v
29174	return s
29175}
29176
29177// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
29178func (s *RestoreDBInstanceToPointInTimeInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceToPointInTimeInput {
29179	s.UseDefaultProcessorFeatures = &v
29180	return s
29181}
29182
29183// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
29184func (s *RestoreDBInstanceToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBInstanceToPointInTimeInput {
29185	s.UseLatestRestorableTime = &v
29186	return s
29187}
29188
29189type RestoreDBInstanceToPointInTimeOutput struct {
29190	_ struct{} `type:"structure"`
29191
29192	// Contains the details of an Amazon RDS DB instance.
29193	//
29194	// This data type is used as a response element in the DescribeDBInstances action.
29195	DBInstance *DBInstance `type:"structure"`
29196}
29197
29198// String returns the string representation
29199func (s RestoreDBInstanceToPointInTimeOutput) String() string {
29200	return awsutil.Prettify(s)
29201}
29202
29203// GoString returns the string representation
29204func (s RestoreDBInstanceToPointInTimeOutput) GoString() string {
29205	return s.String()
29206}
29207
29208// SetDBInstance sets the DBInstance field's value.
29209func (s *RestoreDBInstanceToPointInTimeOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceToPointInTimeOutput {
29210	s.DBInstance = v
29211	return s
29212}
29213
29214type RevokeDBSecurityGroupIngressInput struct {
29215	_ struct{} `type:"structure"`
29216
29217	// The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP
29218	// is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId
29219	// can't be provided.
29220	CIDRIP *string `type:"string"`
29221
29222	// The name of the DB security group to revoke ingress from.
29223	//
29224	// DBSecurityGroupName is a required field
29225	DBSecurityGroupName *string `type:"string" required:"true"`
29226
29227	// The id of the EC2 security group to revoke access from. For VPC DB security
29228	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
29229	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
29230	EC2SecurityGroupId *string `type:"string"`
29231
29232	// The name of the EC2 security group to revoke access from. For VPC DB security
29233	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
29234	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
29235	EC2SecurityGroupName *string `type:"string"`
29236
29237	// The AWS Account Number of the owner of the EC2 security group specified in
29238	// the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable
29239	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
29240	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
29241	// must be provided.
29242	EC2SecurityGroupOwnerId *string `type:"string"`
29243}
29244
29245// String returns the string representation
29246func (s RevokeDBSecurityGroupIngressInput) String() string {
29247	return awsutil.Prettify(s)
29248}
29249
29250// GoString returns the string representation
29251func (s RevokeDBSecurityGroupIngressInput) GoString() string {
29252	return s.String()
29253}
29254
29255// Validate inspects the fields of the type to determine if they are valid.
29256func (s *RevokeDBSecurityGroupIngressInput) Validate() error {
29257	invalidParams := request.ErrInvalidParams{Context: "RevokeDBSecurityGroupIngressInput"}
29258	if s.DBSecurityGroupName == nil {
29259		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
29260	}
29261
29262	if invalidParams.Len() > 0 {
29263		return invalidParams
29264	}
29265	return nil
29266}
29267
29268// SetCIDRIP sets the CIDRIP field's value.
29269func (s *RevokeDBSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeDBSecurityGroupIngressInput {
29270	s.CIDRIP = &v
29271	return s
29272}
29273
29274// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
29275func (s *RevokeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
29276	s.DBSecurityGroupName = &v
29277	return s
29278}
29279
29280// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
29281func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *RevokeDBSecurityGroupIngressInput {
29282	s.EC2SecurityGroupId = &v
29283	return s
29284}
29285
29286// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
29287func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
29288	s.EC2SecurityGroupName = &v
29289	return s
29290}
29291
29292// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
29293func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeDBSecurityGroupIngressInput {
29294	s.EC2SecurityGroupOwnerId = &v
29295	return s
29296}
29297
29298type RevokeDBSecurityGroupIngressOutput struct {
29299	_ struct{} `type:"structure"`
29300
29301	// Contains the details for an Amazon RDS DB security group.
29302	//
29303	// This data type is used as a response element in the DescribeDBSecurityGroups
29304	// action.
29305	DBSecurityGroup *DBSecurityGroup `type:"structure"`
29306}
29307
29308// String returns the string representation
29309func (s RevokeDBSecurityGroupIngressOutput) String() string {
29310	return awsutil.Prettify(s)
29311}
29312
29313// GoString returns the string representation
29314func (s RevokeDBSecurityGroupIngressOutput) GoString() string {
29315	return s.String()
29316}
29317
29318// SetDBSecurityGroup sets the DBSecurityGroup field's value.
29319func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *RevokeDBSecurityGroupIngressOutput {
29320	s.DBSecurityGroup = v
29321	return s
29322}
29323
29324// Contains the scaling configuration of an Aurora Serverless DB cluster.
29325//
29326// For more information, see Using Amazon Aurora Serverless (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.html)
29327// in the Amazon RDS User Guide.
29328type ScalingConfiguration struct {
29329	_ struct{} `type:"structure"`
29330
29331	// A value that specifies whether to allow or disallow automatic pause for an
29332	// Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused
29333	// only when it's idle (it has no connections).
29334	//
29335	// If a DB cluster is paused for more than seven days, the DB cluster might
29336	// be backed up with a snapshot. In this case, the DB cluster is restored when
29337	// there is a request to connect to it.
29338	AutoPause *bool `type:"boolean"`
29339
29340	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
29341	//
29342	// Valid capacity values are 2, 4, 8, 16, 32, 64, 128, and 256.
29343	//
29344	// The maximum capacity must be greater than or equal to the minimum capacity.
29345	MaxCapacity *int64 `type:"integer"`
29346
29347	// The minimum capacity for an Aurora DB cluster in serverless DB engine mode.
29348	//
29349	// Valid capacity values are 2, 4, 8, 16, 32, 64, 128, and 256.
29350	//
29351	// The minimum capacity must be less than or equal to the maximum capacity.
29352	MinCapacity *int64 `type:"integer"`
29353
29354	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused.
29355	SecondsUntilAutoPause *int64 `type:"integer"`
29356}
29357
29358// String returns the string representation
29359func (s ScalingConfiguration) String() string {
29360	return awsutil.Prettify(s)
29361}
29362
29363// GoString returns the string representation
29364func (s ScalingConfiguration) GoString() string {
29365	return s.String()
29366}
29367
29368// SetAutoPause sets the AutoPause field's value.
29369func (s *ScalingConfiguration) SetAutoPause(v bool) *ScalingConfiguration {
29370	s.AutoPause = &v
29371	return s
29372}
29373
29374// SetMaxCapacity sets the MaxCapacity field's value.
29375func (s *ScalingConfiguration) SetMaxCapacity(v int64) *ScalingConfiguration {
29376	s.MaxCapacity = &v
29377	return s
29378}
29379
29380// SetMinCapacity sets the MinCapacity field's value.
29381func (s *ScalingConfiguration) SetMinCapacity(v int64) *ScalingConfiguration {
29382	s.MinCapacity = &v
29383	return s
29384}
29385
29386// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
29387func (s *ScalingConfiguration) SetSecondsUntilAutoPause(v int64) *ScalingConfiguration {
29388	s.SecondsUntilAutoPause = &v
29389	return s
29390}
29391
29392// Shows the scaling configuration for an Aurora DB cluster in serverless DB
29393// engine mode.
29394//
29395// For more information, see Using Amazon Aurora Serverless (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.html)
29396// in the Amazon RDS User Guide.
29397type ScalingConfigurationInfo struct {
29398	_ struct{} `type:"structure"`
29399
29400	// A value that indicates whether automatic pause is allowed for the Aurora
29401	// DB cluster in serverless DB engine mode.
29402	AutoPause *bool `type:"boolean"`
29403
29404	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
29405	MaxCapacity *int64 `type:"integer"`
29406
29407	// The maximum capacity for the Aurora DB cluster in serverless DB engine mode.
29408	MinCapacity *int64 `type:"integer"`
29409
29410	// The remaining amount of time, in seconds, before the Aurora DB cluster in
29411	// serverless mode is paused. A DB cluster can be paused only when it's idle
29412	// (it has no connections).
29413	SecondsUntilAutoPause *int64 `type:"integer"`
29414}
29415
29416// String returns the string representation
29417func (s ScalingConfigurationInfo) String() string {
29418	return awsutil.Prettify(s)
29419}
29420
29421// GoString returns the string representation
29422func (s ScalingConfigurationInfo) GoString() string {
29423	return s.String()
29424}
29425
29426// SetAutoPause sets the AutoPause field's value.
29427func (s *ScalingConfigurationInfo) SetAutoPause(v bool) *ScalingConfigurationInfo {
29428	s.AutoPause = &v
29429	return s
29430}
29431
29432// SetMaxCapacity sets the MaxCapacity field's value.
29433func (s *ScalingConfigurationInfo) SetMaxCapacity(v int64) *ScalingConfigurationInfo {
29434	s.MaxCapacity = &v
29435	return s
29436}
29437
29438// SetMinCapacity sets the MinCapacity field's value.
29439func (s *ScalingConfigurationInfo) SetMinCapacity(v int64) *ScalingConfigurationInfo {
29440	s.MinCapacity = &v
29441	return s
29442}
29443
29444// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
29445func (s *ScalingConfigurationInfo) SetSecondsUntilAutoPause(v int64) *ScalingConfigurationInfo {
29446	s.SecondsUntilAutoPause = &v
29447	return s
29448}
29449
29450// Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions
29451// action.
29452type SourceRegion struct {
29453	_ struct{} `type:"structure"`
29454
29455	// The endpoint for the source AWS Region endpoint.
29456	Endpoint *string `type:"string"`
29457
29458	// The name of the source AWS Region.
29459	RegionName *string `type:"string"`
29460
29461	// The status of the source AWS Region.
29462	Status *string `type:"string"`
29463}
29464
29465// String returns the string representation
29466func (s SourceRegion) String() string {
29467	return awsutil.Prettify(s)
29468}
29469
29470// GoString returns the string representation
29471func (s SourceRegion) GoString() string {
29472	return s.String()
29473}
29474
29475// SetEndpoint sets the Endpoint field's value.
29476func (s *SourceRegion) SetEndpoint(v string) *SourceRegion {
29477	s.Endpoint = &v
29478	return s
29479}
29480
29481// SetRegionName sets the RegionName field's value.
29482func (s *SourceRegion) SetRegionName(v string) *SourceRegion {
29483	s.RegionName = &v
29484	return s
29485}
29486
29487// SetStatus sets the Status field's value.
29488func (s *SourceRegion) SetStatus(v string) *SourceRegion {
29489	s.Status = &v
29490	return s
29491}
29492
29493type StartDBInstanceInput struct {
29494	_ struct{} `type:"structure"`
29495
29496	// The user-supplied instance identifier.
29497	//
29498	// DBInstanceIdentifier is a required field
29499	DBInstanceIdentifier *string `type:"string" required:"true"`
29500}
29501
29502// String returns the string representation
29503func (s StartDBInstanceInput) String() string {
29504	return awsutil.Prettify(s)
29505}
29506
29507// GoString returns the string representation
29508func (s StartDBInstanceInput) GoString() string {
29509	return s.String()
29510}
29511
29512// Validate inspects the fields of the type to determine if they are valid.
29513func (s *StartDBInstanceInput) Validate() error {
29514	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceInput"}
29515	if s.DBInstanceIdentifier == nil {
29516		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
29517	}
29518
29519	if invalidParams.Len() > 0 {
29520		return invalidParams
29521	}
29522	return nil
29523}
29524
29525// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
29526func (s *StartDBInstanceInput) SetDBInstanceIdentifier(v string) *StartDBInstanceInput {
29527	s.DBInstanceIdentifier = &v
29528	return s
29529}
29530
29531type StartDBInstanceOutput struct {
29532	_ struct{} `type:"structure"`
29533
29534	// Contains the details of an Amazon RDS DB instance.
29535	//
29536	// This data type is used as a response element in the DescribeDBInstances action.
29537	DBInstance *DBInstance `type:"structure"`
29538}
29539
29540// String returns the string representation
29541func (s StartDBInstanceOutput) String() string {
29542	return awsutil.Prettify(s)
29543}
29544
29545// GoString returns the string representation
29546func (s StartDBInstanceOutput) GoString() string {
29547	return s.String()
29548}
29549
29550// SetDBInstance sets the DBInstance field's value.
29551func (s *StartDBInstanceOutput) SetDBInstance(v *DBInstance) *StartDBInstanceOutput {
29552	s.DBInstance = v
29553	return s
29554}
29555
29556type StopDBInstanceInput struct {
29557	_ struct{} `type:"structure"`
29558
29559	// The user-supplied instance identifier.
29560	//
29561	// DBInstanceIdentifier is a required field
29562	DBInstanceIdentifier *string `type:"string" required:"true"`
29563
29564	// The user-supplied instance identifier of the DB Snapshot created immediately
29565	// before the DB instance is stopped.
29566	DBSnapshotIdentifier *string `type:"string"`
29567}
29568
29569// String returns the string representation
29570func (s StopDBInstanceInput) String() string {
29571	return awsutil.Prettify(s)
29572}
29573
29574// GoString returns the string representation
29575func (s StopDBInstanceInput) GoString() string {
29576	return s.String()
29577}
29578
29579// Validate inspects the fields of the type to determine if they are valid.
29580func (s *StopDBInstanceInput) Validate() error {
29581	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceInput"}
29582	if s.DBInstanceIdentifier == nil {
29583		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
29584	}
29585
29586	if invalidParams.Len() > 0 {
29587		return invalidParams
29588	}
29589	return nil
29590}
29591
29592// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
29593func (s *StopDBInstanceInput) SetDBInstanceIdentifier(v string) *StopDBInstanceInput {
29594	s.DBInstanceIdentifier = &v
29595	return s
29596}
29597
29598// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
29599func (s *StopDBInstanceInput) SetDBSnapshotIdentifier(v string) *StopDBInstanceInput {
29600	s.DBSnapshotIdentifier = &v
29601	return s
29602}
29603
29604type StopDBInstanceOutput struct {
29605	_ struct{} `type:"structure"`
29606
29607	// Contains the details of an Amazon RDS DB instance.
29608	//
29609	// This data type is used as a response element in the DescribeDBInstances action.
29610	DBInstance *DBInstance `type:"structure"`
29611}
29612
29613// String returns the string representation
29614func (s StopDBInstanceOutput) String() string {
29615	return awsutil.Prettify(s)
29616}
29617
29618// GoString returns the string representation
29619func (s StopDBInstanceOutput) GoString() string {
29620	return s.String()
29621}
29622
29623// SetDBInstance sets the DBInstance field's value.
29624func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutput {
29625	s.DBInstance = v
29626	return s
29627}
29628
29629// This data type is used as a response element in the DescribeDBSubnetGroups
29630// action.
29631type Subnet struct {
29632	_ struct{} `type:"structure"`
29633
29634	// Contains Availability Zone information.
29635	//
29636	// This data type is used as an element in the following data type:
29637	//
29638	//    * OrderableDBInstanceOption
29639	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
29640
29641	// Specifies the identifier of the subnet.
29642	SubnetIdentifier *string `type:"string"`
29643
29644	// Specifies the status of the subnet.
29645	SubnetStatus *string `type:"string"`
29646}
29647
29648// String returns the string representation
29649func (s Subnet) String() string {
29650	return awsutil.Prettify(s)
29651}
29652
29653// GoString returns the string representation
29654func (s Subnet) GoString() string {
29655	return s.String()
29656}
29657
29658// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
29659func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
29660	s.SubnetAvailabilityZone = v
29661	return s
29662}
29663
29664// SetSubnetIdentifier sets the SubnetIdentifier field's value.
29665func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
29666	s.SubnetIdentifier = &v
29667	return s
29668}
29669
29670// SetSubnetStatus sets the SubnetStatus field's value.
29671func (s *Subnet) SetSubnetStatus(v string) *Subnet {
29672	s.SubnetStatus = &v
29673	return s
29674}
29675
29676// Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
29677type Tag struct {
29678	_ struct{} `type:"structure"`
29679
29680	// A key is the required name of the tag. The string value can be from 1 to
29681	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
29682	// The string can only contain only the set of Unicode letters, digits, white-space,
29683	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
29684	Key *string `type:"string"`
29685
29686	// A value is the optional value of the tag. The string value can be from 1
29687	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
29688	// "rds:". The string can only contain only the set of Unicode letters, digits,
29689	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
29690	Value *string `type:"string"`
29691}
29692
29693// String returns the string representation
29694func (s Tag) String() string {
29695	return awsutil.Prettify(s)
29696}
29697
29698// GoString returns the string representation
29699func (s Tag) GoString() string {
29700	return s.String()
29701}
29702
29703// SetKey sets the Key field's value.
29704func (s *Tag) SetKey(v string) *Tag {
29705	s.Key = &v
29706	return s
29707}
29708
29709// SetValue sets the Value field's value.
29710func (s *Tag) SetValue(v string) *Tag {
29711	s.Value = &v
29712	return s
29713}
29714
29715// A time zone associated with a DBInstance or a DBSnapshot. This data type
29716// is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots,
29717// and the DescribeDBEngineVersions actions.
29718type Timezone struct {
29719	_ struct{} `type:"structure"`
29720
29721	// The name of the time zone.
29722	TimezoneName *string `type:"string"`
29723}
29724
29725// String returns the string representation
29726func (s Timezone) String() string {
29727	return awsutil.Prettify(s)
29728}
29729
29730// GoString returns the string representation
29731func (s Timezone) GoString() string {
29732	return s.String()
29733}
29734
29735// SetTimezoneName sets the TimezoneName field's value.
29736func (s *Timezone) SetTimezoneName(v string) *Timezone {
29737	s.TimezoneName = &v
29738	return s
29739}
29740
29741// The version of the database engine that a DB instance can be upgraded to.
29742type UpgradeTarget struct {
29743	_ struct{} `type:"structure"`
29744
29745	// A value that indicates whether the target version is applied to any source
29746	// DB instances that have AutoMinorVersionUpgrade set to true.
29747	AutoUpgrade *bool `type:"boolean"`
29748
29749	// The version of the database engine that a DB instance can be upgraded to.
29750	Description *string `type:"string"`
29751
29752	// The name of the upgrade target database engine.
29753	Engine *string `type:"string"`
29754
29755	// The version number of the upgrade target database engine.
29756	EngineVersion *string `type:"string"`
29757
29758	// A value that indicates whether a database engine is upgraded to a major version.
29759	IsMajorVersionUpgrade *bool `type:"boolean"`
29760}
29761
29762// String returns the string representation
29763func (s UpgradeTarget) String() string {
29764	return awsutil.Prettify(s)
29765}
29766
29767// GoString returns the string representation
29768func (s UpgradeTarget) GoString() string {
29769	return s.String()
29770}
29771
29772// SetAutoUpgrade sets the AutoUpgrade field's value.
29773func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
29774	s.AutoUpgrade = &v
29775	return s
29776}
29777
29778// SetDescription sets the Description field's value.
29779func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
29780	s.Description = &v
29781	return s
29782}
29783
29784// SetEngine sets the Engine field's value.
29785func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
29786	s.Engine = &v
29787	return s
29788}
29789
29790// SetEngineVersion sets the EngineVersion field's value.
29791func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
29792	s.EngineVersion = &v
29793	return s
29794}
29795
29796// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
29797func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
29798	s.IsMajorVersionUpgrade = &v
29799	return s
29800}
29801
29802// Information about valid modifications that you can make to your DB instance.
29803// Contains the result of a successful call to the DescribeValidDBInstanceModifications
29804// action. You can use this information when you call ModifyDBInstance.
29805type ValidDBInstanceModificationsMessage struct {
29806	_ struct{} `type:"structure"`
29807
29808	// Valid storage options for your DB instance.
29809	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
29810
29811	// Valid processor features for your DB instance.
29812	ValidProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
29813}
29814
29815// String returns the string representation
29816func (s ValidDBInstanceModificationsMessage) String() string {
29817	return awsutil.Prettify(s)
29818}
29819
29820// GoString returns the string representation
29821func (s ValidDBInstanceModificationsMessage) GoString() string {
29822	return s.String()
29823}
29824
29825// SetStorage sets the Storage field's value.
29826func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
29827	s.Storage = v
29828	return s
29829}
29830
29831// SetValidProcessorFeatures sets the ValidProcessorFeatures field's value.
29832func (s *ValidDBInstanceModificationsMessage) SetValidProcessorFeatures(v []*AvailableProcessorFeature) *ValidDBInstanceModificationsMessage {
29833	s.ValidProcessorFeatures = v
29834	return s
29835}
29836
29837// Information about valid modifications that you can make to your DB instance.
29838// Contains the result of a successful call to the DescribeValidDBInstanceModifications
29839// action.
29840type ValidStorageOptions struct {
29841	_ struct{} `type:"structure"`
29842
29843	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
29844	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
29845	// times storage.
29846	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
29847
29848	// The valid range of provisioned IOPS. For example, 1000-20000.
29849	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
29850
29851	// The valid range of storage in gibibytes. For example, 100 to 16384.
29852	StorageSize []*Range `locationNameList:"Range" type:"list"`
29853
29854	// The valid storage types for your DB instance. For example, gp2, io1.
29855	StorageType *string `type:"string"`
29856}
29857
29858// String returns the string representation
29859func (s ValidStorageOptions) String() string {
29860	return awsutil.Prettify(s)
29861}
29862
29863// GoString returns the string representation
29864func (s ValidStorageOptions) GoString() string {
29865	return s.String()
29866}
29867
29868// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
29869func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
29870	s.IopsToStorageRatio = v
29871	return s
29872}
29873
29874// SetProvisionedIops sets the ProvisionedIops field's value.
29875func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
29876	s.ProvisionedIops = v
29877	return s
29878}
29879
29880// SetStorageSize sets the StorageSize field's value.
29881func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
29882	s.StorageSize = v
29883	return s
29884}
29885
29886// SetStorageType sets the StorageType field's value.
29887func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
29888	s.StorageType = &v
29889	return s
29890}
29891
29892// This data type is used as a response element for queries on VPC security
29893// group membership.
29894type VpcSecurityGroupMembership struct {
29895	_ struct{} `type:"structure"`
29896
29897	// The status of the VPC security group.
29898	Status *string `type:"string"`
29899
29900	// The name of the VPC security group.
29901	VpcSecurityGroupId *string `type:"string"`
29902}
29903
29904// String returns the string representation
29905func (s VpcSecurityGroupMembership) String() string {
29906	return awsutil.Prettify(s)
29907}
29908
29909// GoString returns the string representation
29910func (s VpcSecurityGroupMembership) GoString() string {
29911	return s.String()
29912}
29913
29914// SetStatus sets the Status field's value.
29915func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
29916	s.Status = &v
29917	return s
29918}
29919
29920// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
29921func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
29922	s.VpcSecurityGroupId = &v
29923	return s
29924}
29925
29926const (
29927	// ApplyMethodImmediate is a ApplyMethod enum value
29928	ApplyMethodImmediate = "immediate"
29929
29930	// ApplyMethodPendingReboot is a ApplyMethod enum value
29931	ApplyMethodPendingReboot = "pending-reboot"
29932)
29933
29934const (
29935	// SourceTypeDbInstance is a SourceType enum value
29936	SourceTypeDbInstance = "db-instance"
29937
29938	// SourceTypeDbParameterGroup is a SourceType enum value
29939	SourceTypeDbParameterGroup = "db-parameter-group"
29940
29941	// SourceTypeDbSecurityGroup is a SourceType enum value
29942	SourceTypeDbSecurityGroup = "db-security-group"
29943
29944	// SourceTypeDbSnapshot is a SourceType enum value
29945	SourceTypeDbSnapshot = "db-snapshot"
29946
29947	// SourceTypeDbCluster is a SourceType enum value
29948	SourceTypeDbCluster = "db-cluster"
29949
29950	// SourceTypeDbClusterSnapshot is a SourceType enum value
29951	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
29952)
29953