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// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See 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.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AddRoleToDBCluster API operation for Amazon Relational Database Service.
60//
61// Associates an Identity and Access Management (IAM) role from an Amazon Aurora
62// DB cluster. For more information, see Authorizing Amazon Aurora MySQL to
63// Access Other AWS Services on Your Behalf (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html)
64// in the Amazon Aurora User Guide.
65//
66// This action only applies to Aurora DB clusters.
67//
68// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
69// with awserr.Error's Code and Message methods to get detailed information about
70// the error.
71//
72// See the AWS API reference guide for Amazon Relational Database Service's
73// API operation AddRoleToDBCluster for usage and error information.
74//
75// Returned Error Codes:
76//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
77//   DBClusterIdentifier doesn't refer to an existing DB cluster.
78//
79//   * ErrCodeDBClusterRoleAlreadyExistsFault "DBClusterRoleAlreadyExists"
80//   The specified IAM role Amazon Resource Name (ARN) is already associated with
81//   the specified DB cluster.
82//
83//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
84//   The requested operation can't be performed while the cluster is in this state.
85//
86//   * ErrCodeDBClusterRoleQuotaExceededFault "DBClusterRoleQuotaExceeded"
87//   You have exceeded the maximum number of IAM roles that can be associated
88//   with the specified DB cluster.
89//
90// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBCluster
91func (c *RDS) AddRoleToDBCluster(input *AddRoleToDBClusterInput) (*AddRoleToDBClusterOutput, error) {
92	req, out := c.AddRoleToDBClusterRequest(input)
93	return out, req.Send()
94}
95
96// AddRoleToDBClusterWithContext is the same as AddRoleToDBCluster with the addition of
97// the ability to pass a context and additional request options.
98//
99// See AddRoleToDBCluster for details on how to use this API operation.
100//
101// The context must be non-nil and will be used for request cancellation. If
102// the context is nil a panic will occur. In the future the SDK may create
103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
104// for more information on using Contexts.
105func (c *RDS) AddRoleToDBClusterWithContext(ctx aws.Context, input *AddRoleToDBClusterInput, opts ...request.Option) (*AddRoleToDBClusterOutput, error) {
106	req, out := c.AddRoleToDBClusterRequest(input)
107	req.SetContext(ctx)
108	req.ApplyOptions(opts...)
109	return out, req.Send()
110}
111
112const opAddRoleToDBInstance = "AddRoleToDBInstance"
113
114// AddRoleToDBInstanceRequest generates a "aws/request.Request" representing the
115// client's request for the AddRoleToDBInstance operation. The "output" return
116// value will be populated with the request's response once the request completes
117// successfully.
118//
119// Use "Send" method on the returned Request to send the API call to the service.
120// the "output" return value is not valid until after Send returns without error.
121//
122// See AddRoleToDBInstance for more information on using the AddRoleToDBInstance
123// API call, and error handling.
124//
125// This method is useful when you want to inject custom logic or configuration
126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
127//
128//
129//    // Example sending a request using the AddRoleToDBInstanceRequest method.
130//    req, resp := client.AddRoleToDBInstanceRequest(params)
131//
132//    err := req.Send()
133//    if err == nil { // resp is now filled
134//        fmt.Println(resp)
135//    }
136//
137// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance
138func (c *RDS) AddRoleToDBInstanceRequest(input *AddRoleToDBInstanceInput) (req *request.Request, output *AddRoleToDBInstanceOutput) {
139	op := &request.Operation{
140		Name:       opAddRoleToDBInstance,
141		HTTPMethod: "POST",
142		HTTPPath:   "/",
143	}
144
145	if input == nil {
146		input = &AddRoleToDBInstanceInput{}
147	}
148
149	output = &AddRoleToDBInstanceOutput{}
150	req = c.newRequest(op, input, output)
151	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
152	return
153}
154
155// AddRoleToDBInstance API operation for Amazon Relational Database Service.
156//
157// Associates an AWS Identity and Access Management (IAM) role with a DB instance.
158//
159// To add a role to a DB instance, the status of the DB instance must be available.
160//
161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
162// with awserr.Error's Code and Message methods to get detailed information about
163// the error.
164//
165// See the AWS API reference guide for Amazon Relational Database Service's
166// API operation AddRoleToDBInstance for usage and error information.
167//
168// Returned Error Codes:
169//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
170//   DBInstanceIdentifier doesn't refer to an existing DB instance.
171//
172//   * ErrCodeDBInstanceRoleAlreadyExistsFault "DBInstanceRoleAlreadyExists"
173//   The specified RoleArn or FeatureName value is already associated with the
174//   DB instance.
175//
176//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
177//   The DB instance isn't in a valid state.
178//
179//   * ErrCodeDBInstanceRoleQuotaExceededFault "DBInstanceRoleQuotaExceeded"
180//   You can't associate any more AWS Identity and Access Management (IAM) roles
181//   with the DB instance because the quota has been reached.
182//
183// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance
184func (c *RDS) AddRoleToDBInstance(input *AddRoleToDBInstanceInput) (*AddRoleToDBInstanceOutput, error) {
185	req, out := c.AddRoleToDBInstanceRequest(input)
186	return out, req.Send()
187}
188
189// AddRoleToDBInstanceWithContext is the same as AddRoleToDBInstance with the addition of
190// the ability to pass a context and additional request options.
191//
192// See AddRoleToDBInstance for details on how to use this API operation.
193//
194// The context must be non-nil and will be used for request cancellation. If
195// the context is nil a panic will occur. In the future the SDK may create
196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
197// for more information on using Contexts.
198func (c *RDS) AddRoleToDBInstanceWithContext(ctx aws.Context, input *AddRoleToDBInstanceInput, opts ...request.Option) (*AddRoleToDBInstanceOutput, error) {
199	req, out := c.AddRoleToDBInstanceRequest(input)
200	req.SetContext(ctx)
201	req.ApplyOptions(opts...)
202	return out, req.Send()
203}
204
205const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription"
206
207// AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the
208// client's request for the AddSourceIdentifierToSubscription operation. The "output" return
209// value will be populated with the request's response once the request completes
210// successfully.
211//
212// Use "Send" method on the returned Request to send the API call to the service.
213// the "output" return value is not valid until after Send returns without error.
214//
215// See AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription
216// API call, and error handling.
217//
218// This method is useful when you want to inject custom logic or configuration
219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
220//
221//
222//    // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method.
223//    req, resp := client.AddSourceIdentifierToSubscriptionRequest(params)
224//
225//    err := req.Send()
226//    if err == nil { // resp is now filled
227//        fmt.Println(resp)
228//    }
229//
230// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
231func (c *RDS) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) {
232	op := &request.Operation{
233		Name:       opAddSourceIdentifierToSubscription,
234		HTTPMethod: "POST",
235		HTTPPath:   "/",
236	}
237
238	if input == nil {
239		input = &AddSourceIdentifierToSubscriptionInput{}
240	}
241
242	output = &AddSourceIdentifierToSubscriptionOutput{}
243	req = c.newRequest(op, input, output)
244	return
245}
246
247// AddSourceIdentifierToSubscription API operation for Amazon Relational Database Service.
248//
249// Adds a source identifier to an existing RDS event notification subscription.
250//
251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
252// with awserr.Error's Code and Message methods to get detailed information about
253// the error.
254//
255// See the AWS API reference guide for Amazon Relational Database Service's
256// API operation AddSourceIdentifierToSubscription for usage and error information.
257//
258// Returned Error Codes:
259//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
260//   The subscription name does not exist.
261//
262//   * ErrCodeSourceNotFoundFault "SourceNotFound"
263//   The requested source could not be found.
264//
265// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
266func (c *RDS) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) {
267	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
268	return out, req.Send()
269}
270
271// AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of
272// the ability to pass a context and additional request options.
273//
274// See AddSourceIdentifierToSubscription for details on how to use this API operation.
275//
276// The context must be non-nil and will be used for request cancellation. If
277// the context is nil a panic will occur. In the future the SDK may create
278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
279// for more information on using Contexts.
280func (c *RDS) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) {
281	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
282	req.SetContext(ctx)
283	req.ApplyOptions(opts...)
284	return out, req.Send()
285}
286
287const opAddTagsToResource = "AddTagsToResource"
288
289// AddTagsToResourceRequest generates a "aws/request.Request" representing the
290// client's request for the AddTagsToResource operation. The "output" return
291// value will be populated with the request's response once the request completes
292// successfully.
293//
294// Use "Send" method on the returned Request to send the API call to the service.
295// the "output" return value is not valid until after Send returns without error.
296//
297// See AddTagsToResource for more information on using the AddTagsToResource
298// API call, and error handling.
299//
300// This method is useful when you want to inject custom logic or configuration
301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
302//
303//
304//    // Example sending a request using the AddTagsToResourceRequest method.
305//    req, resp := client.AddTagsToResourceRequest(params)
306//
307//    err := req.Send()
308//    if err == nil { // resp is now filled
309//        fmt.Println(resp)
310//    }
311//
312// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
313func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
314	op := &request.Operation{
315		Name:       opAddTagsToResource,
316		HTTPMethod: "POST",
317		HTTPPath:   "/",
318	}
319
320	if input == nil {
321		input = &AddTagsToResourceInput{}
322	}
323
324	output = &AddTagsToResourceOutput{}
325	req = c.newRequest(op, input, output)
326	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
327	return
328}
329
330// AddTagsToResource API operation for Amazon Relational Database Service.
331//
332// Adds metadata tags to an Amazon RDS resource. These tags can also be used
333// with cost allocation reporting to track cost associated with Amazon RDS resources,
334// or used in a Condition statement in an IAM policy for Amazon RDS.
335//
336// For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources
337// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
338//
339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
340// with awserr.Error's Code and Message methods to get detailed information about
341// the error.
342//
343// See the AWS API reference guide for Amazon Relational Database Service's
344// API operation AddTagsToResource for usage and error information.
345//
346// Returned Error Codes:
347//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
348//   DBInstanceIdentifier doesn't refer to an existing DB instance.
349//
350//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
351//   DBClusterIdentifier doesn't refer to an existing DB cluster.
352//
353//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
354//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
355//
356//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
357//   The specified proxy name doesn't correspond to a proxy owned by your AWS
358//   accoutn in the specified AWS Region.
359//
360//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
361//   The specified target group isn't available for a proxy owned by your AWS
362//   account in the specified AWS Region.
363//
364// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
365func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
366	req, out := c.AddTagsToResourceRequest(input)
367	return out, req.Send()
368}
369
370// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
371// the ability to pass a context and additional request options.
372//
373// See AddTagsToResource for details on how to use this API operation.
374//
375// The context must be non-nil and will be used for request cancellation. If
376// the context is nil a panic will occur. In the future the SDK may create
377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
378// for more information on using Contexts.
379func (c *RDS) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
380	req, out := c.AddTagsToResourceRequest(input)
381	req.SetContext(ctx)
382	req.ApplyOptions(opts...)
383	return out, req.Send()
384}
385
386const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
387
388// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
389// client's request for the ApplyPendingMaintenanceAction operation. The "output" return
390// value will be populated with the request's response once the request completes
391// successfully.
392//
393// Use "Send" method on the returned Request to send the API call to the service.
394// the "output" return value is not valid until after Send returns without error.
395//
396// See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
397// API call, and error handling.
398//
399// This method is useful when you want to inject custom logic or configuration
400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
401//
402//
403//    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
404//    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
405//
406//    err := req.Send()
407//    if err == nil { // resp is now filled
408//        fmt.Println(resp)
409//    }
410//
411// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
412func (c *RDS) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
413	op := &request.Operation{
414		Name:       opApplyPendingMaintenanceAction,
415		HTTPMethod: "POST",
416		HTTPPath:   "/",
417	}
418
419	if input == nil {
420		input = &ApplyPendingMaintenanceActionInput{}
421	}
422
423	output = &ApplyPendingMaintenanceActionOutput{}
424	req = c.newRequest(op, input, output)
425	return
426}
427
428// ApplyPendingMaintenanceAction API operation for Amazon Relational Database Service.
429//
430// Applies a pending maintenance action to a resource (for example, to a DB
431// instance).
432//
433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
434// with awserr.Error's Code and Message methods to get detailed information about
435// the error.
436//
437// See the AWS API reference guide for Amazon Relational Database Service's
438// API operation ApplyPendingMaintenanceAction for usage and error information.
439//
440// Returned Error Codes:
441//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
442//   The specified resource ID was not found.
443//
444//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
445//   The requested operation can't be performed while the cluster is in this state.
446//
447//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
448//   The DB instance isn't in a valid state.
449//
450// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
451func (c *RDS) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
452	req, out := c.ApplyPendingMaintenanceActionRequest(input)
453	return out, req.Send()
454}
455
456// ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
457// the ability to pass a context and additional request options.
458//
459// See ApplyPendingMaintenanceAction for details on how to use this API operation.
460//
461// The context must be non-nil and will be used for request cancellation. If
462// the context is nil a panic will occur. In the future the SDK may create
463// sub-contexts for http.Requests. See https://golang.org/pkg/context/
464// for more information on using Contexts.
465func (c *RDS) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
466	req, out := c.ApplyPendingMaintenanceActionRequest(input)
467	req.SetContext(ctx)
468	req.ApplyOptions(opts...)
469	return out, req.Send()
470}
471
472const opAuthorizeDBSecurityGroupIngress = "AuthorizeDBSecurityGroupIngress"
473
474// AuthorizeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
475// client's request for the AuthorizeDBSecurityGroupIngress operation. The "output" return
476// value will be populated with the request's response once the request completes
477// successfully.
478//
479// Use "Send" method on the returned Request to send the API call to the service.
480// the "output" return value is not valid until after Send returns without error.
481//
482// See AuthorizeDBSecurityGroupIngress for more information on using the AuthorizeDBSecurityGroupIngress
483// API call, and error handling.
484//
485// This method is useful when you want to inject custom logic or configuration
486// into the SDK's request lifecycle. Such as custom headers, or retry logic.
487//
488//
489//    // Example sending a request using the AuthorizeDBSecurityGroupIngressRequest method.
490//    req, resp := client.AuthorizeDBSecurityGroupIngressRequest(params)
491//
492//    err := req.Send()
493//    if err == nil { // resp is now filled
494//        fmt.Println(resp)
495//    }
496//
497// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
498func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityGroupIngressInput) (req *request.Request, output *AuthorizeDBSecurityGroupIngressOutput) {
499	op := &request.Operation{
500		Name:       opAuthorizeDBSecurityGroupIngress,
501		HTTPMethod: "POST",
502		HTTPPath:   "/",
503	}
504
505	if input == nil {
506		input = &AuthorizeDBSecurityGroupIngressInput{}
507	}
508
509	output = &AuthorizeDBSecurityGroupIngressOutput{}
510	req = c.newRequest(op, input, output)
511	return
512}
513
514// AuthorizeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
515//
516// Enables ingress to a DBSecurityGroup using one of two forms of authorization.
517// First, EC2 or VPC security groups can be added to the DBSecurityGroup if
518// the application using the database is running on EC2 or VPC instances. Second,
519// IP ranges are available if the application accessing your database is running
520// on the Internet. Required parameters for this API are one of CIDR range,
521// EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName
522// or EC2SecurityGroupId for non-VPC).
523//
524// You can't authorize ingress from an EC2 security group in one AWS Region
525// to an Amazon RDS DB instance in another. You can't authorize ingress from
526// a VPC security group in one VPC to an Amazon RDS DB instance in another.
527//
528// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
529//
530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
531// with awserr.Error's Code and Message methods to get detailed information about
532// the error.
533//
534// See the AWS API reference guide for Amazon Relational Database Service's
535// API operation AuthorizeDBSecurityGroupIngress for usage and error information.
536//
537// Returned Error Codes:
538//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
539//   DBSecurityGroupName doesn't refer to an existing DB security group.
540//
541//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
542//   The state of the DB security group doesn't allow deletion.
543//
544//   * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists"
545//   The specified CIDR IP range or Amazon EC2 security group is already authorized
546//   for the specified DB security group.
547//
548//   * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded"
549//   The DB security group authorization quota has been reached.
550//
551// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
552func (c *RDS) AuthorizeDBSecurityGroupIngress(input *AuthorizeDBSecurityGroupIngressInput) (*AuthorizeDBSecurityGroupIngressOutput, error) {
553	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
554	return out, req.Send()
555}
556
557// AuthorizeDBSecurityGroupIngressWithContext is the same as AuthorizeDBSecurityGroupIngress with the addition of
558// the ability to pass a context and additional request options.
559//
560// See AuthorizeDBSecurityGroupIngress for details on how to use this API operation.
561//
562// The context must be non-nil and will be used for request cancellation. If
563// the context is nil a panic will occur. In the future the SDK may create
564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
565// for more information on using Contexts.
566func (c *RDS) AuthorizeDBSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeDBSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeDBSecurityGroupIngressOutput, error) {
567	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
568	req.SetContext(ctx)
569	req.ApplyOptions(opts...)
570	return out, req.Send()
571}
572
573const opBacktrackDBCluster = "BacktrackDBCluster"
574
575// BacktrackDBClusterRequest generates a "aws/request.Request" representing the
576// client's request for the BacktrackDBCluster operation. The "output" return
577// value will be populated with the request's response once the request completes
578// successfully.
579//
580// Use "Send" method on the returned Request to send the API call to the service.
581// the "output" return value is not valid until after Send returns without error.
582//
583// See BacktrackDBCluster for more information on using the BacktrackDBCluster
584// API call, and error handling.
585//
586// This method is useful when you want to inject custom logic or configuration
587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
588//
589//
590//    // Example sending a request using the BacktrackDBClusterRequest method.
591//    req, resp := client.BacktrackDBClusterRequest(params)
592//
593//    err := req.Send()
594//    if err == nil { // resp is now filled
595//        fmt.Println(resp)
596//    }
597//
598// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
599func (c *RDS) BacktrackDBClusterRequest(input *BacktrackDBClusterInput) (req *request.Request, output *BacktrackDBClusterOutput) {
600	op := &request.Operation{
601		Name:       opBacktrackDBCluster,
602		HTTPMethod: "POST",
603		HTTPPath:   "/",
604	}
605
606	if input == nil {
607		input = &BacktrackDBClusterInput{}
608	}
609
610	output = &BacktrackDBClusterOutput{}
611	req = c.newRequest(op, input, output)
612	return
613}
614
615// BacktrackDBCluster API operation for Amazon Relational Database Service.
616//
617// Backtracks a DB cluster to a specific time, without creating a new DB cluster.
618//
619// For more information on backtracking, see Backtracking an Aurora DB Cluster
620// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html)
621// in the Amazon Aurora User Guide.
622//
623// This action only applies to Aurora MySQL DB clusters.
624//
625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
626// with awserr.Error's Code and Message methods to get detailed information about
627// the error.
628//
629// See the AWS API reference guide for Amazon Relational Database Service's
630// API operation BacktrackDBCluster for usage and error information.
631//
632// Returned Error Codes:
633//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
634//   DBClusterIdentifier doesn't refer to an existing DB cluster.
635//
636//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
637//   The requested operation can't be performed while the cluster is in this state.
638//
639// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
640func (c *RDS) BacktrackDBCluster(input *BacktrackDBClusterInput) (*BacktrackDBClusterOutput, error) {
641	req, out := c.BacktrackDBClusterRequest(input)
642	return out, req.Send()
643}
644
645// BacktrackDBClusterWithContext is the same as BacktrackDBCluster with the addition of
646// the ability to pass a context and additional request options.
647//
648// See BacktrackDBCluster for details on how to use this API operation.
649//
650// The context must be non-nil and will be used for request cancellation. If
651// the context is nil a panic will occur. In the future the SDK may create
652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
653// for more information on using Contexts.
654func (c *RDS) BacktrackDBClusterWithContext(ctx aws.Context, input *BacktrackDBClusterInput, opts ...request.Option) (*BacktrackDBClusterOutput, error) {
655	req, out := c.BacktrackDBClusterRequest(input)
656	req.SetContext(ctx)
657	req.ApplyOptions(opts...)
658	return out, req.Send()
659}
660
661const opCancelExportTask = "CancelExportTask"
662
663// CancelExportTaskRequest generates a "aws/request.Request" representing the
664// client's request for the CancelExportTask operation. The "output" return
665// value will be populated with the request's response once the request completes
666// successfully.
667//
668// Use "Send" method on the returned Request to send the API call to the service.
669// the "output" return value is not valid until after Send returns without error.
670//
671// See CancelExportTask for more information on using the CancelExportTask
672// API call, and error handling.
673//
674// This method is useful when you want to inject custom logic or configuration
675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
676//
677//
678//    // Example sending a request using the CancelExportTaskRequest method.
679//    req, resp := client.CancelExportTaskRequest(params)
680//
681//    err := req.Send()
682//    if err == nil { // resp is now filled
683//        fmt.Println(resp)
684//    }
685//
686// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask
687func (c *RDS) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
688	op := &request.Operation{
689		Name:       opCancelExportTask,
690		HTTPMethod: "POST",
691		HTTPPath:   "/",
692	}
693
694	if input == nil {
695		input = &CancelExportTaskInput{}
696	}
697
698	output = &CancelExportTaskOutput{}
699	req = c.newRequest(op, input, output)
700	return
701}
702
703// CancelExportTask API operation for Amazon Relational Database Service.
704//
705// Cancels an export task in progress that is exporting a snapshot to Amazon
706// S3. Any data that has already been written to the S3 bucket isn't removed.
707//
708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
709// with awserr.Error's Code and Message methods to get detailed information about
710// the error.
711//
712// See the AWS API reference guide for Amazon Relational Database Service's
713// API operation CancelExportTask for usage and error information.
714//
715// Returned Error Codes:
716//   * ErrCodeExportTaskNotFoundFault "ExportTaskNotFound"
717//   The export task doesn't exist.
718//
719//   * ErrCodeInvalidExportTaskStateFault "InvalidExportTaskStateFault"
720//   You can't cancel an export task that has completed.
721//
722// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask
723func (c *RDS) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
724	req, out := c.CancelExportTaskRequest(input)
725	return out, req.Send()
726}
727
728// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
729// the ability to pass a context and additional request options.
730//
731// See CancelExportTask for details on how to use this API operation.
732//
733// The context must be non-nil and will be used for request cancellation. If
734// the context is nil a panic will occur. In the future the SDK may create
735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
736// for more information on using Contexts.
737func (c *RDS) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
738	req, out := c.CancelExportTaskRequest(input)
739	req.SetContext(ctx)
740	req.ApplyOptions(opts...)
741	return out, req.Send()
742}
743
744const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
745
746// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
747// client's request for the CopyDBClusterParameterGroup operation. The "output" return
748// value will be populated with the request's response once the request completes
749// successfully.
750//
751// Use "Send" method on the returned Request to send the API call to the service.
752// the "output" return value is not valid until after Send returns without error.
753//
754// See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
755// API call, and error handling.
756//
757// This method is useful when you want to inject custom logic or configuration
758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
759//
760//
761//    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
762//    req, resp := client.CopyDBClusterParameterGroupRequest(params)
763//
764//    err := req.Send()
765//    if err == nil { // resp is now filled
766//        fmt.Println(resp)
767//    }
768//
769// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
770func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
771	op := &request.Operation{
772		Name:       opCopyDBClusterParameterGroup,
773		HTTPMethod: "POST",
774		HTTPPath:   "/",
775	}
776
777	if input == nil {
778		input = &CopyDBClusterParameterGroupInput{}
779	}
780
781	output = &CopyDBClusterParameterGroupOutput{}
782	req = c.newRequest(op, input, output)
783	return
784}
785
786// CopyDBClusterParameterGroup API operation for Amazon Relational Database Service.
787//
788// Copies the specified DB cluster parameter group.
789//
790// This action only applies to Aurora DB clusters.
791//
792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
793// with awserr.Error's Code and Message methods to get detailed information about
794// the error.
795//
796// See the AWS API reference guide for Amazon Relational Database Service's
797// API operation CopyDBClusterParameterGroup for usage and error information.
798//
799// Returned Error Codes:
800//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
801//   DBParameterGroupName doesn't refer to an existing DB parameter group.
802//
803//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
804//   The request would result in the user exceeding the allowed number of DB parameter
805//   groups.
806//
807//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
808//   A DB parameter group with the same name exists.
809//
810// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
811func (c *RDS) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
812	req, out := c.CopyDBClusterParameterGroupRequest(input)
813	return out, req.Send()
814}
815
816// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
817// the ability to pass a context and additional request options.
818//
819// See CopyDBClusterParameterGroup for details on how to use this API operation.
820//
821// The context must be non-nil and will be used for request cancellation. If
822// the context is nil a panic will occur. In the future the SDK may create
823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
824// for more information on using Contexts.
825func (c *RDS) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
826	req, out := c.CopyDBClusterParameterGroupRequest(input)
827	req.SetContext(ctx)
828	req.ApplyOptions(opts...)
829	return out, req.Send()
830}
831
832const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
833
834// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
835// client's request for the CopyDBClusterSnapshot operation. The "output" return
836// value will be populated with the request's response once the request completes
837// successfully.
838//
839// Use "Send" method on the returned Request to send the API call to the service.
840// the "output" return value is not valid until after Send returns without error.
841//
842// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
843// API call, and error handling.
844//
845// This method is useful when you want to inject custom logic or configuration
846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
847//
848//
849//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
850//    req, resp := client.CopyDBClusterSnapshotRequest(params)
851//
852//    err := req.Send()
853//    if err == nil { // resp is now filled
854//        fmt.Println(resp)
855//    }
856//
857// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
858func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
859	op := &request.Operation{
860		Name:       opCopyDBClusterSnapshot,
861		HTTPMethod: "POST",
862		HTTPPath:   "/",
863	}
864
865	if input == nil {
866		input = &CopyDBClusterSnapshotInput{}
867	}
868
869	output = &CopyDBClusterSnapshotOutput{}
870	req = c.newRequest(op, input, output)
871	return
872}
873
874// CopyDBClusterSnapshot API operation for Amazon Relational Database Service.
875//
876// Copies a snapshot of a DB cluster.
877//
878// To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
879// must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
880//
881// You can copy an encrypted DB cluster snapshot from another AWS Region. In
882// that case, the AWS Region where you call the CopyDBClusterSnapshot action
883// is the destination AWS Region for the encrypted DB cluster snapshot to be
884// copied to. To copy an encrypted DB cluster snapshot from another AWS Region,
885// you must provide the following values:
886//
887//    * KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for
888//    the key to use to encrypt the copy of the DB cluster snapshot in the destination
889//    AWS Region.
890//
891//    * PreSignedUrl - A URL that contains a Signature Version 4 signed request
892//    for the CopyDBClusterSnapshot action to be called in the source AWS Region
893//    where the DB cluster snapshot is copied from. The pre-signed URL must
894//    be a valid request for the CopyDBClusterSnapshot API action that can be
895//    executed in the source AWS Region that contains the encrypted DB cluster
896//    snapshot to be copied. The pre-signed URL request must contain the following
897//    parameter values: KmsKeyId - The KMS key identifier for the key to use
898//    to encrypt the copy of the DB cluster snapshot in the destination AWS
899//    Region. This is the same identifier for both the CopyDBClusterSnapshot
900//    action that is called in the destination AWS Region, and the action contained
901//    in the pre-signed URL. DestinationRegion - The name of the AWS Region
902//    that the DB cluster snapshot is to be created in. SourceDBClusterSnapshotIdentifier
903//    - The DB cluster snapshot identifier for the encrypted DB cluster snapshot
904//    to be copied. This identifier must be in the Amazon Resource Name (ARN)
905//    format for the source AWS Region. For example, if you are copying an encrypted
906//    DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
907//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
908//    To learn how to generate a Signature Version 4 signed request, see Authenticating
909//    Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
910//    and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
911//    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
912//    (or --source-region for the AWS CLI) instead of specifying PreSignedUrl
913//    manually. Specifying SourceRegion autogenerates a pre-signed URL that
914//    is a valid request for the operation that can be executed in the source
915//    AWS Region.
916//
917//    * TargetDBClusterSnapshotIdentifier - The identifier for the new copy
918//    of the DB cluster snapshot in the destination AWS Region.
919//
920//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
921//    for the encrypted DB cluster snapshot to be copied. This identifier must
922//    be in the ARN format for the source AWS Region and is the same value as
923//    the SourceDBClusterSnapshotIdentifier in the pre-signed URL.
924//
925// To cancel the copy operation once it is in progress, delete the target DB
926// cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that
927// DB cluster snapshot is in "copying" status.
928//
929// For more information on copying encrypted DB cluster snapshots from one AWS
930// Region to another, see Copying a Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html)
931// in the Amazon Aurora User Guide.
932//
933// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
934// in the Amazon Aurora User Guide.
935//
936// This action only applies to Aurora DB clusters.
937//
938// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
939// with awserr.Error's Code and Message methods to get detailed information about
940// the error.
941//
942// See the AWS API reference guide for Amazon Relational Database Service's
943// API operation CopyDBClusterSnapshot for usage and error information.
944//
945// Returned Error Codes:
946//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
947//   The user already has a DB cluster snapshot with the given identifier.
948//
949//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
950//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
951//
952//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
953//   The requested operation can't be performed while the cluster is in this state.
954//
955//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
956//   The supplied value isn't a valid DB cluster snapshot state.
957//
958//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
959//   The request would result in the user exceeding the allowed number of DB snapshots.
960//
961//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
962//   An error occurred accessing an AWS KMS key.
963//
964// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
965func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
966	req, out := c.CopyDBClusterSnapshotRequest(input)
967	return out, req.Send()
968}
969
970// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
971// the ability to pass a context and additional request options.
972//
973// See CopyDBClusterSnapshot for details on how to use this API operation.
974//
975// The context must be non-nil and will be used for request cancellation. If
976// the context is nil a panic will occur. In the future the SDK may create
977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
978// for more information on using Contexts.
979func (c *RDS) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
980	req, out := c.CopyDBClusterSnapshotRequest(input)
981	req.SetContext(ctx)
982	req.ApplyOptions(opts...)
983	return out, req.Send()
984}
985
986const opCopyDBParameterGroup = "CopyDBParameterGroup"
987
988// CopyDBParameterGroupRequest generates a "aws/request.Request" representing the
989// client's request for the CopyDBParameterGroup operation. The "output" return
990// value will be populated with the request's response once the request completes
991// successfully.
992//
993// Use "Send" method on the returned Request to send the API call to the service.
994// the "output" return value is not valid until after Send returns without error.
995//
996// See CopyDBParameterGroup for more information on using the CopyDBParameterGroup
997// API call, and error handling.
998//
999// This method is useful when you want to inject custom logic or configuration
1000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1001//
1002//
1003//    // Example sending a request using the CopyDBParameterGroupRequest method.
1004//    req, resp := client.CopyDBParameterGroupRequest(params)
1005//
1006//    err := req.Send()
1007//    if err == nil { // resp is now filled
1008//        fmt.Println(resp)
1009//    }
1010//
1011// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
1012func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) {
1013	op := &request.Operation{
1014		Name:       opCopyDBParameterGroup,
1015		HTTPMethod: "POST",
1016		HTTPPath:   "/",
1017	}
1018
1019	if input == nil {
1020		input = &CopyDBParameterGroupInput{}
1021	}
1022
1023	output = &CopyDBParameterGroupOutput{}
1024	req = c.newRequest(op, input, output)
1025	return
1026}
1027
1028// CopyDBParameterGroup API operation for Amazon Relational Database Service.
1029//
1030// Copies the specified DB parameter group.
1031//
1032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1033// with awserr.Error's Code and Message methods to get detailed information about
1034// the error.
1035//
1036// See the AWS API reference guide for Amazon Relational Database Service's
1037// API operation CopyDBParameterGroup for usage and error information.
1038//
1039// Returned Error Codes:
1040//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1041//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1042//
1043//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1044//   A DB parameter group with the same name exists.
1045//
1046//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1047//   The request would result in the user exceeding the allowed number of DB parameter
1048//   groups.
1049//
1050// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
1051func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) {
1052	req, out := c.CopyDBParameterGroupRequest(input)
1053	return out, req.Send()
1054}
1055
1056// CopyDBParameterGroupWithContext is the same as CopyDBParameterGroup with the addition of
1057// the ability to pass a context and additional request options.
1058//
1059// See CopyDBParameterGroup for details on how to use this API operation.
1060//
1061// The context must be non-nil and will be used for request cancellation. If
1062// the context is nil a panic will occur. In the future the SDK may create
1063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1064// for more information on using Contexts.
1065func (c *RDS) CopyDBParameterGroupWithContext(ctx aws.Context, input *CopyDBParameterGroupInput, opts ...request.Option) (*CopyDBParameterGroupOutput, error) {
1066	req, out := c.CopyDBParameterGroupRequest(input)
1067	req.SetContext(ctx)
1068	req.ApplyOptions(opts...)
1069	return out, req.Send()
1070}
1071
1072const opCopyDBSnapshot = "CopyDBSnapshot"
1073
1074// CopyDBSnapshotRequest generates a "aws/request.Request" representing the
1075// client's request for the CopyDBSnapshot operation. The "output" return
1076// value will be populated with the request's response once the request completes
1077// successfully.
1078//
1079// Use "Send" method on the returned Request to send the API call to the service.
1080// the "output" return value is not valid until after Send returns without error.
1081//
1082// See CopyDBSnapshot for more information on using the CopyDBSnapshot
1083// API call, and error handling.
1084//
1085// This method is useful when you want to inject custom logic or configuration
1086// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1087//
1088//
1089//    // Example sending a request using the CopyDBSnapshotRequest method.
1090//    req, resp := client.CopyDBSnapshotRequest(params)
1091//
1092//    err := req.Send()
1093//    if err == nil { // resp is now filled
1094//        fmt.Println(resp)
1095//    }
1096//
1097// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
1098func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Request, output *CopyDBSnapshotOutput) {
1099	op := &request.Operation{
1100		Name:       opCopyDBSnapshot,
1101		HTTPMethod: "POST",
1102		HTTPPath:   "/",
1103	}
1104
1105	if input == nil {
1106		input = &CopyDBSnapshotInput{}
1107	}
1108
1109	output = &CopyDBSnapshotOutput{}
1110	req = c.newRequest(op, input, output)
1111	return
1112}
1113
1114// CopyDBSnapshot API operation for Amazon Relational Database Service.
1115//
1116// Copies the specified DB snapshot. The source DB snapshot must be in the "available"
1117// state.
1118//
1119// You can copy a snapshot from one AWS Region to another. In that case, the
1120// AWS Region where you call the CopyDBSnapshot action is the destination AWS
1121// Region for the DB snapshot copy.
1122//
1123// For more information about copying snapshots, see Copying a DB Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBSnapshot)
1124// in the Amazon RDS User Guide.
1125//
1126// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1127// with awserr.Error's Code and Message methods to get detailed information about
1128// the error.
1129//
1130// See the AWS API reference guide for Amazon Relational Database Service's
1131// API operation CopyDBSnapshot for usage and error information.
1132//
1133// Returned Error Codes:
1134//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1135//   DBSnapshotIdentifier is already used by an existing snapshot.
1136//
1137//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
1138//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
1139//
1140//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
1141//   The state of the DB snapshot doesn't allow deletion.
1142//
1143//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1144//   The request would result in the user exceeding the allowed number of DB snapshots.
1145//
1146//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1147//   An error occurred accessing an AWS KMS key.
1148//
1149// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
1150func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, error) {
1151	req, out := c.CopyDBSnapshotRequest(input)
1152	return out, req.Send()
1153}
1154
1155// CopyDBSnapshotWithContext is the same as CopyDBSnapshot with the addition of
1156// the ability to pass a context and additional request options.
1157//
1158// See CopyDBSnapshot for details on how to use this API operation.
1159//
1160// The context must be non-nil and will be used for request cancellation. If
1161// the context is nil a panic will occur. In the future the SDK may create
1162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1163// for more information on using Contexts.
1164func (c *RDS) CopyDBSnapshotWithContext(ctx aws.Context, input *CopyDBSnapshotInput, opts ...request.Option) (*CopyDBSnapshotOutput, error) {
1165	req, out := c.CopyDBSnapshotRequest(input)
1166	req.SetContext(ctx)
1167	req.ApplyOptions(opts...)
1168	return out, req.Send()
1169}
1170
1171const opCopyOptionGroup = "CopyOptionGroup"
1172
1173// CopyOptionGroupRequest generates a "aws/request.Request" representing the
1174// client's request for the CopyOptionGroup operation. The "output" return
1175// value will be populated with the request's response once the request completes
1176// successfully.
1177//
1178// Use "Send" method on the returned Request to send the API call to the service.
1179// the "output" return value is not valid until after Send returns without error.
1180//
1181// See CopyOptionGroup for more information on using the CopyOptionGroup
1182// API call, and error handling.
1183//
1184// This method is useful when you want to inject custom logic or configuration
1185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1186//
1187//
1188//    // Example sending a request using the CopyOptionGroupRequest method.
1189//    req, resp := client.CopyOptionGroupRequest(params)
1190//
1191//    err := req.Send()
1192//    if err == nil { // resp is now filled
1193//        fmt.Println(resp)
1194//    }
1195//
1196// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1197func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request.Request, output *CopyOptionGroupOutput) {
1198	op := &request.Operation{
1199		Name:       opCopyOptionGroup,
1200		HTTPMethod: "POST",
1201		HTTPPath:   "/",
1202	}
1203
1204	if input == nil {
1205		input = &CopyOptionGroupInput{}
1206	}
1207
1208	output = &CopyOptionGroupOutput{}
1209	req = c.newRequest(op, input, output)
1210	return
1211}
1212
1213// CopyOptionGroup API operation for Amazon Relational Database Service.
1214//
1215// Copies the specified option group.
1216//
1217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1218// with awserr.Error's Code and Message methods to get detailed information about
1219// the error.
1220//
1221// See the AWS API reference guide for Amazon Relational Database Service's
1222// API operation CopyOptionGroup for usage and error information.
1223//
1224// Returned Error Codes:
1225//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
1226//   The option group you are trying to create already exists.
1227//
1228//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1229//   The specified option group could not be found.
1230//
1231//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
1232//   The quota of 20 option groups was exceeded for this AWS account.
1233//
1234// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1235func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutput, error) {
1236	req, out := c.CopyOptionGroupRequest(input)
1237	return out, req.Send()
1238}
1239
1240// CopyOptionGroupWithContext is the same as CopyOptionGroup with the addition of
1241// the ability to pass a context and additional request options.
1242//
1243// See CopyOptionGroup for details on how to use this API operation.
1244//
1245// The context must be non-nil and will be used for request cancellation. If
1246// the context is nil a panic will occur. In the future the SDK may create
1247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1248// for more information on using Contexts.
1249func (c *RDS) CopyOptionGroupWithContext(ctx aws.Context, input *CopyOptionGroupInput, opts ...request.Option) (*CopyOptionGroupOutput, error) {
1250	req, out := c.CopyOptionGroupRequest(input)
1251	req.SetContext(ctx)
1252	req.ApplyOptions(opts...)
1253	return out, req.Send()
1254}
1255
1256const opCreateCustomAvailabilityZone = "CreateCustomAvailabilityZone"
1257
1258// CreateCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
1259// client's request for the CreateCustomAvailabilityZone operation. The "output" return
1260// value will be populated with the request's response once the request completes
1261// successfully.
1262//
1263// Use "Send" method on the returned Request to send the API call to the service.
1264// the "output" return value is not valid until after Send returns without error.
1265//
1266// See CreateCustomAvailabilityZone for more information on using the CreateCustomAvailabilityZone
1267// API call, and error handling.
1268//
1269// This method is useful when you want to inject custom logic or configuration
1270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1271//
1272//
1273//    // Example sending a request using the CreateCustomAvailabilityZoneRequest method.
1274//    req, resp := client.CreateCustomAvailabilityZoneRequest(params)
1275//
1276//    err := req.Send()
1277//    if err == nil { // resp is now filled
1278//        fmt.Println(resp)
1279//    }
1280//
1281// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
1282func (c *RDS) CreateCustomAvailabilityZoneRequest(input *CreateCustomAvailabilityZoneInput) (req *request.Request, output *CreateCustomAvailabilityZoneOutput) {
1283	op := &request.Operation{
1284		Name:       opCreateCustomAvailabilityZone,
1285		HTTPMethod: "POST",
1286		HTTPPath:   "/",
1287	}
1288
1289	if input == nil {
1290		input = &CreateCustomAvailabilityZoneInput{}
1291	}
1292
1293	output = &CreateCustomAvailabilityZoneOutput{}
1294	req = c.newRequest(op, input, output)
1295	return
1296}
1297
1298// CreateCustomAvailabilityZone API operation for Amazon Relational Database Service.
1299//
1300// Creates a custom Availability Zone (AZ).
1301//
1302// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
1303// cluster.
1304//
1305// For more information about RDS on VMware, see the RDS on VMware User Guide.
1306// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
1307//
1308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1309// with awserr.Error's Code and Message methods to get detailed information about
1310// the error.
1311//
1312// See the AWS API reference guide for Amazon Relational Database Service's
1313// API operation CreateCustomAvailabilityZone for usage and error information.
1314//
1315// Returned Error Codes:
1316//   * ErrCodeCustomAvailabilityZoneAlreadyExistsFault "CustomAvailabilityZoneAlreadyExists"
1317//   CustomAvailabilityZoneName is already used by an existing custom Availability
1318//   Zone.
1319//
1320//   * ErrCodeCustomAvailabilityZoneQuotaExceededFault "CustomAvailabilityZoneQuotaExceeded"
1321//   You have exceeded the maximum number of custom Availability Zones.
1322//
1323//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1324//   An error occurred accessing an AWS KMS key.
1325//
1326// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
1327func (c *RDS) CreateCustomAvailabilityZone(input *CreateCustomAvailabilityZoneInput) (*CreateCustomAvailabilityZoneOutput, error) {
1328	req, out := c.CreateCustomAvailabilityZoneRequest(input)
1329	return out, req.Send()
1330}
1331
1332// CreateCustomAvailabilityZoneWithContext is the same as CreateCustomAvailabilityZone with the addition of
1333// the ability to pass a context and additional request options.
1334//
1335// See CreateCustomAvailabilityZone for details on how to use this API operation.
1336//
1337// The context must be non-nil and will be used for request cancellation. If
1338// the context is nil a panic will occur. In the future the SDK may create
1339// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1340// for more information on using Contexts.
1341func (c *RDS) CreateCustomAvailabilityZoneWithContext(ctx aws.Context, input *CreateCustomAvailabilityZoneInput, opts ...request.Option) (*CreateCustomAvailabilityZoneOutput, error) {
1342	req, out := c.CreateCustomAvailabilityZoneRequest(input)
1343	req.SetContext(ctx)
1344	req.ApplyOptions(opts...)
1345	return out, req.Send()
1346}
1347
1348const opCreateDBCluster = "CreateDBCluster"
1349
1350// CreateDBClusterRequest generates a "aws/request.Request" representing the
1351// client's request for the CreateDBCluster operation. The "output" return
1352// value will be populated with the request's response once the request completes
1353// successfully.
1354//
1355// Use "Send" method on the returned Request to send the API call to the service.
1356// the "output" return value is not valid until after Send returns without error.
1357//
1358// See CreateDBCluster for more information on using the CreateDBCluster
1359// API call, and error handling.
1360//
1361// This method is useful when you want to inject custom logic or configuration
1362// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1363//
1364//
1365//    // Example sending a request using the CreateDBClusterRequest method.
1366//    req, resp := client.CreateDBClusterRequest(params)
1367//
1368//    err := req.Send()
1369//    if err == nil { // resp is now filled
1370//        fmt.Println(resp)
1371//    }
1372//
1373// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1374func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
1375	op := &request.Operation{
1376		Name:       opCreateDBCluster,
1377		HTTPMethod: "POST",
1378		HTTPPath:   "/",
1379	}
1380
1381	if input == nil {
1382		input = &CreateDBClusterInput{}
1383	}
1384
1385	output = &CreateDBClusterOutput{}
1386	req = c.newRequest(op, input, output)
1387	return
1388}
1389
1390// CreateDBCluster API operation for Amazon Relational Database Service.
1391//
1392// Creates a new Amazon Aurora DB cluster.
1393//
1394// You can use the ReplicationSourceIdentifier parameter to create the DB cluster
1395// as a read replica of another DB cluster or Amazon RDS MySQL DB instance.
1396// For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier
1397// is encrypted, you must also specify the PreSignedUrl parameter.
1398//
1399// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1400// in the Amazon Aurora User Guide.
1401//
1402// This action only applies to Aurora DB clusters.
1403//
1404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1405// with awserr.Error's Code and Message methods to get detailed information about
1406// the error.
1407//
1408// See the AWS API reference guide for Amazon Relational Database Service's
1409// API operation CreateDBCluster for usage and error information.
1410//
1411// Returned Error Codes:
1412//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
1413//   The user already has a DB cluster with the given identifier.
1414//
1415//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
1416//   There is insufficient storage available for the current action. You might
1417//   be able to resolve this error by updating your subnet group to use different
1418//   Availability Zones that have more storage available.
1419//
1420//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
1421//   The user attempted to create a new DB cluster and the user has already reached
1422//   the maximum allowed DB cluster quota.
1423//
1424//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1425//   The request would result in the user exceeding the allowed amount of storage
1426//   available across all DB instances.
1427//
1428//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1429//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1430//
1431//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1432//   The DB subnet group doesn't cover all Availability Zones after it's created
1433//   because of users' change.
1434//
1435//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1436//   The requested operation can't be performed while the cluster is in this state.
1437//
1438//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1439//   The DB subnet group cannot be deleted because it's in use.
1440//
1441//   * ErrCodeInvalidSubnet "InvalidSubnet"
1442//   The requested subnet is invalid, or multiple subnets were requested that
1443//   are not all in a common VPC.
1444//
1445//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1446//   The DB instance isn't in a valid state.
1447//
1448//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
1449//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
1450//   group.
1451//
1452//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1453//   An error occurred accessing an AWS KMS key.
1454//
1455//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1456//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1457//
1458//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1459//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1460//
1461//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1462//   Subnets in the DB subnet group should cover at least two Availability Zones
1463//   unless there is only one Availability Zone.
1464//
1465//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
1466//
1467//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
1468//
1469//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1470//   Domain doesn't refer to an existing Active Directory domain.
1471//
1472// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1473func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
1474	req, out := c.CreateDBClusterRequest(input)
1475	return out, req.Send()
1476}
1477
1478// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
1479// the ability to pass a context and additional request options.
1480//
1481// See CreateDBCluster for details on how to use this API operation.
1482//
1483// The context must be non-nil and will be used for request cancellation. If
1484// the context is nil a panic will occur. In the future the SDK may create
1485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1486// for more information on using Contexts.
1487func (c *RDS) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
1488	req, out := c.CreateDBClusterRequest(input)
1489	req.SetContext(ctx)
1490	req.ApplyOptions(opts...)
1491	return out, req.Send()
1492}
1493
1494const opCreateDBClusterEndpoint = "CreateDBClusterEndpoint"
1495
1496// CreateDBClusterEndpointRequest generates a "aws/request.Request" representing the
1497// client's request for the CreateDBClusterEndpoint operation. The "output" return
1498// value will be populated with the request's response once the request completes
1499// successfully.
1500//
1501// Use "Send" method on the returned Request to send the API call to the service.
1502// the "output" return value is not valid until after Send returns without error.
1503//
1504// See CreateDBClusterEndpoint for more information on using the CreateDBClusterEndpoint
1505// API call, and error handling.
1506//
1507// This method is useful when you want to inject custom logic or configuration
1508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1509//
1510//
1511//    // Example sending a request using the CreateDBClusterEndpointRequest method.
1512//    req, resp := client.CreateDBClusterEndpointRequest(params)
1513//
1514//    err := req.Send()
1515//    if err == nil { // resp is now filled
1516//        fmt.Println(resp)
1517//    }
1518//
1519// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
1520func (c *RDS) CreateDBClusterEndpointRequest(input *CreateDBClusterEndpointInput) (req *request.Request, output *CreateDBClusterEndpointOutput) {
1521	op := &request.Operation{
1522		Name:       opCreateDBClusterEndpoint,
1523		HTTPMethod: "POST",
1524		HTTPPath:   "/",
1525	}
1526
1527	if input == nil {
1528		input = &CreateDBClusterEndpointInput{}
1529	}
1530
1531	output = &CreateDBClusterEndpointOutput{}
1532	req = c.newRequest(op, input, output)
1533	return
1534}
1535
1536// CreateDBClusterEndpoint API operation for Amazon Relational Database Service.
1537//
1538// Creates a new custom endpoint and associates it with an Amazon Aurora DB
1539// cluster.
1540//
1541// This action only applies to Aurora DB clusters.
1542//
1543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1544// with awserr.Error's Code and Message methods to get detailed information about
1545// the error.
1546//
1547// See the AWS API reference guide for Amazon Relational Database Service's
1548// API operation CreateDBClusterEndpoint for usage and error information.
1549//
1550// Returned Error Codes:
1551//   * ErrCodeDBClusterEndpointQuotaExceededFault "DBClusterEndpointQuotaExceededFault"
1552//   The cluster already has the maximum number of custom endpoints.
1553//
1554//   * ErrCodeDBClusterEndpointAlreadyExistsFault "DBClusterEndpointAlreadyExistsFault"
1555//   The specified custom endpoint can't be created because it already exists.
1556//
1557//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1558//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1559//
1560//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1561//   The requested operation can't be performed while the cluster is in this state.
1562//
1563//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1564//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1565//
1566//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1567//   The DB instance isn't in a valid state.
1568//
1569// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
1570func (c *RDS) CreateDBClusterEndpoint(input *CreateDBClusterEndpointInput) (*CreateDBClusterEndpointOutput, error) {
1571	req, out := c.CreateDBClusterEndpointRequest(input)
1572	return out, req.Send()
1573}
1574
1575// CreateDBClusterEndpointWithContext is the same as CreateDBClusterEndpoint with the addition of
1576// the ability to pass a context and additional request options.
1577//
1578// See CreateDBClusterEndpoint for details on how to use this API operation.
1579//
1580// The context must be non-nil and will be used for request cancellation. If
1581// the context is nil a panic will occur. In the future the SDK may create
1582// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1583// for more information on using Contexts.
1584func (c *RDS) CreateDBClusterEndpointWithContext(ctx aws.Context, input *CreateDBClusterEndpointInput, opts ...request.Option) (*CreateDBClusterEndpointOutput, error) {
1585	req, out := c.CreateDBClusterEndpointRequest(input)
1586	req.SetContext(ctx)
1587	req.ApplyOptions(opts...)
1588	return out, req.Send()
1589}
1590
1591const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
1592
1593// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1594// client's request for the CreateDBClusterParameterGroup operation. The "output" return
1595// value will be populated with the request's response once the request completes
1596// successfully.
1597//
1598// Use "Send" method on the returned Request to send the API call to the service.
1599// the "output" return value is not valid until after Send returns without error.
1600//
1601// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
1602// API call, and error handling.
1603//
1604// This method is useful when you want to inject custom logic or configuration
1605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1606//
1607//
1608//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
1609//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
1610//
1611//    err := req.Send()
1612//    if err == nil { // resp is now filled
1613//        fmt.Println(resp)
1614//    }
1615//
1616// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1617func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
1618	op := &request.Operation{
1619		Name:       opCreateDBClusterParameterGroup,
1620		HTTPMethod: "POST",
1621		HTTPPath:   "/",
1622	}
1623
1624	if input == nil {
1625		input = &CreateDBClusterParameterGroupInput{}
1626	}
1627
1628	output = &CreateDBClusterParameterGroupOutput{}
1629	req = c.newRequest(op, input, output)
1630	return
1631}
1632
1633// CreateDBClusterParameterGroup API operation for Amazon Relational Database Service.
1634//
1635// Creates a new DB cluster parameter group.
1636//
1637// Parameters in a DB cluster parameter group apply to all of the instances
1638// in a DB cluster.
1639//
1640// A DB cluster parameter group is initially created with the default parameters
1641// for the database engine used by instances in the DB cluster. To provide custom
1642// values for any of the parameters, you must modify the group after creating
1643// it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
1644// parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
1645// When you associate a new DB cluster parameter group with a running DB cluster,
1646// you need to reboot the DB instances in the DB cluster without failover for
1647// the new DB cluster parameter group and associated settings to take effect.
1648//
1649// After you create a DB cluster parameter group, you should wait at least 5
1650// minutes before creating your first DB cluster that uses that DB cluster parameter
1651// group as the default parameter group. This allows Amazon RDS to fully complete
1652// the create action before the DB cluster parameter group is used as the default
1653// for a new DB cluster. This is especially important for parameters that are
1654// critical when creating the default database for a DB cluster, such as the
1655// character set for the default database defined by the character_set_database
1656// parameter. You can use the Parameter Groups option of the Amazon RDS console
1657// (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
1658// action to verify that your DB cluster parameter group has been created or
1659// modified.
1660//
1661// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1662// in the Amazon Aurora User Guide.
1663//
1664// This action only applies to Aurora DB clusters.
1665//
1666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1667// with awserr.Error's Code and Message methods to get detailed information about
1668// the error.
1669//
1670// See the AWS API reference guide for Amazon Relational Database Service's
1671// API operation CreateDBClusterParameterGroup for usage and error information.
1672//
1673// Returned Error Codes:
1674//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1675//   The request would result in the user exceeding the allowed number of DB parameter
1676//   groups.
1677//
1678//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1679//   A DB parameter group with the same name exists.
1680//
1681// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1682func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
1683	req, out := c.CreateDBClusterParameterGroupRequest(input)
1684	return out, req.Send()
1685}
1686
1687// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
1688// the ability to pass a context and additional request options.
1689//
1690// See CreateDBClusterParameterGroup for details on how to use this API operation.
1691//
1692// The context must be non-nil and will be used for request cancellation. If
1693// the context is nil a panic will occur. In the future the SDK may create
1694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1695// for more information on using Contexts.
1696func (c *RDS) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
1697	req, out := c.CreateDBClusterParameterGroupRequest(input)
1698	req.SetContext(ctx)
1699	req.ApplyOptions(opts...)
1700	return out, req.Send()
1701}
1702
1703const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
1704
1705// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1706// client's request for the CreateDBClusterSnapshot operation. The "output" return
1707// value will be populated with the request's response once the request completes
1708// successfully.
1709//
1710// Use "Send" method on the returned Request to send the API call to the service.
1711// the "output" return value is not valid until after Send returns without error.
1712//
1713// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
1714// API call, and error handling.
1715//
1716// This method is useful when you want to inject custom logic or configuration
1717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1718//
1719//
1720//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
1721//    req, resp := client.CreateDBClusterSnapshotRequest(params)
1722//
1723//    err := req.Send()
1724//    if err == nil { // resp is now filled
1725//        fmt.Println(resp)
1726//    }
1727//
1728// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1729func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
1730	op := &request.Operation{
1731		Name:       opCreateDBClusterSnapshot,
1732		HTTPMethod: "POST",
1733		HTTPPath:   "/",
1734	}
1735
1736	if input == nil {
1737		input = &CreateDBClusterSnapshotInput{}
1738	}
1739
1740	output = &CreateDBClusterSnapshotOutput{}
1741	req = c.newRequest(op, input, output)
1742	return
1743}
1744
1745// CreateDBClusterSnapshot API operation for Amazon Relational Database Service.
1746//
1747// Creates a snapshot of a DB cluster. For more information on Amazon Aurora,
1748// see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1749// in the Amazon Aurora User Guide.
1750//
1751// This action only applies to Aurora DB clusters.
1752//
1753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1754// with awserr.Error's Code and Message methods to get detailed information about
1755// the error.
1756//
1757// See the AWS API reference guide for Amazon Relational Database Service's
1758// API operation CreateDBClusterSnapshot for usage and error information.
1759//
1760// Returned Error Codes:
1761//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1762//   The user already has a DB cluster snapshot with the given identifier.
1763//
1764//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1765//   The requested operation can't be performed while the cluster is in this state.
1766//
1767//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1768//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1769//
1770//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1771//   The request would result in the user exceeding the allowed number of DB snapshots.
1772//
1773//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1774//   The supplied value isn't a valid DB cluster snapshot state.
1775//
1776// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1777func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
1778	req, out := c.CreateDBClusterSnapshotRequest(input)
1779	return out, req.Send()
1780}
1781
1782// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
1783// the ability to pass a context and additional request options.
1784//
1785// See CreateDBClusterSnapshot for details on how to use this API operation.
1786//
1787// The context must be non-nil and will be used for request cancellation. If
1788// the context is nil a panic will occur. In the future the SDK may create
1789// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1790// for more information on using Contexts.
1791func (c *RDS) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
1792	req, out := c.CreateDBClusterSnapshotRequest(input)
1793	req.SetContext(ctx)
1794	req.ApplyOptions(opts...)
1795	return out, req.Send()
1796}
1797
1798const opCreateDBInstance = "CreateDBInstance"
1799
1800// CreateDBInstanceRequest generates a "aws/request.Request" representing the
1801// client's request for the CreateDBInstance operation. The "output" return
1802// value will be populated with the request's response once the request completes
1803// successfully.
1804//
1805// Use "Send" method on the returned Request to send the API call to the service.
1806// the "output" return value is not valid until after Send returns without error.
1807//
1808// See CreateDBInstance for more information on using the CreateDBInstance
1809// API call, and error handling.
1810//
1811// This method is useful when you want to inject custom logic or configuration
1812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1813//
1814//
1815//    // Example sending a request using the CreateDBInstanceRequest method.
1816//    req, resp := client.CreateDBInstanceRequest(params)
1817//
1818//    err := req.Send()
1819//    if err == nil { // resp is now filled
1820//        fmt.Println(resp)
1821//    }
1822//
1823// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1824func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
1825	op := &request.Operation{
1826		Name:       opCreateDBInstance,
1827		HTTPMethod: "POST",
1828		HTTPPath:   "/",
1829	}
1830
1831	if input == nil {
1832		input = &CreateDBInstanceInput{}
1833	}
1834
1835	output = &CreateDBInstanceOutput{}
1836	req = c.newRequest(op, input, output)
1837	return
1838}
1839
1840// CreateDBInstance API operation for Amazon Relational Database Service.
1841//
1842// Creates a new DB instance.
1843//
1844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1845// with awserr.Error's Code and Message methods to get detailed information about
1846// the error.
1847//
1848// See the AWS API reference guide for Amazon Relational Database Service's
1849// API operation CreateDBInstance for usage and error information.
1850//
1851// Returned Error Codes:
1852//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1853//   The user already has a DB instance with the given identifier.
1854//
1855//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1856//   The specified DB instance class isn't available in the specified Availability
1857//   Zone.
1858//
1859//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1860//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1861//
1862//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1863//   DBSecurityGroupName doesn't refer to an existing DB security group.
1864//
1865//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1866//   The request would result in the user exceeding the allowed number of DB instances.
1867//
1868//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1869//   The request would result in the user exceeding the allowed amount of storage
1870//   available across all DB instances.
1871//
1872//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1873//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1874//
1875//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1876//   Subnets in the DB subnet group should cover at least two Availability Zones
1877//   unless there is only one Availability Zone.
1878//
1879//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1880//   The requested operation can't be performed while the cluster is in this state.
1881//
1882//   * ErrCodeInvalidSubnet "InvalidSubnet"
1883//   The requested subnet is invalid, or multiple subnets were requested that
1884//   are not all in a common VPC.
1885//
1886//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1887//   The DB subnet group doesn't cover all Availability Zones after it's created
1888//   because of users' change.
1889//
1890//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1891//   Provisioned IOPS not available in the specified Availability Zone.
1892//
1893//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1894//   The specified option group could not be found.
1895//
1896//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1897//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1898//
1899//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1900//   Storage of the StorageType specified can't be associated with the DB instance.
1901//
1902//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
1903//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
1904//   for the specified DB security group.
1905//
1906//   Or, RDS might not be authorized to perform necessary actions using IAM on
1907//   your behalf.
1908//
1909//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1910//   An error occurred accessing an AWS KMS key.
1911//
1912//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1913//   Domain doesn't refer to an existing Active Directory domain.
1914//
1915//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
1916//
1917// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1918func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
1919	req, out := c.CreateDBInstanceRequest(input)
1920	return out, req.Send()
1921}
1922
1923// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
1924// the ability to pass a context and additional request options.
1925//
1926// See CreateDBInstance for details on how to use this API operation.
1927//
1928// The context must be non-nil and will be used for request cancellation. If
1929// the context is nil a panic will occur. In the future the SDK may create
1930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1931// for more information on using Contexts.
1932func (c *RDS) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
1933	req, out := c.CreateDBInstanceRequest(input)
1934	req.SetContext(ctx)
1935	req.ApplyOptions(opts...)
1936	return out, req.Send()
1937}
1938
1939const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica"
1940
1941// CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the
1942// client's request for the CreateDBInstanceReadReplica operation. The "output" return
1943// value will be populated with the request's response once the request completes
1944// successfully.
1945//
1946// Use "Send" method on the returned Request to send the API call to the service.
1947// the "output" return value is not valid until after Send returns without error.
1948//
1949// See CreateDBInstanceReadReplica for more information on using the CreateDBInstanceReadReplica
1950// API call, and error handling.
1951//
1952// This method is useful when you want to inject custom logic or configuration
1953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1954//
1955//
1956//    // Example sending a request using the CreateDBInstanceReadReplicaRequest method.
1957//    req, resp := client.CreateDBInstanceReadReplicaRequest(params)
1958//
1959//    err := req.Send()
1960//    if err == nil { // resp is now filled
1961//        fmt.Println(resp)
1962//    }
1963//
1964// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
1965func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadReplicaInput) (req *request.Request, output *CreateDBInstanceReadReplicaOutput) {
1966	op := &request.Operation{
1967		Name:       opCreateDBInstanceReadReplica,
1968		HTTPMethod: "POST",
1969		HTTPPath:   "/",
1970	}
1971
1972	if input == nil {
1973		input = &CreateDBInstanceReadReplicaInput{}
1974	}
1975
1976	output = &CreateDBInstanceReadReplicaOutput{}
1977	req = c.newRequest(op, input, output)
1978	return
1979}
1980
1981// CreateDBInstanceReadReplica API operation for Amazon Relational Database Service.
1982//
1983// Creates a new DB instance that acts as a read replica for an existing source
1984// DB instance. You can create a read replica for a DB instance running MySQL,
1985// MariaDB, Oracle, PostgreSQL, or SQL Server. For more information, see Working
1986// with Read Replicas (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
1987// in the Amazon RDS User Guide.
1988//
1989// Amazon Aurora doesn't support this action. Call the CreateDBInstance action
1990// to create a DB instance for an Aurora DB cluster.
1991//
1992// All read replica DB instances are created with backups disabled. All other
1993// DB instance attributes (including DB security groups and DB parameter groups)
1994// are inherited from the source DB instance, except as specified.
1995//
1996// Your source DB instance must have backup retention enabled.
1997//
1998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1999// with awserr.Error's Code and Message methods to get detailed information about
2000// the error.
2001//
2002// See the AWS API reference guide for Amazon Relational Database Service's
2003// API operation CreateDBInstanceReadReplica for usage and error information.
2004//
2005// Returned Error Codes:
2006//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
2007//   The user already has a DB instance with the given identifier.
2008//
2009//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
2010//   The specified DB instance class isn't available in the specified Availability
2011//   Zone.
2012//
2013//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2014//   DBParameterGroupName doesn't refer to an existing DB parameter group.
2015//
2016//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
2017//   DBSecurityGroupName doesn't refer to an existing DB security group.
2018//
2019//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
2020//   The request would result in the user exceeding the allowed number of DB instances.
2021//
2022//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
2023//   The request would result in the user exceeding the allowed amount of storage
2024//   available across all DB instances.
2025//
2026//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2027//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2028//
2029//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2030//   The DB instance isn't in a valid state.
2031//
2032//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2033//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
2034//
2035//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2036//   Subnets in the DB subnet group should cover at least two Availability Zones
2037//   unless there is only one Availability Zone.
2038//
2039//   * ErrCodeInvalidSubnet "InvalidSubnet"
2040//   The requested subnet is invalid, or multiple subnets were requested that
2041//   are not all in a common VPC.
2042//
2043//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
2044//   The DB subnet group doesn't cover all Availability Zones after it's created
2045//   because of users' change.
2046//
2047//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
2048//   Provisioned IOPS not available in the specified Availability Zone.
2049//
2050//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
2051//   The specified option group could not be found.
2052//
2053//   * ErrCodeDBSubnetGroupNotAllowedFault "DBSubnetGroupNotAllowedFault"
2054//   The DBSubnetGroup shouldn't be specified while creating read replicas that
2055//   lie in the same region as the source instance.
2056//
2057//   * ErrCodeInvalidDBSubnetGroupFault "InvalidDBSubnetGroupFault"
2058//   The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region
2059//   read replica of the same source instance.
2060//
2061//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
2062//   Storage of the StorageType specified can't be associated with the DB instance.
2063//
2064//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
2065//   An error occurred accessing an AWS KMS key.
2066//
2067//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
2068//   Domain doesn't refer to an existing Active Directory domain.
2069//
2070// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
2071func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) {
2072	req, out := c.CreateDBInstanceReadReplicaRequest(input)
2073	return out, req.Send()
2074}
2075
2076// CreateDBInstanceReadReplicaWithContext is the same as CreateDBInstanceReadReplica with the addition of
2077// the ability to pass a context and additional request options.
2078//
2079// See CreateDBInstanceReadReplica for details on how to use this API operation.
2080//
2081// The context must be non-nil and will be used for request cancellation. If
2082// the context is nil a panic will occur. In the future the SDK may create
2083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2084// for more information on using Contexts.
2085func (c *RDS) CreateDBInstanceReadReplicaWithContext(ctx aws.Context, input *CreateDBInstanceReadReplicaInput, opts ...request.Option) (*CreateDBInstanceReadReplicaOutput, error) {
2086	req, out := c.CreateDBInstanceReadReplicaRequest(input)
2087	req.SetContext(ctx)
2088	req.ApplyOptions(opts...)
2089	return out, req.Send()
2090}
2091
2092const opCreateDBParameterGroup = "CreateDBParameterGroup"
2093
2094// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
2095// client's request for the CreateDBParameterGroup operation. The "output" return
2096// value will be populated with the request's response once the request completes
2097// successfully.
2098//
2099// Use "Send" method on the returned Request to send the API call to the service.
2100// the "output" return value is not valid until after Send returns without error.
2101//
2102// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
2103// API call, and error handling.
2104//
2105// This method is useful when you want to inject custom logic or configuration
2106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2107//
2108//
2109//    // Example sending a request using the CreateDBParameterGroupRequest method.
2110//    req, resp := client.CreateDBParameterGroupRequest(params)
2111//
2112//    err := req.Send()
2113//    if err == nil { // resp is now filled
2114//        fmt.Println(resp)
2115//    }
2116//
2117// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
2118func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
2119	op := &request.Operation{
2120		Name:       opCreateDBParameterGroup,
2121		HTTPMethod: "POST",
2122		HTTPPath:   "/",
2123	}
2124
2125	if input == nil {
2126		input = &CreateDBParameterGroupInput{}
2127	}
2128
2129	output = &CreateDBParameterGroupOutput{}
2130	req = c.newRequest(op, input, output)
2131	return
2132}
2133
2134// CreateDBParameterGroup API operation for Amazon Relational Database Service.
2135//
2136// Creates a new DB parameter group.
2137//
2138// A DB parameter group is initially created with the default parameters for
2139// the database engine used by the DB instance. To provide custom values for
2140// any of the parameters, you must modify the group after creating it using
2141// ModifyDBParameterGroup. Once you've created a DB parameter group, you need
2142// to associate it with your DB instance using ModifyDBInstance. When you associate
2143// a new DB parameter group with a running DB instance, you need to reboot the
2144// DB instance without failover for the new DB parameter group and associated
2145// settings to take effect.
2146//
2147// After you create a DB parameter group, you should wait at least 5 minutes
2148// before creating your first DB instance that uses that DB parameter group
2149// as the default parameter group. This allows Amazon RDS to fully complete
2150// the create action before the parameter group is used as the default for a
2151// new DB instance. This is especially important for parameters that are critical
2152// when creating the default database for a DB instance, such as the character
2153// set for the default database defined by the character_set_database parameter.
2154// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
2155// or the DescribeDBParameters command to verify that your DB parameter group
2156// has been created or modified.
2157//
2158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2159// with awserr.Error's Code and Message methods to get detailed information about
2160// the error.
2161//
2162// See the AWS API reference guide for Amazon Relational Database Service's
2163// API operation CreateDBParameterGroup for usage and error information.
2164//
2165// Returned Error Codes:
2166//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
2167//   The request would result in the user exceeding the allowed number of DB parameter
2168//   groups.
2169//
2170//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
2171//   A DB parameter group with the same name exists.
2172//
2173// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
2174func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
2175	req, out := c.CreateDBParameterGroupRequest(input)
2176	return out, req.Send()
2177}
2178
2179// CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
2180// the ability to pass a context and additional request options.
2181//
2182// See CreateDBParameterGroup for details on how to use this API operation.
2183//
2184// The context must be non-nil and will be used for request cancellation. If
2185// the context is nil a panic will occur. In the future the SDK may create
2186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2187// for more information on using Contexts.
2188func (c *RDS) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
2189	req, out := c.CreateDBParameterGroupRequest(input)
2190	req.SetContext(ctx)
2191	req.ApplyOptions(opts...)
2192	return out, req.Send()
2193}
2194
2195const opCreateDBProxy = "CreateDBProxy"
2196
2197// CreateDBProxyRequest generates a "aws/request.Request" representing the
2198// client's request for the CreateDBProxy operation. The "output" return
2199// value will be populated with the request's response once the request completes
2200// successfully.
2201//
2202// Use "Send" method on the returned Request to send the API call to the service.
2203// the "output" return value is not valid until after Send returns without error.
2204//
2205// See CreateDBProxy for more information on using the CreateDBProxy
2206// API call, and error handling.
2207//
2208// This method is useful when you want to inject custom logic or configuration
2209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2210//
2211//
2212//    // Example sending a request using the CreateDBProxyRequest method.
2213//    req, resp := client.CreateDBProxyRequest(params)
2214//
2215//    err := req.Send()
2216//    if err == nil { // resp is now filled
2217//        fmt.Println(resp)
2218//    }
2219//
2220// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
2221func (c *RDS) CreateDBProxyRequest(input *CreateDBProxyInput) (req *request.Request, output *CreateDBProxyOutput) {
2222	op := &request.Operation{
2223		Name:       opCreateDBProxy,
2224		HTTPMethod: "POST",
2225		HTTPPath:   "/",
2226	}
2227
2228	if input == nil {
2229		input = &CreateDBProxyInput{}
2230	}
2231
2232	output = &CreateDBProxyOutput{}
2233	req = c.newRequest(op, input, output)
2234	return
2235}
2236
2237// CreateDBProxy API operation for Amazon Relational Database Service.
2238//
2239// Creates a new DB proxy.
2240//
2241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2242// with awserr.Error's Code and Message methods to get detailed information about
2243// the error.
2244//
2245// See the AWS API reference guide for Amazon Relational Database Service's
2246// API operation CreateDBProxy for usage and error information.
2247//
2248// Returned Error Codes:
2249//   * ErrCodeInvalidSubnet "InvalidSubnet"
2250//   The requested subnet is invalid, or multiple subnets were requested that
2251//   are not all in a common VPC.
2252//
2253//   * ErrCodeDBProxyAlreadyExistsFault "DBProxyTargetExistsFault"
2254//   The specified proxy name must be unique for all proxies owned by your AWS
2255//   account in the specified AWS Region.
2256//
2257//   * ErrCodeDBProxyQuotaExceededFault "DBProxyQuotaExceededFault"
2258//   Your AWS account already has the maximum number of proxies in the specified
2259//   AWS Region.
2260//
2261// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
2262func (c *RDS) CreateDBProxy(input *CreateDBProxyInput) (*CreateDBProxyOutput, error) {
2263	req, out := c.CreateDBProxyRequest(input)
2264	return out, req.Send()
2265}
2266
2267// CreateDBProxyWithContext is the same as CreateDBProxy with the addition of
2268// the ability to pass a context and additional request options.
2269//
2270// See CreateDBProxy for details on how to use this API operation.
2271//
2272// The context must be non-nil and will be used for request cancellation. If
2273// the context is nil a panic will occur. In the future the SDK may create
2274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2275// for more information on using Contexts.
2276func (c *RDS) CreateDBProxyWithContext(ctx aws.Context, input *CreateDBProxyInput, opts ...request.Option) (*CreateDBProxyOutput, error) {
2277	req, out := c.CreateDBProxyRequest(input)
2278	req.SetContext(ctx)
2279	req.ApplyOptions(opts...)
2280	return out, req.Send()
2281}
2282
2283const opCreateDBSecurityGroup = "CreateDBSecurityGroup"
2284
2285// CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the
2286// client's request for the CreateDBSecurityGroup operation. The "output" return
2287// value will be populated with the request's response once the request completes
2288// successfully.
2289//
2290// Use "Send" method on the returned Request to send the API call to the service.
2291// the "output" return value is not valid until after Send returns without error.
2292//
2293// See CreateDBSecurityGroup for more information on using the CreateDBSecurityGroup
2294// API call, and error handling.
2295//
2296// This method is useful when you want to inject custom logic or configuration
2297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2298//
2299//
2300//    // Example sending a request using the CreateDBSecurityGroupRequest method.
2301//    req, resp := client.CreateDBSecurityGroupRequest(params)
2302//
2303//    err := req.Send()
2304//    if err == nil { // resp is now filled
2305//        fmt.Println(resp)
2306//    }
2307//
2308// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
2309func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (req *request.Request, output *CreateDBSecurityGroupOutput) {
2310	op := &request.Operation{
2311		Name:       opCreateDBSecurityGroup,
2312		HTTPMethod: "POST",
2313		HTTPPath:   "/",
2314	}
2315
2316	if input == nil {
2317		input = &CreateDBSecurityGroupInput{}
2318	}
2319
2320	output = &CreateDBSecurityGroupOutput{}
2321	req = c.newRequest(op, input, output)
2322	return
2323}
2324
2325// CreateDBSecurityGroup API operation for Amazon Relational Database Service.
2326//
2327// Creates a new DB security group. DB security groups control access to a DB
2328// instance.
2329//
2330// A DB security group controls access to EC2-Classic DB instances that are
2331// not in a VPC.
2332//
2333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2334// with awserr.Error's Code and Message methods to get detailed information about
2335// the error.
2336//
2337// See the AWS API reference guide for Amazon Relational Database Service's
2338// API operation CreateDBSecurityGroup for usage and error information.
2339//
2340// Returned Error Codes:
2341//   * ErrCodeDBSecurityGroupAlreadyExistsFault "DBSecurityGroupAlreadyExists"
2342//   A DB security group with the name specified in DBSecurityGroupName already
2343//   exists.
2344//
2345//   * ErrCodeDBSecurityGroupQuotaExceededFault "QuotaExceeded.DBSecurityGroup"
2346//   The request would result in the user exceeding the allowed number of DB security
2347//   groups.
2348//
2349//   * ErrCodeDBSecurityGroupNotSupportedFault "DBSecurityGroupNotSupported"
2350//   A DB security group isn't allowed for this action.
2351//
2352// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
2353func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateDBSecurityGroupOutput, error) {
2354	req, out := c.CreateDBSecurityGroupRequest(input)
2355	return out, req.Send()
2356}
2357
2358// CreateDBSecurityGroupWithContext is the same as CreateDBSecurityGroup with the addition of
2359// the ability to pass a context and additional request options.
2360//
2361// See CreateDBSecurityGroup for details on how to use this API operation.
2362//
2363// The context must be non-nil and will be used for request cancellation. If
2364// the context is nil a panic will occur. In the future the SDK may create
2365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2366// for more information on using Contexts.
2367func (c *RDS) CreateDBSecurityGroupWithContext(ctx aws.Context, input *CreateDBSecurityGroupInput, opts ...request.Option) (*CreateDBSecurityGroupOutput, error) {
2368	req, out := c.CreateDBSecurityGroupRequest(input)
2369	req.SetContext(ctx)
2370	req.ApplyOptions(opts...)
2371	return out, req.Send()
2372}
2373
2374const opCreateDBSnapshot = "CreateDBSnapshot"
2375
2376// CreateDBSnapshotRequest generates a "aws/request.Request" representing the
2377// client's request for the CreateDBSnapshot operation. The "output" return
2378// value will be populated with the request's response once the request completes
2379// successfully.
2380//
2381// Use "Send" method on the returned Request to send the API call to the service.
2382// the "output" return value is not valid until after Send returns without error.
2383//
2384// See CreateDBSnapshot for more information on using the CreateDBSnapshot
2385// API call, and error handling.
2386//
2387// This method is useful when you want to inject custom logic or configuration
2388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2389//
2390//
2391//    // Example sending a request using the CreateDBSnapshotRequest method.
2392//    req, resp := client.CreateDBSnapshotRequest(params)
2393//
2394//    err := req.Send()
2395//    if err == nil { // resp is now filled
2396//        fmt.Println(resp)
2397//    }
2398//
2399// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
2400func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *request.Request, output *CreateDBSnapshotOutput) {
2401	op := &request.Operation{
2402		Name:       opCreateDBSnapshot,
2403		HTTPMethod: "POST",
2404		HTTPPath:   "/",
2405	}
2406
2407	if input == nil {
2408		input = &CreateDBSnapshotInput{}
2409	}
2410
2411	output = &CreateDBSnapshotOutput{}
2412	req = c.newRequest(op, input, output)
2413	return
2414}
2415
2416// CreateDBSnapshot API operation for Amazon Relational Database Service.
2417//
2418// Creates a DBSnapshot. The source DBInstance must be in "available" state.
2419//
2420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2421// with awserr.Error's Code and Message methods to get detailed information about
2422// the error.
2423//
2424// See the AWS API reference guide for Amazon Relational Database Service's
2425// API operation CreateDBSnapshot for usage and error information.
2426//
2427// Returned Error Codes:
2428//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
2429//   DBSnapshotIdentifier is already used by an existing snapshot.
2430//
2431//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2432//   The DB instance isn't in a valid state.
2433//
2434//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2435//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2436//
2437//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2438//   The request would result in the user exceeding the allowed number of DB snapshots.
2439//
2440// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
2441func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotOutput, error) {
2442	req, out := c.CreateDBSnapshotRequest(input)
2443	return out, req.Send()
2444}
2445
2446// CreateDBSnapshotWithContext is the same as CreateDBSnapshot with the addition of
2447// the ability to pass a context and additional request options.
2448//
2449// See CreateDBSnapshot for details on how to use this API operation.
2450//
2451// The context must be non-nil and will be used for request cancellation. If
2452// the context is nil a panic will occur. In the future the SDK may create
2453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2454// for more information on using Contexts.
2455func (c *RDS) CreateDBSnapshotWithContext(ctx aws.Context, input *CreateDBSnapshotInput, opts ...request.Option) (*CreateDBSnapshotOutput, error) {
2456	req, out := c.CreateDBSnapshotRequest(input)
2457	req.SetContext(ctx)
2458	req.ApplyOptions(opts...)
2459	return out, req.Send()
2460}
2461
2462const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
2463
2464// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
2465// client's request for the CreateDBSubnetGroup operation. The "output" return
2466// value will be populated with the request's response once the request completes
2467// successfully.
2468//
2469// Use "Send" method on the returned Request to send the API call to the service.
2470// the "output" return value is not valid until after Send returns without error.
2471//
2472// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
2473// API call, and error handling.
2474//
2475// This method is useful when you want to inject custom logic or configuration
2476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2477//
2478//
2479//    // Example sending a request using the CreateDBSubnetGroupRequest method.
2480//    req, resp := client.CreateDBSubnetGroupRequest(params)
2481//
2482//    err := req.Send()
2483//    if err == nil { // resp is now filled
2484//        fmt.Println(resp)
2485//    }
2486//
2487// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2488func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
2489	op := &request.Operation{
2490		Name:       opCreateDBSubnetGroup,
2491		HTTPMethod: "POST",
2492		HTTPPath:   "/",
2493	}
2494
2495	if input == nil {
2496		input = &CreateDBSubnetGroupInput{}
2497	}
2498
2499	output = &CreateDBSubnetGroupOutput{}
2500	req = c.newRequest(op, input, output)
2501	return
2502}
2503
2504// CreateDBSubnetGroup API operation for Amazon Relational Database Service.
2505//
2506// Creates a new DB subnet group. DB subnet groups must contain at least one
2507// subnet in at least two AZs in the AWS Region.
2508//
2509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2510// with awserr.Error's Code and Message methods to get detailed information about
2511// the error.
2512//
2513// See the AWS API reference guide for Amazon Relational Database Service's
2514// API operation CreateDBSubnetGroup for usage and error information.
2515//
2516// Returned Error Codes:
2517//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
2518//   DBSubnetGroupName is already used by an existing DB subnet group.
2519//
2520//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
2521//   The request would result in the user exceeding the allowed number of DB subnet
2522//   groups.
2523//
2524//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
2525//   The request would result in the user exceeding the allowed number of subnets
2526//   in a DB subnet groups.
2527//
2528//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2529//   Subnets in the DB subnet group should cover at least two Availability Zones
2530//   unless there is only one Availability Zone.
2531//
2532//   * ErrCodeInvalidSubnet "InvalidSubnet"
2533//   The requested subnet is invalid, or multiple subnets were requested that
2534//   are not all in a common VPC.
2535//
2536// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2537func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
2538	req, out := c.CreateDBSubnetGroupRequest(input)
2539	return out, req.Send()
2540}
2541
2542// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
2543// the ability to pass a context and additional request options.
2544//
2545// See CreateDBSubnetGroup for details on how to use this API operation.
2546//
2547// The context must be non-nil and will be used for request cancellation. If
2548// the context is nil a panic will occur. In the future the SDK may create
2549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2550// for more information on using Contexts.
2551func (c *RDS) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
2552	req, out := c.CreateDBSubnetGroupRequest(input)
2553	req.SetContext(ctx)
2554	req.ApplyOptions(opts...)
2555	return out, req.Send()
2556}
2557
2558const opCreateEventSubscription = "CreateEventSubscription"
2559
2560// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
2561// client's request for the CreateEventSubscription operation. The "output" return
2562// value will be populated with the request's response once the request completes
2563// successfully.
2564//
2565// Use "Send" method on the returned Request to send the API call to the service.
2566// the "output" return value is not valid until after Send returns without error.
2567//
2568// See CreateEventSubscription for more information on using the CreateEventSubscription
2569// API call, and error handling.
2570//
2571// This method is useful when you want to inject custom logic or configuration
2572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2573//
2574//
2575//    // Example sending a request using the CreateEventSubscriptionRequest method.
2576//    req, resp := client.CreateEventSubscriptionRequest(params)
2577//
2578//    err := req.Send()
2579//    if err == nil { // resp is now filled
2580//        fmt.Println(resp)
2581//    }
2582//
2583// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2584func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
2585	op := &request.Operation{
2586		Name:       opCreateEventSubscription,
2587		HTTPMethod: "POST",
2588		HTTPPath:   "/",
2589	}
2590
2591	if input == nil {
2592		input = &CreateEventSubscriptionInput{}
2593	}
2594
2595	output = &CreateEventSubscriptionOutput{}
2596	req = c.newRequest(op, input, output)
2597	return
2598}
2599
2600// CreateEventSubscription API operation for Amazon Relational Database Service.
2601//
2602// Creates an RDS event notification subscription. This action requires a topic
2603// Amazon Resource Name (ARN) created by either the RDS console, the SNS console,
2604// or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon
2605// SNS and subscribe to the topic. The ARN is displayed in the SNS console.
2606//
2607// You can specify the type of source (SourceType) you want to be notified of,
2608// provide a list of RDS sources (SourceIds) that triggers the events, and provide
2609// a list of event categories (EventCategories) for events you want to be notified
2610// of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1,
2611// mydbinstance2 and EventCategories = Availability, Backup.
2612//
2613// If you specify both the SourceType and SourceIds, such as SourceType = db-instance
2614// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
2615// events for the specified source. If you specify a SourceType but do not specify
2616// a SourceIdentifier, you receive notice of the events for that source type
2617// for all your RDS sources. If you don't specify either the SourceType or the
2618// SourceIdentifier, you are notified of events generated from all RDS sources
2619// belonging to your customer account.
2620//
2621// RDS event notification is only available for unencrypted SNS topics. If you
2622// specify an encrypted SNS topic, event notifications aren't sent for the topic.
2623//
2624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2625// with awserr.Error's Code and Message methods to get detailed information about
2626// the error.
2627//
2628// See the AWS API reference guide for Amazon Relational Database Service's
2629// API operation CreateEventSubscription for usage and error information.
2630//
2631// Returned Error Codes:
2632//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
2633//   You have reached the maximum number of event subscriptions.
2634//
2635//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
2636//   The supplied subscription name already exists.
2637//
2638//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
2639//   SNS has responded that there is a problem with the SND topic specified.
2640//
2641//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
2642//   You do not have permission to publish to the SNS topic ARN.
2643//
2644//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
2645//   The SNS topic ARN does not exist.
2646//
2647//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
2648//   The supplied category does not exist.
2649//
2650//   * ErrCodeSourceNotFoundFault "SourceNotFound"
2651//   The requested source could not be found.
2652//
2653// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2654func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
2655	req, out := c.CreateEventSubscriptionRequest(input)
2656	return out, req.Send()
2657}
2658
2659// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
2660// the ability to pass a context and additional request options.
2661//
2662// See CreateEventSubscription for details on how to use this API operation.
2663//
2664// The context must be non-nil and will be used for request cancellation. If
2665// the context is nil a panic will occur. In the future the SDK may create
2666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2667// for more information on using Contexts.
2668func (c *RDS) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
2669	req, out := c.CreateEventSubscriptionRequest(input)
2670	req.SetContext(ctx)
2671	req.ApplyOptions(opts...)
2672	return out, req.Send()
2673}
2674
2675const opCreateGlobalCluster = "CreateGlobalCluster"
2676
2677// CreateGlobalClusterRequest generates a "aws/request.Request" representing the
2678// client's request for the CreateGlobalCluster operation. The "output" return
2679// value will be populated with the request's response once the request completes
2680// successfully.
2681//
2682// Use "Send" method on the returned Request to send the API call to the service.
2683// the "output" return value is not valid until after Send returns without error.
2684//
2685// See CreateGlobalCluster for more information on using the CreateGlobalCluster
2686// API call, and error handling.
2687//
2688// This method is useful when you want to inject custom logic or configuration
2689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2690//
2691//
2692//    // Example sending a request using the CreateGlobalClusterRequest method.
2693//    req, resp := client.CreateGlobalClusterRequest(params)
2694//
2695//    err := req.Send()
2696//    if err == nil { // resp is now filled
2697//        fmt.Println(resp)
2698//    }
2699//
2700// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
2701func (c *RDS) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) (req *request.Request, output *CreateGlobalClusterOutput) {
2702	op := &request.Operation{
2703		Name:       opCreateGlobalCluster,
2704		HTTPMethod: "POST",
2705		HTTPPath:   "/",
2706	}
2707
2708	if input == nil {
2709		input = &CreateGlobalClusterInput{}
2710	}
2711
2712	output = &CreateGlobalClusterOutput{}
2713	req = c.newRequest(op, input, output)
2714	return
2715}
2716
2717// CreateGlobalCluster API operation for Amazon Relational Database Service.
2718//
2719// Creates an Aurora global database spread across multiple regions. The global
2720// database contains a single primary cluster with read-write capability, and
2721// a read-only secondary cluster that receives data from the primary cluster
2722// through high-speed replication performed by the Aurora storage subsystem.
2723//
2724// You can create a global database that is initially empty, and then add a
2725// primary cluster and a secondary cluster to it. Or you can specify an existing
2726// Aurora cluster during the create operation, and this cluster becomes the
2727// primary cluster of the global database.
2728//
2729// This action only applies to Aurora DB clusters.
2730//
2731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2732// with awserr.Error's Code and Message methods to get detailed information about
2733// the error.
2734//
2735// See the AWS API reference guide for Amazon Relational Database Service's
2736// API operation CreateGlobalCluster for usage and error information.
2737//
2738// Returned Error Codes:
2739//   * ErrCodeGlobalClusterAlreadyExistsFault "GlobalClusterAlreadyExistsFault"
2740//
2741//   * ErrCodeGlobalClusterQuotaExceededFault "GlobalClusterQuotaExceededFault"
2742//
2743//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2744//   The requested operation can't be performed while the cluster is in this state.
2745//
2746//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2747//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2748//
2749// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
2750func (c *RDS) CreateGlobalCluster(input *CreateGlobalClusterInput) (*CreateGlobalClusterOutput, error) {
2751	req, out := c.CreateGlobalClusterRequest(input)
2752	return out, req.Send()
2753}
2754
2755// CreateGlobalClusterWithContext is the same as CreateGlobalCluster with the addition of
2756// the ability to pass a context and additional request options.
2757//
2758// See CreateGlobalCluster for details on how to use this API operation.
2759//
2760// The context must be non-nil and will be used for request cancellation. If
2761// the context is nil a panic will occur. In the future the SDK may create
2762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2763// for more information on using Contexts.
2764func (c *RDS) CreateGlobalClusterWithContext(ctx aws.Context, input *CreateGlobalClusterInput, opts ...request.Option) (*CreateGlobalClusterOutput, error) {
2765	req, out := c.CreateGlobalClusterRequest(input)
2766	req.SetContext(ctx)
2767	req.ApplyOptions(opts...)
2768	return out, req.Send()
2769}
2770
2771const opCreateOptionGroup = "CreateOptionGroup"
2772
2773// CreateOptionGroupRequest generates a "aws/request.Request" representing the
2774// client's request for the CreateOptionGroup operation. The "output" return
2775// value will be populated with the request's response once the request completes
2776// successfully.
2777//
2778// Use "Send" method on the returned Request to send the API call to the service.
2779// the "output" return value is not valid until after Send returns without error.
2780//
2781// See CreateOptionGroup for more information on using the CreateOptionGroup
2782// API call, and error handling.
2783//
2784// This method is useful when you want to inject custom logic or configuration
2785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2786//
2787//
2788//    // Example sending a request using the CreateOptionGroupRequest method.
2789//    req, resp := client.CreateOptionGroupRequest(params)
2790//
2791//    err := req.Send()
2792//    if err == nil { // resp is now filled
2793//        fmt.Println(resp)
2794//    }
2795//
2796// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2797func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *request.Request, output *CreateOptionGroupOutput) {
2798	op := &request.Operation{
2799		Name:       opCreateOptionGroup,
2800		HTTPMethod: "POST",
2801		HTTPPath:   "/",
2802	}
2803
2804	if input == nil {
2805		input = &CreateOptionGroupInput{}
2806	}
2807
2808	output = &CreateOptionGroupOutput{}
2809	req = c.newRequest(op, input, output)
2810	return
2811}
2812
2813// CreateOptionGroup API operation for Amazon Relational Database Service.
2814//
2815// Creates a new option group. You can create up to 20 option groups.
2816//
2817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2818// with awserr.Error's Code and Message methods to get detailed information about
2819// the error.
2820//
2821// See the AWS API reference guide for Amazon Relational Database Service's
2822// API operation CreateOptionGroup for usage and error information.
2823//
2824// Returned Error Codes:
2825//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
2826//   The option group you are trying to create already exists.
2827//
2828//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
2829//   The quota of 20 option groups was exceeded for this AWS account.
2830//
2831// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2832func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGroupOutput, error) {
2833	req, out := c.CreateOptionGroupRequest(input)
2834	return out, req.Send()
2835}
2836
2837// CreateOptionGroupWithContext is the same as CreateOptionGroup with the addition of
2838// the ability to pass a context and additional request options.
2839//
2840// See CreateOptionGroup for details on how to use this API operation.
2841//
2842// The context must be non-nil and will be used for request cancellation. If
2843// the context is nil a panic will occur. In the future the SDK may create
2844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2845// for more information on using Contexts.
2846func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionGroupInput, opts ...request.Option) (*CreateOptionGroupOutput, error) {
2847	req, out := c.CreateOptionGroupRequest(input)
2848	req.SetContext(ctx)
2849	req.ApplyOptions(opts...)
2850	return out, req.Send()
2851}
2852
2853const opDeleteCustomAvailabilityZone = "DeleteCustomAvailabilityZone"
2854
2855// DeleteCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
2856// client's request for the DeleteCustomAvailabilityZone operation. The "output" return
2857// value will be populated with the request's response once the request completes
2858// successfully.
2859//
2860// Use "Send" method on the returned Request to send the API call to the service.
2861// the "output" return value is not valid until after Send returns without error.
2862//
2863// See DeleteCustomAvailabilityZone for more information on using the DeleteCustomAvailabilityZone
2864// API call, and error handling.
2865//
2866// This method is useful when you want to inject custom logic or configuration
2867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2868//
2869//
2870//    // Example sending a request using the DeleteCustomAvailabilityZoneRequest method.
2871//    req, resp := client.DeleteCustomAvailabilityZoneRequest(params)
2872//
2873//    err := req.Send()
2874//    if err == nil { // resp is now filled
2875//        fmt.Println(resp)
2876//    }
2877//
2878// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
2879func (c *RDS) DeleteCustomAvailabilityZoneRequest(input *DeleteCustomAvailabilityZoneInput) (req *request.Request, output *DeleteCustomAvailabilityZoneOutput) {
2880	op := &request.Operation{
2881		Name:       opDeleteCustomAvailabilityZone,
2882		HTTPMethod: "POST",
2883		HTTPPath:   "/",
2884	}
2885
2886	if input == nil {
2887		input = &DeleteCustomAvailabilityZoneInput{}
2888	}
2889
2890	output = &DeleteCustomAvailabilityZoneOutput{}
2891	req = c.newRequest(op, input, output)
2892	return
2893}
2894
2895// DeleteCustomAvailabilityZone API operation for Amazon Relational Database Service.
2896//
2897// Deletes a custom Availability Zone (AZ).
2898//
2899// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
2900// cluster.
2901//
2902// For more information about RDS on VMware, see the RDS on VMware User Guide.
2903// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
2904//
2905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2906// with awserr.Error's Code and Message methods to get detailed information about
2907// the error.
2908//
2909// See the AWS API reference guide for Amazon Relational Database Service's
2910// API operation DeleteCustomAvailabilityZone for usage and error information.
2911//
2912// Returned Error Codes:
2913//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
2914//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
2915//   Zone identifier.
2916//
2917//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
2918//   An error occurred accessing an AWS KMS key.
2919//
2920// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
2921func (c *RDS) DeleteCustomAvailabilityZone(input *DeleteCustomAvailabilityZoneInput) (*DeleteCustomAvailabilityZoneOutput, error) {
2922	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
2923	return out, req.Send()
2924}
2925
2926// DeleteCustomAvailabilityZoneWithContext is the same as DeleteCustomAvailabilityZone with the addition of
2927// the ability to pass a context and additional request options.
2928//
2929// See DeleteCustomAvailabilityZone for details on how to use this API operation.
2930//
2931// The context must be non-nil and will be used for request cancellation. If
2932// the context is nil a panic will occur. In the future the SDK may create
2933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2934// for more information on using Contexts.
2935func (c *RDS) DeleteCustomAvailabilityZoneWithContext(ctx aws.Context, input *DeleteCustomAvailabilityZoneInput, opts ...request.Option) (*DeleteCustomAvailabilityZoneOutput, error) {
2936	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
2937	req.SetContext(ctx)
2938	req.ApplyOptions(opts...)
2939	return out, req.Send()
2940}
2941
2942const opDeleteDBCluster = "DeleteDBCluster"
2943
2944// DeleteDBClusterRequest generates a "aws/request.Request" representing the
2945// client's request for the DeleteDBCluster operation. The "output" return
2946// value will be populated with the request's response once the request completes
2947// successfully.
2948//
2949// Use "Send" method on the returned Request to send the API call to the service.
2950// the "output" return value is not valid until after Send returns without error.
2951//
2952// See DeleteDBCluster for more information on using the DeleteDBCluster
2953// API call, and error handling.
2954//
2955// This method is useful when you want to inject custom logic or configuration
2956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2957//
2958//
2959//    // Example sending a request using the DeleteDBClusterRequest method.
2960//    req, resp := client.DeleteDBClusterRequest(params)
2961//
2962//    err := req.Send()
2963//    if err == nil { // resp is now filled
2964//        fmt.Println(resp)
2965//    }
2966//
2967// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
2968func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
2969	op := &request.Operation{
2970		Name:       opDeleteDBCluster,
2971		HTTPMethod: "POST",
2972		HTTPPath:   "/",
2973	}
2974
2975	if input == nil {
2976		input = &DeleteDBClusterInput{}
2977	}
2978
2979	output = &DeleteDBClusterOutput{}
2980	req = c.newRequest(op, input, output)
2981	return
2982}
2983
2984// DeleteDBCluster API operation for Amazon Relational Database Service.
2985//
2986// The DeleteDBCluster action deletes a previously provisioned DB cluster. When
2987// you delete a DB cluster, all automated backups for that DB cluster are deleted
2988// and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
2989// are not deleted.
2990//
2991// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
2992// in the Amazon Aurora User Guide.
2993//
2994// This action only applies to Aurora DB clusters.
2995//
2996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2997// with awserr.Error's Code and Message methods to get detailed information about
2998// the error.
2999//
3000// See the AWS API reference guide for Amazon Relational Database Service's
3001// API operation DeleteDBCluster for usage and error information.
3002//
3003// Returned Error Codes:
3004//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3005//   DBClusterIdentifier doesn't refer to an existing DB cluster.
3006//
3007//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3008//   The requested operation can't be performed while the cluster is in this state.
3009//
3010//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
3011//   The user already has a DB cluster snapshot with the given identifier.
3012//
3013//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
3014//   The request would result in the user exceeding the allowed number of DB snapshots.
3015//
3016//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3017//   The supplied value isn't a valid DB cluster snapshot state.
3018//
3019// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
3020func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
3021	req, out := c.DeleteDBClusterRequest(input)
3022	return out, req.Send()
3023}
3024
3025// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
3026// the ability to pass a context and additional request options.
3027//
3028// See DeleteDBCluster for details on how to use this API operation.
3029//
3030// The context must be non-nil and will be used for request cancellation. If
3031// the context is nil a panic will occur. In the future the SDK may create
3032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3033// for more information on using Contexts.
3034func (c *RDS) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
3035	req, out := c.DeleteDBClusterRequest(input)
3036	req.SetContext(ctx)
3037	req.ApplyOptions(opts...)
3038	return out, req.Send()
3039}
3040
3041const opDeleteDBClusterEndpoint = "DeleteDBClusterEndpoint"
3042
3043// DeleteDBClusterEndpointRequest generates a "aws/request.Request" representing the
3044// client's request for the DeleteDBClusterEndpoint operation. The "output" return
3045// value will be populated with the request's response once the request completes
3046// successfully.
3047//
3048// Use "Send" method on the returned Request to send the API call to the service.
3049// the "output" return value is not valid until after Send returns without error.
3050//
3051// See DeleteDBClusterEndpoint for more information on using the DeleteDBClusterEndpoint
3052// API call, and error handling.
3053//
3054// This method is useful when you want to inject custom logic or configuration
3055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3056//
3057//
3058//    // Example sending a request using the DeleteDBClusterEndpointRequest method.
3059//    req, resp := client.DeleteDBClusterEndpointRequest(params)
3060//
3061//    err := req.Send()
3062//    if err == nil { // resp is now filled
3063//        fmt.Println(resp)
3064//    }
3065//
3066// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
3067func (c *RDS) DeleteDBClusterEndpointRequest(input *DeleteDBClusterEndpointInput) (req *request.Request, output *DeleteDBClusterEndpointOutput) {
3068	op := &request.Operation{
3069		Name:       opDeleteDBClusterEndpoint,
3070		HTTPMethod: "POST",
3071		HTTPPath:   "/",
3072	}
3073
3074	if input == nil {
3075		input = &DeleteDBClusterEndpointInput{}
3076	}
3077
3078	output = &DeleteDBClusterEndpointOutput{}
3079	req = c.newRequest(op, input, output)
3080	return
3081}
3082
3083// DeleteDBClusterEndpoint API operation for Amazon Relational Database Service.
3084//
3085// Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.
3086//
3087// This action only applies to Aurora DB clusters.
3088//
3089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3090// with awserr.Error's Code and Message methods to get detailed information about
3091// the error.
3092//
3093// See the AWS API reference guide for Amazon Relational Database Service's
3094// API operation DeleteDBClusterEndpoint for usage and error information.
3095//
3096// Returned Error Codes:
3097//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
3098//   The requested operation can't be performed on the endpoint while the endpoint
3099//   is in this state.
3100//
3101//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
3102//   The specified custom endpoint doesn't exist.
3103//
3104//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3105//   The requested operation can't be performed while the cluster is in this state.
3106//
3107// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
3108func (c *RDS) DeleteDBClusterEndpoint(input *DeleteDBClusterEndpointInput) (*DeleteDBClusterEndpointOutput, error) {
3109	req, out := c.DeleteDBClusterEndpointRequest(input)
3110	return out, req.Send()
3111}
3112
3113// DeleteDBClusterEndpointWithContext is the same as DeleteDBClusterEndpoint with the addition of
3114// the ability to pass a context and additional request options.
3115//
3116// See DeleteDBClusterEndpoint for details on how to use this API operation.
3117//
3118// The context must be non-nil and will be used for request cancellation. If
3119// the context is nil a panic will occur. In the future the SDK may create
3120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3121// for more information on using Contexts.
3122func (c *RDS) DeleteDBClusterEndpointWithContext(ctx aws.Context, input *DeleteDBClusterEndpointInput, opts ...request.Option) (*DeleteDBClusterEndpointOutput, error) {
3123	req, out := c.DeleteDBClusterEndpointRequest(input)
3124	req.SetContext(ctx)
3125	req.ApplyOptions(opts...)
3126	return out, req.Send()
3127}
3128
3129const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
3130
3131// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
3132// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
3133// value will be populated with the request's response once the request completes
3134// successfully.
3135//
3136// Use "Send" method on the returned Request to send the API call to the service.
3137// the "output" return value is not valid until after Send returns without error.
3138//
3139// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
3140// API call, and error handling.
3141//
3142// This method is useful when you want to inject custom logic or configuration
3143// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3144//
3145//
3146//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
3147//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
3148//
3149//    err := req.Send()
3150//    if err == nil { // resp is now filled
3151//        fmt.Println(resp)
3152//    }
3153//
3154// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
3155func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
3156	op := &request.Operation{
3157		Name:       opDeleteDBClusterParameterGroup,
3158		HTTPMethod: "POST",
3159		HTTPPath:   "/",
3160	}
3161
3162	if input == nil {
3163		input = &DeleteDBClusterParameterGroupInput{}
3164	}
3165
3166	output = &DeleteDBClusterParameterGroupOutput{}
3167	req = c.newRequest(op, input, output)
3168	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3169	return
3170}
3171
3172// DeleteDBClusterParameterGroup API operation for Amazon Relational Database Service.
3173//
3174// Deletes a specified DB cluster parameter group. The DB cluster parameter
3175// group to be deleted can't be associated with any DB clusters.
3176//
3177// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3178// in the Amazon Aurora User Guide.
3179//
3180// This action only applies to Aurora DB clusters.
3181//
3182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3183// with awserr.Error's Code and Message methods to get detailed information about
3184// the error.
3185//
3186// See the AWS API reference guide for Amazon Relational Database Service's
3187// API operation DeleteDBClusterParameterGroup for usage and error information.
3188//
3189// Returned Error Codes:
3190//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3191//   The DB parameter group is in use or is in an invalid state. If you are attempting
3192//   to delete the parameter group, you can't delete it when the parameter group
3193//   is in this state.
3194//
3195//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3196//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3197//
3198// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
3199func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
3200	req, out := c.DeleteDBClusterParameterGroupRequest(input)
3201	return out, req.Send()
3202}
3203
3204// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
3205// the ability to pass a context and additional request options.
3206//
3207// See DeleteDBClusterParameterGroup for details on how to use this API operation.
3208//
3209// The context must be non-nil and will be used for request cancellation. If
3210// the context is nil a panic will occur. In the future the SDK may create
3211// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3212// for more information on using Contexts.
3213func (c *RDS) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
3214	req, out := c.DeleteDBClusterParameterGroupRequest(input)
3215	req.SetContext(ctx)
3216	req.ApplyOptions(opts...)
3217	return out, req.Send()
3218}
3219
3220const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
3221
3222// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
3223// client's request for the DeleteDBClusterSnapshot operation. The "output" return
3224// value will be populated with the request's response once the request completes
3225// successfully.
3226//
3227// Use "Send" method on the returned Request to send the API call to the service.
3228// the "output" return value is not valid until after Send returns without error.
3229//
3230// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
3231// API call, and error handling.
3232//
3233// This method is useful when you want to inject custom logic or configuration
3234// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3235//
3236//
3237//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
3238//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
3239//
3240//    err := req.Send()
3241//    if err == nil { // resp is now filled
3242//        fmt.Println(resp)
3243//    }
3244//
3245// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
3246func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
3247	op := &request.Operation{
3248		Name:       opDeleteDBClusterSnapshot,
3249		HTTPMethod: "POST",
3250		HTTPPath:   "/",
3251	}
3252
3253	if input == nil {
3254		input = &DeleteDBClusterSnapshotInput{}
3255	}
3256
3257	output = &DeleteDBClusterSnapshotOutput{}
3258	req = c.newRequest(op, input, output)
3259	return
3260}
3261
3262// DeleteDBClusterSnapshot API operation for Amazon Relational Database Service.
3263//
3264// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
3265// operation is terminated.
3266//
3267// The DB cluster snapshot must be in the available state to be deleted.
3268//
3269// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3270// in the Amazon Aurora User Guide.
3271//
3272// This action only applies to Aurora DB clusters.
3273//
3274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3275// with awserr.Error's Code and Message methods to get detailed information about
3276// the error.
3277//
3278// See the AWS API reference guide for Amazon Relational Database Service's
3279// API operation DeleteDBClusterSnapshot for usage and error information.
3280//
3281// Returned Error Codes:
3282//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3283//   The supplied value isn't a valid DB cluster snapshot state.
3284//
3285//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3286//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3287//
3288// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
3289func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
3290	req, out := c.DeleteDBClusterSnapshotRequest(input)
3291	return out, req.Send()
3292}
3293
3294// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
3295// the ability to pass a context and additional request options.
3296//
3297// See DeleteDBClusterSnapshot for details on how to use this API operation.
3298//
3299// The context must be non-nil and will be used for request cancellation. If
3300// the context is nil a panic will occur. In the future the SDK may create
3301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3302// for more information on using Contexts.
3303func (c *RDS) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
3304	req, out := c.DeleteDBClusterSnapshotRequest(input)
3305	req.SetContext(ctx)
3306	req.ApplyOptions(opts...)
3307	return out, req.Send()
3308}
3309
3310const opDeleteDBInstance = "DeleteDBInstance"
3311
3312// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
3313// client's request for the DeleteDBInstance operation. The "output" return
3314// value will be populated with the request's response once the request completes
3315// successfully.
3316//
3317// Use "Send" method on the returned Request to send the API call to the service.
3318// the "output" return value is not valid until after Send returns without error.
3319//
3320// See DeleteDBInstance for more information on using the DeleteDBInstance
3321// API call, and error handling.
3322//
3323// This method is useful when you want to inject custom logic or configuration
3324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3325//
3326//
3327//    // Example sending a request using the DeleteDBInstanceRequest method.
3328//    req, resp := client.DeleteDBInstanceRequest(params)
3329//
3330//    err := req.Send()
3331//    if err == nil { // resp is now filled
3332//        fmt.Println(resp)
3333//    }
3334//
3335// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
3336func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
3337	op := &request.Operation{
3338		Name:       opDeleteDBInstance,
3339		HTTPMethod: "POST",
3340		HTTPPath:   "/",
3341	}
3342
3343	if input == nil {
3344		input = &DeleteDBInstanceInput{}
3345	}
3346
3347	output = &DeleteDBInstanceOutput{}
3348	req = c.newRequest(op, input, output)
3349	return
3350}
3351
3352// DeleteDBInstance API operation for Amazon Relational Database Service.
3353//
3354// The DeleteDBInstance action deletes a previously provisioned DB instance.
3355// When you delete a DB instance, all automated backups for that instance are
3356// deleted and can't be recovered. Manual DB snapshots of the DB instance to
3357// be deleted by DeleteDBInstance are not deleted.
3358//
3359// If you request a final DB snapshot the status of the Amazon RDS DB instance
3360// is deleting until the DB snapshot is created. The API action DescribeDBInstance
3361// is used to monitor the status of this operation. The action can't be canceled
3362// or reverted once submitted.
3363//
3364// When a DB instance is in a failure state and has a status of failed, incompatible-restore,
3365// or incompatible-network, you can only delete it when you skip creation of
3366// the final snapshot with the SkipFinalSnapshot parameter.
3367//
3368// If the specified DB instance is part of an Amazon Aurora DB cluster, you
3369// can't delete the DB instance if both of the following conditions are true:
3370//
3371//    * The DB cluster is a read replica of another Amazon Aurora DB cluster.
3372//
3373//    * The DB instance is the only instance in the DB cluster.
3374//
3375// To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster
3376// API action to promote the DB cluster so it's no longer a read replica. After
3377// the promotion completes, then call the DeleteDBInstance API action to delete
3378// the final instance in the DB cluster.
3379//
3380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3381// with awserr.Error's Code and Message methods to get detailed information about
3382// the error.
3383//
3384// See the AWS API reference guide for Amazon Relational Database Service's
3385// API operation DeleteDBInstance for usage and error information.
3386//
3387// Returned Error Codes:
3388//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3389//   DBInstanceIdentifier doesn't refer to an existing DB instance.
3390//
3391//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3392//   The DB instance isn't in a valid state.
3393//
3394//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
3395//   DBSnapshotIdentifier is already used by an existing snapshot.
3396//
3397//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
3398//   The request would result in the user exceeding the allowed number of DB snapshots.
3399//
3400//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3401//   The requested operation can't be performed while the cluster is in this state.
3402//
3403//   * ErrCodeDBInstanceAutomatedBackupQuotaExceededFault "DBInstanceAutomatedBackupQuotaExceeded"
3404//   The quota for retained automated backups was exceeded. This prevents you
3405//   from retaining any additional automated backups. The retained automated backups
3406//   quota is the same as your DB Instance quota.
3407//
3408// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
3409func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
3410	req, out := c.DeleteDBInstanceRequest(input)
3411	return out, req.Send()
3412}
3413
3414// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
3415// the ability to pass a context and additional request options.
3416//
3417// See DeleteDBInstance for details on how to use this API operation.
3418//
3419// The context must be non-nil and will be used for request cancellation. If
3420// the context is nil a panic will occur. In the future the SDK may create
3421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3422// for more information on using Contexts.
3423func (c *RDS) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
3424	req, out := c.DeleteDBInstanceRequest(input)
3425	req.SetContext(ctx)
3426	req.ApplyOptions(opts...)
3427	return out, req.Send()
3428}
3429
3430const opDeleteDBInstanceAutomatedBackup = "DeleteDBInstanceAutomatedBackup"
3431
3432// DeleteDBInstanceAutomatedBackupRequest generates a "aws/request.Request" representing the
3433// client's request for the DeleteDBInstanceAutomatedBackup operation. The "output" return
3434// value will be populated with the request's response once the request completes
3435// successfully.
3436//
3437// Use "Send" method on the returned Request to send the API call to the service.
3438// the "output" return value is not valid until after Send returns without error.
3439//
3440// See DeleteDBInstanceAutomatedBackup for more information on using the DeleteDBInstanceAutomatedBackup
3441// API call, and error handling.
3442//
3443// This method is useful when you want to inject custom logic or configuration
3444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3445//
3446//
3447//    // Example sending a request using the DeleteDBInstanceAutomatedBackupRequest method.
3448//    req, resp := client.DeleteDBInstanceAutomatedBackupRequest(params)
3449//
3450//    err := req.Send()
3451//    if err == nil { // resp is now filled
3452//        fmt.Println(resp)
3453//    }
3454//
3455// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
3456func (c *RDS) DeleteDBInstanceAutomatedBackupRequest(input *DeleteDBInstanceAutomatedBackupInput) (req *request.Request, output *DeleteDBInstanceAutomatedBackupOutput) {
3457	op := &request.Operation{
3458		Name:       opDeleteDBInstanceAutomatedBackup,
3459		HTTPMethod: "POST",
3460		HTTPPath:   "/",
3461	}
3462
3463	if input == nil {
3464		input = &DeleteDBInstanceAutomatedBackupInput{}
3465	}
3466
3467	output = &DeleteDBInstanceAutomatedBackupOutput{}
3468	req = c.newRequest(op, input, output)
3469	return
3470}
3471
3472// DeleteDBInstanceAutomatedBackup API operation for Amazon Relational Database Service.
3473//
3474// Deletes automated backups based on the source instance's DbiResourceId value
3475// or the restorable instance's resource ID.
3476//
3477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3478// with awserr.Error's Code and Message methods to get detailed information about
3479// the error.
3480//
3481// See the AWS API reference guide for Amazon Relational Database Service's
3482// API operation DeleteDBInstanceAutomatedBackup for usage and error information.
3483//
3484// Returned Error Codes:
3485//   * ErrCodeInvalidDBInstanceAutomatedBackupStateFault "InvalidDBInstanceAutomatedBackupState"
3486//   The automated backup is in an invalid state. For example, this automated
3487//   backup is associated with an active instance.
3488//
3489//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
3490//   No automated backup for this DB instance was found.
3491//
3492// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
3493func (c *RDS) DeleteDBInstanceAutomatedBackup(input *DeleteDBInstanceAutomatedBackupInput) (*DeleteDBInstanceAutomatedBackupOutput, error) {
3494	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
3495	return out, req.Send()
3496}
3497
3498// DeleteDBInstanceAutomatedBackupWithContext is the same as DeleteDBInstanceAutomatedBackup with the addition of
3499// the ability to pass a context and additional request options.
3500//
3501// See DeleteDBInstanceAutomatedBackup for details on how to use this API operation.
3502//
3503// The context must be non-nil and will be used for request cancellation. If
3504// the context is nil a panic will occur. In the future the SDK may create
3505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3506// for more information on using Contexts.
3507func (c *RDS) DeleteDBInstanceAutomatedBackupWithContext(ctx aws.Context, input *DeleteDBInstanceAutomatedBackupInput, opts ...request.Option) (*DeleteDBInstanceAutomatedBackupOutput, error) {
3508	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
3509	req.SetContext(ctx)
3510	req.ApplyOptions(opts...)
3511	return out, req.Send()
3512}
3513
3514const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
3515
3516// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
3517// client's request for the DeleteDBParameterGroup operation. The "output" return
3518// value will be populated with the request's response once the request completes
3519// successfully.
3520//
3521// Use "Send" method on the returned Request to send the API call to the service.
3522// the "output" return value is not valid until after Send returns without error.
3523//
3524// See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
3525// API call, and error handling.
3526//
3527// This method is useful when you want to inject custom logic or configuration
3528// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3529//
3530//
3531//    // Example sending a request using the DeleteDBParameterGroupRequest method.
3532//    req, resp := client.DeleteDBParameterGroupRequest(params)
3533//
3534//    err := req.Send()
3535//    if err == nil { // resp is now filled
3536//        fmt.Println(resp)
3537//    }
3538//
3539// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
3540func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
3541	op := &request.Operation{
3542		Name:       opDeleteDBParameterGroup,
3543		HTTPMethod: "POST",
3544		HTTPPath:   "/",
3545	}
3546
3547	if input == nil {
3548		input = &DeleteDBParameterGroupInput{}
3549	}
3550
3551	output = &DeleteDBParameterGroupOutput{}
3552	req = c.newRequest(op, input, output)
3553	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3554	return
3555}
3556
3557// DeleteDBParameterGroup API operation for Amazon Relational Database Service.
3558//
3559// Deletes a specified DB parameter group. The DB parameter group to be deleted
3560// can't be associated with any DB instances.
3561//
3562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3563// with awserr.Error's Code and Message methods to get detailed information about
3564// the error.
3565//
3566// See the AWS API reference guide for Amazon Relational Database Service's
3567// API operation DeleteDBParameterGroup for usage and error information.
3568//
3569// Returned Error Codes:
3570//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3571//   The DB parameter group is in use or is in an invalid state. If you are attempting
3572//   to delete the parameter group, you can't delete it when the parameter group
3573//   is in this state.
3574//
3575//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3576//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3577//
3578// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
3579func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
3580	req, out := c.DeleteDBParameterGroupRequest(input)
3581	return out, req.Send()
3582}
3583
3584// DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
3585// the ability to pass a context and additional request options.
3586//
3587// See DeleteDBParameterGroup for details on how to use this API operation.
3588//
3589// The context must be non-nil and will be used for request cancellation. If
3590// the context is nil a panic will occur. In the future the SDK may create
3591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3592// for more information on using Contexts.
3593func (c *RDS) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
3594	req, out := c.DeleteDBParameterGroupRequest(input)
3595	req.SetContext(ctx)
3596	req.ApplyOptions(opts...)
3597	return out, req.Send()
3598}
3599
3600const opDeleteDBProxy = "DeleteDBProxy"
3601
3602// DeleteDBProxyRequest generates a "aws/request.Request" representing the
3603// client's request for the DeleteDBProxy operation. The "output" return
3604// value will be populated with the request's response once the request completes
3605// successfully.
3606//
3607// Use "Send" method on the returned Request to send the API call to the service.
3608// the "output" return value is not valid until after Send returns without error.
3609//
3610// See DeleteDBProxy for more information on using the DeleteDBProxy
3611// API call, and error handling.
3612//
3613// This method is useful when you want to inject custom logic or configuration
3614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3615//
3616//
3617//    // Example sending a request using the DeleteDBProxyRequest method.
3618//    req, resp := client.DeleteDBProxyRequest(params)
3619//
3620//    err := req.Send()
3621//    if err == nil { // resp is now filled
3622//        fmt.Println(resp)
3623//    }
3624//
3625// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
3626func (c *RDS) DeleteDBProxyRequest(input *DeleteDBProxyInput) (req *request.Request, output *DeleteDBProxyOutput) {
3627	op := &request.Operation{
3628		Name:       opDeleteDBProxy,
3629		HTTPMethod: "POST",
3630		HTTPPath:   "/",
3631	}
3632
3633	if input == nil {
3634		input = &DeleteDBProxyInput{}
3635	}
3636
3637	output = &DeleteDBProxyOutput{}
3638	req = c.newRequest(op, input, output)
3639	return
3640}
3641
3642// DeleteDBProxy API operation for Amazon Relational Database Service.
3643//
3644// Deletes an existing proxy.
3645//
3646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3647// with awserr.Error's Code and Message methods to get detailed information about
3648// the error.
3649//
3650// See the AWS API reference guide for Amazon Relational Database Service's
3651// API operation DeleteDBProxy for usage and error information.
3652//
3653// Returned Error Codes:
3654//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
3655//   The specified proxy name doesn't correspond to a proxy owned by your AWS
3656//   accoutn in the specified AWS Region.
3657//
3658//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
3659//   The requested operation can't be performed while the proxy is in this state.
3660//
3661// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
3662func (c *RDS) DeleteDBProxy(input *DeleteDBProxyInput) (*DeleteDBProxyOutput, error) {
3663	req, out := c.DeleteDBProxyRequest(input)
3664	return out, req.Send()
3665}
3666
3667// DeleteDBProxyWithContext is the same as DeleteDBProxy with the addition of
3668// the ability to pass a context and additional request options.
3669//
3670// See DeleteDBProxy for details on how to use this API operation.
3671//
3672// The context must be non-nil and will be used for request cancellation. If
3673// the context is nil a panic will occur. In the future the SDK may create
3674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3675// for more information on using Contexts.
3676func (c *RDS) DeleteDBProxyWithContext(ctx aws.Context, input *DeleteDBProxyInput, opts ...request.Option) (*DeleteDBProxyOutput, error) {
3677	req, out := c.DeleteDBProxyRequest(input)
3678	req.SetContext(ctx)
3679	req.ApplyOptions(opts...)
3680	return out, req.Send()
3681}
3682
3683const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup"
3684
3685// DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the
3686// client's request for the DeleteDBSecurityGroup operation. The "output" return
3687// value will be populated with the request's response once the request completes
3688// successfully.
3689//
3690// Use "Send" method on the returned Request to send the API call to the service.
3691// the "output" return value is not valid until after Send returns without error.
3692//
3693// See DeleteDBSecurityGroup for more information on using the DeleteDBSecurityGroup
3694// API call, and error handling.
3695//
3696// This method is useful when you want to inject custom logic or configuration
3697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3698//
3699//
3700//    // Example sending a request using the DeleteDBSecurityGroupRequest method.
3701//    req, resp := client.DeleteDBSecurityGroupRequest(params)
3702//
3703//    err := req.Send()
3704//    if err == nil { // resp is now filled
3705//        fmt.Println(resp)
3706//    }
3707//
3708// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
3709func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (req *request.Request, output *DeleteDBSecurityGroupOutput) {
3710	op := &request.Operation{
3711		Name:       opDeleteDBSecurityGroup,
3712		HTTPMethod: "POST",
3713		HTTPPath:   "/",
3714	}
3715
3716	if input == nil {
3717		input = &DeleteDBSecurityGroupInput{}
3718	}
3719
3720	output = &DeleteDBSecurityGroupOutput{}
3721	req = c.newRequest(op, input, output)
3722	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3723	return
3724}
3725
3726// DeleteDBSecurityGroup API operation for Amazon Relational Database Service.
3727//
3728// Deletes a DB security group.
3729//
3730// The specified DB security group must not be associated with any DB instances.
3731//
3732// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3733// with awserr.Error's Code and Message methods to get detailed information about
3734// the error.
3735//
3736// See the AWS API reference guide for Amazon Relational Database Service's
3737// API operation DeleteDBSecurityGroup for usage and error information.
3738//
3739// Returned Error Codes:
3740//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
3741//   The state of the DB security group doesn't allow deletion.
3742//
3743//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
3744//   DBSecurityGroupName doesn't refer to an existing DB security group.
3745//
3746// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
3747func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteDBSecurityGroupOutput, error) {
3748	req, out := c.DeleteDBSecurityGroupRequest(input)
3749	return out, req.Send()
3750}
3751
3752// DeleteDBSecurityGroupWithContext is the same as DeleteDBSecurityGroup with the addition of
3753// the ability to pass a context and additional request options.
3754//
3755// See DeleteDBSecurityGroup for details on how to use this API operation.
3756//
3757// The context must be non-nil and will be used for request cancellation. If
3758// the context is nil a panic will occur. In the future the SDK may create
3759// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3760// for more information on using Contexts.
3761func (c *RDS) DeleteDBSecurityGroupWithContext(ctx aws.Context, input *DeleteDBSecurityGroupInput, opts ...request.Option) (*DeleteDBSecurityGroupOutput, error) {
3762	req, out := c.DeleteDBSecurityGroupRequest(input)
3763	req.SetContext(ctx)
3764	req.ApplyOptions(opts...)
3765	return out, req.Send()
3766}
3767
3768const opDeleteDBSnapshot = "DeleteDBSnapshot"
3769
3770// DeleteDBSnapshotRequest generates a "aws/request.Request" representing the
3771// client's request for the DeleteDBSnapshot operation. The "output" return
3772// value will be populated with the request's response once the request completes
3773// successfully.
3774//
3775// Use "Send" method on the returned Request to send the API call to the service.
3776// the "output" return value is not valid until after Send returns without error.
3777//
3778// See DeleteDBSnapshot for more information on using the DeleteDBSnapshot
3779// API call, and error handling.
3780//
3781// This method is useful when you want to inject custom logic or configuration
3782// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3783//
3784//
3785//    // Example sending a request using the DeleteDBSnapshotRequest method.
3786//    req, resp := client.DeleteDBSnapshotRequest(params)
3787//
3788//    err := req.Send()
3789//    if err == nil { // resp is now filled
3790//        fmt.Println(resp)
3791//    }
3792//
3793// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
3794func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *request.Request, output *DeleteDBSnapshotOutput) {
3795	op := &request.Operation{
3796		Name:       opDeleteDBSnapshot,
3797		HTTPMethod: "POST",
3798		HTTPPath:   "/",
3799	}
3800
3801	if input == nil {
3802		input = &DeleteDBSnapshotInput{}
3803	}
3804
3805	output = &DeleteDBSnapshotOutput{}
3806	req = c.newRequest(op, input, output)
3807	return
3808}
3809
3810// DeleteDBSnapshot API operation for Amazon Relational Database Service.
3811//
3812// Deletes a DB snapshot. If the snapshot is being copied, the copy operation
3813// is terminated.
3814//
3815// The DB snapshot must be in the available state to be deleted.
3816//
3817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3818// with awserr.Error's Code and Message methods to get detailed information about
3819// the error.
3820//
3821// See the AWS API reference guide for Amazon Relational Database Service's
3822// API operation DeleteDBSnapshot for usage and error information.
3823//
3824// Returned Error Codes:
3825//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
3826//   The state of the DB snapshot doesn't allow deletion.
3827//
3828//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
3829//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
3830//
3831// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
3832func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotOutput, error) {
3833	req, out := c.DeleteDBSnapshotRequest(input)
3834	return out, req.Send()
3835}
3836
3837// DeleteDBSnapshotWithContext is the same as DeleteDBSnapshot with the addition of
3838// the ability to pass a context and additional request options.
3839//
3840// See DeleteDBSnapshot for details on how to use this API operation.
3841//
3842// The context must be non-nil and will be used for request cancellation. If
3843// the context is nil a panic will occur. In the future the SDK may create
3844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3845// for more information on using Contexts.
3846func (c *RDS) DeleteDBSnapshotWithContext(ctx aws.Context, input *DeleteDBSnapshotInput, opts ...request.Option) (*DeleteDBSnapshotOutput, error) {
3847	req, out := c.DeleteDBSnapshotRequest(input)
3848	req.SetContext(ctx)
3849	req.ApplyOptions(opts...)
3850	return out, req.Send()
3851}
3852
3853const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
3854
3855// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
3856// client's request for the DeleteDBSubnetGroup operation. The "output" return
3857// value will be populated with the request's response once the request completes
3858// successfully.
3859//
3860// Use "Send" method on the returned Request to send the API call to the service.
3861// the "output" return value is not valid until after Send returns without error.
3862//
3863// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
3864// API call, and error handling.
3865//
3866// This method is useful when you want to inject custom logic or configuration
3867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3868//
3869//
3870//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
3871//    req, resp := client.DeleteDBSubnetGroupRequest(params)
3872//
3873//    err := req.Send()
3874//    if err == nil { // resp is now filled
3875//        fmt.Println(resp)
3876//    }
3877//
3878// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
3879func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
3880	op := &request.Operation{
3881		Name:       opDeleteDBSubnetGroup,
3882		HTTPMethod: "POST",
3883		HTTPPath:   "/",
3884	}
3885
3886	if input == nil {
3887		input = &DeleteDBSubnetGroupInput{}
3888	}
3889
3890	output = &DeleteDBSubnetGroupOutput{}
3891	req = c.newRequest(op, input, output)
3892	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3893	return
3894}
3895
3896// DeleteDBSubnetGroup API operation for Amazon Relational Database Service.
3897//
3898// Deletes a DB subnet group.
3899//
3900// The specified database subnet group must not be associated with any DB instances.
3901//
3902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3903// with awserr.Error's Code and Message methods to get detailed information about
3904// the error.
3905//
3906// See the AWS API reference guide for Amazon Relational Database Service's
3907// API operation DeleteDBSubnetGroup for usage and error information.
3908//
3909// Returned Error Codes:
3910//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
3911//   The DB subnet group cannot be deleted because it's in use.
3912//
3913//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
3914//   The DB subnet isn't in the available state.
3915//
3916//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3917//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
3918//
3919// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
3920func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
3921	req, out := c.DeleteDBSubnetGroupRequest(input)
3922	return out, req.Send()
3923}
3924
3925// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
3926// the ability to pass a context and additional request options.
3927//
3928// See DeleteDBSubnetGroup for details on how to use this API operation.
3929//
3930// The context must be non-nil and will be used for request cancellation. If
3931// the context is nil a panic will occur. In the future the SDK may create
3932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3933// for more information on using Contexts.
3934func (c *RDS) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
3935	req, out := c.DeleteDBSubnetGroupRequest(input)
3936	req.SetContext(ctx)
3937	req.ApplyOptions(opts...)
3938	return out, req.Send()
3939}
3940
3941const opDeleteEventSubscription = "DeleteEventSubscription"
3942
3943// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
3944// client's request for the DeleteEventSubscription operation. The "output" return
3945// value will be populated with the request's response once the request completes
3946// successfully.
3947//
3948// Use "Send" method on the returned Request to send the API call to the service.
3949// the "output" return value is not valid until after Send returns without error.
3950//
3951// See DeleteEventSubscription for more information on using the DeleteEventSubscription
3952// API call, and error handling.
3953//
3954// This method is useful when you want to inject custom logic or configuration
3955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3956//
3957//
3958//    // Example sending a request using the DeleteEventSubscriptionRequest method.
3959//    req, resp := client.DeleteEventSubscriptionRequest(params)
3960//
3961//    err := req.Send()
3962//    if err == nil { // resp is now filled
3963//        fmt.Println(resp)
3964//    }
3965//
3966// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
3967func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
3968	op := &request.Operation{
3969		Name:       opDeleteEventSubscription,
3970		HTTPMethod: "POST",
3971		HTTPPath:   "/",
3972	}
3973
3974	if input == nil {
3975		input = &DeleteEventSubscriptionInput{}
3976	}
3977
3978	output = &DeleteEventSubscriptionOutput{}
3979	req = c.newRequest(op, input, output)
3980	return
3981}
3982
3983// DeleteEventSubscription API operation for Amazon Relational Database Service.
3984//
3985// Deletes an RDS event notification subscription.
3986//
3987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3988// with awserr.Error's Code and Message methods to get detailed information about
3989// the error.
3990//
3991// See the AWS API reference guide for Amazon Relational Database Service's
3992// API operation DeleteEventSubscription for usage and error information.
3993//
3994// Returned Error Codes:
3995//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
3996//   The subscription name does not exist.
3997//
3998//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
3999//   This error can occur if someone else is modifying a subscription. You should
4000//   retry the action.
4001//
4002// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
4003func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
4004	req, out := c.DeleteEventSubscriptionRequest(input)
4005	return out, req.Send()
4006}
4007
4008// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
4009// the ability to pass a context and additional request options.
4010//
4011// See DeleteEventSubscription for details on how to use this API operation.
4012//
4013// The context must be non-nil and will be used for request cancellation. If
4014// the context is nil a panic will occur. In the future the SDK may create
4015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4016// for more information on using Contexts.
4017func (c *RDS) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
4018	req, out := c.DeleteEventSubscriptionRequest(input)
4019	req.SetContext(ctx)
4020	req.ApplyOptions(opts...)
4021	return out, req.Send()
4022}
4023
4024const opDeleteGlobalCluster = "DeleteGlobalCluster"
4025
4026// DeleteGlobalClusterRequest generates a "aws/request.Request" representing the
4027// client's request for the DeleteGlobalCluster operation. The "output" return
4028// value will be populated with the request's response once the request completes
4029// successfully.
4030//
4031// Use "Send" method on the returned Request to send the API call to the service.
4032// the "output" return value is not valid until after Send returns without error.
4033//
4034// See DeleteGlobalCluster for more information on using the DeleteGlobalCluster
4035// API call, and error handling.
4036//
4037// This method is useful when you want to inject custom logic or configuration
4038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4039//
4040//
4041//    // Example sending a request using the DeleteGlobalClusterRequest method.
4042//    req, resp := client.DeleteGlobalClusterRequest(params)
4043//
4044//    err := req.Send()
4045//    if err == nil { // resp is now filled
4046//        fmt.Println(resp)
4047//    }
4048//
4049// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
4050func (c *RDS) DeleteGlobalClusterRequest(input *DeleteGlobalClusterInput) (req *request.Request, output *DeleteGlobalClusterOutput) {
4051	op := &request.Operation{
4052		Name:       opDeleteGlobalCluster,
4053		HTTPMethod: "POST",
4054		HTTPPath:   "/",
4055	}
4056
4057	if input == nil {
4058		input = &DeleteGlobalClusterInput{}
4059	}
4060
4061	output = &DeleteGlobalClusterOutput{}
4062	req = c.newRequest(op, input, output)
4063	return
4064}
4065
4066// DeleteGlobalCluster API operation for Amazon Relational Database Service.
4067//
4068// Deletes a global database cluster. The primary and secondary clusters must
4069// already be detached or destroyed first.
4070//
4071// This action only applies to Aurora DB clusters.
4072//
4073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4074// with awserr.Error's Code and Message methods to get detailed information about
4075// the error.
4076//
4077// See the AWS API reference guide for Amazon Relational Database Service's
4078// API operation DeleteGlobalCluster for usage and error information.
4079//
4080// Returned Error Codes:
4081//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
4082//
4083//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
4084//
4085// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
4086func (c *RDS) DeleteGlobalCluster(input *DeleteGlobalClusterInput) (*DeleteGlobalClusterOutput, error) {
4087	req, out := c.DeleteGlobalClusterRequest(input)
4088	return out, req.Send()
4089}
4090
4091// DeleteGlobalClusterWithContext is the same as DeleteGlobalCluster with the addition of
4092// the ability to pass a context and additional request options.
4093//
4094// See DeleteGlobalCluster for details on how to use this API operation.
4095//
4096// The context must be non-nil and will be used for request cancellation. If
4097// the context is nil a panic will occur. In the future the SDK may create
4098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4099// for more information on using Contexts.
4100func (c *RDS) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGlobalClusterInput, opts ...request.Option) (*DeleteGlobalClusterOutput, error) {
4101	req, out := c.DeleteGlobalClusterRequest(input)
4102	req.SetContext(ctx)
4103	req.ApplyOptions(opts...)
4104	return out, req.Send()
4105}
4106
4107const opDeleteInstallationMedia = "DeleteInstallationMedia"
4108
4109// DeleteInstallationMediaRequest generates a "aws/request.Request" representing the
4110// client's request for the DeleteInstallationMedia operation. The "output" return
4111// value will be populated with the request's response once the request completes
4112// successfully.
4113//
4114// Use "Send" method on the returned Request to send the API call to the service.
4115// the "output" return value is not valid until after Send returns without error.
4116//
4117// See DeleteInstallationMedia for more information on using the DeleteInstallationMedia
4118// API call, and error handling.
4119//
4120// This method is useful when you want to inject custom logic or configuration
4121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4122//
4123//
4124//    // Example sending a request using the DeleteInstallationMediaRequest method.
4125//    req, resp := client.DeleteInstallationMediaRequest(params)
4126//
4127//    err := req.Send()
4128//    if err == nil { // resp is now filled
4129//        fmt.Println(resp)
4130//    }
4131//
4132// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
4133func (c *RDS) DeleteInstallationMediaRequest(input *DeleteInstallationMediaInput) (req *request.Request, output *DeleteInstallationMediaOutput) {
4134	op := &request.Operation{
4135		Name:       opDeleteInstallationMedia,
4136		HTTPMethod: "POST",
4137		HTTPPath:   "/",
4138	}
4139
4140	if input == nil {
4141		input = &DeleteInstallationMediaInput{}
4142	}
4143
4144	output = &DeleteInstallationMediaOutput{}
4145	req = c.newRequest(op, input, output)
4146	return
4147}
4148
4149// DeleteInstallationMedia API operation for Amazon Relational Database Service.
4150//
4151// Deletes the installation medium for a DB engine that requires an on-premises
4152// customer provided license, such as Microsoft SQL Server.
4153//
4154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4155// with awserr.Error's Code and Message methods to get detailed information about
4156// the error.
4157//
4158// See the AWS API reference guide for Amazon Relational Database Service's
4159// API operation DeleteInstallationMedia for usage and error information.
4160//
4161// Returned Error Codes:
4162//   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
4163//   InstallationMediaID doesn't refer to an existing installation medium.
4164//
4165// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
4166func (c *RDS) DeleteInstallationMedia(input *DeleteInstallationMediaInput) (*DeleteInstallationMediaOutput, error) {
4167	req, out := c.DeleteInstallationMediaRequest(input)
4168	return out, req.Send()
4169}
4170
4171// DeleteInstallationMediaWithContext is the same as DeleteInstallationMedia with the addition of
4172// the ability to pass a context and additional request options.
4173//
4174// See DeleteInstallationMedia for details on how to use this API operation.
4175//
4176// The context must be non-nil and will be used for request cancellation. If
4177// the context is nil a panic will occur. In the future the SDK may create
4178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4179// for more information on using Contexts.
4180func (c *RDS) DeleteInstallationMediaWithContext(ctx aws.Context, input *DeleteInstallationMediaInput, opts ...request.Option) (*DeleteInstallationMediaOutput, error) {
4181	req, out := c.DeleteInstallationMediaRequest(input)
4182	req.SetContext(ctx)
4183	req.ApplyOptions(opts...)
4184	return out, req.Send()
4185}
4186
4187const opDeleteOptionGroup = "DeleteOptionGroup"
4188
4189// DeleteOptionGroupRequest generates a "aws/request.Request" representing the
4190// client's request for the DeleteOptionGroup operation. The "output" return
4191// value will be populated with the request's response once the request completes
4192// successfully.
4193//
4194// Use "Send" method on the returned Request to send the API call to the service.
4195// the "output" return value is not valid until after Send returns without error.
4196//
4197// See DeleteOptionGroup for more information on using the DeleteOptionGroup
4198// API call, and error handling.
4199//
4200// This method is useful when you want to inject custom logic or configuration
4201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4202//
4203//
4204//    // Example sending a request using the DeleteOptionGroupRequest method.
4205//    req, resp := client.DeleteOptionGroupRequest(params)
4206//
4207//    err := req.Send()
4208//    if err == nil { // resp is now filled
4209//        fmt.Println(resp)
4210//    }
4211//
4212// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
4213func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *request.Request, output *DeleteOptionGroupOutput) {
4214	op := &request.Operation{
4215		Name:       opDeleteOptionGroup,
4216		HTTPMethod: "POST",
4217		HTTPPath:   "/",
4218	}
4219
4220	if input == nil {
4221		input = &DeleteOptionGroupInput{}
4222	}
4223
4224	output = &DeleteOptionGroupOutput{}
4225	req = c.newRequest(op, input, output)
4226	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4227	return
4228}
4229
4230// DeleteOptionGroup API operation for Amazon Relational Database Service.
4231//
4232// Deletes an existing option group.
4233//
4234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4235// with awserr.Error's Code and Message methods to get detailed information about
4236// the error.
4237//
4238// See the AWS API reference guide for Amazon Relational Database Service's
4239// API operation DeleteOptionGroup for usage and error information.
4240//
4241// Returned Error Codes:
4242//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
4243//   The specified option group could not be found.
4244//
4245//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
4246//   The option group isn't in the available state.
4247//
4248// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
4249func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGroupOutput, error) {
4250	req, out := c.DeleteOptionGroupRequest(input)
4251	return out, req.Send()
4252}
4253
4254// DeleteOptionGroupWithContext is the same as DeleteOptionGroup with the addition of
4255// the ability to pass a context and additional request options.
4256//
4257// See DeleteOptionGroup for details on how to use this API operation.
4258//
4259// The context must be non-nil and will be used for request cancellation. If
4260// the context is nil a panic will occur. In the future the SDK may create
4261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4262// for more information on using Contexts.
4263func (c *RDS) DeleteOptionGroupWithContext(ctx aws.Context, input *DeleteOptionGroupInput, opts ...request.Option) (*DeleteOptionGroupOutput, error) {
4264	req, out := c.DeleteOptionGroupRequest(input)
4265	req.SetContext(ctx)
4266	req.ApplyOptions(opts...)
4267	return out, req.Send()
4268}
4269
4270const opDeregisterDBProxyTargets = "DeregisterDBProxyTargets"
4271
4272// DeregisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
4273// client's request for the DeregisterDBProxyTargets operation. The "output" return
4274// value will be populated with the request's response once the request completes
4275// successfully.
4276//
4277// Use "Send" method on the returned Request to send the API call to the service.
4278// the "output" return value is not valid until after Send returns without error.
4279//
4280// See DeregisterDBProxyTargets for more information on using the DeregisterDBProxyTargets
4281// API call, and error handling.
4282//
4283// This method is useful when you want to inject custom logic or configuration
4284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4285//
4286//
4287//    // Example sending a request using the DeregisterDBProxyTargetsRequest method.
4288//    req, resp := client.DeregisterDBProxyTargetsRequest(params)
4289//
4290//    err := req.Send()
4291//    if err == nil { // resp is now filled
4292//        fmt.Println(resp)
4293//    }
4294//
4295// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
4296func (c *RDS) DeregisterDBProxyTargetsRequest(input *DeregisterDBProxyTargetsInput) (req *request.Request, output *DeregisterDBProxyTargetsOutput) {
4297	op := &request.Operation{
4298		Name:       opDeregisterDBProxyTargets,
4299		HTTPMethod: "POST",
4300		HTTPPath:   "/",
4301	}
4302
4303	if input == nil {
4304		input = &DeregisterDBProxyTargetsInput{}
4305	}
4306
4307	output = &DeregisterDBProxyTargetsOutput{}
4308	req = c.newRequest(op, input, output)
4309	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4310	return
4311}
4312
4313// DeregisterDBProxyTargets API operation for Amazon Relational Database Service.
4314//
4315// Remove the association between one or more DBProxyTarget data structures
4316// and a DBProxyTargetGroup.
4317//
4318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4319// with awserr.Error's Code and Message methods to get detailed information about
4320// the error.
4321//
4322// See the AWS API reference guide for Amazon Relational Database Service's
4323// API operation DeregisterDBProxyTargets for usage and error information.
4324//
4325// Returned Error Codes:
4326//   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
4327//   The specified RDS DB instance or Aurora DB cluster isn't available for a
4328//   proxy owned by your AWS account in the specified AWS Region.
4329//
4330//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
4331//   The specified target group isn't available for a proxy owned by your AWS
4332//   account in the specified AWS Region.
4333//
4334//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
4335//   The specified proxy name doesn't correspond to a proxy owned by your AWS
4336//   accoutn in the specified AWS Region.
4337//
4338//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
4339//   The requested operation can't be performed while the proxy is in this state.
4340//
4341// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
4342func (c *RDS) DeregisterDBProxyTargets(input *DeregisterDBProxyTargetsInput) (*DeregisterDBProxyTargetsOutput, error) {
4343	req, out := c.DeregisterDBProxyTargetsRequest(input)
4344	return out, req.Send()
4345}
4346
4347// DeregisterDBProxyTargetsWithContext is the same as DeregisterDBProxyTargets with the addition of
4348// the ability to pass a context and additional request options.
4349//
4350// See DeregisterDBProxyTargets for details on how to use this API operation.
4351//
4352// The context must be non-nil and will be used for request cancellation. If
4353// the context is nil a panic will occur. In the future the SDK may create
4354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4355// for more information on using Contexts.
4356func (c *RDS) DeregisterDBProxyTargetsWithContext(ctx aws.Context, input *DeregisterDBProxyTargetsInput, opts ...request.Option) (*DeregisterDBProxyTargetsOutput, error) {
4357	req, out := c.DeregisterDBProxyTargetsRequest(input)
4358	req.SetContext(ctx)
4359	req.ApplyOptions(opts...)
4360	return out, req.Send()
4361}
4362
4363const opDescribeAccountAttributes = "DescribeAccountAttributes"
4364
4365// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
4366// client's request for the DescribeAccountAttributes operation. The "output" return
4367// value will be populated with the request's response once the request completes
4368// successfully.
4369//
4370// Use "Send" method on the returned Request to send the API call to the service.
4371// the "output" return value is not valid until after Send returns without error.
4372//
4373// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
4374// API call, and error handling.
4375//
4376// This method is useful when you want to inject custom logic or configuration
4377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4378//
4379//
4380//    // Example sending a request using the DescribeAccountAttributesRequest method.
4381//    req, resp := client.DescribeAccountAttributesRequest(params)
4382//
4383//    err := req.Send()
4384//    if err == nil { // resp is now filled
4385//        fmt.Println(resp)
4386//    }
4387//
4388// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
4389func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
4390	op := &request.Operation{
4391		Name:       opDescribeAccountAttributes,
4392		HTTPMethod: "POST",
4393		HTTPPath:   "/",
4394	}
4395
4396	if input == nil {
4397		input = &DescribeAccountAttributesInput{}
4398	}
4399
4400	output = &DescribeAccountAttributesOutput{}
4401	req = c.newRequest(op, input, output)
4402	return
4403}
4404
4405// DescribeAccountAttributes API operation for Amazon Relational Database Service.
4406//
4407// Lists all of the attributes for a customer account. The attributes include
4408// Amazon RDS quotas for the account, such as the number of DB instances allowed.
4409// The description for a quota includes the quota name, current usage toward
4410// that quota, and the quota's maximum value.
4411//
4412// This command doesn't take any parameters.
4413//
4414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4415// with awserr.Error's Code and Message methods to get detailed information about
4416// the error.
4417//
4418// See the AWS API reference guide for Amazon Relational Database Service's
4419// API operation DescribeAccountAttributes for usage and error information.
4420// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
4421func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
4422	req, out := c.DescribeAccountAttributesRequest(input)
4423	return out, req.Send()
4424}
4425
4426// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
4427// the ability to pass a context and additional request options.
4428//
4429// See DescribeAccountAttributes for details on how to use this API operation.
4430//
4431// The context must be non-nil and will be used for request cancellation. If
4432// the context is nil a panic will occur. In the future the SDK may create
4433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4434// for more information on using Contexts.
4435func (c *RDS) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
4436	req, out := c.DescribeAccountAttributesRequest(input)
4437	req.SetContext(ctx)
4438	req.ApplyOptions(opts...)
4439	return out, req.Send()
4440}
4441
4442const opDescribeCertificates = "DescribeCertificates"
4443
4444// DescribeCertificatesRequest generates a "aws/request.Request" representing the
4445// client's request for the DescribeCertificates operation. The "output" return
4446// value will be populated with the request's response once the request completes
4447// successfully.
4448//
4449// Use "Send" method on the returned Request to send the API call to the service.
4450// the "output" return value is not valid until after Send returns without error.
4451//
4452// See DescribeCertificates for more information on using the DescribeCertificates
4453// API call, and error handling.
4454//
4455// This method is useful when you want to inject custom logic or configuration
4456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4457//
4458//
4459//    // Example sending a request using the DescribeCertificatesRequest method.
4460//    req, resp := client.DescribeCertificatesRequest(params)
4461//
4462//    err := req.Send()
4463//    if err == nil { // resp is now filled
4464//        fmt.Println(resp)
4465//    }
4466//
4467// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
4468func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
4469	op := &request.Operation{
4470		Name:       opDescribeCertificates,
4471		HTTPMethod: "POST",
4472		HTTPPath:   "/",
4473		Paginator: &request.Paginator{
4474			InputTokens:     []string{"Marker"},
4475			OutputTokens:    []string{"Marker"},
4476			LimitToken:      "MaxRecords",
4477			TruncationToken: "",
4478		},
4479	}
4480
4481	if input == nil {
4482		input = &DescribeCertificatesInput{}
4483	}
4484
4485	output = &DescribeCertificatesOutput{}
4486	req = c.newRequest(op, input, output)
4487	return
4488}
4489
4490// DescribeCertificates API operation for Amazon Relational Database Service.
4491//
4492// Lists the set of CA certificates provided by Amazon RDS for this AWS account.
4493//
4494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4495// with awserr.Error's Code and Message methods to get detailed information about
4496// the error.
4497//
4498// See the AWS API reference guide for Amazon Relational Database Service's
4499// API operation DescribeCertificates for usage and error information.
4500//
4501// Returned Error Codes:
4502//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
4503//   CertificateIdentifier doesn't refer to an existing certificate.
4504//
4505// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
4506func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
4507	req, out := c.DescribeCertificatesRequest(input)
4508	return out, req.Send()
4509}
4510
4511// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
4512// the ability to pass a context and additional request options.
4513//
4514// See DescribeCertificates for details on how to use this API operation.
4515//
4516// The context must be non-nil and will be used for request cancellation. If
4517// the context is nil a panic will occur. In the future the SDK may create
4518// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4519// for more information on using Contexts.
4520func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
4521	req, out := c.DescribeCertificatesRequest(input)
4522	req.SetContext(ctx)
4523	req.ApplyOptions(opts...)
4524	return out, req.Send()
4525}
4526
4527// DescribeCertificatesPages iterates over the pages of a DescribeCertificates operation,
4528// calling the "fn" function with the response data for each page. To stop
4529// iterating, return false from the fn function.
4530//
4531// See DescribeCertificates method for more information on how to use this operation.
4532//
4533// Note: This operation can generate multiple requests to a service.
4534//
4535//    // Example iterating over at most 3 pages of a DescribeCertificates operation.
4536//    pageNum := 0
4537//    err := client.DescribeCertificatesPages(params,
4538//        func(page *rds.DescribeCertificatesOutput, lastPage bool) bool {
4539//            pageNum++
4540//            fmt.Println(page)
4541//            return pageNum <= 3
4542//        })
4543//
4544func (c *RDS) DescribeCertificatesPages(input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool) error {
4545	return c.DescribeCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
4546}
4547
4548// DescribeCertificatesPagesWithContext same as DescribeCertificatesPages except
4549// it takes a Context and allows setting request options on the pages.
4550//
4551// The context must be non-nil and will be used for request cancellation. If
4552// the context is nil a panic will occur. In the future the SDK may create
4553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4554// for more information on using Contexts.
4555func (c *RDS) DescribeCertificatesPagesWithContext(ctx aws.Context, input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool, opts ...request.Option) error {
4556	p := request.Pagination{
4557		NewRequest: func() (*request.Request, error) {
4558			var inCpy *DescribeCertificatesInput
4559			if input != nil {
4560				tmp := *input
4561				inCpy = &tmp
4562			}
4563			req, _ := c.DescribeCertificatesRequest(inCpy)
4564			req.SetContext(ctx)
4565			req.ApplyOptions(opts...)
4566			return req, nil
4567		},
4568	}
4569
4570	for p.Next() {
4571		if !fn(p.Page().(*DescribeCertificatesOutput), !p.HasNextPage()) {
4572			break
4573		}
4574	}
4575
4576	return p.Err()
4577}
4578
4579const opDescribeCustomAvailabilityZones = "DescribeCustomAvailabilityZones"
4580
4581// DescribeCustomAvailabilityZonesRequest generates a "aws/request.Request" representing the
4582// client's request for the DescribeCustomAvailabilityZones operation. The "output" return
4583// value will be populated with the request's response once the request completes
4584// successfully.
4585//
4586// Use "Send" method on the returned Request to send the API call to the service.
4587// the "output" return value is not valid until after Send returns without error.
4588//
4589// See DescribeCustomAvailabilityZones for more information on using the DescribeCustomAvailabilityZones
4590// API call, and error handling.
4591//
4592// This method is useful when you want to inject custom logic or configuration
4593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4594//
4595//
4596//    // Example sending a request using the DescribeCustomAvailabilityZonesRequest method.
4597//    req, resp := client.DescribeCustomAvailabilityZonesRequest(params)
4598//
4599//    err := req.Send()
4600//    if err == nil { // resp is now filled
4601//        fmt.Println(resp)
4602//    }
4603//
4604// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
4605func (c *RDS) DescribeCustomAvailabilityZonesRequest(input *DescribeCustomAvailabilityZonesInput) (req *request.Request, output *DescribeCustomAvailabilityZonesOutput) {
4606	op := &request.Operation{
4607		Name:       opDescribeCustomAvailabilityZones,
4608		HTTPMethod: "POST",
4609		HTTPPath:   "/",
4610		Paginator: &request.Paginator{
4611			InputTokens:     []string{"Marker"},
4612			OutputTokens:    []string{"Marker"},
4613			LimitToken:      "MaxRecords",
4614			TruncationToken: "",
4615		},
4616	}
4617
4618	if input == nil {
4619		input = &DescribeCustomAvailabilityZonesInput{}
4620	}
4621
4622	output = &DescribeCustomAvailabilityZonesOutput{}
4623	req = c.newRequest(op, input, output)
4624	return
4625}
4626
4627// DescribeCustomAvailabilityZones API operation for Amazon Relational Database Service.
4628//
4629// Returns information about custom Availability Zones (AZs).
4630//
4631// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
4632// cluster.
4633//
4634// For more information about RDS on VMware, see the RDS on VMware User Guide.
4635// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
4636//
4637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4638// with awserr.Error's Code and Message methods to get detailed information about
4639// the error.
4640//
4641// See the AWS API reference guide for Amazon Relational Database Service's
4642// API operation DescribeCustomAvailabilityZones for usage and error information.
4643//
4644// Returned Error Codes:
4645//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
4646//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
4647//   Zone identifier.
4648//
4649// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
4650func (c *RDS) DescribeCustomAvailabilityZones(input *DescribeCustomAvailabilityZonesInput) (*DescribeCustomAvailabilityZonesOutput, error) {
4651	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
4652	return out, req.Send()
4653}
4654
4655// DescribeCustomAvailabilityZonesWithContext is the same as DescribeCustomAvailabilityZones with the addition of
4656// the ability to pass a context and additional request options.
4657//
4658// See DescribeCustomAvailabilityZones for details on how to use this API operation.
4659//
4660// The context must be non-nil and will be used for request cancellation. If
4661// the context is nil a panic will occur. In the future the SDK may create
4662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4663// for more information on using Contexts.
4664func (c *RDS) DescribeCustomAvailabilityZonesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, opts ...request.Option) (*DescribeCustomAvailabilityZonesOutput, error) {
4665	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
4666	req.SetContext(ctx)
4667	req.ApplyOptions(opts...)
4668	return out, req.Send()
4669}
4670
4671// DescribeCustomAvailabilityZonesPages iterates over the pages of a DescribeCustomAvailabilityZones operation,
4672// calling the "fn" function with the response data for each page. To stop
4673// iterating, return false from the fn function.
4674//
4675// See DescribeCustomAvailabilityZones method for more information on how to use this operation.
4676//
4677// Note: This operation can generate multiple requests to a service.
4678//
4679//    // Example iterating over at most 3 pages of a DescribeCustomAvailabilityZones operation.
4680//    pageNum := 0
4681//    err := client.DescribeCustomAvailabilityZonesPages(params,
4682//        func(page *rds.DescribeCustomAvailabilityZonesOutput, lastPage bool) bool {
4683//            pageNum++
4684//            fmt.Println(page)
4685//            return pageNum <= 3
4686//        })
4687//
4688func (c *RDS) DescribeCustomAvailabilityZonesPages(input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool) error {
4689	return c.DescribeCustomAvailabilityZonesPagesWithContext(aws.BackgroundContext(), input, fn)
4690}
4691
4692// DescribeCustomAvailabilityZonesPagesWithContext same as DescribeCustomAvailabilityZonesPages except
4693// it takes a Context and allows setting request options on the pages.
4694//
4695// The context must be non-nil and will be used for request cancellation. If
4696// the context is nil a panic will occur. In the future the SDK may create
4697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4698// for more information on using Contexts.
4699func (c *RDS) DescribeCustomAvailabilityZonesPagesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool, opts ...request.Option) error {
4700	p := request.Pagination{
4701		NewRequest: func() (*request.Request, error) {
4702			var inCpy *DescribeCustomAvailabilityZonesInput
4703			if input != nil {
4704				tmp := *input
4705				inCpy = &tmp
4706			}
4707			req, _ := c.DescribeCustomAvailabilityZonesRequest(inCpy)
4708			req.SetContext(ctx)
4709			req.ApplyOptions(opts...)
4710			return req, nil
4711		},
4712	}
4713
4714	for p.Next() {
4715		if !fn(p.Page().(*DescribeCustomAvailabilityZonesOutput), !p.HasNextPage()) {
4716			break
4717		}
4718	}
4719
4720	return p.Err()
4721}
4722
4723const opDescribeDBClusterBacktracks = "DescribeDBClusterBacktracks"
4724
4725// DescribeDBClusterBacktracksRequest generates a "aws/request.Request" representing the
4726// client's request for the DescribeDBClusterBacktracks operation. The "output" return
4727// value will be populated with the request's response once the request completes
4728// successfully.
4729//
4730// Use "Send" method on the returned Request to send the API call to the service.
4731// the "output" return value is not valid until after Send returns without error.
4732//
4733// See DescribeDBClusterBacktracks for more information on using the DescribeDBClusterBacktracks
4734// API call, and error handling.
4735//
4736// This method is useful when you want to inject custom logic or configuration
4737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4738//
4739//
4740//    // Example sending a request using the DescribeDBClusterBacktracksRequest method.
4741//    req, resp := client.DescribeDBClusterBacktracksRequest(params)
4742//
4743//    err := req.Send()
4744//    if err == nil { // resp is now filled
4745//        fmt.Println(resp)
4746//    }
4747//
4748// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
4749func (c *RDS) DescribeDBClusterBacktracksRequest(input *DescribeDBClusterBacktracksInput) (req *request.Request, output *DescribeDBClusterBacktracksOutput) {
4750	op := &request.Operation{
4751		Name:       opDescribeDBClusterBacktracks,
4752		HTTPMethod: "POST",
4753		HTTPPath:   "/",
4754		Paginator: &request.Paginator{
4755			InputTokens:     []string{"Marker"},
4756			OutputTokens:    []string{"Marker"},
4757			LimitToken:      "MaxRecords",
4758			TruncationToken: "",
4759		},
4760	}
4761
4762	if input == nil {
4763		input = &DescribeDBClusterBacktracksInput{}
4764	}
4765
4766	output = &DescribeDBClusterBacktracksOutput{}
4767	req = c.newRequest(op, input, output)
4768	return
4769}
4770
4771// DescribeDBClusterBacktracks API operation for Amazon Relational Database Service.
4772//
4773// Returns information about backtracks for a DB cluster.
4774//
4775// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
4776// in the Amazon Aurora User Guide.
4777//
4778// This action only applies to Aurora MySQL DB clusters.
4779//
4780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4781// with awserr.Error's Code and Message methods to get detailed information about
4782// the error.
4783//
4784// See the AWS API reference guide for Amazon Relational Database Service's
4785// API operation DescribeDBClusterBacktracks for usage and error information.
4786//
4787// Returned Error Codes:
4788//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4789//   DBClusterIdentifier doesn't refer to an existing DB cluster.
4790//
4791//   * ErrCodeDBClusterBacktrackNotFoundFault "DBClusterBacktrackNotFoundFault"
4792//   BacktrackIdentifier doesn't refer to an existing backtrack.
4793//
4794// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
4795func (c *RDS) DescribeDBClusterBacktracks(input *DescribeDBClusterBacktracksInput) (*DescribeDBClusterBacktracksOutput, error) {
4796	req, out := c.DescribeDBClusterBacktracksRequest(input)
4797	return out, req.Send()
4798}
4799
4800// DescribeDBClusterBacktracksWithContext is the same as DescribeDBClusterBacktracks with the addition of
4801// the ability to pass a context and additional request options.
4802//
4803// See DescribeDBClusterBacktracks for details on how to use this API operation.
4804//
4805// The context must be non-nil and will be used for request cancellation. If
4806// the context is nil a panic will occur. In the future the SDK may create
4807// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4808// for more information on using Contexts.
4809func (c *RDS) DescribeDBClusterBacktracksWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, opts ...request.Option) (*DescribeDBClusterBacktracksOutput, error) {
4810	req, out := c.DescribeDBClusterBacktracksRequest(input)
4811	req.SetContext(ctx)
4812	req.ApplyOptions(opts...)
4813	return out, req.Send()
4814}
4815
4816// DescribeDBClusterBacktracksPages iterates over the pages of a DescribeDBClusterBacktracks operation,
4817// calling the "fn" function with the response data for each page. To stop
4818// iterating, return false from the fn function.
4819//
4820// See DescribeDBClusterBacktracks method for more information on how to use this operation.
4821//
4822// Note: This operation can generate multiple requests to a service.
4823//
4824//    // Example iterating over at most 3 pages of a DescribeDBClusterBacktracks operation.
4825//    pageNum := 0
4826//    err := client.DescribeDBClusterBacktracksPages(params,
4827//        func(page *rds.DescribeDBClusterBacktracksOutput, lastPage bool) bool {
4828//            pageNum++
4829//            fmt.Println(page)
4830//            return pageNum <= 3
4831//        })
4832//
4833func (c *RDS) DescribeDBClusterBacktracksPages(input *DescribeDBClusterBacktracksInput, fn func(*DescribeDBClusterBacktracksOutput, bool) bool) error {
4834	return c.DescribeDBClusterBacktracksPagesWithContext(aws.BackgroundContext(), input, fn)
4835}
4836
4837// DescribeDBClusterBacktracksPagesWithContext same as DescribeDBClusterBacktracksPages except
4838// it takes a Context and allows setting request options on the pages.
4839//
4840// The context must be non-nil and will be used for request cancellation. If
4841// the context is nil a panic will occur. In the future the SDK may create
4842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4843// for more information on using Contexts.
4844func (c *RDS) DescribeDBClusterBacktracksPagesWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, fn func(*DescribeDBClusterBacktracksOutput, bool) bool, opts ...request.Option) error {
4845	p := request.Pagination{
4846		NewRequest: func() (*request.Request, error) {
4847			var inCpy *DescribeDBClusterBacktracksInput
4848			if input != nil {
4849				tmp := *input
4850				inCpy = &tmp
4851			}
4852			req, _ := c.DescribeDBClusterBacktracksRequest(inCpy)
4853			req.SetContext(ctx)
4854			req.ApplyOptions(opts...)
4855			return req, nil
4856		},
4857	}
4858
4859	for p.Next() {
4860		if !fn(p.Page().(*DescribeDBClusterBacktracksOutput), !p.HasNextPage()) {
4861			break
4862		}
4863	}
4864
4865	return p.Err()
4866}
4867
4868const opDescribeDBClusterEndpoints = "DescribeDBClusterEndpoints"
4869
4870// DescribeDBClusterEndpointsRequest generates a "aws/request.Request" representing the
4871// client's request for the DescribeDBClusterEndpoints operation. The "output" return
4872// value will be populated with the request's response once the request completes
4873// successfully.
4874//
4875// Use "Send" method on the returned Request to send the API call to the service.
4876// the "output" return value is not valid until after Send returns without error.
4877//
4878// See DescribeDBClusterEndpoints for more information on using the DescribeDBClusterEndpoints
4879// API call, and error handling.
4880//
4881// This method is useful when you want to inject custom logic or configuration
4882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4883//
4884//
4885//    // Example sending a request using the DescribeDBClusterEndpointsRequest method.
4886//    req, resp := client.DescribeDBClusterEndpointsRequest(params)
4887//
4888//    err := req.Send()
4889//    if err == nil { // resp is now filled
4890//        fmt.Println(resp)
4891//    }
4892//
4893// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
4894func (c *RDS) DescribeDBClusterEndpointsRequest(input *DescribeDBClusterEndpointsInput) (req *request.Request, output *DescribeDBClusterEndpointsOutput) {
4895	op := &request.Operation{
4896		Name:       opDescribeDBClusterEndpoints,
4897		HTTPMethod: "POST",
4898		HTTPPath:   "/",
4899		Paginator: &request.Paginator{
4900			InputTokens:     []string{"Marker"},
4901			OutputTokens:    []string{"Marker"},
4902			LimitToken:      "MaxRecords",
4903			TruncationToken: "",
4904		},
4905	}
4906
4907	if input == nil {
4908		input = &DescribeDBClusterEndpointsInput{}
4909	}
4910
4911	output = &DescribeDBClusterEndpointsOutput{}
4912	req = c.newRequest(op, input, output)
4913	return
4914}
4915
4916// DescribeDBClusterEndpoints API operation for Amazon Relational Database Service.
4917//
4918// Returns information about endpoints for an Amazon Aurora DB cluster.
4919//
4920// This action only applies to Aurora DB clusters.
4921//
4922// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4923// with awserr.Error's Code and Message methods to get detailed information about
4924// the error.
4925//
4926// See the AWS API reference guide for Amazon Relational Database Service's
4927// API operation DescribeDBClusterEndpoints for usage and error information.
4928//
4929// Returned Error Codes:
4930//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4931//   DBClusterIdentifier doesn't refer to an existing DB cluster.
4932//
4933// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
4934func (c *RDS) DescribeDBClusterEndpoints(input *DescribeDBClusterEndpointsInput) (*DescribeDBClusterEndpointsOutput, error) {
4935	req, out := c.DescribeDBClusterEndpointsRequest(input)
4936	return out, req.Send()
4937}
4938
4939// DescribeDBClusterEndpointsWithContext is the same as DescribeDBClusterEndpoints with the addition of
4940// the ability to pass a context and additional request options.
4941//
4942// See DescribeDBClusterEndpoints for details on how to use this API operation.
4943//
4944// The context must be non-nil and will be used for request cancellation. If
4945// the context is nil a panic will occur. In the future the SDK may create
4946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4947// for more information on using Contexts.
4948func (c *RDS) DescribeDBClusterEndpointsWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, opts ...request.Option) (*DescribeDBClusterEndpointsOutput, error) {
4949	req, out := c.DescribeDBClusterEndpointsRequest(input)
4950	req.SetContext(ctx)
4951	req.ApplyOptions(opts...)
4952	return out, req.Send()
4953}
4954
4955// DescribeDBClusterEndpointsPages iterates over the pages of a DescribeDBClusterEndpoints operation,
4956// calling the "fn" function with the response data for each page. To stop
4957// iterating, return false from the fn function.
4958//
4959// See DescribeDBClusterEndpoints method for more information on how to use this operation.
4960//
4961// Note: This operation can generate multiple requests to a service.
4962//
4963//    // Example iterating over at most 3 pages of a DescribeDBClusterEndpoints operation.
4964//    pageNum := 0
4965//    err := client.DescribeDBClusterEndpointsPages(params,
4966//        func(page *rds.DescribeDBClusterEndpointsOutput, lastPage bool) bool {
4967//            pageNum++
4968//            fmt.Println(page)
4969//            return pageNum <= 3
4970//        })
4971//
4972func (c *RDS) DescribeDBClusterEndpointsPages(input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool) error {
4973	return c.DescribeDBClusterEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
4974}
4975
4976// DescribeDBClusterEndpointsPagesWithContext same as DescribeDBClusterEndpointsPages except
4977// it takes a Context and allows setting request options on the pages.
4978//
4979// The context must be non-nil and will be used for request cancellation. If
4980// the context is nil a panic will occur. In the future the SDK may create
4981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4982// for more information on using Contexts.
4983func (c *RDS) DescribeDBClusterEndpointsPagesWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool, opts ...request.Option) error {
4984	p := request.Pagination{
4985		NewRequest: func() (*request.Request, error) {
4986			var inCpy *DescribeDBClusterEndpointsInput
4987			if input != nil {
4988				tmp := *input
4989				inCpy = &tmp
4990			}
4991			req, _ := c.DescribeDBClusterEndpointsRequest(inCpy)
4992			req.SetContext(ctx)
4993			req.ApplyOptions(opts...)
4994			return req, nil
4995		},
4996	}
4997
4998	for p.Next() {
4999		if !fn(p.Page().(*DescribeDBClusterEndpointsOutput), !p.HasNextPage()) {
5000			break
5001		}
5002	}
5003
5004	return p.Err()
5005}
5006
5007const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
5008
5009// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
5010// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
5011// value will be populated with the request's response once the request completes
5012// successfully.
5013//
5014// Use "Send" method on the returned Request to send the API call to the service.
5015// the "output" return value is not valid until after Send returns without error.
5016//
5017// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
5018// API call, and error handling.
5019//
5020// This method is useful when you want to inject custom logic or configuration
5021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5022//
5023//
5024//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
5025//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
5026//
5027//    err := req.Send()
5028//    if err == nil { // resp is now filled
5029//        fmt.Println(resp)
5030//    }
5031//
5032// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
5033func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
5034	op := &request.Operation{
5035		Name:       opDescribeDBClusterParameterGroups,
5036		HTTPMethod: "POST",
5037		HTTPPath:   "/",
5038		Paginator: &request.Paginator{
5039			InputTokens:     []string{"Marker"},
5040			OutputTokens:    []string{"Marker"},
5041			LimitToken:      "MaxRecords",
5042			TruncationToken: "",
5043		},
5044	}
5045
5046	if input == nil {
5047		input = &DescribeDBClusterParameterGroupsInput{}
5048	}
5049
5050	output = &DescribeDBClusterParameterGroupsOutput{}
5051	req = c.newRequest(op, input, output)
5052	return
5053}
5054
5055// DescribeDBClusterParameterGroups API operation for Amazon Relational Database Service.
5056//
5057// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
5058// parameter is specified, the list will contain only the description of the
5059// specified DB cluster parameter group.
5060//
5061// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5062// in the Amazon Aurora User Guide.
5063//
5064// This action only applies to Aurora DB clusters.
5065//
5066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5067// with awserr.Error's Code and Message methods to get detailed information about
5068// the error.
5069//
5070// See the AWS API reference guide for Amazon Relational Database Service's
5071// API operation DescribeDBClusterParameterGroups for usage and error information.
5072//
5073// Returned Error Codes:
5074//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5075//   DBParameterGroupName doesn't refer to an existing DB parameter group.
5076//
5077// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
5078func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
5079	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
5080	return out, req.Send()
5081}
5082
5083// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
5084// the ability to pass a context and additional request options.
5085//
5086// See DescribeDBClusterParameterGroups for details on how to use this API operation.
5087//
5088// The context must be non-nil and will be used for request cancellation. If
5089// the context is nil a panic will occur. In the future the SDK may create
5090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5091// for more information on using Contexts.
5092func (c *RDS) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
5093	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
5094	req.SetContext(ctx)
5095	req.ApplyOptions(opts...)
5096	return out, req.Send()
5097}
5098
5099// DescribeDBClusterParameterGroupsPages iterates over the pages of a DescribeDBClusterParameterGroups operation,
5100// calling the "fn" function with the response data for each page. To stop
5101// iterating, return false from the fn function.
5102//
5103// See DescribeDBClusterParameterGroups method for more information on how to use this operation.
5104//
5105// Note: This operation can generate multiple requests to a service.
5106//
5107//    // Example iterating over at most 3 pages of a DescribeDBClusterParameterGroups operation.
5108//    pageNum := 0
5109//    err := client.DescribeDBClusterParameterGroupsPages(params,
5110//        func(page *rds.DescribeDBClusterParameterGroupsOutput, lastPage bool) bool {
5111//            pageNum++
5112//            fmt.Println(page)
5113//            return pageNum <= 3
5114//        })
5115//
5116func (c *RDS) DescribeDBClusterParameterGroupsPages(input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool) error {
5117	return c.DescribeDBClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
5118}
5119
5120// DescribeDBClusterParameterGroupsPagesWithContext same as DescribeDBClusterParameterGroupsPages except
5121// it takes a Context and allows setting request options on the pages.
5122//
5123// The context must be non-nil and will be used for request cancellation. If
5124// the context is nil a panic will occur. In the future the SDK may create
5125// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5126// for more information on using Contexts.
5127func (c *RDS) DescribeDBClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error {
5128	p := request.Pagination{
5129		NewRequest: func() (*request.Request, error) {
5130			var inCpy *DescribeDBClusterParameterGroupsInput
5131			if input != nil {
5132				tmp := *input
5133				inCpy = &tmp
5134			}
5135			req, _ := c.DescribeDBClusterParameterGroupsRequest(inCpy)
5136			req.SetContext(ctx)
5137			req.ApplyOptions(opts...)
5138			return req, nil
5139		},
5140	}
5141
5142	for p.Next() {
5143		if !fn(p.Page().(*DescribeDBClusterParameterGroupsOutput), !p.HasNextPage()) {
5144			break
5145		}
5146	}
5147
5148	return p.Err()
5149}
5150
5151const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
5152
5153// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
5154// client's request for the DescribeDBClusterParameters operation. The "output" return
5155// value will be populated with the request's response once the request completes
5156// successfully.
5157//
5158// Use "Send" method on the returned Request to send the API call to the service.
5159// the "output" return value is not valid until after Send returns without error.
5160//
5161// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
5162// API call, and error handling.
5163//
5164// This method is useful when you want to inject custom logic or configuration
5165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5166//
5167//
5168//    // Example sending a request using the DescribeDBClusterParametersRequest method.
5169//    req, resp := client.DescribeDBClusterParametersRequest(params)
5170//
5171//    err := req.Send()
5172//    if err == nil { // resp is now filled
5173//        fmt.Println(resp)
5174//    }
5175//
5176// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
5177func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
5178	op := &request.Operation{
5179		Name:       opDescribeDBClusterParameters,
5180		HTTPMethod: "POST",
5181		HTTPPath:   "/",
5182		Paginator: &request.Paginator{
5183			InputTokens:     []string{"Marker"},
5184			OutputTokens:    []string{"Marker"},
5185			LimitToken:      "MaxRecords",
5186			TruncationToken: "",
5187		},
5188	}
5189
5190	if input == nil {
5191		input = &DescribeDBClusterParametersInput{}
5192	}
5193
5194	output = &DescribeDBClusterParametersOutput{}
5195	req = c.newRequest(op, input, output)
5196	return
5197}
5198
5199// DescribeDBClusterParameters API operation for Amazon Relational Database Service.
5200//
5201// Returns the detailed parameter list for a particular DB cluster parameter
5202// group.
5203//
5204// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5205// in the Amazon Aurora User Guide.
5206//
5207// This action only applies to Aurora DB clusters.
5208//
5209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5210// with awserr.Error's Code and Message methods to get detailed information about
5211// the error.
5212//
5213// See the AWS API reference guide for Amazon Relational Database Service's
5214// API operation DescribeDBClusterParameters for usage and error information.
5215//
5216// Returned Error Codes:
5217//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5218//   DBParameterGroupName doesn't refer to an existing DB parameter group.
5219//
5220// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
5221func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
5222	req, out := c.DescribeDBClusterParametersRequest(input)
5223	return out, req.Send()
5224}
5225
5226// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
5227// the ability to pass a context and additional request options.
5228//
5229// See DescribeDBClusterParameters for details on how to use this API operation.
5230//
5231// The context must be non-nil and will be used for request cancellation. If
5232// the context is nil a panic will occur. In the future the SDK may create
5233// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5234// for more information on using Contexts.
5235func (c *RDS) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
5236	req, out := c.DescribeDBClusterParametersRequest(input)
5237	req.SetContext(ctx)
5238	req.ApplyOptions(opts...)
5239	return out, req.Send()
5240}
5241
5242// DescribeDBClusterParametersPages iterates over the pages of a DescribeDBClusterParameters operation,
5243// calling the "fn" function with the response data for each page. To stop
5244// iterating, return false from the fn function.
5245//
5246// See DescribeDBClusterParameters method for more information on how to use this operation.
5247//
5248// Note: This operation can generate multiple requests to a service.
5249//
5250//    // Example iterating over at most 3 pages of a DescribeDBClusterParameters operation.
5251//    pageNum := 0
5252//    err := client.DescribeDBClusterParametersPages(params,
5253//        func(page *rds.DescribeDBClusterParametersOutput, lastPage bool) bool {
5254//            pageNum++
5255//            fmt.Println(page)
5256//            return pageNum <= 3
5257//        })
5258//
5259func (c *RDS) DescribeDBClusterParametersPages(input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool) error {
5260	return c.DescribeDBClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
5261}
5262
5263// DescribeDBClusterParametersPagesWithContext same as DescribeDBClusterParametersPages except
5264// it takes a Context and allows setting request options on the pages.
5265//
5266// The context must be non-nil and will be used for request cancellation. If
5267// the context is nil a panic will occur. In the future the SDK may create
5268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5269// for more information on using Contexts.
5270func (c *RDS) DescribeDBClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool, opts ...request.Option) error {
5271	p := request.Pagination{
5272		NewRequest: func() (*request.Request, error) {
5273			var inCpy *DescribeDBClusterParametersInput
5274			if input != nil {
5275				tmp := *input
5276				inCpy = &tmp
5277			}
5278			req, _ := c.DescribeDBClusterParametersRequest(inCpy)
5279			req.SetContext(ctx)
5280			req.ApplyOptions(opts...)
5281			return req, nil
5282		},
5283	}
5284
5285	for p.Next() {
5286		if !fn(p.Page().(*DescribeDBClusterParametersOutput), !p.HasNextPage()) {
5287			break
5288		}
5289	}
5290
5291	return p.Err()
5292}
5293
5294const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
5295
5296// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
5297// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
5298// value will be populated with the request's response once the request completes
5299// successfully.
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 DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
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 DescribeDBClusterSnapshotAttributesRequest method.
5312//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(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/DescribeDBClusterSnapshotAttributes
5320func (c *RDS) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
5321	op := &request.Operation{
5322		Name:       opDescribeDBClusterSnapshotAttributes,
5323		HTTPMethod: "POST",
5324		HTTPPath:   "/",
5325	}
5326
5327	if input == nil {
5328		input = &DescribeDBClusterSnapshotAttributesInput{}
5329	}
5330
5331	output = &DescribeDBClusterSnapshotAttributesOutput{}
5332	req = c.newRequest(op, input, output)
5333	return
5334}
5335
5336// DescribeDBClusterSnapshotAttributes API operation for Amazon Relational Database Service.
5337//
5338// Returns a list of DB cluster snapshot attribute names and values for a manual
5339// DB cluster snapshot.
5340//
5341// When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
5342// returns the restore attribute and a list of IDs for the AWS accounts that
5343// are authorized to copy or restore the manual DB cluster snapshot. If all
5344// is included in the list of values for the restore attribute, then the manual
5345// DB cluster snapshot is public and can be copied or restored by all AWS accounts.
5346//
5347// To add or remove access for an AWS account to copy or restore a manual DB
5348// cluster snapshot, or to make the manual DB cluster snapshot public or private,
5349// use the ModifyDBClusterSnapshotAttribute API action.
5350//
5351// This action only applies to Aurora DB clusters.
5352//
5353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5354// with awserr.Error's Code and Message methods to get detailed information about
5355// the error.
5356//
5357// See the AWS API reference guide for Amazon Relational Database Service's
5358// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
5359//
5360// Returned Error Codes:
5361//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5362//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
5363//
5364// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
5365func (c *RDS) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
5366	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
5367	return out, req.Send()
5368}
5369
5370// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
5371// the ability to pass a context and additional request options.
5372//
5373// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
5374//
5375// The context must be non-nil and will be used for request cancellation. If
5376// the context is nil a panic will occur. In the future the SDK may create
5377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5378// for more information on using Contexts.
5379func (c *RDS) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
5380	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
5381	req.SetContext(ctx)
5382	req.ApplyOptions(opts...)
5383	return out, req.Send()
5384}
5385
5386const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
5387
5388// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
5389// client's request for the DescribeDBClusterSnapshots operation. The "output" return
5390// value will be populated with the request's response once the request completes
5391// successfully.
5392//
5393// Use "Send" method on the returned Request to send the API call to the service.
5394// the "output" return value is not valid until after Send returns without error.
5395//
5396// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
5397// API call, and error handling.
5398//
5399// This method is useful when you want to inject custom logic or configuration
5400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5401//
5402//
5403//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
5404//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
5405//
5406//    err := req.Send()
5407//    if err == nil { // resp is now filled
5408//        fmt.Println(resp)
5409//    }
5410//
5411// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
5412func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
5413	op := &request.Operation{
5414		Name:       opDescribeDBClusterSnapshots,
5415		HTTPMethod: "POST",
5416		HTTPPath:   "/",
5417		Paginator: &request.Paginator{
5418			InputTokens:     []string{"Marker"},
5419			OutputTokens:    []string{"Marker"},
5420			LimitToken:      "MaxRecords",
5421			TruncationToken: "",
5422		},
5423	}
5424
5425	if input == nil {
5426		input = &DescribeDBClusterSnapshotsInput{}
5427	}
5428
5429	output = &DescribeDBClusterSnapshotsOutput{}
5430	req = c.newRequest(op, input, output)
5431	return
5432}
5433
5434// DescribeDBClusterSnapshots API operation for Amazon Relational Database Service.
5435//
5436// Returns information about DB cluster snapshots. This API action supports
5437// pagination.
5438//
5439// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5440// in the Amazon Aurora User Guide.
5441//
5442// This action only applies to Aurora DB clusters.
5443//
5444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5445// with awserr.Error's Code and Message methods to get detailed information about
5446// the error.
5447//
5448// See the AWS API reference guide for Amazon Relational Database Service's
5449// API operation DescribeDBClusterSnapshots for usage and error information.
5450//
5451// Returned Error Codes:
5452//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5453//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
5454//
5455// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
5456func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
5457	req, out := c.DescribeDBClusterSnapshotsRequest(input)
5458	return out, req.Send()
5459}
5460
5461// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
5462// the ability to pass a context and additional request options.
5463//
5464// See DescribeDBClusterSnapshots for details on how to use this API operation.
5465//
5466// The context must be non-nil and will be used for request cancellation. If
5467// the context is nil a panic will occur. In the future the SDK may create
5468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5469// for more information on using Contexts.
5470func (c *RDS) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
5471	req, out := c.DescribeDBClusterSnapshotsRequest(input)
5472	req.SetContext(ctx)
5473	req.ApplyOptions(opts...)
5474	return out, req.Send()
5475}
5476
5477// DescribeDBClusterSnapshotsPages iterates over the pages of a DescribeDBClusterSnapshots operation,
5478// calling the "fn" function with the response data for each page. To stop
5479// iterating, return false from the fn function.
5480//
5481// See DescribeDBClusterSnapshots method for more information on how to use this operation.
5482//
5483// Note: This operation can generate multiple requests to a service.
5484//
5485//    // Example iterating over at most 3 pages of a DescribeDBClusterSnapshots operation.
5486//    pageNum := 0
5487//    err := client.DescribeDBClusterSnapshotsPages(params,
5488//        func(page *rds.DescribeDBClusterSnapshotsOutput, lastPage bool) bool {
5489//            pageNum++
5490//            fmt.Println(page)
5491//            return pageNum <= 3
5492//        })
5493//
5494func (c *RDS) DescribeDBClusterSnapshotsPages(input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool) error {
5495	return c.DescribeDBClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
5496}
5497
5498// DescribeDBClusterSnapshotsPagesWithContext same as DescribeDBClusterSnapshotsPages except
5499// it takes a Context and allows setting request options on the pages.
5500//
5501// The context must be non-nil and will be used for request cancellation. If
5502// the context is nil a panic will occur. In the future the SDK may create
5503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5504// for more information on using Contexts.
5505func (c *RDS) DescribeDBClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool, opts ...request.Option) error {
5506	p := request.Pagination{
5507		NewRequest: func() (*request.Request, error) {
5508			var inCpy *DescribeDBClusterSnapshotsInput
5509			if input != nil {
5510				tmp := *input
5511				inCpy = &tmp
5512			}
5513			req, _ := c.DescribeDBClusterSnapshotsRequest(inCpy)
5514			req.SetContext(ctx)
5515			req.ApplyOptions(opts...)
5516			return req, nil
5517		},
5518	}
5519
5520	for p.Next() {
5521		if !fn(p.Page().(*DescribeDBClusterSnapshotsOutput), !p.HasNextPage()) {
5522			break
5523		}
5524	}
5525
5526	return p.Err()
5527}
5528
5529const opDescribeDBClusters = "DescribeDBClusters"
5530
5531// DescribeDBClustersRequest generates a "aws/request.Request" representing the
5532// client's request for the DescribeDBClusters operation. The "output" return
5533// value will be populated with the request's response once the request completes
5534// successfully.
5535//
5536// Use "Send" method on the returned Request to send the API call to the service.
5537// the "output" return value is not valid until after Send returns without error.
5538//
5539// See DescribeDBClusters for more information on using the DescribeDBClusters
5540// API call, and error handling.
5541//
5542// This method is useful when you want to inject custom logic or configuration
5543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5544//
5545//
5546//    // Example sending a request using the DescribeDBClustersRequest method.
5547//    req, resp := client.DescribeDBClustersRequest(params)
5548//
5549//    err := req.Send()
5550//    if err == nil { // resp is now filled
5551//        fmt.Println(resp)
5552//    }
5553//
5554// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
5555func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
5556	op := &request.Operation{
5557		Name:       opDescribeDBClusters,
5558		HTTPMethod: "POST",
5559		HTTPPath:   "/",
5560		Paginator: &request.Paginator{
5561			InputTokens:     []string{"Marker"},
5562			OutputTokens:    []string{"Marker"},
5563			LimitToken:      "MaxRecords",
5564			TruncationToken: "",
5565		},
5566	}
5567
5568	if input == nil {
5569		input = &DescribeDBClustersInput{}
5570	}
5571
5572	output = &DescribeDBClustersOutput{}
5573	req = c.newRequest(op, input, output)
5574	return
5575}
5576
5577// DescribeDBClusters API operation for Amazon Relational Database Service.
5578//
5579// Returns information about provisioned Aurora DB clusters. This API supports
5580// pagination.
5581//
5582// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5583// in the Amazon Aurora User Guide.
5584//
5585// This operation can also return information for Amazon Neptune DB instances
5586// and Amazon DocumentDB instances.
5587//
5588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5589// with awserr.Error's Code and Message methods to get detailed information about
5590// the error.
5591//
5592// See the AWS API reference guide for Amazon Relational Database Service's
5593// API operation DescribeDBClusters for usage and error information.
5594//
5595// Returned Error Codes:
5596//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5597//   DBClusterIdentifier doesn't refer to an existing DB cluster.
5598//
5599// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
5600func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
5601	req, out := c.DescribeDBClustersRequest(input)
5602	return out, req.Send()
5603}
5604
5605// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
5606// the ability to pass a context and additional request options.
5607//
5608// See DescribeDBClusters for details on how to use this API operation.
5609//
5610// The context must be non-nil and will be used for request cancellation. If
5611// the context is nil a panic will occur. In the future the SDK may create
5612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5613// for more information on using Contexts.
5614func (c *RDS) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
5615	req, out := c.DescribeDBClustersRequest(input)
5616	req.SetContext(ctx)
5617	req.ApplyOptions(opts...)
5618	return out, req.Send()
5619}
5620
5621// DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
5622// calling the "fn" function with the response data for each page. To stop
5623// iterating, return false from the fn function.
5624//
5625// See DescribeDBClusters method for more information on how to use this operation.
5626//
5627// Note: This operation can generate multiple requests to a service.
5628//
5629//    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
5630//    pageNum := 0
5631//    err := client.DescribeDBClustersPages(params,
5632//        func(page *rds.DescribeDBClustersOutput, lastPage bool) bool {
5633//            pageNum++
5634//            fmt.Println(page)
5635//            return pageNum <= 3
5636//        })
5637//
5638func (c *RDS) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
5639	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
5640}
5641
5642// DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
5643// it takes a Context and allows setting request options on the pages.
5644//
5645// The context must be non-nil and will be used for request cancellation. If
5646// the context is nil a panic will occur. In the future the SDK may create
5647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5648// for more information on using Contexts.
5649func (c *RDS) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
5650	p := request.Pagination{
5651		NewRequest: func() (*request.Request, error) {
5652			var inCpy *DescribeDBClustersInput
5653			if input != nil {
5654				tmp := *input
5655				inCpy = &tmp
5656			}
5657			req, _ := c.DescribeDBClustersRequest(inCpy)
5658			req.SetContext(ctx)
5659			req.ApplyOptions(opts...)
5660			return req, nil
5661		},
5662	}
5663
5664	for p.Next() {
5665		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
5666			break
5667		}
5668	}
5669
5670	return p.Err()
5671}
5672
5673const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
5674
5675// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
5676// client's request for the DescribeDBEngineVersions operation. The "output" return
5677// value will be populated with the request's response once the request completes
5678// successfully.
5679//
5680// Use "Send" method on the returned Request to send the API call to the service.
5681// the "output" return value is not valid until after Send returns without error.
5682//
5683// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
5684// API call, and error handling.
5685//
5686// This method is useful when you want to inject custom logic or configuration
5687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5688//
5689//
5690//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
5691//    req, resp := client.DescribeDBEngineVersionsRequest(params)
5692//
5693//    err := req.Send()
5694//    if err == nil { // resp is now filled
5695//        fmt.Println(resp)
5696//    }
5697//
5698// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
5699func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
5700	op := &request.Operation{
5701		Name:       opDescribeDBEngineVersions,
5702		HTTPMethod: "POST",
5703		HTTPPath:   "/",
5704		Paginator: &request.Paginator{
5705			InputTokens:     []string{"Marker"},
5706			OutputTokens:    []string{"Marker"},
5707			LimitToken:      "MaxRecords",
5708			TruncationToken: "",
5709		},
5710	}
5711
5712	if input == nil {
5713		input = &DescribeDBEngineVersionsInput{}
5714	}
5715
5716	output = &DescribeDBEngineVersionsOutput{}
5717	req = c.newRequest(op, input, output)
5718	return
5719}
5720
5721// DescribeDBEngineVersions API operation for Amazon Relational Database Service.
5722//
5723// Returns a list of the available DB engines.
5724//
5725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5726// with awserr.Error's Code and Message methods to get detailed information about
5727// the error.
5728//
5729// See the AWS API reference guide for Amazon Relational Database Service's
5730// API operation DescribeDBEngineVersions for usage and error information.
5731// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
5732func (c *RDS) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
5733	req, out := c.DescribeDBEngineVersionsRequest(input)
5734	return out, req.Send()
5735}
5736
5737// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
5738// the ability to pass a context and additional request options.
5739//
5740// See DescribeDBEngineVersions for details on how to use this API operation.
5741//
5742// The context must be non-nil and will be used for request cancellation. If
5743// the context is nil a panic will occur. In the future the SDK may create
5744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5745// for more information on using Contexts.
5746func (c *RDS) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
5747	req, out := c.DescribeDBEngineVersionsRequest(input)
5748	req.SetContext(ctx)
5749	req.ApplyOptions(opts...)
5750	return out, req.Send()
5751}
5752
5753// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
5754// calling the "fn" function with the response data for each page. To stop
5755// iterating, return false from the fn function.
5756//
5757// See DescribeDBEngineVersions method for more information on how to use this operation.
5758//
5759// Note: This operation can generate multiple requests to a service.
5760//
5761//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
5762//    pageNum := 0
5763//    err := client.DescribeDBEngineVersionsPages(params,
5764//        func(page *rds.DescribeDBEngineVersionsOutput, lastPage bool) bool {
5765//            pageNum++
5766//            fmt.Println(page)
5767//            return pageNum <= 3
5768//        })
5769//
5770func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
5771	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
5772}
5773
5774// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
5775// it takes a Context and allows setting request options on the pages.
5776//
5777// The context must be non-nil and will be used for request cancellation. If
5778// the context is nil a panic will occur. In the future the SDK may create
5779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5780// for more information on using Contexts.
5781func (c *RDS) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
5782	p := request.Pagination{
5783		NewRequest: func() (*request.Request, error) {
5784			var inCpy *DescribeDBEngineVersionsInput
5785			if input != nil {
5786				tmp := *input
5787				inCpy = &tmp
5788			}
5789			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
5790			req.SetContext(ctx)
5791			req.ApplyOptions(opts...)
5792			return req, nil
5793		},
5794	}
5795
5796	for p.Next() {
5797		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
5798			break
5799		}
5800	}
5801
5802	return p.Err()
5803}
5804
5805const opDescribeDBInstanceAutomatedBackups = "DescribeDBInstanceAutomatedBackups"
5806
5807// DescribeDBInstanceAutomatedBackupsRequest generates a "aws/request.Request" representing the
5808// client's request for the DescribeDBInstanceAutomatedBackups operation. The "output" return
5809// value will be populated with the request's response once the request completes
5810// successfully.
5811//
5812// Use "Send" method on the returned Request to send the API call to the service.
5813// the "output" return value is not valid until after Send returns without error.
5814//
5815// See DescribeDBInstanceAutomatedBackups for more information on using the DescribeDBInstanceAutomatedBackups
5816// API call, and error handling.
5817//
5818// This method is useful when you want to inject custom logic or configuration
5819// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5820//
5821//
5822//    // Example sending a request using the DescribeDBInstanceAutomatedBackupsRequest method.
5823//    req, resp := client.DescribeDBInstanceAutomatedBackupsRequest(params)
5824//
5825//    err := req.Send()
5826//    if err == nil { // resp is now filled
5827//        fmt.Println(resp)
5828//    }
5829//
5830// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
5831func (c *RDS) DescribeDBInstanceAutomatedBackupsRequest(input *DescribeDBInstanceAutomatedBackupsInput) (req *request.Request, output *DescribeDBInstanceAutomatedBackupsOutput) {
5832	op := &request.Operation{
5833		Name:       opDescribeDBInstanceAutomatedBackups,
5834		HTTPMethod: "POST",
5835		HTTPPath:   "/",
5836		Paginator: &request.Paginator{
5837			InputTokens:     []string{"Marker"},
5838			OutputTokens:    []string{"Marker"},
5839			LimitToken:      "MaxRecords",
5840			TruncationToken: "",
5841		},
5842	}
5843
5844	if input == nil {
5845		input = &DescribeDBInstanceAutomatedBackupsInput{}
5846	}
5847
5848	output = &DescribeDBInstanceAutomatedBackupsOutput{}
5849	req = c.newRequest(op, input, output)
5850	return
5851}
5852
5853// DescribeDBInstanceAutomatedBackups API operation for Amazon Relational Database Service.
5854//
5855// Displays backups for both current and deleted instances. For example, use
5856// this operation to find details about automated backups for previously deleted
5857// instances. Current instances with retention periods greater than zero (0)
5858// are returned for both the DescribeDBInstanceAutomatedBackups and DescribeDBInstances
5859// operations.
5860//
5861// All parameters are optional.
5862//
5863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5864// with awserr.Error's Code and Message methods to get detailed information about
5865// the error.
5866//
5867// See the AWS API reference guide for Amazon Relational Database Service's
5868// API operation DescribeDBInstanceAutomatedBackups for usage and error information.
5869//
5870// Returned Error Codes:
5871//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
5872//   No automated backup for this DB instance was found.
5873//
5874// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
5875func (c *RDS) DescribeDBInstanceAutomatedBackups(input *DescribeDBInstanceAutomatedBackupsInput) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
5876	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
5877	return out, req.Send()
5878}
5879
5880// DescribeDBInstanceAutomatedBackupsWithContext is the same as DescribeDBInstanceAutomatedBackups with the addition of
5881// the ability to pass a context and additional request options.
5882//
5883// See DescribeDBInstanceAutomatedBackups for details on how to use this API operation.
5884//
5885// The context must be non-nil and will be used for request cancellation. If
5886// the context is nil a panic will occur. In the future the SDK may create
5887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5888// for more information on using Contexts.
5889func (c *RDS) DescribeDBInstanceAutomatedBackupsWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, opts ...request.Option) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
5890	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
5891	req.SetContext(ctx)
5892	req.ApplyOptions(opts...)
5893	return out, req.Send()
5894}
5895
5896// DescribeDBInstanceAutomatedBackupsPages iterates over the pages of a DescribeDBInstanceAutomatedBackups operation,
5897// calling the "fn" function with the response data for each page. To stop
5898// iterating, return false from the fn function.
5899//
5900// See DescribeDBInstanceAutomatedBackups method for more information on how to use this operation.
5901//
5902// Note: This operation can generate multiple requests to a service.
5903//
5904//    // Example iterating over at most 3 pages of a DescribeDBInstanceAutomatedBackups operation.
5905//    pageNum := 0
5906//    err := client.DescribeDBInstanceAutomatedBackupsPages(params,
5907//        func(page *rds.DescribeDBInstanceAutomatedBackupsOutput, lastPage bool) bool {
5908//            pageNum++
5909//            fmt.Println(page)
5910//            return pageNum <= 3
5911//        })
5912//
5913func (c *RDS) DescribeDBInstanceAutomatedBackupsPages(input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool) error {
5914	return c.DescribeDBInstanceAutomatedBackupsPagesWithContext(aws.BackgroundContext(), input, fn)
5915}
5916
5917// DescribeDBInstanceAutomatedBackupsPagesWithContext same as DescribeDBInstanceAutomatedBackupsPages except
5918// it takes a Context and allows setting request options on the pages.
5919//
5920// The context must be non-nil and will be used for request cancellation. If
5921// the context is nil a panic will occur. In the future the SDK may create
5922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5923// for more information on using Contexts.
5924func (c *RDS) DescribeDBInstanceAutomatedBackupsPagesWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool, opts ...request.Option) error {
5925	p := request.Pagination{
5926		NewRequest: func() (*request.Request, error) {
5927			var inCpy *DescribeDBInstanceAutomatedBackupsInput
5928			if input != nil {
5929				tmp := *input
5930				inCpy = &tmp
5931			}
5932			req, _ := c.DescribeDBInstanceAutomatedBackupsRequest(inCpy)
5933			req.SetContext(ctx)
5934			req.ApplyOptions(opts...)
5935			return req, nil
5936		},
5937	}
5938
5939	for p.Next() {
5940		if !fn(p.Page().(*DescribeDBInstanceAutomatedBackupsOutput), !p.HasNextPage()) {
5941			break
5942		}
5943	}
5944
5945	return p.Err()
5946}
5947
5948const opDescribeDBInstances = "DescribeDBInstances"
5949
5950// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
5951// client's request for the DescribeDBInstances operation. The "output" return
5952// value will be populated with the request's response once the request completes
5953// successfully.
5954//
5955// Use "Send" method on the returned Request to send the API call to the service.
5956// the "output" return value is not valid until after Send returns without error.
5957//
5958// See DescribeDBInstances for more information on using the DescribeDBInstances
5959// API call, and error handling.
5960//
5961// This method is useful when you want to inject custom logic or configuration
5962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5963//
5964//
5965//    // Example sending a request using the DescribeDBInstancesRequest method.
5966//    req, resp := client.DescribeDBInstancesRequest(params)
5967//
5968//    err := req.Send()
5969//    if err == nil { // resp is now filled
5970//        fmt.Println(resp)
5971//    }
5972//
5973// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
5974func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
5975	op := &request.Operation{
5976		Name:       opDescribeDBInstances,
5977		HTTPMethod: "POST",
5978		HTTPPath:   "/",
5979		Paginator: &request.Paginator{
5980			InputTokens:     []string{"Marker"},
5981			OutputTokens:    []string{"Marker"},
5982			LimitToken:      "MaxRecords",
5983			TruncationToken: "",
5984		},
5985	}
5986
5987	if input == nil {
5988		input = &DescribeDBInstancesInput{}
5989	}
5990
5991	output = &DescribeDBInstancesOutput{}
5992	req = c.newRequest(op, input, output)
5993	return
5994}
5995
5996// DescribeDBInstances API operation for Amazon Relational Database Service.
5997//
5998// Returns information about provisioned RDS instances. This API supports pagination.
5999//
6000// This operation can also return information for Amazon Neptune DB instances
6001// and Amazon DocumentDB instances.
6002//
6003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6004// with awserr.Error's Code and Message methods to get detailed information about
6005// the error.
6006//
6007// See the AWS API reference guide for Amazon Relational Database Service's
6008// API operation DescribeDBInstances for usage and error information.
6009//
6010// Returned Error Codes:
6011//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6012//   DBInstanceIdentifier doesn't refer to an existing DB instance.
6013//
6014// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
6015func (c *RDS) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
6016	req, out := c.DescribeDBInstancesRequest(input)
6017	return out, req.Send()
6018}
6019
6020// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
6021// the ability to pass a context and additional request options.
6022//
6023// See DescribeDBInstances for details on how to use this API operation.
6024//
6025// The context must be non-nil and will be used for request cancellation. If
6026// the context is nil a panic will occur. In the future the SDK may create
6027// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6028// for more information on using Contexts.
6029func (c *RDS) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
6030	req, out := c.DescribeDBInstancesRequest(input)
6031	req.SetContext(ctx)
6032	req.ApplyOptions(opts...)
6033	return out, req.Send()
6034}
6035
6036// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
6037// calling the "fn" function with the response data for each page. To stop
6038// iterating, return false from the fn function.
6039//
6040// See DescribeDBInstances method for more information on how to use this operation.
6041//
6042// Note: This operation can generate multiple requests to a service.
6043//
6044//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
6045//    pageNum := 0
6046//    err := client.DescribeDBInstancesPages(params,
6047//        func(page *rds.DescribeDBInstancesOutput, lastPage bool) bool {
6048//            pageNum++
6049//            fmt.Println(page)
6050//            return pageNum <= 3
6051//        })
6052//
6053func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
6054	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
6055}
6056
6057// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
6058// it takes a Context and allows setting request options on the pages.
6059//
6060// The context must be non-nil and will be used for request cancellation. If
6061// the context is nil a panic will occur. In the future the SDK may create
6062// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6063// for more information on using Contexts.
6064func (c *RDS) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
6065	p := request.Pagination{
6066		NewRequest: func() (*request.Request, error) {
6067			var inCpy *DescribeDBInstancesInput
6068			if input != nil {
6069				tmp := *input
6070				inCpy = &tmp
6071			}
6072			req, _ := c.DescribeDBInstancesRequest(inCpy)
6073			req.SetContext(ctx)
6074			req.ApplyOptions(opts...)
6075			return req, nil
6076		},
6077	}
6078
6079	for p.Next() {
6080		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
6081			break
6082		}
6083	}
6084
6085	return p.Err()
6086}
6087
6088const opDescribeDBLogFiles = "DescribeDBLogFiles"
6089
6090// DescribeDBLogFilesRequest generates a "aws/request.Request" representing the
6091// client's request for the DescribeDBLogFiles operation. The "output" return
6092// value will be populated with the request's response once the request completes
6093// successfully.
6094//
6095// Use "Send" method on the returned Request to send the API call to the service.
6096// the "output" return value is not valid until after Send returns without error.
6097//
6098// See DescribeDBLogFiles for more information on using the DescribeDBLogFiles
6099// API call, and error handling.
6100//
6101// This method is useful when you want to inject custom logic or configuration
6102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6103//
6104//
6105//    // Example sending a request using the DescribeDBLogFilesRequest method.
6106//    req, resp := client.DescribeDBLogFilesRequest(params)
6107//
6108//    err := req.Send()
6109//    if err == nil { // resp is now filled
6110//        fmt.Println(resp)
6111//    }
6112//
6113// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
6114func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *request.Request, output *DescribeDBLogFilesOutput) {
6115	op := &request.Operation{
6116		Name:       opDescribeDBLogFiles,
6117		HTTPMethod: "POST",
6118		HTTPPath:   "/",
6119		Paginator: &request.Paginator{
6120			InputTokens:     []string{"Marker"},
6121			OutputTokens:    []string{"Marker"},
6122			LimitToken:      "MaxRecords",
6123			TruncationToken: "",
6124		},
6125	}
6126
6127	if input == nil {
6128		input = &DescribeDBLogFilesInput{}
6129	}
6130
6131	output = &DescribeDBLogFilesOutput{}
6132	req = c.newRequest(op, input, output)
6133	return
6134}
6135
6136// DescribeDBLogFiles API operation for Amazon Relational Database Service.
6137//
6138// Returns a list of DB log files for the DB instance.
6139//
6140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6141// with awserr.Error's Code and Message methods to get detailed information about
6142// the error.
6143//
6144// See the AWS API reference guide for Amazon Relational Database Service's
6145// API operation DescribeDBLogFiles for usage and error information.
6146//
6147// Returned Error Codes:
6148//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6149//   DBInstanceIdentifier doesn't refer to an existing DB instance.
6150//
6151// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
6152func (c *RDS) DescribeDBLogFiles(input *DescribeDBLogFilesInput) (*DescribeDBLogFilesOutput, error) {
6153	req, out := c.DescribeDBLogFilesRequest(input)
6154	return out, req.Send()
6155}
6156
6157// DescribeDBLogFilesWithContext is the same as DescribeDBLogFiles with the addition of
6158// the ability to pass a context and additional request options.
6159//
6160// See DescribeDBLogFiles for details on how to use this API operation.
6161//
6162// The context must be non-nil and will be used for request cancellation. If
6163// the context is nil a panic will occur. In the future the SDK may create
6164// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6165// for more information on using Contexts.
6166func (c *RDS) DescribeDBLogFilesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, opts ...request.Option) (*DescribeDBLogFilesOutput, error) {
6167	req, out := c.DescribeDBLogFilesRequest(input)
6168	req.SetContext(ctx)
6169	req.ApplyOptions(opts...)
6170	return out, req.Send()
6171}
6172
6173// DescribeDBLogFilesPages iterates over the pages of a DescribeDBLogFiles operation,
6174// calling the "fn" function with the response data for each page. To stop
6175// iterating, return false from the fn function.
6176//
6177// See DescribeDBLogFiles method for more information on how to use this operation.
6178//
6179// Note: This operation can generate multiple requests to a service.
6180//
6181//    // Example iterating over at most 3 pages of a DescribeDBLogFiles operation.
6182//    pageNum := 0
6183//    err := client.DescribeDBLogFilesPages(params,
6184//        func(page *rds.DescribeDBLogFilesOutput, lastPage bool) bool {
6185//            pageNum++
6186//            fmt.Println(page)
6187//            return pageNum <= 3
6188//        })
6189//
6190func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool) error {
6191	return c.DescribeDBLogFilesPagesWithContext(aws.BackgroundContext(), input, fn)
6192}
6193
6194// DescribeDBLogFilesPagesWithContext same as DescribeDBLogFilesPages except
6195// it takes a Context and allows setting request options on the pages.
6196//
6197// The context must be non-nil and will be used for request cancellation. If
6198// the context is nil a panic will occur. In the future the SDK may create
6199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6200// for more information on using Contexts.
6201func (c *RDS) DescribeDBLogFilesPagesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool, opts ...request.Option) error {
6202	p := request.Pagination{
6203		NewRequest: func() (*request.Request, error) {
6204			var inCpy *DescribeDBLogFilesInput
6205			if input != nil {
6206				tmp := *input
6207				inCpy = &tmp
6208			}
6209			req, _ := c.DescribeDBLogFilesRequest(inCpy)
6210			req.SetContext(ctx)
6211			req.ApplyOptions(opts...)
6212			return req, nil
6213		},
6214	}
6215
6216	for p.Next() {
6217		if !fn(p.Page().(*DescribeDBLogFilesOutput), !p.HasNextPage()) {
6218			break
6219		}
6220	}
6221
6222	return p.Err()
6223}
6224
6225const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
6226
6227// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
6228// client's request for the DescribeDBParameterGroups operation. The "output" return
6229// value will be populated with the request's response once the request completes
6230// successfully.
6231//
6232// Use "Send" method on the returned Request to send the API call to the service.
6233// the "output" return value is not valid until after Send returns without error.
6234//
6235// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
6236// API call, and error handling.
6237//
6238// This method is useful when you want to inject custom logic or configuration
6239// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6240//
6241//
6242//    // Example sending a request using the DescribeDBParameterGroupsRequest method.
6243//    req, resp := client.DescribeDBParameterGroupsRequest(params)
6244//
6245//    err := req.Send()
6246//    if err == nil { // resp is now filled
6247//        fmt.Println(resp)
6248//    }
6249//
6250// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
6251func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
6252	op := &request.Operation{
6253		Name:       opDescribeDBParameterGroups,
6254		HTTPMethod: "POST",
6255		HTTPPath:   "/",
6256		Paginator: &request.Paginator{
6257			InputTokens:     []string{"Marker"},
6258			OutputTokens:    []string{"Marker"},
6259			LimitToken:      "MaxRecords",
6260			TruncationToken: "",
6261		},
6262	}
6263
6264	if input == nil {
6265		input = &DescribeDBParameterGroupsInput{}
6266	}
6267
6268	output = &DescribeDBParameterGroupsOutput{}
6269	req = c.newRequest(op, input, output)
6270	return
6271}
6272
6273// DescribeDBParameterGroups API operation for Amazon Relational Database Service.
6274//
6275// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
6276// is specified, the list will contain only the description of the specified
6277// DB parameter group.
6278//
6279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6280// with awserr.Error's Code and Message methods to get detailed information about
6281// the error.
6282//
6283// See the AWS API reference guide for Amazon Relational Database Service's
6284// API operation DescribeDBParameterGroups for usage and error information.
6285//
6286// Returned Error Codes:
6287//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
6288//   DBParameterGroupName doesn't refer to an existing DB parameter group.
6289//
6290// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
6291func (c *RDS) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
6292	req, out := c.DescribeDBParameterGroupsRequest(input)
6293	return out, req.Send()
6294}
6295
6296// DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
6297// the ability to pass a context and additional request options.
6298//
6299// See DescribeDBParameterGroups for details on how to use this API operation.
6300//
6301// The context must be non-nil and will be used for request cancellation. If
6302// the context is nil a panic will occur. In the future the SDK may create
6303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6304// for more information on using Contexts.
6305func (c *RDS) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
6306	req, out := c.DescribeDBParameterGroupsRequest(input)
6307	req.SetContext(ctx)
6308	req.ApplyOptions(opts...)
6309	return out, req.Send()
6310}
6311
6312// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
6313// calling the "fn" function with the response data for each page. To stop
6314// iterating, return false from the fn function.
6315//
6316// See DescribeDBParameterGroups method for more information on how to use this operation.
6317//
6318// Note: This operation can generate multiple requests to a service.
6319//
6320//    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
6321//    pageNum := 0
6322//    err := client.DescribeDBParameterGroupsPages(params,
6323//        func(page *rds.DescribeDBParameterGroupsOutput, lastPage bool) bool {
6324//            pageNum++
6325//            fmt.Println(page)
6326//            return pageNum <= 3
6327//        })
6328//
6329func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
6330	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6331}
6332
6333// DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
6334// it takes a Context and allows setting request options on the pages.
6335//
6336// The context must be non-nil and will be used for request cancellation. If
6337// the context is nil a panic will occur. In the future the SDK may create
6338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6339// for more information on using Contexts.
6340func (c *RDS) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
6341	p := request.Pagination{
6342		NewRequest: func() (*request.Request, error) {
6343			var inCpy *DescribeDBParameterGroupsInput
6344			if input != nil {
6345				tmp := *input
6346				inCpy = &tmp
6347			}
6348			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
6349			req.SetContext(ctx)
6350			req.ApplyOptions(opts...)
6351			return req, nil
6352		},
6353	}
6354
6355	for p.Next() {
6356		if !fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage()) {
6357			break
6358		}
6359	}
6360
6361	return p.Err()
6362}
6363
6364const opDescribeDBParameters = "DescribeDBParameters"
6365
6366// DescribeDBParametersRequest generates a "aws/request.Request" representing the
6367// client's request for the DescribeDBParameters operation. The "output" return
6368// value will be populated with the request's response once the request completes
6369// successfully.
6370//
6371// Use "Send" method on the returned Request to send the API call to the service.
6372// the "output" return value is not valid until after Send returns without error.
6373//
6374// See DescribeDBParameters for more information on using the DescribeDBParameters
6375// API call, and error handling.
6376//
6377// This method is useful when you want to inject custom logic or configuration
6378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6379//
6380//
6381//    // Example sending a request using the DescribeDBParametersRequest method.
6382//    req, resp := client.DescribeDBParametersRequest(params)
6383//
6384//    err := req.Send()
6385//    if err == nil { // resp is now filled
6386//        fmt.Println(resp)
6387//    }
6388//
6389// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
6390func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
6391	op := &request.Operation{
6392		Name:       opDescribeDBParameters,
6393		HTTPMethod: "POST",
6394		HTTPPath:   "/",
6395		Paginator: &request.Paginator{
6396			InputTokens:     []string{"Marker"},
6397			OutputTokens:    []string{"Marker"},
6398			LimitToken:      "MaxRecords",
6399			TruncationToken: "",
6400		},
6401	}
6402
6403	if input == nil {
6404		input = &DescribeDBParametersInput{}
6405	}
6406
6407	output = &DescribeDBParametersOutput{}
6408	req = c.newRequest(op, input, output)
6409	return
6410}
6411
6412// DescribeDBParameters API operation for Amazon Relational Database Service.
6413//
6414// Returns the detailed parameter list for a particular DB parameter group.
6415//
6416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6417// with awserr.Error's Code and Message methods to get detailed information about
6418// the error.
6419//
6420// See the AWS API reference guide for Amazon Relational Database Service's
6421// API operation DescribeDBParameters for usage and error information.
6422//
6423// Returned Error Codes:
6424//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
6425//   DBParameterGroupName doesn't refer to an existing DB parameter group.
6426//
6427// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
6428func (c *RDS) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
6429	req, out := c.DescribeDBParametersRequest(input)
6430	return out, req.Send()
6431}
6432
6433// DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
6434// the ability to pass a context and additional request options.
6435//
6436// See DescribeDBParameters for details on how to use this API operation.
6437//
6438// The context must be non-nil and will be used for request cancellation. If
6439// the context is nil a panic will occur. In the future the SDK may create
6440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6441// for more information on using Contexts.
6442func (c *RDS) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
6443	req, out := c.DescribeDBParametersRequest(input)
6444	req.SetContext(ctx)
6445	req.ApplyOptions(opts...)
6446	return out, req.Send()
6447}
6448
6449// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
6450// calling the "fn" function with the response data for each page. To stop
6451// iterating, return false from the fn function.
6452//
6453// See DescribeDBParameters method for more information on how to use this operation.
6454//
6455// Note: This operation can generate multiple requests to a service.
6456//
6457//    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
6458//    pageNum := 0
6459//    err := client.DescribeDBParametersPages(params,
6460//        func(page *rds.DescribeDBParametersOutput, lastPage bool) bool {
6461//            pageNum++
6462//            fmt.Println(page)
6463//            return pageNum <= 3
6464//        })
6465//
6466func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
6467	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
6468}
6469
6470// DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
6471// it takes a Context and allows setting request options on the pages.
6472//
6473// The context must be non-nil and will be used for request cancellation. If
6474// the context is nil a panic will occur. In the future the SDK may create
6475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6476// for more information on using Contexts.
6477func (c *RDS) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
6478	p := request.Pagination{
6479		NewRequest: func() (*request.Request, error) {
6480			var inCpy *DescribeDBParametersInput
6481			if input != nil {
6482				tmp := *input
6483				inCpy = &tmp
6484			}
6485			req, _ := c.DescribeDBParametersRequest(inCpy)
6486			req.SetContext(ctx)
6487			req.ApplyOptions(opts...)
6488			return req, nil
6489		},
6490	}
6491
6492	for p.Next() {
6493		if !fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage()) {
6494			break
6495		}
6496	}
6497
6498	return p.Err()
6499}
6500
6501const opDescribeDBProxies = "DescribeDBProxies"
6502
6503// DescribeDBProxiesRequest generates a "aws/request.Request" representing the
6504// client's request for the DescribeDBProxies operation. The "output" return
6505// value will be populated with the request's response once the request completes
6506// successfully.
6507//
6508// Use "Send" method on the returned Request to send the API call to the service.
6509// the "output" return value is not valid until after Send returns without error.
6510//
6511// See DescribeDBProxies for more information on using the DescribeDBProxies
6512// API call, and error handling.
6513//
6514// This method is useful when you want to inject custom logic or configuration
6515// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6516//
6517//
6518//    // Example sending a request using the DescribeDBProxiesRequest method.
6519//    req, resp := client.DescribeDBProxiesRequest(params)
6520//
6521//    err := req.Send()
6522//    if err == nil { // resp is now filled
6523//        fmt.Println(resp)
6524//    }
6525//
6526// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
6527func (c *RDS) DescribeDBProxiesRequest(input *DescribeDBProxiesInput) (req *request.Request, output *DescribeDBProxiesOutput) {
6528	op := &request.Operation{
6529		Name:       opDescribeDBProxies,
6530		HTTPMethod: "POST",
6531		HTTPPath:   "/",
6532		Paginator: &request.Paginator{
6533			InputTokens:     []string{"Marker"},
6534			OutputTokens:    []string{"Marker"},
6535			LimitToken:      "MaxRecords",
6536			TruncationToken: "",
6537		},
6538	}
6539
6540	if input == nil {
6541		input = &DescribeDBProxiesInput{}
6542	}
6543
6544	output = &DescribeDBProxiesOutput{}
6545	req = c.newRequest(op, input, output)
6546	return
6547}
6548
6549// DescribeDBProxies API operation for Amazon Relational Database Service.
6550//
6551// Returns information about DB proxies.
6552//
6553// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6554// with awserr.Error's Code and Message methods to get detailed information about
6555// the error.
6556//
6557// See the AWS API reference guide for Amazon Relational Database Service's
6558// API operation DescribeDBProxies for usage and error information.
6559//
6560// Returned Error Codes:
6561//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
6562//   The specified proxy name doesn't correspond to a proxy owned by your AWS
6563//   accoutn in the specified AWS Region.
6564//
6565// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
6566func (c *RDS) DescribeDBProxies(input *DescribeDBProxiesInput) (*DescribeDBProxiesOutput, error) {
6567	req, out := c.DescribeDBProxiesRequest(input)
6568	return out, req.Send()
6569}
6570
6571// DescribeDBProxiesWithContext is the same as DescribeDBProxies with the addition of
6572// the ability to pass a context and additional request options.
6573//
6574// See DescribeDBProxies for details on how to use this API operation.
6575//
6576// The context must be non-nil and will be used for request cancellation. If
6577// the context is nil a panic will occur. In the future the SDK may create
6578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6579// for more information on using Contexts.
6580func (c *RDS) DescribeDBProxiesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, opts ...request.Option) (*DescribeDBProxiesOutput, error) {
6581	req, out := c.DescribeDBProxiesRequest(input)
6582	req.SetContext(ctx)
6583	req.ApplyOptions(opts...)
6584	return out, req.Send()
6585}
6586
6587// DescribeDBProxiesPages iterates over the pages of a DescribeDBProxies operation,
6588// calling the "fn" function with the response data for each page. To stop
6589// iterating, return false from the fn function.
6590//
6591// See DescribeDBProxies method for more information on how to use this operation.
6592//
6593// Note: This operation can generate multiple requests to a service.
6594//
6595//    // Example iterating over at most 3 pages of a DescribeDBProxies operation.
6596//    pageNum := 0
6597//    err := client.DescribeDBProxiesPages(params,
6598//        func(page *rds.DescribeDBProxiesOutput, lastPage bool) bool {
6599//            pageNum++
6600//            fmt.Println(page)
6601//            return pageNum <= 3
6602//        })
6603//
6604func (c *RDS) DescribeDBProxiesPages(input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool) error {
6605	return c.DescribeDBProxiesPagesWithContext(aws.BackgroundContext(), input, fn)
6606}
6607
6608// DescribeDBProxiesPagesWithContext same as DescribeDBProxiesPages except
6609// it takes a Context and allows setting request options on the pages.
6610//
6611// The context must be non-nil and will be used for request cancellation. If
6612// the context is nil a panic will occur. In the future the SDK may create
6613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6614// for more information on using Contexts.
6615func (c *RDS) DescribeDBProxiesPagesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool, opts ...request.Option) error {
6616	p := request.Pagination{
6617		NewRequest: func() (*request.Request, error) {
6618			var inCpy *DescribeDBProxiesInput
6619			if input != nil {
6620				tmp := *input
6621				inCpy = &tmp
6622			}
6623			req, _ := c.DescribeDBProxiesRequest(inCpy)
6624			req.SetContext(ctx)
6625			req.ApplyOptions(opts...)
6626			return req, nil
6627		},
6628	}
6629
6630	for p.Next() {
6631		if !fn(p.Page().(*DescribeDBProxiesOutput), !p.HasNextPage()) {
6632			break
6633		}
6634	}
6635
6636	return p.Err()
6637}
6638
6639const opDescribeDBProxyTargetGroups = "DescribeDBProxyTargetGroups"
6640
6641// DescribeDBProxyTargetGroupsRequest generates a "aws/request.Request" representing the
6642// client's request for the DescribeDBProxyTargetGroups operation. The "output" return
6643// value will be populated with the request's response once the request completes
6644// successfully.
6645//
6646// Use "Send" method on the returned Request to send the API call to the service.
6647// the "output" return value is not valid until after Send returns without error.
6648//
6649// See DescribeDBProxyTargetGroups for more information on using the DescribeDBProxyTargetGroups
6650// API call, and error handling.
6651//
6652// This method is useful when you want to inject custom logic or configuration
6653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6654//
6655//
6656//    // Example sending a request using the DescribeDBProxyTargetGroupsRequest method.
6657//    req, resp := client.DescribeDBProxyTargetGroupsRequest(params)
6658//
6659//    err := req.Send()
6660//    if err == nil { // resp is now filled
6661//        fmt.Println(resp)
6662//    }
6663//
6664// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
6665func (c *RDS) DescribeDBProxyTargetGroupsRequest(input *DescribeDBProxyTargetGroupsInput) (req *request.Request, output *DescribeDBProxyTargetGroupsOutput) {
6666	op := &request.Operation{
6667		Name:       opDescribeDBProxyTargetGroups,
6668		HTTPMethod: "POST",
6669		HTTPPath:   "/",
6670		Paginator: &request.Paginator{
6671			InputTokens:     []string{"Marker"},
6672			OutputTokens:    []string{"Marker"},
6673			LimitToken:      "MaxRecords",
6674			TruncationToken: "",
6675		},
6676	}
6677
6678	if input == nil {
6679		input = &DescribeDBProxyTargetGroupsInput{}
6680	}
6681
6682	output = &DescribeDBProxyTargetGroupsOutput{}
6683	req = c.newRequest(op, input, output)
6684	return
6685}
6686
6687// DescribeDBProxyTargetGroups API operation for Amazon Relational Database Service.
6688//
6689// Returns information about DB proxy target groups, represented by DBProxyTargetGroup
6690// data structures.
6691//
6692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6693// with awserr.Error's Code and Message methods to get detailed information about
6694// the error.
6695//
6696// See the AWS API reference guide for Amazon Relational Database Service's
6697// API operation DescribeDBProxyTargetGroups for usage and error information.
6698//
6699// Returned Error Codes:
6700//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
6701//   The specified proxy name doesn't correspond to a proxy owned by your AWS
6702//   accoutn in the specified AWS Region.
6703//
6704//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
6705//   The specified target group isn't available for a proxy owned by your AWS
6706//   account in the specified AWS Region.
6707//
6708//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
6709//   The requested operation can't be performed while the proxy is in this state.
6710//
6711// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
6712func (c *RDS) DescribeDBProxyTargetGroups(input *DescribeDBProxyTargetGroupsInput) (*DescribeDBProxyTargetGroupsOutput, error) {
6713	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
6714	return out, req.Send()
6715}
6716
6717// DescribeDBProxyTargetGroupsWithContext is the same as DescribeDBProxyTargetGroups with the addition of
6718// the ability to pass a context and additional request options.
6719//
6720// See DescribeDBProxyTargetGroups for details on how to use this API operation.
6721//
6722// The context must be non-nil and will be used for request cancellation. If
6723// the context is nil a panic will occur. In the future the SDK may create
6724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6725// for more information on using Contexts.
6726func (c *RDS) DescribeDBProxyTargetGroupsWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, opts ...request.Option) (*DescribeDBProxyTargetGroupsOutput, error) {
6727	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
6728	req.SetContext(ctx)
6729	req.ApplyOptions(opts...)
6730	return out, req.Send()
6731}
6732
6733// DescribeDBProxyTargetGroupsPages iterates over the pages of a DescribeDBProxyTargetGroups operation,
6734// calling the "fn" function with the response data for each page. To stop
6735// iterating, return false from the fn function.
6736//
6737// See DescribeDBProxyTargetGroups method for more information on how to use this operation.
6738//
6739// Note: This operation can generate multiple requests to a service.
6740//
6741//    // Example iterating over at most 3 pages of a DescribeDBProxyTargetGroups operation.
6742//    pageNum := 0
6743//    err := client.DescribeDBProxyTargetGroupsPages(params,
6744//        func(page *rds.DescribeDBProxyTargetGroupsOutput, lastPage bool) bool {
6745//            pageNum++
6746//            fmt.Println(page)
6747//            return pageNum <= 3
6748//        })
6749//
6750func (c *RDS) DescribeDBProxyTargetGroupsPages(input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool) error {
6751	return c.DescribeDBProxyTargetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6752}
6753
6754// DescribeDBProxyTargetGroupsPagesWithContext same as DescribeDBProxyTargetGroupsPages except
6755// it takes a Context and allows setting request options on the pages.
6756//
6757// The context must be non-nil and will be used for request cancellation. If
6758// the context is nil a panic will occur. In the future the SDK may create
6759// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6760// for more information on using Contexts.
6761func (c *RDS) DescribeDBProxyTargetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool, opts ...request.Option) error {
6762	p := request.Pagination{
6763		NewRequest: func() (*request.Request, error) {
6764			var inCpy *DescribeDBProxyTargetGroupsInput
6765			if input != nil {
6766				tmp := *input
6767				inCpy = &tmp
6768			}
6769			req, _ := c.DescribeDBProxyTargetGroupsRequest(inCpy)
6770			req.SetContext(ctx)
6771			req.ApplyOptions(opts...)
6772			return req, nil
6773		},
6774	}
6775
6776	for p.Next() {
6777		if !fn(p.Page().(*DescribeDBProxyTargetGroupsOutput), !p.HasNextPage()) {
6778			break
6779		}
6780	}
6781
6782	return p.Err()
6783}
6784
6785const opDescribeDBProxyTargets = "DescribeDBProxyTargets"
6786
6787// DescribeDBProxyTargetsRequest generates a "aws/request.Request" representing the
6788// client's request for the DescribeDBProxyTargets operation. The "output" return
6789// value will be populated with the request's response once the request completes
6790// successfully.
6791//
6792// Use "Send" method on the returned Request to send the API call to the service.
6793// the "output" return value is not valid until after Send returns without error.
6794//
6795// See DescribeDBProxyTargets for more information on using the DescribeDBProxyTargets
6796// API call, and error handling.
6797//
6798// This method is useful when you want to inject custom logic or configuration
6799// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6800//
6801//
6802//    // Example sending a request using the DescribeDBProxyTargetsRequest method.
6803//    req, resp := client.DescribeDBProxyTargetsRequest(params)
6804//
6805//    err := req.Send()
6806//    if err == nil { // resp is now filled
6807//        fmt.Println(resp)
6808//    }
6809//
6810// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
6811func (c *RDS) DescribeDBProxyTargetsRequest(input *DescribeDBProxyTargetsInput) (req *request.Request, output *DescribeDBProxyTargetsOutput) {
6812	op := &request.Operation{
6813		Name:       opDescribeDBProxyTargets,
6814		HTTPMethod: "POST",
6815		HTTPPath:   "/",
6816		Paginator: &request.Paginator{
6817			InputTokens:     []string{"Marker"},
6818			OutputTokens:    []string{"Marker"},
6819			LimitToken:      "MaxRecords",
6820			TruncationToken: "",
6821		},
6822	}
6823
6824	if input == nil {
6825		input = &DescribeDBProxyTargetsInput{}
6826	}
6827
6828	output = &DescribeDBProxyTargetsOutput{}
6829	req = c.newRequest(op, input, output)
6830	return
6831}
6832
6833// DescribeDBProxyTargets API operation for Amazon Relational Database Service.
6834//
6835// Returns information about DBProxyTarget objects. This API supports pagination.
6836//
6837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6838// with awserr.Error's Code and Message methods to get detailed information about
6839// the error.
6840//
6841// See the AWS API reference guide for Amazon Relational Database Service's
6842// API operation DescribeDBProxyTargets for usage and error information.
6843//
6844// Returned Error Codes:
6845//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
6846//   The specified proxy name doesn't correspond to a proxy owned by your AWS
6847//   accoutn in the specified AWS Region.
6848//
6849//   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
6850//   The specified RDS DB instance or Aurora DB cluster isn't available for a
6851//   proxy owned by your AWS account in the specified AWS Region.
6852//
6853//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
6854//   The specified target group isn't available for a proxy owned by your AWS
6855//   account in the specified AWS Region.
6856//
6857//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
6858//   The requested operation can't be performed while the proxy is in this state.
6859//
6860// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
6861func (c *RDS) DescribeDBProxyTargets(input *DescribeDBProxyTargetsInput) (*DescribeDBProxyTargetsOutput, error) {
6862	req, out := c.DescribeDBProxyTargetsRequest(input)
6863	return out, req.Send()
6864}
6865
6866// DescribeDBProxyTargetsWithContext is the same as DescribeDBProxyTargets with the addition of
6867// the ability to pass a context and additional request options.
6868//
6869// See DescribeDBProxyTargets for details on how to use this API operation.
6870//
6871// The context must be non-nil and will be used for request cancellation. If
6872// the context is nil a panic will occur. In the future the SDK may create
6873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6874// for more information on using Contexts.
6875func (c *RDS) DescribeDBProxyTargetsWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, opts ...request.Option) (*DescribeDBProxyTargetsOutput, error) {
6876	req, out := c.DescribeDBProxyTargetsRequest(input)
6877	req.SetContext(ctx)
6878	req.ApplyOptions(opts...)
6879	return out, req.Send()
6880}
6881
6882// DescribeDBProxyTargetsPages iterates over the pages of a DescribeDBProxyTargets operation,
6883// calling the "fn" function with the response data for each page. To stop
6884// iterating, return false from the fn function.
6885//
6886// See DescribeDBProxyTargets method for more information on how to use this operation.
6887//
6888// Note: This operation can generate multiple requests to a service.
6889//
6890//    // Example iterating over at most 3 pages of a DescribeDBProxyTargets operation.
6891//    pageNum := 0
6892//    err := client.DescribeDBProxyTargetsPages(params,
6893//        func(page *rds.DescribeDBProxyTargetsOutput, lastPage bool) bool {
6894//            pageNum++
6895//            fmt.Println(page)
6896//            return pageNum <= 3
6897//        })
6898//
6899func (c *RDS) DescribeDBProxyTargetsPages(input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool) error {
6900	return c.DescribeDBProxyTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
6901}
6902
6903// DescribeDBProxyTargetsPagesWithContext same as DescribeDBProxyTargetsPages except
6904// it takes a Context and allows setting request options on the pages.
6905//
6906// The context must be non-nil and will be used for request cancellation. If
6907// the context is nil a panic will occur. In the future the SDK may create
6908// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6909// for more information on using Contexts.
6910func (c *RDS) DescribeDBProxyTargetsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool, opts ...request.Option) error {
6911	p := request.Pagination{
6912		NewRequest: func() (*request.Request, error) {
6913			var inCpy *DescribeDBProxyTargetsInput
6914			if input != nil {
6915				tmp := *input
6916				inCpy = &tmp
6917			}
6918			req, _ := c.DescribeDBProxyTargetsRequest(inCpy)
6919			req.SetContext(ctx)
6920			req.ApplyOptions(opts...)
6921			return req, nil
6922		},
6923	}
6924
6925	for p.Next() {
6926		if !fn(p.Page().(*DescribeDBProxyTargetsOutput), !p.HasNextPage()) {
6927			break
6928		}
6929	}
6930
6931	return p.Err()
6932}
6933
6934const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups"
6935
6936// DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the
6937// client's request for the DescribeDBSecurityGroups operation. The "output" return
6938// value will be populated with the request's response once the request completes
6939// successfully.
6940//
6941// Use "Send" method on the returned Request to send the API call to the service.
6942// the "output" return value is not valid until after Send returns without error.
6943//
6944// See DescribeDBSecurityGroups for more information on using the DescribeDBSecurityGroups
6945// API call, and error handling.
6946//
6947// This method is useful when you want to inject custom logic or configuration
6948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6949//
6950//
6951//    // Example sending a request using the DescribeDBSecurityGroupsRequest method.
6952//    req, resp := client.DescribeDBSecurityGroupsRequest(params)
6953//
6954//    err := req.Send()
6955//    if err == nil { // resp is now filled
6956//        fmt.Println(resp)
6957//    }
6958//
6959// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
6960func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInput) (req *request.Request, output *DescribeDBSecurityGroupsOutput) {
6961	op := &request.Operation{
6962		Name:       opDescribeDBSecurityGroups,
6963		HTTPMethod: "POST",
6964		HTTPPath:   "/",
6965		Paginator: &request.Paginator{
6966			InputTokens:     []string{"Marker"},
6967			OutputTokens:    []string{"Marker"},
6968			LimitToken:      "MaxRecords",
6969			TruncationToken: "",
6970		},
6971	}
6972
6973	if input == nil {
6974		input = &DescribeDBSecurityGroupsInput{}
6975	}
6976
6977	output = &DescribeDBSecurityGroupsOutput{}
6978	req = c.newRequest(op, input, output)
6979	return
6980}
6981
6982// DescribeDBSecurityGroups API operation for Amazon Relational Database Service.
6983//
6984// Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName
6985// is specified, the list will contain only the descriptions of the specified
6986// DB security group.
6987//
6988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6989// with awserr.Error's Code and Message methods to get detailed information about
6990// the error.
6991//
6992// See the AWS API reference guide for Amazon Relational Database Service's
6993// API operation DescribeDBSecurityGroups for usage and error information.
6994//
6995// Returned Error Codes:
6996//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
6997//   DBSecurityGroupName doesn't refer to an existing DB security group.
6998//
6999// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
7000func (c *RDS) DescribeDBSecurityGroups(input *DescribeDBSecurityGroupsInput) (*DescribeDBSecurityGroupsOutput, error) {
7001	req, out := c.DescribeDBSecurityGroupsRequest(input)
7002	return out, req.Send()
7003}
7004
7005// DescribeDBSecurityGroupsWithContext is the same as DescribeDBSecurityGroups with the addition of
7006// the ability to pass a context and additional request options.
7007//
7008// See DescribeDBSecurityGroups for details on how to use this API operation.
7009//
7010// The context must be non-nil and will be used for request cancellation. If
7011// the context is nil a panic will occur. In the future the SDK may create
7012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7013// for more information on using Contexts.
7014func (c *RDS) DescribeDBSecurityGroupsWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, opts ...request.Option) (*DescribeDBSecurityGroupsOutput, error) {
7015	req, out := c.DescribeDBSecurityGroupsRequest(input)
7016	req.SetContext(ctx)
7017	req.ApplyOptions(opts...)
7018	return out, req.Send()
7019}
7020
7021// DescribeDBSecurityGroupsPages iterates over the pages of a DescribeDBSecurityGroups operation,
7022// calling the "fn" function with the response data for each page. To stop
7023// iterating, return false from the fn function.
7024//
7025// See DescribeDBSecurityGroups method for more information on how to use this operation.
7026//
7027// Note: This operation can generate multiple requests to a service.
7028//
7029//    // Example iterating over at most 3 pages of a DescribeDBSecurityGroups operation.
7030//    pageNum := 0
7031//    err := client.DescribeDBSecurityGroupsPages(params,
7032//        func(page *rds.DescribeDBSecurityGroupsOutput, lastPage bool) bool {
7033//            pageNum++
7034//            fmt.Println(page)
7035//            return pageNum <= 3
7036//        })
7037//
7038func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool) error {
7039	return c.DescribeDBSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
7040}
7041
7042// DescribeDBSecurityGroupsPagesWithContext same as DescribeDBSecurityGroupsPages except
7043// it takes a Context and allows setting request options on the pages.
7044//
7045// The context must be non-nil and will be used for request cancellation. If
7046// the context is nil a panic will occur. In the future the SDK may create
7047// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7048// for more information on using Contexts.
7049func (c *RDS) DescribeDBSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
7050	p := request.Pagination{
7051		NewRequest: func() (*request.Request, error) {
7052			var inCpy *DescribeDBSecurityGroupsInput
7053			if input != nil {
7054				tmp := *input
7055				inCpy = &tmp
7056			}
7057			req, _ := c.DescribeDBSecurityGroupsRequest(inCpy)
7058			req.SetContext(ctx)
7059			req.ApplyOptions(opts...)
7060			return req, nil
7061		},
7062	}
7063
7064	for p.Next() {
7065		if !fn(p.Page().(*DescribeDBSecurityGroupsOutput), !p.HasNextPage()) {
7066			break
7067		}
7068	}
7069
7070	return p.Err()
7071}
7072
7073const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes"
7074
7075// DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the
7076// client's request for the DescribeDBSnapshotAttributes operation. The "output" return
7077// value will be populated with the request's response once the request completes
7078// successfully.
7079//
7080// Use "Send" method on the returned Request to send the API call to the service.
7081// the "output" return value is not valid until after Send returns without error.
7082//
7083// See DescribeDBSnapshotAttributes for more information on using the DescribeDBSnapshotAttributes
7084// API call, and error handling.
7085//
7086// This method is useful when you want to inject custom logic or configuration
7087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7088//
7089//
7090//    // Example sending a request using the DescribeDBSnapshotAttributesRequest method.
7091//    req, resp := client.DescribeDBSnapshotAttributesRequest(params)
7092//
7093//    err := req.Send()
7094//    if err == nil { // resp is now filled
7095//        fmt.Println(resp)
7096//    }
7097//
7098// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
7099func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttributesInput) (req *request.Request, output *DescribeDBSnapshotAttributesOutput) {
7100	op := &request.Operation{
7101		Name:       opDescribeDBSnapshotAttributes,
7102		HTTPMethod: "POST",
7103		HTTPPath:   "/",
7104	}
7105
7106	if input == nil {
7107		input = &DescribeDBSnapshotAttributesInput{}
7108	}
7109
7110	output = &DescribeDBSnapshotAttributesOutput{}
7111	req = c.newRequest(op, input, output)
7112	return
7113}
7114
7115// DescribeDBSnapshotAttributes API operation for Amazon Relational Database Service.
7116//
7117// Returns a list of DB snapshot attribute names and values for a manual DB
7118// snapshot.
7119//
7120// When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes
7121// returns the restore attribute and a list of IDs for the AWS accounts that
7122// are authorized to copy or restore the manual DB snapshot. If all is included
7123// in the list of values for the restore attribute, then the manual DB snapshot
7124// is public and can be copied or restored by all AWS accounts.
7125//
7126// To add or remove access for an AWS account to copy or restore a manual DB
7127// snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute
7128// API action.
7129//
7130// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7131// with awserr.Error's Code and Message methods to get detailed information about
7132// the error.
7133//
7134// See the AWS API reference guide for Amazon Relational Database Service's
7135// API operation DescribeDBSnapshotAttributes for usage and error information.
7136//
7137// Returned Error Codes:
7138//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
7139//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
7140//
7141// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
7142func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesInput) (*DescribeDBSnapshotAttributesOutput, error) {
7143	req, out := c.DescribeDBSnapshotAttributesRequest(input)
7144	return out, req.Send()
7145}
7146
7147// DescribeDBSnapshotAttributesWithContext is the same as DescribeDBSnapshotAttributes with the addition of
7148// the ability to pass a context and additional request options.
7149//
7150// See DescribeDBSnapshotAttributes for details on how to use this API operation.
7151//
7152// The context must be non-nil and will be used for request cancellation. If
7153// the context is nil a panic will occur. In the future the SDK may create
7154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7155// for more information on using Contexts.
7156func (c *RDS) DescribeDBSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBSnapshotAttributesInput, opts ...request.Option) (*DescribeDBSnapshotAttributesOutput, error) {
7157	req, out := c.DescribeDBSnapshotAttributesRequest(input)
7158	req.SetContext(ctx)
7159	req.ApplyOptions(opts...)
7160	return out, req.Send()
7161}
7162
7163const opDescribeDBSnapshots = "DescribeDBSnapshots"
7164
7165// DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the
7166// client's request for the DescribeDBSnapshots operation. The "output" return
7167// value will be populated with the request's response once the request completes
7168// successfully.
7169//
7170// Use "Send" method on the returned Request to send the API call to the service.
7171// the "output" return value is not valid until after Send returns without error.
7172//
7173// See DescribeDBSnapshots for more information on using the DescribeDBSnapshots
7174// API call, and error handling.
7175//
7176// This method is useful when you want to inject custom logic or configuration
7177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7178//
7179//
7180//    // Example sending a request using the DescribeDBSnapshotsRequest method.
7181//    req, resp := client.DescribeDBSnapshotsRequest(params)
7182//
7183//    err := req.Send()
7184//    if err == nil { // resp is now filled
7185//        fmt.Println(resp)
7186//    }
7187//
7188// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
7189func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req *request.Request, output *DescribeDBSnapshotsOutput) {
7190	op := &request.Operation{
7191		Name:       opDescribeDBSnapshots,
7192		HTTPMethod: "POST",
7193		HTTPPath:   "/",
7194		Paginator: &request.Paginator{
7195			InputTokens:     []string{"Marker"},
7196			OutputTokens:    []string{"Marker"},
7197			LimitToken:      "MaxRecords",
7198			TruncationToken: "",
7199		},
7200	}
7201
7202	if input == nil {
7203		input = &DescribeDBSnapshotsInput{}
7204	}
7205
7206	output = &DescribeDBSnapshotsOutput{}
7207	req = c.newRequest(op, input, output)
7208	return
7209}
7210
7211// DescribeDBSnapshots API operation for Amazon Relational Database Service.
7212//
7213// Returns information about DB snapshots. This API action supports pagination.
7214//
7215// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7216// with awserr.Error's Code and Message methods to get detailed information about
7217// the error.
7218//
7219// See the AWS API reference guide for Amazon Relational Database Service's
7220// API operation DescribeDBSnapshots for usage and error information.
7221//
7222// Returned Error Codes:
7223//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
7224//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
7225//
7226// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
7227func (c *RDS) DescribeDBSnapshots(input *DescribeDBSnapshotsInput) (*DescribeDBSnapshotsOutput, error) {
7228	req, out := c.DescribeDBSnapshotsRequest(input)
7229	return out, req.Send()
7230}
7231
7232// DescribeDBSnapshotsWithContext is the same as DescribeDBSnapshots with the addition of
7233// the ability to pass a context and additional request options.
7234//
7235// See DescribeDBSnapshots for details on how to use this API operation.
7236//
7237// The context must be non-nil and will be used for request cancellation. If
7238// the context is nil a panic will occur. In the future the SDK may create
7239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7240// for more information on using Contexts.
7241func (c *RDS) DescribeDBSnapshotsWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, opts ...request.Option) (*DescribeDBSnapshotsOutput, error) {
7242	req, out := c.DescribeDBSnapshotsRequest(input)
7243	req.SetContext(ctx)
7244	req.ApplyOptions(opts...)
7245	return out, req.Send()
7246}
7247
7248// DescribeDBSnapshotsPages iterates over the pages of a DescribeDBSnapshots operation,
7249// calling the "fn" function with the response data for each page. To stop
7250// iterating, return false from the fn function.
7251//
7252// See DescribeDBSnapshots method for more information on how to use this operation.
7253//
7254// Note: This operation can generate multiple requests to a service.
7255//
7256//    // Example iterating over at most 3 pages of a DescribeDBSnapshots operation.
7257//    pageNum := 0
7258//    err := client.DescribeDBSnapshotsPages(params,
7259//        func(page *rds.DescribeDBSnapshotsOutput, lastPage bool) bool {
7260//            pageNum++
7261//            fmt.Println(page)
7262//            return pageNum <= 3
7263//        })
7264//
7265func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool) error {
7266	return c.DescribeDBSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
7267}
7268
7269// DescribeDBSnapshotsPagesWithContext same as DescribeDBSnapshotsPages except
7270// it takes a Context and allows setting request options on the pages.
7271//
7272// The context must be non-nil and will be used for request cancellation. If
7273// the context is nil a panic will occur. In the future the SDK may create
7274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7275// for more information on using Contexts.
7276func (c *RDS) DescribeDBSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool, opts ...request.Option) error {
7277	p := request.Pagination{
7278		NewRequest: func() (*request.Request, error) {
7279			var inCpy *DescribeDBSnapshotsInput
7280			if input != nil {
7281				tmp := *input
7282				inCpy = &tmp
7283			}
7284			req, _ := c.DescribeDBSnapshotsRequest(inCpy)
7285			req.SetContext(ctx)
7286			req.ApplyOptions(opts...)
7287			return req, nil
7288		},
7289	}
7290
7291	for p.Next() {
7292		if !fn(p.Page().(*DescribeDBSnapshotsOutput), !p.HasNextPage()) {
7293			break
7294		}
7295	}
7296
7297	return p.Err()
7298}
7299
7300const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
7301
7302// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
7303// client's request for the DescribeDBSubnetGroups operation. The "output" return
7304// value will be populated with the request's response once the request completes
7305// successfully.
7306//
7307// Use "Send" method on the returned Request to send the API call to the service.
7308// the "output" return value is not valid until after Send returns without error.
7309//
7310// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
7311// API call, and error handling.
7312//
7313// This method is useful when you want to inject custom logic or configuration
7314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7315//
7316//
7317//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
7318//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
7319//
7320//    err := req.Send()
7321//    if err == nil { // resp is now filled
7322//        fmt.Println(resp)
7323//    }
7324//
7325// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
7326func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
7327	op := &request.Operation{
7328		Name:       opDescribeDBSubnetGroups,
7329		HTTPMethod: "POST",
7330		HTTPPath:   "/",
7331		Paginator: &request.Paginator{
7332			InputTokens:     []string{"Marker"},
7333			OutputTokens:    []string{"Marker"},
7334			LimitToken:      "MaxRecords",
7335			TruncationToken: "",
7336		},
7337	}
7338
7339	if input == nil {
7340		input = &DescribeDBSubnetGroupsInput{}
7341	}
7342
7343	output = &DescribeDBSubnetGroupsOutput{}
7344	req = c.newRequest(op, input, output)
7345	return
7346}
7347
7348// DescribeDBSubnetGroups API operation for Amazon Relational Database Service.
7349//
7350// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
7351// the list will contain only the descriptions of the specified DBSubnetGroup.
7352//
7353// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
7354//
7355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7356// with awserr.Error's Code and Message methods to get detailed information about
7357// the error.
7358//
7359// See the AWS API reference guide for Amazon Relational Database Service's
7360// API operation DescribeDBSubnetGroups for usage and error information.
7361//
7362// Returned Error Codes:
7363//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
7364//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
7365//
7366// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
7367func (c *RDS) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
7368	req, out := c.DescribeDBSubnetGroupsRequest(input)
7369	return out, req.Send()
7370}
7371
7372// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
7373// the ability to pass a context and additional request options.
7374//
7375// See DescribeDBSubnetGroups for details on how to use this API operation.
7376//
7377// The context must be non-nil and will be used for request cancellation. If
7378// the context is nil a panic will occur. In the future the SDK may create
7379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7380// for more information on using Contexts.
7381func (c *RDS) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
7382	req, out := c.DescribeDBSubnetGroupsRequest(input)
7383	req.SetContext(ctx)
7384	req.ApplyOptions(opts...)
7385	return out, req.Send()
7386}
7387
7388// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
7389// calling the "fn" function with the response data for each page. To stop
7390// iterating, return false from the fn function.
7391//
7392// See DescribeDBSubnetGroups method for more information on how to use this operation.
7393//
7394// Note: This operation can generate multiple requests to a service.
7395//
7396//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
7397//    pageNum := 0
7398//    err := client.DescribeDBSubnetGroupsPages(params,
7399//        func(page *rds.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
7400//            pageNum++
7401//            fmt.Println(page)
7402//            return pageNum <= 3
7403//        })
7404//
7405func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
7406	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
7407}
7408
7409// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
7410// it takes a Context and allows setting request options on the pages.
7411//
7412// The context must be non-nil and will be used for request cancellation. If
7413// the context is nil a panic will occur. In the future the SDK may create
7414// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7415// for more information on using Contexts.
7416func (c *RDS) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
7417	p := request.Pagination{
7418		NewRequest: func() (*request.Request, error) {
7419			var inCpy *DescribeDBSubnetGroupsInput
7420			if input != nil {
7421				tmp := *input
7422				inCpy = &tmp
7423			}
7424			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
7425			req.SetContext(ctx)
7426			req.ApplyOptions(opts...)
7427			return req, nil
7428		},
7429	}
7430
7431	for p.Next() {
7432		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
7433			break
7434		}
7435	}
7436
7437	return p.Err()
7438}
7439
7440const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
7441
7442// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
7443// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
7444// value will be populated with the request's response once the request completes
7445// successfully.
7446//
7447// Use "Send" method on the returned Request to send the API call to the service.
7448// the "output" return value is not valid until after Send returns without error.
7449//
7450// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
7451// API call, and error handling.
7452//
7453// This method is useful when you want to inject custom logic or configuration
7454// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7455//
7456//
7457//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
7458//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
7459//
7460//    err := req.Send()
7461//    if err == nil { // resp is now filled
7462//        fmt.Println(resp)
7463//    }
7464//
7465// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
7466func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
7467	op := &request.Operation{
7468		Name:       opDescribeEngineDefaultClusterParameters,
7469		HTTPMethod: "POST",
7470		HTTPPath:   "/",
7471	}
7472
7473	if input == nil {
7474		input = &DescribeEngineDefaultClusterParametersInput{}
7475	}
7476
7477	output = &DescribeEngineDefaultClusterParametersOutput{}
7478	req = c.newRequest(op, input, output)
7479	return
7480}
7481
7482// DescribeEngineDefaultClusterParameters API operation for Amazon Relational Database Service.
7483//
7484// Returns the default engine and system parameter information for the cluster
7485// database engine.
7486//
7487// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
7488// in the Amazon Aurora User Guide.
7489//
7490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7491// with awserr.Error's Code and Message methods to get detailed information about
7492// the error.
7493//
7494// See the AWS API reference guide for Amazon Relational Database Service's
7495// API operation DescribeEngineDefaultClusterParameters for usage and error information.
7496// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
7497func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
7498	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
7499	return out, req.Send()
7500}
7501
7502// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
7503// the ability to pass a context and additional request options.
7504//
7505// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
7506//
7507// The context must be non-nil and will be used for request cancellation. If
7508// the context is nil a panic will occur. In the future the SDK may create
7509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7510// for more information on using Contexts.
7511func (c *RDS) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
7512	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
7513	req.SetContext(ctx)
7514	req.ApplyOptions(opts...)
7515	return out, req.Send()
7516}
7517
7518const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
7519
7520// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
7521// client's request for the DescribeEngineDefaultParameters operation. The "output" return
7522// value will be populated with the request's response once the request completes
7523// successfully.
7524//
7525// Use "Send" method on the returned Request to send the API call to the service.
7526// the "output" return value is not valid until after Send returns without error.
7527//
7528// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
7529// API call, and error handling.
7530//
7531// This method is useful when you want to inject custom logic or configuration
7532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7533//
7534//
7535//    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
7536//    req, resp := client.DescribeEngineDefaultParametersRequest(params)
7537//
7538//    err := req.Send()
7539//    if err == nil { // resp is now filled
7540//        fmt.Println(resp)
7541//    }
7542//
7543// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
7544func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
7545	op := &request.Operation{
7546		Name:       opDescribeEngineDefaultParameters,
7547		HTTPMethod: "POST",
7548		HTTPPath:   "/",
7549		Paginator: &request.Paginator{
7550			InputTokens:     []string{"Marker"},
7551			OutputTokens:    []string{"EngineDefaults.Marker"},
7552			LimitToken:      "MaxRecords",
7553			TruncationToken: "",
7554		},
7555	}
7556
7557	if input == nil {
7558		input = &DescribeEngineDefaultParametersInput{}
7559	}
7560
7561	output = &DescribeEngineDefaultParametersOutput{}
7562	req = c.newRequest(op, input, output)
7563	return
7564}
7565
7566// DescribeEngineDefaultParameters API operation for Amazon Relational Database Service.
7567//
7568// Returns the default engine and system parameter information for the specified
7569// database engine.
7570//
7571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7572// with awserr.Error's Code and Message methods to get detailed information about
7573// the error.
7574//
7575// See the AWS API reference guide for Amazon Relational Database Service's
7576// API operation DescribeEngineDefaultParameters for usage and error information.
7577// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
7578func (c *RDS) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
7579	req, out := c.DescribeEngineDefaultParametersRequest(input)
7580	return out, req.Send()
7581}
7582
7583// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
7584// the ability to pass a context and additional request options.
7585//
7586// See DescribeEngineDefaultParameters for details on how to use this API operation.
7587//
7588// The context must be non-nil and will be used for request cancellation. If
7589// the context is nil a panic will occur. In the future the SDK may create
7590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7591// for more information on using Contexts.
7592func (c *RDS) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
7593	req, out := c.DescribeEngineDefaultParametersRequest(input)
7594	req.SetContext(ctx)
7595	req.ApplyOptions(opts...)
7596	return out, req.Send()
7597}
7598
7599// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
7600// calling the "fn" function with the response data for each page. To stop
7601// iterating, return false from the fn function.
7602//
7603// See DescribeEngineDefaultParameters method for more information on how to use this operation.
7604//
7605// Note: This operation can generate multiple requests to a service.
7606//
7607//    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
7608//    pageNum := 0
7609//    err := client.DescribeEngineDefaultParametersPages(params,
7610//        func(page *rds.DescribeEngineDefaultParametersOutput, lastPage bool) bool {
7611//            pageNum++
7612//            fmt.Println(page)
7613//            return pageNum <= 3
7614//        })
7615//
7616func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
7617	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
7618}
7619
7620// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
7621// it takes a Context and allows setting request options on the pages.
7622//
7623// The context must be non-nil and will be used for request cancellation. If
7624// the context is nil a panic will occur. In the future the SDK may create
7625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7626// for more information on using Contexts.
7627func (c *RDS) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
7628	p := request.Pagination{
7629		NewRequest: func() (*request.Request, error) {
7630			var inCpy *DescribeEngineDefaultParametersInput
7631			if input != nil {
7632				tmp := *input
7633				inCpy = &tmp
7634			}
7635			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
7636			req.SetContext(ctx)
7637			req.ApplyOptions(opts...)
7638			return req, nil
7639		},
7640	}
7641
7642	for p.Next() {
7643		if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) {
7644			break
7645		}
7646	}
7647
7648	return p.Err()
7649}
7650
7651const opDescribeEventCategories = "DescribeEventCategories"
7652
7653// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
7654// client's request for the DescribeEventCategories operation. The "output" return
7655// value will be populated with the request's response once the request completes
7656// successfully.
7657//
7658// Use "Send" method on the returned Request to send the API call to the service.
7659// the "output" return value is not valid until after Send returns without error.
7660//
7661// See DescribeEventCategories for more information on using the DescribeEventCategories
7662// API call, and error handling.
7663//
7664// This method is useful when you want to inject custom logic or configuration
7665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7666//
7667//
7668//    // Example sending a request using the DescribeEventCategoriesRequest method.
7669//    req, resp := client.DescribeEventCategoriesRequest(params)
7670//
7671//    err := req.Send()
7672//    if err == nil { // resp is now filled
7673//        fmt.Println(resp)
7674//    }
7675//
7676// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
7677func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
7678	op := &request.Operation{
7679		Name:       opDescribeEventCategories,
7680		HTTPMethod: "POST",
7681		HTTPPath:   "/",
7682	}
7683
7684	if input == nil {
7685		input = &DescribeEventCategoriesInput{}
7686	}
7687
7688	output = &DescribeEventCategoriesOutput{}
7689	req = c.newRequest(op, input, output)
7690	return
7691}
7692
7693// DescribeEventCategories API operation for Amazon Relational Database Service.
7694//
7695// Displays a list of categories for all event source types, or, if specified,
7696// for a specified source type. You can see a list of the event categories and
7697// source types in the Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
7698// topic in the Amazon RDS User Guide.
7699//
7700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7701// with awserr.Error's Code and Message methods to get detailed information about
7702// the error.
7703//
7704// See the AWS API reference guide for Amazon Relational Database Service's
7705// API operation DescribeEventCategories for usage and error information.
7706// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
7707func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
7708	req, out := c.DescribeEventCategoriesRequest(input)
7709	return out, req.Send()
7710}
7711
7712// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
7713// the ability to pass a context and additional request options.
7714//
7715// See DescribeEventCategories for details on how to use this API operation.
7716//
7717// The context must be non-nil and will be used for request cancellation. If
7718// the context is nil a panic will occur. In the future the SDK may create
7719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7720// for more information on using Contexts.
7721func (c *RDS) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
7722	req, out := c.DescribeEventCategoriesRequest(input)
7723	req.SetContext(ctx)
7724	req.ApplyOptions(opts...)
7725	return out, req.Send()
7726}
7727
7728const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
7729
7730// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
7731// client's request for the DescribeEventSubscriptions operation. The "output" return
7732// value will be populated with the request's response once the request completes
7733// successfully.
7734//
7735// Use "Send" method on the returned Request to send the API call to the service.
7736// the "output" return value is not valid until after Send returns without error.
7737//
7738// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
7739// API call, and error handling.
7740//
7741// This method is useful when you want to inject custom logic or configuration
7742// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7743//
7744//
7745//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
7746//    req, resp := client.DescribeEventSubscriptionsRequest(params)
7747//
7748//    err := req.Send()
7749//    if err == nil { // resp is now filled
7750//        fmt.Println(resp)
7751//    }
7752//
7753// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
7754func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
7755	op := &request.Operation{
7756		Name:       opDescribeEventSubscriptions,
7757		HTTPMethod: "POST",
7758		HTTPPath:   "/",
7759		Paginator: &request.Paginator{
7760			InputTokens:     []string{"Marker"},
7761			OutputTokens:    []string{"Marker"},
7762			LimitToken:      "MaxRecords",
7763			TruncationToken: "",
7764		},
7765	}
7766
7767	if input == nil {
7768		input = &DescribeEventSubscriptionsInput{}
7769	}
7770
7771	output = &DescribeEventSubscriptionsOutput{}
7772	req = c.newRequest(op, input, output)
7773	return
7774}
7775
7776// DescribeEventSubscriptions API operation for Amazon Relational Database Service.
7777//
7778// Lists all the subscription descriptions for a customer account. The description
7779// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
7780// SourceID, CreationTime, and Status.
7781//
7782// If you specify a SubscriptionName, lists the description for that subscription.
7783//
7784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7785// with awserr.Error's Code and Message methods to get detailed information about
7786// the error.
7787//
7788// See the AWS API reference guide for Amazon Relational Database Service's
7789// API operation DescribeEventSubscriptions for usage and error information.
7790//
7791// Returned Error Codes:
7792//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
7793//   The subscription name does not exist.
7794//
7795// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
7796func (c *RDS) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
7797	req, out := c.DescribeEventSubscriptionsRequest(input)
7798	return out, req.Send()
7799}
7800
7801// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
7802// the ability to pass a context and additional request options.
7803//
7804// See DescribeEventSubscriptions for details on how to use this API operation.
7805//
7806// The context must be non-nil and will be used for request cancellation. If
7807// the context is nil a panic will occur. In the future the SDK may create
7808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7809// for more information on using Contexts.
7810func (c *RDS) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
7811	req, out := c.DescribeEventSubscriptionsRequest(input)
7812	req.SetContext(ctx)
7813	req.ApplyOptions(opts...)
7814	return out, req.Send()
7815}
7816
7817// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
7818// calling the "fn" function with the response data for each page. To stop
7819// iterating, return false from the fn function.
7820//
7821// See DescribeEventSubscriptions method for more information on how to use this operation.
7822//
7823// Note: This operation can generate multiple requests to a service.
7824//
7825//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
7826//    pageNum := 0
7827//    err := client.DescribeEventSubscriptionsPages(params,
7828//        func(page *rds.DescribeEventSubscriptionsOutput, lastPage bool) bool {
7829//            pageNum++
7830//            fmt.Println(page)
7831//            return pageNum <= 3
7832//        })
7833//
7834func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
7835	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
7836}
7837
7838// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
7839// it takes a Context and allows setting request options on the pages.
7840//
7841// The context must be non-nil and will be used for request cancellation. If
7842// the context is nil a panic will occur. In the future the SDK may create
7843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7844// for more information on using Contexts.
7845func (c *RDS) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
7846	p := request.Pagination{
7847		NewRequest: func() (*request.Request, error) {
7848			var inCpy *DescribeEventSubscriptionsInput
7849			if input != nil {
7850				tmp := *input
7851				inCpy = &tmp
7852			}
7853			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
7854			req.SetContext(ctx)
7855			req.ApplyOptions(opts...)
7856			return req, nil
7857		},
7858	}
7859
7860	for p.Next() {
7861		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
7862			break
7863		}
7864	}
7865
7866	return p.Err()
7867}
7868
7869const opDescribeEvents = "DescribeEvents"
7870
7871// DescribeEventsRequest generates a "aws/request.Request" representing the
7872// client's request for the DescribeEvents operation. The "output" return
7873// value will be populated with the request's response once the request completes
7874// successfully.
7875//
7876// Use "Send" method on the returned Request to send the API call to the service.
7877// the "output" return value is not valid until after Send returns without error.
7878//
7879// See DescribeEvents for more information on using the DescribeEvents
7880// API call, and error handling.
7881//
7882// This method is useful when you want to inject custom logic or configuration
7883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7884//
7885//
7886//    // Example sending a request using the DescribeEventsRequest method.
7887//    req, resp := client.DescribeEventsRequest(params)
7888//
7889//    err := req.Send()
7890//    if err == nil { // resp is now filled
7891//        fmt.Println(resp)
7892//    }
7893//
7894// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
7895func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
7896	op := &request.Operation{
7897		Name:       opDescribeEvents,
7898		HTTPMethod: "POST",
7899		HTTPPath:   "/",
7900		Paginator: &request.Paginator{
7901			InputTokens:     []string{"Marker"},
7902			OutputTokens:    []string{"Marker"},
7903			LimitToken:      "MaxRecords",
7904			TruncationToken: "",
7905		},
7906	}
7907
7908	if input == nil {
7909		input = &DescribeEventsInput{}
7910	}
7911
7912	output = &DescribeEventsOutput{}
7913	req = c.newRequest(op, input, output)
7914	return
7915}
7916
7917// DescribeEvents API operation for Amazon Relational Database Service.
7918//
7919// Returns events related to DB instances, DB security groups, DB snapshots,
7920// and DB parameter groups for the past 14 days. Events specific to a particular
7921// DB instance, DB security group, database snapshot, or DB parameter group
7922// can be obtained by providing the name as a parameter. By default, the past
7923// hour of events are returned.
7924//
7925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7926// with awserr.Error's Code and Message methods to get detailed information about
7927// the error.
7928//
7929// See the AWS API reference guide for Amazon Relational Database Service's
7930// API operation DescribeEvents for usage and error information.
7931// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
7932func (c *RDS) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
7933	req, out := c.DescribeEventsRequest(input)
7934	return out, req.Send()
7935}
7936
7937// DescribeEventsWithContext is the same as DescribeEvents with the addition of
7938// the ability to pass a context and additional request options.
7939//
7940// See DescribeEvents for details on how to use this API operation.
7941//
7942// The context must be non-nil and will be used for request cancellation. If
7943// the context is nil a panic will occur. In the future the SDK may create
7944// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7945// for more information on using Contexts.
7946func (c *RDS) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
7947	req, out := c.DescribeEventsRequest(input)
7948	req.SetContext(ctx)
7949	req.ApplyOptions(opts...)
7950	return out, req.Send()
7951}
7952
7953// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
7954// calling the "fn" function with the response data for each page. To stop
7955// iterating, return false from the fn function.
7956//
7957// See DescribeEvents method for more information on how to use this operation.
7958//
7959// Note: This operation can generate multiple requests to a service.
7960//
7961//    // Example iterating over at most 3 pages of a DescribeEvents operation.
7962//    pageNum := 0
7963//    err := client.DescribeEventsPages(params,
7964//        func(page *rds.DescribeEventsOutput, lastPage bool) bool {
7965//            pageNum++
7966//            fmt.Println(page)
7967//            return pageNum <= 3
7968//        })
7969//
7970func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
7971	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
7972}
7973
7974// DescribeEventsPagesWithContext same as DescribeEventsPages except
7975// it takes a Context and allows setting request options on the pages.
7976//
7977// The context must be non-nil and will be used for request cancellation. If
7978// the context is nil a panic will occur. In the future the SDK may create
7979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7980// for more information on using Contexts.
7981func (c *RDS) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
7982	p := request.Pagination{
7983		NewRequest: func() (*request.Request, error) {
7984			var inCpy *DescribeEventsInput
7985			if input != nil {
7986				tmp := *input
7987				inCpy = &tmp
7988			}
7989			req, _ := c.DescribeEventsRequest(inCpy)
7990			req.SetContext(ctx)
7991			req.ApplyOptions(opts...)
7992			return req, nil
7993		},
7994	}
7995
7996	for p.Next() {
7997		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
7998			break
7999		}
8000	}
8001
8002	return p.Err()
8003}
8004
8005const opDescribeExportTasks = "DescribeExportTasks"
8006
8007// DescribeExportTasksRequest generates a "aws/request.Request" representing the
8008// client's request for the DescribeExportTasks operation. The "output" return
8009// value will be populated with the request's response once the request completes
8010// successfully.
8011//
8012// Use "Send" method on the returned Request to send the API call to the service.
8013// the "output" return value is not valid until after Send returns without error.
8014//
8015// See DescribeExportTasks for more information on using the DescribeExportTasks
8016// API call, and error handling.
8017//
8018// This method is useful when you want to inject custom logic or configuration
8019// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8020//
8021//
8022//    // Example sending a request using the DescribeExportTasksRequest method.
8023//    req, resp := client.DescribeExportTasksRequest(params)
8024//
8025//    err := req.Send()
8026//    if err == nil { // resp is now filled
8027//        fmt.Println(resp)
8028//    }
8029//
8030// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks
8031func (c *RDS) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
8032	op := &request.Operation{
8033		Name:       opDescribeExportTasks,
8034		HTTPMethod: "POST",
8035		HTTPPath:   "/",
8036		Paginator: &request.Paginator{
8037			InputTokens:     []string{"Marker"},
8038			OutputTokens:    []string{"Marker"},
8039			LimitToken:      "MaxRecords",
8040			TruncationToken: "",
8041		},
8042	}
8043
8044	if input == nil {
8045		input = &DescribeExportTasksInput{}
8046	}
8047
8048	output = &DescribeExportTasksOutput{}
8049	req = c.newRequest(op, input, output)
8050	return
8051}
8052
8053// DescribeExportTasks API operation for Amazon Relational Database Service.
8054//
8055// Returns information about a snapshot export to Amazon S3. This API operation
8056// supports pagination.
8057//
8058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8059// with awserr.Error's Code and Message methods to get detailed information about
8060// the error.
8061//
8062// See the AWS API reference guide for Amazon Relational Database Service's
8063// API operation DescribeExportTasks for usage and error information.
8064//
8065// Returned Error Codes:
8066//   * ErrCodeExportTaskNotFoundFault "ExportTaskNotFound"
8067//   The export task doesn't exist.
8068//
8069// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks
8070func (c *RDS) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
8071	req, out := c.DescribeExportTasksRequest(input)
8072	return out, req.Send()
8073}
8074
8075// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
8076// the ability to pass a context and additional request options.
8077//
8078// See DescribeExportTasks for details on how to use this API operation.
8079//
8080// The context must be non-nil and will be used for request cancellation. If
8081// the context is nil a panic will occur. In the future the SDK may create
8082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8083// for more information on using Contexts.
8084func (c *RDS) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
8085	req, out := c.DescribeExportTasksRequest(input)
8086	req.SetContext(ctx)
8087	req.ApplyOptions(opts...)
8088	return out, req.Send()
8089}
8090
8091// DescribeExportTasksPages iterates over the pages of a DescribeExportTasks operation,
8092// calling the "fn" function with the response data for each page. To stop
8093// iterating, return false from the fn function.
8094//
8095// See DescribeExportTasks method for more information on how to use this operation.
8096//
8097// Note: This operation can generate multiple requests to a service.
8098//
8099//    // Example iterating over at most 3 pages of a DescribeExportTasks operation.
8100//    pageNum := 0
8101//    err := client.DescribeExportTasksPages(params,
8102//        func(page *rds.DescribeExportTasksOutput, lastPage bool) bool {
8103//            pageNum++
8104//            fmt.Println(page)
8105//            return pageNum <= 3
8106//        })
8107//
8108func (c *RDS) DescribeExportTasksPages(input *DescribeExportTasksInput, fn func(*DescribeExportTasksOutput, bool) bool) error {
8109	return c.DescribeExportTasksPagesWithContext(aws.BackgroundContext(), input, fn)
8110}
8111
8112// DescribeExportTasksPagesWithContext same as DescribeExportTasksPages except
8113// it takes a Context and allows setting request options on the pages.
8114//
8115// The context must be non-nil and will be used for request cancellation. If
8116// the context is nil a panic will occur. In the future the SDK may create
8117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8118// for more information on using Contexts.
8119func (c *RDS) DescribeExportTasksPagesWithContext(ctx aws.Context, input *DescribeExportTasksInput, fn func(*DescribeExportTasksOutput, bool) bool, opts ...request.Option) error {
8120	p := request.Pagination{
8121		NewRequest: func() (*request.Request, error) {
8122			var inCpy *DescribeExportTasksInput
8123			if input != nil {
8124				tmp := *input
8125				inCpy = &tmp
8126			}
8127			req, _ := c.DescribeExportTasksRequest(inCpy)
8128			req.SetContext(ctx)
8129			req.ApplyOptions(opts...)
8130			return req, nil
8131		},
8132	}
8133
8134	for p.Next() {
8135		if !fn(p.Page().(*DescribeExportTasksOutput), !p.HasNextPage()) {
8136			break
8137		}
8138	}
8139
8140	return p.Err()
8141}
8142
8143const opDescribeGlobalClusters = "DescribeGlobalClusters"
8144
8145// DescribeGlobalClustersRequest generates a "aws/request.Request" representing the
8146// client's request for the DescribeGlobalClusters operation. The "output" return
8147// value will be populated with the request's response once the request completes
8148// successfully.
8149//
8150// Use "Send" method on the returned Request to send the API call to the service.
8151// the "output" return value is not valid until after Send returns without error.
8152//
8153// See DescribeGlobalClusters for more information on using the DescribeGlobalClusters
8154// API call, and error handling.
8155//
8156// This method is useful when you want to inject custom logic or configuration
8157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8158//
8159//
8160//    // Example sending a request using the DescribeGlobalClustersRequest method.
8161//    req, resp := client.DescribeGlobalClustersRequest(params)
8162//
8163//    err := req.Send()
8164//    if err == nil { // resp is now filled
8165//        fmt.Println(resp)
8166//    }
8167//
8168// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
8169func (c *RDS) DescribeGlobalClustersRequest(input *DescribeGlobalClustersInput) (req *request.Request, output *DescribeGlobalClustersOutput) {
8170	op := &request.Operation{
8171		Name:       opDescribeGlobalClusters,
8172		HTTPMethod: "POST",
8173		HTTPPath:   "/",
8174		Paginator: &request.Paginator{
8175			InputTokens:     []string{"Marker"},
8176			OutputTokens:    []string{"Marker"},
8177			LimitToken:      "MaxRecords",
8178			TruncationToken: "",
8179		},
8180	}
8181
8182	if input == nil {
8183		input = &DescribeGlobalClustersInput{}
8184	}
8185
8186	output = &DescribeGlobalClustersOutput{}
8187	req = c.newRequest(op, input, output)
8188	return
8189}
8190
8191// DescribeGlobalClusters API operation for Amazon Relational Database Service.
8192//
8193// Returns information about Aurora global database clusters. This API supports
8194// pagination.
8195//
8196// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
8197// in the Amazon Aurora User Guide.
8198//
8199// This action only applies to Aurora DB clusters.
8200//
8201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8202// with awserr.Error's Code and Message methods to get detailed information about
8203// the error.
8204//
8205// See the AWS API reference guide for Amazon Relational Database Service's
8206// API operation DescribeGlobalClusters for usage and error information.
8207//
8208// Returned Error Codes:
8209//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
8210//
8211// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
8212func (c *RDS) DescribeGlobalClusters(input *DescribeGlobalClustersInput) (*DescribeGlobalClustersOutput, error) {
8213	req, out := c.DescribeGlobalClustersRequest(input)
8214	return out, req.Send()
8215}
8216
8217// DescribeGlobalClustersWithContext is the same as DescribeGlobalClusters with the addition of
8218// the ability to pass a context and additional request options.
8219//
8220// See DescribeGlobalClusters for details on how to use this API operation.
8221//
8222// The context must be non-nil and will be used for request cancellation. If
8223// the context is nil a panic will occur. In the future the SDK may create
8224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8225// for more information on using Contexts.
8226func (c *RDS) DescribeGlobalClustersWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, opts ...request.Option) (*DescribeGlobalClustersOutput, error) {
8227	req, out := c.DescribeGlobalClustersRequest(input)
8228	req.SetContext(ctx)
8229	req.ApplyOptions(opts...)
8230	return out, req.Send()
8231}
8232
8233// DescribeGlobalClustersPages iterates over the pages of a DescribeGlobalClusters operation,
8234// calling the "fn" function with the response data for each page. To stop
8235// iterating, return false from the fn function.
8236//
8237// See DescribeGlobalClusters method for more information on how to use this operation.
8238//
8239// Note: This operation can generate multiple requests to a service.
8240//
8241//    // Example iterating over at most 3 pages of a DescribeGlobalClusters operation.
8242//    pageNum := 0
8243//    err := client.DescribeGlobalClustersPages(params,
8244//        func(page *rds.DescribeGlobalClustersOutput, lastPage bool) bool {
8245//            pageNum++
8246//            fmt.Println(page)
8247//            return pageNum <= 3
8248//        })
8249//
8250func (c *RDS) DescribeGlobalClustersPages(input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool) error {
8251	return c.DescribeGlobalClustersPagesWithContext(aws.BackgroundContext(), input, fn)
8252}
8253
8254// DescribeGlobalClustersPagesWithContext same as DescribeGlobalClustersPages except
8255// it takes a Context and allows setting request options on the pages.
8256//
8257// The context must be non-nil and will be used for request cancellation. If
8258// the context is nil a panic will occur. In the future the SDK may create
8259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8260// for more information on using Contexts.
8261func (c *RDS) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool, opts ...request.Option) error {
8262	p := request.Pagination{
8263		NewRequest: func() (*request.Request, error) {
8264			var inCpy *DescribeGlobalClustersInput
8265			if input != nil {
8266				tmp := *input
8267				inCpy = &tmp
8268			}
8269			req, _ := c.DescribeGlobalClustersRequest(inCpy)
8270			req.SetContext(ctx)
8271			req.ApplyOptions(opts...)
8272			return req, nil
8273		},
8274	}
8275
8276	for p.Next() {
8277		if !fn(p.Page().(*DescribeGlobalClustersOutput), !p.HasNextPage()) {
8278			break
8279		}
8280	}
8281
8282	return p.Err()
8283}
8284
8285const opDescribeInstallationMedia = "DescribeInstallationMedia"
8286
8287// DescribeInstallationMediaRequest generates a "aws/request.Request" representing the
8288// client's request for the DescribeInstallationMedia operation. The "output" return
8289// value will be populated with the request's response once the request completes
8290// successfully.
8291//
8292// Use "Send" method on the returned Request to send the API call to the service.
8293// the "output" return value is not valid until after Send returns without error.
8294//
8295// See DescribeInstallationMedia for more information on using the DescribeInstallationMedia
8296// API call, and error handling.
8297//
8298// This method is useful when you want to inject custom logic or configuration
8299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8300//
8301//
8302//    // Example sending a request using the DescribeInstallationMediaRequest method.
8303//    req, resp := client.DescribeInstallationMediaRequest(params)
8304//
8305//    err := req.Send()
8306//    if err == nil { // resp is now filled
8307//        fmt.Println(resp)
8308//    }
8309//
8310// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
8311func (c *RDS) DescribeInstallationMediaRequest(input *DescribeInstallationMediaInput) (req *request.Request, output *DescribeInstallationMediaOutput) {
8312	op := &request.Operation{
8313		Name:       opDescribeInstallationMedia,
8314		HTTPMethod: "POST",
8315		HTTPPath:   "/",
8316		Paginator: &request.Paginator{
8317			InputTokens:     []string{"Marker"},
8318			OutputTokens:    []string{"Marker"},
8319			LimitToken:      "MaxRecords",
8320			TruncationToken: "",
8321		},
8322	}
8323
8324	if input == nil {
8325		input = &DescribeInstallationMediaInput{}
8326	}
8327
8328	output = &DescribeInstallationMediaOutput{}
8329	req = c.newRequest(op, input, output)
8330	return
8331}
8332
8333// DescribeInstallationMedia API operation for Amazon Relational Database Service.
8334//
8335// Describes the available installation media for a DB engine that requires
8336// an on-premises customer provided license, such as Microsoft SQL Server.
8337//
8338// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8339// with awserr.Error's Code and Message methods to get detailed information about
8340// the error.
8341//
8342// See the AWS API reference guide for Amazon Relational Database Service's
8343// API operation DescribeInstallationMedia for usage and error information.
8344//
8345// Returned Error Codes:
8346//   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
8347//   InstallationMediaID doesn't refer to an existing installation medium.
8348//
8349// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
8350func (c *RDS) DescribeInstallationMedia(input *DescribeInstallationMediaInput) (*DescribeInstallationMediaOutput, error) {
8351	req, out := c.DescribeInstallationMediaRequest(input)
8352	return out, req.Send()
8353}
8354
8355// DescribeInstallationMediaWithContext is the same as DescribeInstallationMedia with the addition of
8356// the ability to pass a context and additional request options.
8357//
8358// See DescribeInstallationMedia for details on how to use this API operation.
8359//
8360// The context must be non-nil and will be used for request cancellation. If
8361// the context is nil a panic will occur. In the future the SDK may create
8362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8363// for more information on using Contexts.
8364func (c *RDS) DescribeInstallationMediaWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, opts ...request.Option) (*DescribeInstallationMediaOutput, error) {
8365	req, out := c.DescribeInstallationMediaRequest(input)
8366	req.SetContext(ctx)
8367	req.ApplyOptions(opts...)
8368	return out, req.Send()
8369}
8370
8371// DescribeInstallationMediaPages iterates over the pages of a DescribeInstallationMedia operation,
8372// calling the "fn" function with the response data for each page. To stop
8373// iterating, return false from the fn function.
8374//
8375// See DescribeInstallationMedia method for more information on how to use this operation.
8376//
8377// Note: This operation can generate multiple requests to a service.
8378//
8379//    // Example iterating over at most 3 pages of a DescribeInstallationMedia operation.
8380//    pageNum := 0
8381//    err := client.DescribeInstallationMediaPages(params,
8382//        func(page *rds.DescribeInstallationMediaOutput, lastPage bool) bool {
8383//            pageNum++
8384//            fmt.Println(page)
8385//            return pageNum <= 3
8386//        })
8387//
8388func (c *RDS) DescribeInstallationMediaPages(input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool) error {
8389	return c.DescribeInstallationMediaPagesWithContext(aws.BackgroundContext(), input, fn)
8390}
8391
8392// DescribeInstallationMediaPagesWithContext same as DescribeInstallationMediaPages except
8393// it takes a Context and allows setting request options on the pages.
8394//
8395// The context must be non-nil and will be used for request cancellation. If
8396// the context is nil a panic will occur. In the future the SDK may create
8397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8398// for more information on using Contexts.
8399func (c *RDS) DescribeInstallationMediaPagesWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool, opts ...request.Option) error {
8400	p := request.Pagination{
8401		NewRequest: func() (*request.Request, error) {
8402			var inCpy *DescribeInstallationMediaInput
8403			if input != nil {
8404				tmp := *input
8405				inCpy = &tmp
8406			}
8407			req, _ := c.DescribeInstallationMediaRequest(inCpy)
8408			req.SetContext(ctx)
8409			req.ApplyOptions(opts...)
8410			return req, nil
8411		},
8412	}
8413
8414	for p.Next() {
8415		if !fn(p.Page().(*DescribeInstallationMediaOutput), !p.HasNextPage()) {
8416			break
8417		}
8418	}
8419
8420	return p.Err()
8421}
8422
8423const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions"
8424
8425// DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the
8426// client's request for the DescribeOptionGroupOptions operation. The "output" return
8427// value will be populated with the request's response once the request completes
8428// successfully.
8429//
8430// Use "Send" method on the returned Request to send the API call to the service.
8431// the "output" return value is not valid until after Send returns without error.
8432//
8433// See DescribeOptionGroupOptions for more information on using the DescribeOptionGroupOptions
8434// API call, and error handling.
8435//
8436// This method is useful when you want to inject custom logic or configuration
8437// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8438//
8439//
8440//    // Example sending a request using the DescribeOptionGroupOptionsRequest method.
8441//    req, resp := client.DescribeOptionGroupOptionsRequest(params)
8442//
8443//    err := req.Send()
8444//    if err == nil { // resp is now filled
8445//        fmt.Println(resp)
8446//    }
8447//
8448// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
8449func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) {
8450	op := &request.Operation{
8451		Name:       opDescribeOptionGroupOptions,
8452		HTTPMethod: "POST",
8453		HTTPPath:   "/",
8454		Paginator: &request.Paginator{
8455			InputTokens:     []string{"Marker"},
8456			OutputTokens:    []string{"Marker"},
8457			LimitToken:      "MaxRecords",
8458			TruncationToken: "",
8459		},
8460	}
8461
8462	if input == nil {
8463		input = &DescribeOptionGroupOptionsInput{}
8464	}
8465
8466	output = &DescribeOptionGroupOptionsOutput{}
8467	req = c.newRequest(op, input, output)
8468	return
8469}
8470
8471// DescribeOptionGroupOptions API operation for Amazon Relational Database Service.
8472//
8473// Describes all available options.
8474//
8475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8476// with awserr.Error's Code and Message methods to get detailed information about
8477// the error.
8478//
8479// See the AWS API reference guide for Amazon Relational Database Service's
8480// API operation DescribeOptionGroupOptions for usage and error information.
8481// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
8482func (c *RDS) DescribeOptionGroupOptions(input *DescribeOptionGroupOptionsInput) (*DescribeOptionGroupOptionsOutput, error) {
8483	req, out := c.DescribeOptionGroupOptionsRequest(input)
8484	return out, req.Send()
8485}
8486
8487// DescribeOptionGroupOptionsWithContext is the same as DescribeOptionGroupOptions with the addition of
8488// the ability to pass a context and additional request options.
8489//
8490// See DescribeOptionGroupOptions for details on how to use this API operation.
8491//
8492// The context must be non-nil and will be used for request cancellation. If
8493// the context is nil a panic will occur. In the future the SDK may create
8494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8495// for more information on using Contexts.
8496func (c *RDS) DescribeOptionGroupOptionsWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, opts ...request.Option) (*DescribeOptionGroupOptionsOutput, error) {
8497	req, out := c.DescribeOptionGroupOptionsRequest(input)
8498	req.SetContext(ctx)
8499	req.ApplyOptions(opts...)
8500	return out, req.Send()
8501}
8502
8503// DescribeOptionGroupOptionsPages iterates over the pages of a DescribeOptionGroupOptions operation,
8504// calling the "fn" function with the response data for each page. To stop
8505// iterating, return false from the fn function.
8506//
8507// See DescribeOptionGroupOptions method for more information on how to use this operation.
8508//
8509// Note: This operation can generate multiple requests to a service.
8510//
8511//    // Example iterating over at most 3 pages of a DescribeOptionGroupOptions operation.
8512//    pageNum := 0
8513//    err := client.DescribeOptionGroupOptionsPages(params,
8514//        func(page *rds.DescribeOptionGroupOptionsOutput, lastPage bool) bool {
8515//            pageNum++
8516//            fmt.Println(page)
8517//            return pageNum <= 3
8518//        })
8519//
8520func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool) error {
8521	return c.DescribeOptionGroupOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
8522}
8523
8524// DescribeOptionGroupOptionsPagesWithContext same as DescribeOptionGroupOptionsPages except
8525// it takes a Context and allows setting request options on the pages.
8526//
8527// The context must be non-nil and will be used for request cancellation. If
8528// the context is nil a panic will occur. In the future the SDK may create
8529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8530// for more information on using Contexts.
8531func (c *RDS) DescribeOptionGroupOptionsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool, opts ...request.Option) error {
8532	p := request.Pagination{
8533		NewRequest: func() (*request.Request, error) {
8534			var inCpy *DescribeOptionGroupOptionsInput
8535			if input != nil {
8536				tmp := *input
8537				inCpy = &tmp
8538			}
8539			req, _ := c.DescribeOptionGroupOptionsRequest(inCpy)
8540			req.SetContext(ctx)
8541			req.ApplyOptions(opts...)
8542			return req, nil
8543		},
8544	}
8545
8546	for p.Next() {
8547		if !fn(p.Page().(*DescribeOptionGroupOptionsOutput), !p.HasNextPage()) {
8548			break
8549		}
8550	}
8551
8552	return p.Err()
8553}
8554
8555const opDescribeOptionGroups = "DescribeOptionGroups"
8556
8557// DescribeOptionGroupsRequest generates a "aws/request.Request" representing the
8558// client's request for the DescribeOptionGroups operation. The "output" return
8559// value will be populated with the request's response once the request completes
8560// successfully.
8561//
8562// Use "Send" method on the returned Request to send the API call to the service.
8563// the "output" return value is not valid until after Send returns without error.
8564//
8565// See DescribeOptionGroups for more information on using the DescribeOptionGroups
8566// API call, and error handling.
8567//
8568// This method is useful when you want to inject custom logic or configuration
8569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8570//
8571//
8572//    // Example sending a request using the DescribeOptionGroupsRequest method.
8573//    req, resp := client.DescribeOptionGroupsRequest(params)
8574//
8575//    err := req.Send()
8576//    if err == nil { // resp is now filled
8577//        fmt.Println(resp)
8578//    }
8579//
8580// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
8581func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req *request.Request, output *DescribeOptionGroupsOutput) {
8582	op := &request.Operation{
8583		Name:       opDescribeOptionGroups,
8584		HTTPMethod: "POST",
8585		HTTPPath:   "/",
8586		Paginator: &request.Paginator{
8587			InputTokens:     []string{"Marker"},
8588			OutputTokens:    []string{"Marker"},
8589			LimitToken:      "MaxRecords",
8590			TruncationToken: "",
8591		},
8592	}
8593
8594	if input == nil {
8595		input = &DescribeOptionGroupsInput{}
8596	}
8597
8598	output = &DescribeOptionGroupsOutput{}
8599	req = c.newRequest(op, input, output)
8600	return
8601}
8602
8603// DescribeOptionGroups API operation for Amazon Relational Database Service.
8604//
8605// Describes the available option groups.
8606//
8607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8608// with awserr.Error's Code and Message methods to get detailed information about
8609// the error.
8610//
8611// See the AWS API reference guide for Amazon Relational Database Service's
8612// API operation DescribeOptionGroups for usage and error information.
8613//
8614// Returned Error Codes:
8615//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
8616//   The specified option group could not be found.
8617//
8618// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
8619func (c *RDS) DescribeOptionGroups(input *DescribeOptionGroupsInput) (*DescribeOptionGroupsOutput, error) {
8620	req, out := c.DescribeOptionGroupsRequest(input)
8621	return out, req.Send()
8622}
8623
8624// DescribeOptionGroupsWithContext is the same as DescribeOptionGroups with the addition of
8625// the ability to pass a context and additional request options.
8626//
8627// See DescribeOptionGroups for details on how to use this API operation.
8628//
8629// The context must be non-nil and will be used for request cancellation. If
8630// the context is nil a panic will occur. In the future the SDK may create
8631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8632// for more information on using Contexts.
8633func (c *RDS) DescribeOptionGroupsWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, opts ...request.Option) (*DescribeOptionGroupsOutput, error) {
8634	req, out := c.DescribeOptionGroupsRequest(input)
8635	req.SetContext(ctx)
8636	req.ApplyOptions(opts...)
8637	return out, req.Send()
8638}
8639
8640// DescribeOptionGroupsPages iterates over the pages of a DescribeOptionGroups operation,
8641// calling the "fn" function with the response data for each page. To stop
8642// iterating, return false from the fn function.
8643//
8644// See DescribeOptionGroups method for more information on how to use this operation.
8645//
8646// Note: This operation can generate multiple requests to a service.
8647//
8648//    // Example iterating over at most 3 pages of a DescribeOptionGroups operation.
8649//    pageNum := 0
8650//    err := client.DescribeOptionGroupsPages(params,
8651//        func(page *rds.DescribeOptionGroupsOutput, lastPage bool) bool {
8652//            pageNum++
8653//            fmt.Println(page)
8654//            return pageNum <= 3
8655//        })
8656//
8657func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool) error {
8658	return c.DescribeOptionGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
8659}
8660
8661// DescribeOptionGroupsPagesWithContext same as DescribeOptionGroupsPages except
8662// it takes a Context and allows setting request options on the pages.
8663//
8664// The context must be non-nil and will be used for request cancellation. If
8665// the context is nil a panic will occur. In the future the SDK may create
8666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8667// for more information on using Contexts.
8668func (c *RDS) DescribeOptionGroupsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool, opts ...request.Option) error {
8669	p := request.Pagination{
8670		NewRequest: func() (*request.Request, error) {
8671			var inCpy *DescribeOptionGroupsInput
8672			if input != nil {
8673				tmp := *input
8674				inCpy = &tmp
8675			}
8676			req, _ := c.DescribeOptionGroupsRequest(inCpy)
8677			req.SetContext(ctx)
8678			req.ApplyOptions(opts...)
8679			return req, nil
8680		},
8681	}
8682
8683	for p.Next() {
8684		if !fn(p.Page().(*DescribeOptionGroupsOutput), !p.HasNextPage()) {
8685			break
8686		}
8687	}
8688
8689	return p.Err()
8690}
8691
8692const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
8693
8694// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
8695// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
8696// value will be populated with the request's response once the request completes
8697// successfully.
8698//
8699// Use "Send" method on the returned Request to send the API call to the service.
8700// the "output" return value is not valid until after Send returns without error.
8701//
8702// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
8703// API call, and error handling.
8704//
8705// This method is useful when you want to inject custom logic or configuration
8706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8707//
8708//
8709//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
8710//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
8711//
8712//    err := req.Send()
8713//    if err == nil { // resp is now filled
8714//        fmt.Println(resp)
8715//    }
8716//
8717// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
8718func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
8719	op := &request.Operation{
8720		Name:       opDescribeOrderableDBInstanceOptions,
8721		HTTPMethod: "POST",
8722		HTTPPath:   "/",
8723		Paginator: &request.Paginator{
8724			InputTokens:     []string{"Marker"},
8725			OutputTokens:    []string{"Marker"},
8726			LimitToken:      "MaxRecords",
8727			TruncationToken: "",
8728		},
8729	}
8730
8731	if input == nil {
8732		input = &DescribeOrderableDBInstanceOptionsInput{}
8733	}
8734
8735	output = &DescribeOrderableDBInstanceOptionsOutput{}
8736	req = c.newRequest(op, input, output)
8737	return
8738}
8739
8740// DescribeOrderableDBInstanceOptions API operation for Amazon Relational Database Service.
8741//
8742// Returns a list of orderable DB instance options for the specified engine.
8743//
8744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8745// with awserr.Error's Code and Message methods to get detailed information about
8746// the error.
8747//
8748// See the AWS API reference guide for Amazon Relational Database Service's
8749// API operation DescribeOrderableDBInstanceOptions for usage and error information.
8750// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
8751func (c *RDS) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
8752	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
8753	return out, req.Send()
8754}
8755
8756// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
8757// the ability to pass a context and additional request options.
8758//
8759// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
8760//
8761// The context must be non-nil and will be used for request cancellation. If
8762// the context is nil a panic will occur. In the future the SDK may create
8763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8764// for more information on using Contexts.
8765func (c *RDS) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
8766	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
8767	req.SetContext(ctx)
8768	req.ApplyOptions(opts...)
8769	return out, req.Send()
8770}
8771
8772// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
8773// calling the "fn" function with the response data for each page. To stop
8774// iterating, return false from the fn function.
8775//
8776// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
8777//
8778// Note: This operation can generate multiple requests to a service.
8779//
8780//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
8781//    pageNum := 0
8782//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
8783//        func(page *rds.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
8784//            pageNum++
8785//            fmt.Println(page)
8786//            return pageNum <= 3
8787//        })
8788//
8789func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
8790	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
8791}
8792
8793// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
8794// it takes a Context and allows setting request options on the pages.
8795//
8796// The context must be non-nil and will be used for request cancellation. If
8797// the context is nil a panic will occur. In the future the SDK may create
8798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8799// for more information on using Contexts.
8800func (c *RDS) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
8801	p := request.Pagination{
8802		NewRequest: func() (*request.Request, error) {
8803			var inCpy *DescribeOrderableDBInstanceOptionsInput
8804			if input != nil {
8805				tmp := *input
8806				inCpy = &tmp
8807			}
8808			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
8809			req.SetContext(ctx)
8810			req.ApplyOptions(opts...)
8811			return req, nil
8812		},
8813	}
8814
8815	for p.Next() {
8816		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
8817			break
8818		}
8819	}
8820
8821	return p.Err()
8822}
8823
8824const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
8825
8826// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
8827// client's request for the DescribePendingMaintenanceActions operation. The "output" return
8828// value will be populated with the request's response once the request completes
8829// successfully.
8830//
8831// Use "Send" method on the returned Request to send the API call to the service.
8832// the "output" return value is not valid until after Send returns without error.
8833//
8834// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
8835// API call, and error handling.
8836//
8837// This method is useful when you want to inject custom logic or configuration
8838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8839//
8840//
8841//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
8842//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
8843//
8844//    err := req.Send()
8845//    if err == nil { // resp is now filled
8846//        fmt.Println(resp)
8847//    }
8848//
8849// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
8850func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
8851	op := &request.Operation{
8852		Name:       opDescribePendingMaintenanceActions,
8853		HTTPMethod: "POST",
8854		HTTPPath:   "/",
8855		Paginator: &request.Paginator{
8856			InputTokens:     []string{"Marker"},
8857			OutputTokens:    []string{"Marker"},
8858			LimitToken:      "MaxRecords",
8859			TruncationToken: "",
8860		},
8861	}
8862
8863	if input == nil {
8864		input = &DescribePendingMaintenanceActionsInput{}
8865	}
8866
8867	output = &DescribePendingMaintenanceActionsOutput{}
8868	req = c.newRequest(op, input, output)
8869	return
8870}
8871
8872// DescribePendingMaintenanceActions API operation for Amazon Relational Database Service.
8873//
8874// Returns a list of resources (for example, DB instances) that have at least
8875// one pending maintenance action.
8876//
8877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8878// with awserr.Error's Code and Message methods to get detailed information about
8879// the error.
8880//
8881// See the AWS API reference guide for Amazon Relational Database Service's
8882// API operation DescribePendingMaintenanceActions for usage and error information.
8883//
8884// Returned Error Codes:
8885//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
8886//   The specified resource ID was not found.
8887//
8888// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
8889func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
8890	req, out := c.DescribePendingMaintenanceActionsRequest(input)
8891	return out, req.Send()
8892}
8893
8894// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
8895// the ability to pass a context and additional request options.
8896//
8897// See DescribePendingMaintenanceActions for details on how to use this API operation.
8898//
8899// The context must be non-nil and will be used for request cancellation. If
8900// the context is nil a panic will occur. In the future the SDK may create
8901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8902// for more information on using Contexts.
8903func (c *RDS) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
8904	req, out := c.DescribePendingMaintenanceActionsRequest(input)
8905	req.SetContext(ctx)
8906	req.ApplyOptions(opts...)
8907	return out, req.Send()
8908}
8909
8910// DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation,
8911// calling the "fn" function with the response data for each page. To stop
8912// iterating, return false from the fn function.
8913//
8914// See DescribePendingMaintenanceActions method for more information on how to use this operation.
8915//
8916// Note: This operation can generate multiple requests to a service.
8917//
8918//    // Example iterating over at most 3 pages of a DescribePendingMaintenanceActions operation.
8919//    pageNum := 0
8920//    err := client.DescribePendingMaintenanceActionsPages(params,
8921//        func(page *rds.DescribePendingMaintenanceActionsOutput, lastPage bool) bool {
8922//            pageNum++
8923//            fmt.Println(page)
8924//            return pageNum <= 3
8925//        })
8926//
8927func (c *RDS) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error {
8928	return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
8929}
8930
8931// DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages except
8932// it takes a Context and allows setting request options on the pages.
8933//
8934// The context must be non-nil and will be used for request cancellation. If
8935// the context is nil a panic will occur. In the future the SDK may create
8936// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8937// for more information on using Contexts.
8938func (c *RDS) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error {
8939	p := request.Pagination{
8940		NewRequest: func() (*request.Request, error) {
8941			var inCpy *DescribePendingMaintenanceActionsInput
8942			if input != nil {
8943				tmp := *input
8944				inCpy = &tmp
8945			}
8946			req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy)
8947			req.SetContext(ctx)
8948			req.ApplyOptions(opts...)
8949			return req, nil
8950		},
8951	}
8952
8953	for p.Next() {
8954		if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) {
8955			break
8956		}
8957	}
8958
8959	return p.Err()
8960}
8961
8962const opDescribeReservedDBInstances = "DescribeReservedDBInstances"
8963
8964// DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the
8965// client's request for the DescribeReservedDBInstances operation. The "output" return
8966// value will be populated with the request's response once the request completes
8967// successfully.
8968//
8969// Use "Send" method on the returned Request to send the API call to the service.
8970// the "output" return value is not valid until after Send returns without error.
8971//
8972// See DescribeReservedDBInstances for more information on using the DescribeReservedDBInstances
8973// API call, and error handling.
8974//
8975// This method is useful when you want to inject custom logic or configuration
8976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8977//
8978//
8979//    // Example sending a request using the DescribeReservedDBInstancesRequest method.
8980//    req, resp := client.DescribeReservedDBInstancesRequest(params)
8981//
8982//    err := req.Send()
8983//    if err == nil { // resp is now filled
8984//        fmt.Println(resp)
8985//    }
8986//
8987// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
8988func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstancesInput) (req *request.Request, output *DescribeReservedDBInstancesOutput) {
8989	op := &request.Operation{
8990		Name:       opDescribeReservedDBInstances,
8991		HTTPMethod: "POST",
8992		HTTPPath:   "/",
8993		Paginator: &request.Paginator{
8994			InputTokens:     []string{"Marker"},
8995			OutputTokens:    []string{"Marker"},
8996			LimitToken:      "MaxRecords",
8997			TruncationToken: "",
8998		},
8999	}
9000
9001	if input == nil {
9002		input = &DescribeReservedDBInstancesInput{}
9003	}
9004
9005	output = &DescribeReservedDBInstancesOutput{}
9006	req = c.newRequest(op, input, output)
9007	return
9008}
9009
9010// DescribeReservedDBInstances API operation for Amazon Relational Database Service.
9011//
9012// Returns information about reserved DB instances for this account, or about
9013// a specified reserved DB instance.
9014//
9015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9016// with awserr.Error's Code and Message methods to get detailed information about
9017// the error.
9018//
9019// See the AWS API reference guide for Amazon Relational Database Service's
9020// API operation DescribeReservedDBInstances for usage and error information.
9021//
9022// Returned Error Codes:
9023//   * ErrCodeReservedDBInstanceNotFoundFault "ReservedDBInstanceNotFound"
9024//   The specified reserved DB Instance not found.
9025//
9026// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
9027func (c *RDS) DescribeReservedDBInstances(input *DescribeReservedDBInstancesInput) (*DescribeReservedDBInstancesOutput, error) {
9028	req, out := c.DescribeReservedDBInstancesRequest(input)
9029	return out, req.Send()
9030}
9031
9032// DescribeReservedDBInstancesWithContext is the same as DescribeReservedDBInstances with the addition of
9033// the ability to pass a context and additional request options.
9034//
9035// See DescribeReservedDBInstances for details on how to use this API operation.
9036//
9037// The context must be non-nil and will be used for request cancellation. If
9038// the context is nil a panic will occur. In the future the SDK may create
9039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9040// for more information on using Contexts.
9041func (c *RDS) DescribeReservedDBInstancesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, opts ...request.Option) (*DescribeReservedDBInstancesOutput, error) {
9042	req, out := c.DescribeReservedDBInstancesRequest(input)
9043	req.SetContext(ctx)
9044	req.ApplyOptions(opts...)
9045	return out, req.Send()
9046}
9047
9048// DescribeReservedDBInstancesPages iterates over the pages of a DescribeReservedDBInstances operation,
9049// calling the "fn" function with the response data for each page. To stop
9050// iterating, return false from the fn function.
9051//
9052// See DescribeReservedDBInstances method for more information on how to use this operation.
9053//
9054// Note: This operation can generate multiple requests to a service.
9055//
9056//    // Example iterating over at most 3 pages of a DescribeReservedDBInstances operation.
9057//    pageNum := 0
9058//    err := client.DescribeReservedDBInstancesPages(params,
9059//        func(page *rds.DescribeReservedDBInstancesOutput, lastPage bool) bool {
9060//            pageNum++
9061//            fmt.Println(page)
9062//            return pageNum <= 3
9063//        })
9064//
9065func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool) error {
9066	return c.DescribeReservedDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
9067}
9068
9069// DescribeReservedDBInstancesPagesWithContext same as DescribeReservedDBInstancesPages except
9070// it takes a Context and allows setting request options on the pages.
9071//
9072// The context must be non-nil and will be used for request cancellation. If
9073// the context is nil a panic will occur. In the future the SDK may create
9074// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9075// for more information on using Contexts.
9076func (c *RDS) DescribeReservedDBInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool, opts ...request.Option) error {
9077	p := request.Pagination{
9078		NewRequest: func() (*request.Request, error) {
9079			var inCpy *DescribeReservedDBInstancesInput
9080			if input != nil {
9081				tmp := *input
9082				inCpy = &tmp
9083			}
9084			req, _ := c.DescribeReservedDBInstancesRequest(inCpy)
9085			req.SetContext(ctx)
9086			req.ApplyOptions(opts...)
9087			return req, nil
9088		},
9089	}
9090
9091	for p.Next() {
9092		if !fn(p.Page().(*DescribeReservedDBInstancesOutput), !p.HasNextPage()) {
9093			break
9094		}
9095	}
9096
9097	return p.Err()
9098}
9099
9100const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOfferings"
9101
9102// DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the
9103// client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return
9104// value will be populated with the request's response once the request completes
9105// successfully.
9106//
9107// Use "Send" method on the returned Request to send the API call to the service.
9108// the "output" return value is not valid until after Send returns without error.
9109//
9110// See DescribeReservedDBInstancesOfferings for more information on using the DescribeReservedDBInstancesOfferings
9111// API call, and error handling.
9112//
9113// This method is useful when you want to inject custom logic or configuration
9114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9115//
9116//
9117//    // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method.
9118//    req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params)
9119//
9120//    err := req.Send()
9121//    if err == nil { // resp is now filled
9122//        fmt.Println(resp)
9123//    }
9124//
9125// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
9126func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReservedDBInstancesOfferingsInput) (req *request.Request, output *DescribeReservedDBInstancesOfferingsOutput) {
9127	op := &request.Operation{
9128		Name:       opDescribeReservedDBInstancesOfferings,
9129		HTTPMethod: "POST",
9130		HTTPPath:   "/",
9131		Paginator: &request.Paginator{
9132			InputTokens:     []string{"Marker"},
9133			OutputTokens:    []string{"Marker"},
9134			LimitToken:      "MaxRecords",
9135			TruncationToken: "",
9136		},
9137	}
9138
9139	if input == nil {
9140		input = &DescribeReservedDBInstancesOfferingsInput{}
9141	}
9142
9143	output = &DescribeReservedDBInstancesOfferingsOutput{}
9144	req = c.newRequest(op, input, output)
9145	return
9146}
9147
9148// DescribeReservedDBInstancesOfferings API operation for Amazon Relational Database Service.
9149//
9150// Lists available reserved DB instance offerings.
9151//
9152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9153// with awserr.Error's Code and Message methods to get detailed information about
9154// the error.
9155//
9156// See the AWS API reference guide for Amazon Relational Database Service's
9157// API operation DescribeReservedDBInstancesOfferings for usage and error information.
9158//
9159// Returned Error Codes:
9160//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
9161//   Specified offering does not exist.
9162//
9163// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
9164func (c *RDS) DescribeReservedDBInstancesOfferings(input *DescribeReservedDBInstancesOfferingsInput) (*DescribeReservedDBInstancesOfferingsOutput, error) {
9165	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
9166	return out, req.Send()
9167}
9168
9169// DescribeReservedDBInstancesOfferingsWithContext is the same as DescribeReservedDBInstancesOfferings with the addition of
9170// the ability to pass a context and additional request options.
9171//
9172// See DescribeReservedDBInstancesOfferings for details on how to use this API operation.
9173//
9174// The context must be non-nil and will be used for request cancellation. If
9175// the context is nil a panic will occur. In the future the SDK may create
9176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9177// for more information on using Contexts.
9178func (c *RDS) DescribeReservedDBInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedDBInstancesOfferingsOutput, error) {
9179	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
9180	req.SetContext(ctx)
9181	req.ApplyOptions(opts...)
9182	return out, req.Send()
9183}
9184
9185// DescribeReservedDBInstancesOfferingsPages iterates over the pages of a DescribeReservedDBInstancesOfferings operation,
9186// calling the "fn" function with the response data for each page. To stop
9187// iterating, return false from the fn function.
9188//
9189// See DescribeReservedDBInstancesOfferings method for more information on how to use this operation.
9190//
9191// Note: This operation can generate multiple requests to a service.
9192//
9193//    // Example iterating over at most 3 pages of a DescribeReservedDBInstancesOfferings operation.
9194//    pageNum := 0
9195//    err := client.DescribeReservedDBInstancesOfferingsPages(params,
9196//        func(page *rds.DescribeReservedDBInstancesOfferingsOutput, lastPage bool) bool {
9197//            pageNum++
9198//            fmt.Println(page)
9199//            return pageNum <= 3
9200//        })
9201//
9202func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool) error {
9203	return c.DescribeReservedDBInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
9204}
9205
9206// DescribeReservedDBInstancesOfferingsPagesWithContext same as DescribeReservedDBInstancesOfferingsPages except
9207// it takes a Context and allows setting request options on the pages.
9208//
9209// The context must be non-nil and will be used for request cancellation. If
9210// the context is nil a panic will occur. In the future the SDK may create
9211// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9212// for more information on using Contexts.
9213func (c *RDS) DescribeReservedDBInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
9214	p := request.Pagination{
9215		NewRequest: func() (*request.Request, error) {
9216			var inCpy *DescribeReservedDBInstancesOfferingsInput
9217			if input != nil {
9218				tmp := *input
9219				inCpy = &tmp
9220			}
9221			req, _ := c.DescribeReservedDBInstancesOfferingsRequest(inCpy)
9222			req.SetContext(ctx)
9223			req.ApplyOptions(opts...)
9224			return req, nil
9225		},
9226	}
9227
9228	for p.Next() {
9229		if !fn(p.Page().(*DescribeReservedDBInstancesOfferingsOutput), !p.HasNextPage()) {
9230			break
9231		}
9232	}
9233
9234	return p.Err()
9235}
9236
9237const opDescribeSourceRegions = "DescribeSourceRegions"
9238
9239// DescribeSourceRegionsRequest generates a "aws/request.Request" representing the
9240// client's request for the DescribeSourceRegions operation. The "output" return
9241// value will be populated with the request's response once the request completes
9242// successfully.
9243//
9244// Use "Send" method on the returned Request to send the API call to the service.
9245// the "output" return value is not valid until after Send returns without error.
9246//
9247// See DescribeSourceRegions for more information on using the DescribeSourceRegions
9248// API call, and error handling.
9249//
9250// This method is useful when you want to inject custom logic or configuration
9251// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9252//
9253//
9254//    // Example sending a request using the DescribeSourceRegionsRequest method.
9255//    req, resp := client.DescribeSourceRegionsRequest(params)
9256//
9257//    err := req.Send()
9258//    if err == nil { // resp is now filled
9259//        fmt.Println(resp)
9260//    }
9261//
9262// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
9263func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (req *request.Request, output *DescribeSourceRegionsOutput) {
9264	op := &request.Operation{
9265		Name:       opDescribeSourceRegions,
9266		HTTPMethod: "POST",
9267		HTTPPath:   "/",
9268		Paginator: &request.Paginator{
9269			InputTokens:     []string{"Marker"},
9270			OutputTokens:    []string{"Marker"},
9271			LimitToken:      "MaxRecords",
9272			TruncationToken: "",
9273		},
9274	}
9275
9276	if input == nil {
9277		input = &DescribeSourceRegionsInput{}
9278	}
9279
9280	output = &DescribeSourceRegionsOutput{}
9281	req = c.newRequest(op, input, output)
9282	return
9283}
9284
9285// DescribeSourceRegions API operation for Amazon Relational Database Service.
9286//
9287// Returns a list of the source AWS Regions where the current AWS Region can
9288// create a read replica or copy a DB snapshot from. This API action supports
9289// pagination.
9290//
9291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9292// with awserr.Error's Code and Message methods to get detailed information about
9293// the error.
9294//
9295// See the AWS API reference guide for Amazon Relational Database Service's
9296// API operation DescribeSourceRegions for usage and error information.
9297// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
9298func (c *RDS) DescribeSourceRegions(input *DescribeSourceRegionsInput) (*DescribeSourceRegionsOutput, error) {
9299	req, out := c.DescribeSourceRegionsRequest(input)
9300	return out, req.Send()
9301}
9302
9303// DescribeSourceRegionsWithContext is the same as DescribeSourceRegions with the addition of
9304// the ability to pass a context and additional request options.
9305//
9306// See DescribeSourceRegions for details on how to use this API operation.
9307//
9308// The context must be non-nil and will be used for request cancellation. If
9309// the context is nil a panic will occur. In the future the SDK may create
9310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9311// for more information on using Contexts.
9312func (c *RDS) DescribeSourceRegionsWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, opts ...request.Option) (*DescribeSourceRegionsOutput, error) {
9313	req, out := c.DescribeSourceRegionsRequest(input)
9314	req.SetContext(ctx)
9315	req.ApplyOptions(opts...)
9316	return out, req.Send()
9317}
9318
9319// DescribeSourceRegionsPages iterates over the pages of a DescribeSourceRegions operation,
9320// calling the "fn" function with the response data for each page. To stop
9321// iterating, return false from the fn function.
9322//
9323// See DescribeSourceRegions method for more information on how to use this operation.
9324//
9325// Note: This operation can generate multiple requests to a service.
9326//
9327//    // Example iterating over at most 3 pages of a DescribeSourceRegions operation.
9328//    pageNum := 0
9329//    err := client.DescribeSourceRegionsPages(params,
9330//        func(page *rds.DescribeSourceRegionsOutput, lastPage bool) bool {
9331//            pageNum++
9332//            fmt.Println(page)
9333//            return pageNum <= 3
9334//        })
9335//
9336func (c *RDS) DescribeSourceRegionsPages(input *DescribeSourceRegionsInput, fn func(*DescribeSourceRegionsOutput, bool) bool) error {
9337	return c.DescribeSourceRegionsPagesWithContext(aws.BackgroundContext(), input, fn)
9338}
9339
9340// DescribeSourceRegionsPagesWithContext same as DescribeSourceRegionsPages except
9341// it takes a Context and allows setting request options on the pages.
9342//
9343// The context must be non-nil and will be used for request cancellation. If
9344// the context is nil a panic will occur. In the future the SDK may create
9345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9346// for more information on using Contexts.
9347func (c *RDS) DescribeSourceRegionsPagesWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, fn func(*DescribeSourceRegionsOutput, bool) bool, opts ...request.Option) error {
9348	p := request.Pagination{
9349		NewRequest: func() (*request.Request, error) {
9350			var inCpy *DescribeSourceRegionsInput
9351			if input != nil {
9352				tmp := *input
9353				inCpy = &tmp
9354			}
9355			req, _ := c.DescribeSourceRegionsRequest(inCpy)
9356			req.SetContext(ctx)
9357			req.ApplyOptions(opts...)
9358			return req, nil
9359		},
9360	}
9361
9362	for p.Next() {
9363		if !fn(p.Page().(*DescribeSourceRegionsOutput), !p.HasNextPage()) {
9364			break
9365		}
9366	}
9367
9368	return p.Err()
9369}
9370
9371const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
9372
9373// DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
9374// client's request for the DescribeValidDBInstanceModifications operation. The "output" return
9375// value will be populated with the request's response once the request completes
9376// successfully.
9377//
9378// Use "Send" method on the returned Request to send the API call to the service.
9379// the "output" return value is not valid until after Send returns without error.
9380//
9381// See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
9382// API call, and error handling.
9383//
9384// This method is useful when you want to inject custom logic or configuration
9385// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9386//
9387//
9388//    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
9389//    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
9390//
9391//    err := req.Send()
9392//    if err == nil { // resp is now filled
9393//        fmt.Println(resp)
9394//    }
9395//
9396// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
9397func (c *RDS) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
9398	op := &request.Operation{
9399		Name:       opDescribeValidDBInstanceModifications,
9400		HTTPMethod: "POST",
9401		HTTPPath:   "/",
9402	}
9403
9404	if input == nil {
9405		input = &DescribeValidDBInstanceModificationsInput{}
9406	}
9407
9408	output = &DescribeValidDBInstanceModificationsOutput{}
9409	req = c.newRequest(op, input, output)
9410	return
9411}
9412
9413// DescribeValidDBInstanceModifications API operation for Amazon Relational Database Service.
9414//
9415// You can call DescribeValidDBInstanceModifications to learn what modifications
9416// you can make to your DB instance. You can use this information when you call
9417// ModifyDBInstance.
9418//
9419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9420// with awserr.Error's Code and Message methods to get detailed information about
9421// the error.
9422//
9423// See the AWS API reference guide for Amazon Relational Database Service's
9424// API operation DescribeValidDBInstanceModifications for usage and error information.
9425//
9426// Returned Error Codes:
9427//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9428//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9429//
9430//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9431//   The DB instance isn't in a valid state.
9432//
9433// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
9434func (c *RDS) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
9435	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
9436	return out, req.Send()
9437}
9438
9439// DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
9440// the ability to pass a context and additional request options.
9441//
9442// See DescribeValidDBInstanceModifications for details on how to use this API operation.
9443//
9444// The context must be non-nil and will be used for request cancellation. If
9445// the context is nil a panic will occur. In the future the SDK may create
9446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9447// for more information on using Contexts.
9448func (c *RDS) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
9449	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
9450	req.SetContext(ctx)
9451	req.ApplyOptions(opts...)
9452	return out, req.Send()
9453}
9454
9455const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion"
9456
9457// DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the
9458// client's request for the DownloadDBLogFilePortion operation. The "output" return
9459// value will be populated with the request's response once the request completes
9460// successfully.
9461//
9462// Use "Send" method on the returned Request to send the API call to the service.
9463// the "output" return value is not valid until after Send returns without error.
9464//
9465// See DownloadDBLogFilePortion for more information on using the DownloadDBLogFilePortion
9466// API call, and error handling.
9467//
9468// This method is useful when you want to inject custom logic or configuration
9469// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9470//
9471//
9472//    // Example sending a request using the DownloadDBLogFilePortionRequest method.
9473//    req, resp := client.DownloadDBLogFilePortionRequest(params)
9474//
9475//    err := req.Send()
9476//    if err == nil { // resp is now filled
9477//        fmt.Println(resp)
9478//    }
9479//
9480// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
9481func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInput) (req *request.Request, output *DownloadDBLogFilePortionOutput) {
9482	op := &request.Operation{
9483		Name:       opDownloadDBLogFilePortion,
9484		HTTPMethod: "POST",
9485		HTTPPath:   "/",
9486		Paginator: &request.Paginator{
9487			InputTokens:     []string{"Marker"},
9488			OutputTokens:    []string{"Marker"},
9489			LimitToken:      "NumberOfLines",
9490			TruncationToken: "AdditionalDataPending",
9491		},
9492	}
9493
9494	if input == nil {
9495		input = &DownloadDBLogFilePortionInput{}
9496	}
9497
9498	output = &DownloadDBLogFilePortionOutput{}
9499	req = c.newRequest(op, input, output)
9500	return
9501}
9502
9503// DownloadDBLogFilePortion API operation for Amazon Relational Database Service.
9504//
9505// Downloads all or a portion of the specified log file, up to 1 MB in size.
9506//
9507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9508// with awserr.Error's Code and Message methods to get detailed information about
9509// the error.
9510//
9511// See the AWS API reference guide for Amazon Relational Database Service's
9512// API operation DownloadDBLogFilePortion for usage and error information.
9513//
9514// Returned Error Codes:
9515//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9516//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9517//
9518//   * ErrCodeDBLogFileNotFoundFault "DBLogFileNotFoundFault"
9519//   LogFileName doesn't refer to an existing DB log file.
9520//
9521// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
9522func (c *RDS) DownloadDBLogFilePortion(input *DownloadDBLogFilePortionInput) (*DownloadDBLogFilePortionOutput, error) {
9523	req, out := c.DownloadDBLogFilePortionRequest(input)
9524	return out, req.Send()
9525}
9526
9527// DownloadDBLogFilePortionWithContext is the same as DownloadDBLogFilePortion with the addition of
9528// the ability to pass a context and additional request options.
9529//
9530// See DownloadDBLogFilePortion for details on how to use this API operation.
9531//
9532// The context must be non-nil and will be used for request cancellation. If
9533// the context is nil a panic will occur. In the future the SDK may create
9534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9535// for more information on using Contexts.
9536func (c *RDS) DownloadDBLogFilePortionWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, opts ...request.Option) (*DownloadDBLogFilePortionOutput, error) {
9537	req, out := c.DownloadDBLogFilePortionRequest(input)
9538	req.SetContext(ctx)
9539	req.ApplyOptions(opts...)
9540	return out, req.Send()
9541}
9542
9543// DownloadDBLogFilePortionPages iterates over the pages of a DownloadDBLogFilePortion operation,
9544// calling the "fn" function with the response data for each page. To stop
9545// iterating, return false from the fn function.
9546//
9547// See DownloadDBLogFilePortion method for more information on how to use this operation.
9548//
9549// Note: This operation can generate multiple requests to a service.
9550//
9551//    // Example iterating over at most 3 pages of a DownloadDBLogFilePortion operation.
9552//    pageNum := 0
9553//    err := client.DownloadDBLogFilePortionPages(params,
9554//        func(page *rds.DownloadDBLogFilePortionOutput, lastPage bool) bool {
9555//            pageNum++
9556//            fmt.Println(page)
9557//            return pageNum <= 3
9558//        })
9559//
9560func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool) error {
9561	return c.DownloadDBLogFilePortionPagesWithContext(aws.BackgroundContext(), input, fn)
9562}
9563
9564// DownloadDBLogFilePortionPagesWithContext same as DownloadDBLogFilePortionPages except
9565// it takes a Context and allows setting request options on the pages.
9566//
9567// The context must be non-nil and will be used for request cancellation. If
9568// the context is nil a panic will occur. In the future the SDK may create
9569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9570// for more information on using Contexts.
9571func (c *RDS) DownloadDBLogFilePortionPagesWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool, opts ...request.Option) error {
9572	p := request.Pagination{
9573		NewRequest: func() (*request.Request, error) {
9574			var inCpy *DownloadDBLogFilePortionInput
9575			if input != nil {
9576				tmp := *input
9577				inCpy = &tmp
9578			}
9579			req, _ := c.DownloadDBLogFilePortionRequest(inCpy)
9580			req.SetContext(ctx)
9581			req.ApplyOptions(opts...)
9582			return req, nil
9583		},
9584	}
9585
9586	for p.Next() {
9587		if !fn(p.Page().(*DownloadDBLogFilePortionOutput), !p.HasNextPage()) {
9588			break
9589		}
9590	}
9591
9592	return p.Err()
9593}
9594
9595const opFailoverDBCluster = "FailoverDBCluster"
9596
9597// FailoverDBClusterRequest generates a "aws/request.Request" representing the
9598// client's request for the FailoverDBCluster operation. The "output" return
9599// value will be populated with the request's response once the request completes
9600// successfully.
9601//
9602// Use "Send" method on the returned Request to send the API call to the service.
9603// the "output" return value is not valid until after Send returns without error.
9604//
9605// See FailoverDBCluster for more information on using the FailoverDBCluster
9606// API call, and error handling.
9607//
9608// This method is useful when you want to inject custom logic or configuration
9609// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9610//
9611//
9612//    // Example sending a request using the FailoverDBClusterRequest method.
9613//    req, resp := client.FailoverDBClusterRequest(params)
9614//
9615//    err := req.Send()
9616//    if err == nil { // resp is now filled
9617//        fmt.Println(resp)
9618//    }
9619//
9620// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
9621func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
9622	op := &request.Operation{
9623		Name:       opFailoverDBCluster,
9624		HTTPMethod: "POST",
9625		HTTPPath:   "/",
9626	}
9627
9628	if input == nil {
9629		input = &FailoverDBClusterInput{}
9630	}
9631
9632	output = &FailoverDBClusterOutput{}
9633	req = c.newRequest(op, input, output)
9634	return
9635}
9636
9637// FailoverDBCluster API operation for Amazon Relational Database Service.
9638//
9639// Forces a failover for a DB cluster.
9640//
9641// A failover for a DB cluster promotes one of the Aurora Replicas (read-only
9642// instances) in the DB cluster to be the primary instance (the cluster writer).
9643//
9644// Amazon Aurora will automatically fail over to an Aurora Replica, if one exists,
9645// when the primary instance fails. You can force a failover when you want to
9646// simulate a failure of a primary instance for testing. Because each instance
9647// in a DB cluster has its own endpoint address, you will need to clean up and
9648// re-establish any existing connections that use those endpoint addresses when
9649// the failover is complete.
9650//
9651// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
9652// in the Amazon Aurora User Guide.
9653//
9654// This action only applies to Aurora DB clusters.
9655//
9656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9657// with awserr.Error's Code and Message methods to get detailed information about
9658// the error.
9659//
9660// See the AWS API reference guide for Amazon Relational Database Service's
9661// API operation FailoverDBCluster for usage and error information.
9662//
9663// Returned Error Codes:
9664//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9665//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9666//
9667//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9668//   The requested operation can't be performed while the cluster is in this state.
9669//
9670//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9671//   The DB instance isn't in a valid state.
9672//
9673// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
9674func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
9675	req, out := c.FailoverDBClusterRequest(input)
9676	return out, req.Send()
9677}
9678
9679// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
9680// the ability to pass a context and additional request options.
9681//
9682// See FailoverDBCluster for details on how to use this API operation.
9683//
9684// The context must be non-nil and will be used for request cancellation. If
9685// the context is nil a panic will occur. In the future the SDK may create
9686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9687// for more information on using Contexts.
9688func (c *RDS) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
9689	req, out := c.FailoverDBClusterRequest(input)
9690	req.SetContext(ctx)
9691	req.ApplyOptions(opts...)
9692	return out, req.Send()
9693}
9694
9695const opImportInstallationMedia = "ImportInstallationMedia"
9696
9697// ImportInstallationMediaRequest generates a "aws/request.Request" representing the
9698// client's request for the ImportInstallationMedia operation. The "output" return
9699// value will be populated with the request's response once the request completes
9700// successfully.
9701//
9702// Use "Send" method on the returned Request to send the API call to the service.
9703// the "output" return value is not valid until after Send returns without error.
9704//
9705// See ImportInstallationMedia for more information on using the ImportInstallationMedia
9706// API call, and error handling.
9707//
9708// This method is useful when you want to inject custom logic or configuration
9709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9710//
9711//
9712//    // Example sending a request using the ImportInstallationMediaRequest method.
9713//    req, resp := client.ImportInstallationMediaRequest(params)
9714//
9715//    err := req.Send()
9716//    if err == nil { // resp is now filled
9717//        fmt.Println(resp)
9718//    }
9719//
9720// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
9721func (c *RDS) ImportInstallationMediaRequest(input *ImportInstallationMediaInput) (req *request.Request, output *ImportInstallationMediaOutput) {
9722	op := &request.Operation{
9723		Name:       opImportInstallationMedia,
9724		HTTPMethod: "POST",
9725		HTTPPath:   "/",
9726	}
9727
9728	if input == nil {
9729		input = &ImportInstallationMediaInput{}
9730	}
9731
9732	output = &ImportInstallationMediaOutput{}
9733	req = c.newRequest(op, input, output)
9734	return
9735}
9736
9737// ImportInstallationMedia API operation for Amazon Relational Database Service.
9738//
9739// Imports the installation media for a DB engine that requires an on-premises
9740// customer provided license, such as SQL Server.
9741//
9742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9743// with awserr.Error's Code and Message methods to get detailed information about
9744// the error.
9745//
9746// See the AWS API reference guide for Amazon Relational Database Service's
9747// API operation ImportInstallationMedia for usage and error information.
9748//
9749// Returned Error Codes:
9750//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
9751//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
9752//   Zone identifier.
9753//
9754//   * ErrCodeInstallationMediaAlreadyExistsFault "InstallationMediaAlreadyExists"
9755//   The specified installation medium has already been imported.
9756//
9757// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
9758func (c *RDS) ImportInstallationMedia(input *ImportInstallationMediaInput) (*ImportInstallationMediaOutput, error) {
9759	req, out := c.ImportInstallationMediaRequest(input)
9760	return out, req.Send()
9761}
9762
9763// ImportInstallationMediaWithContext is the same as ImportInstallationMedia with the addition of
9764// the ability to pass a context and additional request options.
9765//
9766// See ImportInstallationMedia for details on how to use this API operation.
9767//
9768// The context must be non-nil and will be used for request cancellation. If
9769// the context is nil a panic will occur. In the future the SDK may create
9770// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9771// for more information on using Contexts.
9772func (c *RDS) ImportInstallationMediaWithContext(ctx aws.Context, input *ImportInstallationMediaInput, opts ...request.Option) (*ImportInstallationMediaOutput, error) {
9773	req, out := c.ImportInstallationMediaRequest(input)
9774	req.SetContext(ctx)
9775	req.ApplyOptions(opts...)
9776	return out, req.Send()
9777}
9778
9779const opListTagsForResource = "ListTagsForResource"
9780
9781// ListTagsForResourceRequest generates a "aws/request.Request" representing the
9782// client's request for the ListTagsForResource operation. The "output" return
9783// value will be populated with the request's response once the request completes
9784// successfully.
9785//
9786// Use "Send" method on the returned Request to send the API call to the service.
9787// the "output" return value is not valid until after Send returns without error.
9788//
9789// See ListTagsForResource for more information on using the ListTagsForResource
9790// API call, and error handling.
9791//
9792// This method is useful when you want to inject custom logic or configuration
9793// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9794//
9795//
9796//    // Example sending a request using the ListTagsForResourceRequest method.
9797//    req, resp := client.ListTagsForResourceRequest(params)
9798//
9799//    err := req.Send()
9800//    if err == nil { // resp is now filled
9801//        fmt.Println(resp)
9802//    }
9803//
9804// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
9805func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
9806	op := &request.Operation{
9807		Name:       opListTagsForResource,
9808		HTTPMethod: "POST",
9809		HTTPPath:   "/",
9810	}
9811
9812	if input == nil {
9813		input = &ListTagsForResourceInput{}
9814	}
9815
9816	output = &ListTagsForResourceOutput{}
9817	req = c.newRequest(op, input, output)
9818	return
9819}
9820
9821// ListTagsForResource API operation for Amazon Relational Database Service.
9822//
9823// Lists all tags on an Amazon RDS resource.
9824//
9825// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
9826// Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
9827// in the Amazon RDS User Guide.
9828//
9829// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9830// with awserr.Error's Code and Message methods to get detailed information about
9831// the error.
9832//
9833// See the AWS API reference guide for Amazon Relational Database Service's
9834// API operation ListTagsForResource for usage and error information.
9835//
9836// Returned Error Codes:
9837//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9838//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9839//
9840//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
9841//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
9842//
9843//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9844//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9845//
9846//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
9847//   The specified proxy name doesn't correspond to a proxy owned by your AWS
9848//   accoutn in the specified AWS Region.
9849//
9850//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
9851//   The specified target group isn't available for a proxy owned by your AWS
9852//   account in the specified AWS Region.
9853//
9854// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
9855func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
9856	req, out := c.ListTagsForResourceRequest(input)
9857	return out, req.Send()
9858}
9859
9860// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
9861// the ability to pass a context and additional request options.
9862//
9863// See ListTagsForResource for details on how to use this API operation.
9864//
9865// The context must be non-nil and will be used for request cancellation. If
9866// the context is nil a panic will occur. In the future the SDK may create
9867// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9868// for more information on using Contexts.
9869func (c *RDS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
9870	req, out := c.ListTagsForResourceRequest(input)
9871	req.SetContext(ctx)
9872	req.ApplyOptions(opts...)
9873	return out, req.Send()
9874}
9875
9876const opModifyCertificates = "ModifyCertificates"
9877
9878// ModifyCertificatesRequest generates a "aws/request.Request" representing the
9879// client's request for the ModifyCertificates operation. The "output" return
9880// value will be populated with the request's response once the request completes
9881// successfully.
9882//
9883// Use "Send" method on the returned Request to send the API call to the service.
9884// the "output" return value is not valid until after Send returns without error.
9885//
9886// See ModifyCertificates for more information on using the ModifyCertificates
9887// API call, and error handling.
9888//
9889// This method is useful when you want to inject custom logic or configuration
9890// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9891//
9892//
9893//    // Example sending a request using the ModifyCertificatesRequest method.
9894//    req, resp := client.ModifyCertificatesRequest(params)
9895//
9896//    err := req.Send()
9897//    if err == nil { // resp is now filled
9898//        fmt.Println(resp)
9899//    }
9900//
9901// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates
9902func (c *RDS) ModifyCertificatesRequest(input *ModifyCertificatesInput) (req *request.Request, output *ModifyCertificatesOutput) {
9903	op := &request.Operation{
9904		Name:       opModifyCertificates,
9905		HTTPMethod: "POST",
9906		HTTPPath:   "/",
9907	}
9908
9909	if input == nil {
9910		input = &ModifyCertificatesInput{}
9911	}
9912
9913	output = &ModifyCertificatesOutput{}
9914	req = c.newRequest(op, input, output)
9915	return
9916}
9917
9918// ModifyCertificates API operation for Amazon Relational Database Service.
9919//
9920// Override the system-default Secure Sockets Layer/Transport Layer Security
9921// (SSL/TLS) certificate for Amazon RDS for new DB instances temporarily, or
9922// remove the override.
9923//
9924// By using this operation, you can specify an RDS-approved SSL/TLS certificate
9925// for new DB instances that is different from the default certificate provided
9926// by RDS. You can also use this operation to remove the override, so that new
9927// DB instances use the default certificate provided by RDS.
9928//
9929// You might need to override the default certificate in the following situations:
9930//
9931//    * You already migrated your applications to support the latest certificate
9932//    authority (CA) certificate, but the new CA certificate is not yet the
9933//    RDS default CA certificate for the specified AWS Region.
9934//
9935//    * RDS has already moved to a new default CA certificate for the specified
9936//    AWS Region, but you are still in the process of supporting the new CA
9937//    certificate. In this case, you temporarily need additional time to finish
9938//    your application changes.
9939//
9940// For more information about rotating your SSL/TLS certificate for RDS DB engines,
9941// see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
9942// in the Amazon RDS User Guide.
9943//
9944// For more information about rotating your SSL/TLS certificate for Aurora DB
9945// engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
9946// in the Amazon Aurora User Guide.
9947//
9948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9949// with awserr.Error's Code and Message methods to get detailed information about
9950// the error.
9951//
9952// See the AWS API reference guide for Amazon Relational Database Service's
9953// API operation ModifyCertificates for usage and error information.
9954//
9955// Returned Error Codes:
9956//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
9957//   CertificateIdentifier doesn't refer to an existing certificate.
9958//
9959// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates
9960func (c *RDS) ModifyCertificates(input *ModifyCertificatesInput) (*ModifyCertificatesOutput, error) {
9961	req, out := c.ModifyCertificatesRequest(input)
9962	return out, req.Send()
9963}
9964
9965// ModifyCertificatesWithContext is the same as ModifyCertificates with the addition of
9966// the ability to pass a context and additional request options.
9967//
9968// See ModifyCertificates for details on how to use this API operation.
9969//
9970// The context must be non-nil and will be used for request cancellation. If
9971// the context is nil a panic will occur. In the future the SDK may create
9972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9973// for more information on using Contexts.
9974func (c *RDS) ModifyCertificatesWithContext(ctx aws.Context, input *ModifyCertificatesInput, opts ...request.Option) (*ModifyCertificatesOutput, error) {
9975	req, out := c.ModifyCertificatesRequest(input)
9976	req.SetContext(ctx)
9977	req.ApplyOptions(opts...)
9978	return out, req.Send()
9979}
9980
9981const opModifyCurrentDBClusterCapacity = "ModifyCurrentDBClusterCapacity"
9982
9983// ModifyCurrentDBClusterCapacityRequest generates a "aws/request.Request" representing the
9984// client's request for the ModifyCurrentDBClusterCapacity operation. The "output" return
9985// value will be populated with the request's response once the request completes
9986// successfully.
9987//
9988// Use "Send" method on the returned Request to send the API call to the service.
9989// the "output" return value is not valid until after Send returns without error.
9990//
9991// See ModifyCurrentDBClusterCapacity for more information on using the ModifyCurrentDBClusterCapacity
9992// API call, and error handling.
9993//
9994// This method is useful when you want to inject custom logic or configuration
9995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9996//
9997//
9998//    // Example sending a request using the ModifyCurrentDBClusterCapacityRequest method.
9999//    req, resp := client.ModifyCurrentDBClusterCapacityRequest(params)
10000//
10001//    err := req.Send()
10002//    if err == nil { // resp is now filled
10003//        fmt.Println(resp)
10004//    }
10005//
10006// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
10007func (c *RDS) ModifyCurrentDBClusterCapacityRequest(input *ModifyCurrentDBClusterCapacityInput) (req *request.Request, output *ModifyCurrentDBClusterCapacityOutput) {
10008	op := &request.Operation{
10009		Name:       opModifyCurrentDBClusterCapacity,
10010		HTTPMethod: "POST",
10011		HTTPPath:   "/",
10012	}
10013
10014	if input == nil {
10015		input = &ModifyCurrentDBClusterCapacityInput{}
10016	}
10017
10018	output = &ModifyCurrentDBClusterCapacityOutput{}
10019	req = c.newRequest(op, input, output)
10020	return
10021}
10022
10023// ModifyCurrentDBClusterCapacity API operation for Amazon Relational Database Service.
10024//
10025// Set the capacity of an Aurora Serverless DB cluster to a specific value.
10026//
10027// Aurora Serverless scales seamlessly based on the workload on the DB cluster.
10028// In some cases, the capacity might not scale fast enough to meet a sudden
10029// change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity
10030// to set the capacity explicitly.
10031//
10032// After this call sets the DB cluster capacity, Aurora Serverless can automatically
10033// scale the DB cluster based on the cooldown period for scaling up and the
10034// cooldown period for scaling down.
10035//
10036// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
10037// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
10038// in the Amazon Aurora User Guide.
10039//
10040// If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction,
10041// connections that prevent Aurora Serverless from finding a scaling point might
10042// be dropped. For more information about scaling points, see Autoscaling for
10043// Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling)
10044// in the Amazon Aurora User Guide.
10045//
10046// This action only applies to Aurora DB clusters.
10047//
10048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10049// with awserr.Error's Code and Message methods to get detailed information about
10050// the error.
10051//
10052// See the AWS API reference guide for Amazon Relational Database Service's
10053// API operation ModifyCurrentDBClusterCapacity for usage and error information.
10054//
10055// Returned Error Codes:
10056//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
10057//   DBClusterIdentifier doesn't refer to an existing DB cluster.
10058//
10059//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10060//   The requested operation can't be performed while the cluster is in this state.
10061//
10062//   * ErrCodeInvalidDBClusterCapacityFault "InvalidDBClusterCapacityFault"
10063//   Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity
10064//   values are 2, 4, 8, 16, 32, 64, 128, and 256.
10065//
10066// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
10067func (c *RDS) ModifyCurrentDBClusterCapacity(input *ModifyCurrentDBClusterCapacityInput) (*ModifyCurrentDBClusterCapacityOutput, error) {
10068	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
10069	return out, req.Send()
10070}
10071
10072// ModifyCurrentDBClusterCapacityWithContext is the same as ModifyCurrentDBClusterCapacity with the addition of
10073// the ability to pass a context and additional request options.
10074//
10075// See ModifyCurrentDBClusterCapacity for details on how to use this API operation.
10076//
10077// The context must be non-nil and will be used for request cancellation. If
10078// the context is nil a panic will occur. In the future the SDK may create
10079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10080// for more information on using Contexts.
10081func (c *RDS) ModifyCurrentDBClusterCapacityWithContext(ctx aws.Context, input *ModifyCurrentDBClusterCapacityInput, opts ...request.Option) (*ModifyCurrentDBClusterCapacityOutput, error) {
10082	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
10083	req.SetContext(ctx)
10084	req.ApplyOptions(opts...)
10085	return out, req.Send()
10086}
10087
10088const opModifyDBCluster = "ModifyDBCluster"
10089
10090// ModifyDBClusterRequest generates a "aws/request.Request" representing the
10091// client's request for the ModifyDBCluster operation. The "output" return
10092// value will be populated with the request's response once the request completes
10093// successfully.
10094//
10095// Use "Send" method on the returned Request to send the API call to the service.
10096// the "output" return value is not valid until after Send returns without error.
10097//
10098// See ModifyDBCluster for more information on using the ModifyDBCluster
10099// API call, and error handling.
10100//
10101// This method is useful when you want to inject custom logic or configuration
10102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10103//
10104//
10105//    // Example sending a request using the ModifyDBClusterRequest method.
10106//    req, resp := client.ModifyDBClusterRequest(params)
10107//
10108//    err := req.Send()
10109//    if err == nil { // resp is now filled
10110//        fmt.Println(resp)
10111//    }
10112//
10113// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
10114func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
10115	op := &request.Operation{
10116		Name:       opModifyDBCluster,
10117		HTTPMethod: "POST",
10118		HTTPPath:   "/",
10119	}
10120
10121	if input == nil {
10122		input = &ModifyDBClusterInput{}
10123	}
10124
10125	output = &ModifyDBClusterOutput{}
10126	req = c.newRequest(op, input, output)
10127	return
10128}
10129
10130// ModifyDBCluster API operation for Amazon Relational Database Service.
10131//
10132// Modify a setting for an Amazon Aurora DB cluster. You can change one or more
10133// database configuration parameters by specifying these parameters and the
10134// new values in the request. For more information on Amazon Aurora, see What
10135// Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
10136// in the Amazon Aurora User Guide.
10137//
10138// This action only applies to Aurora DB clusters.
10139//
10140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10141// with awserr.Error's Code and Message methods to get detailed information about
10142// the error.
10143//
10144// See the AWS API reference guide for Amazon Relational Database Service's
10145// API operation ModifyDBCluster for usage and error information.
10146//
10147// Returned Error Codes:
10148//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
10149//   DBClusterIdentifier doesn't refer to an existing DB cluster.
10150//
10151//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10152//   The requested operation can't be performed while the cluster is in this state.
10153//
10154//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
10155//   The request would result in the user exceeding the allowed amount of storage
10156//   available across all DB instances.
10157//
10158//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
10159//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
10160//
10161//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
10162//   The DB subnet group doesn't cover all Availability Zones after it's created
10163//   because of users' change.
10164//
10165//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
10166//   The DB subnet group cannot be deleted because it's in use.
10167//
10168//   * ErrCodeInvalidSubnet "InvalidSubnet"
10169//   The requested subnet is invalid, or multiple subnets were requested that
10170//   are not all in a common VPC.
10171//
10172//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
10173//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
10174//   group.
10175//
10176//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
10177//   The state of the DB security group doesn't allow deletion.
10178//
10179//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
10180//   The DB instance isn't in a valid state.
10181//
10182//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
10183//   The user already has a DB cluster with the given identifier.
10184//
10185//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
10186//   Domain doesn't refer to an existing Active Directory domain.
10187//
10188// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
10189func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
10190	req, out := c.ModifyDBClusterRequest(input)
10191	return out, req.Send()
10192}
10193
10194// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
10195// the ability to pass a context and additional request options.
10196//
10197// See ModifyDBCluster for details on how to use this API operation.
10198//
10199// The context must be non-nil and will be used for request cancellation. If
10200// the context is nil a panic will occur. In the future the SDK may create
10201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10202// for more information on using Contexts.
10203func (c *RDS) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
10204	req, out := c.ModifyDBClusterRequest(input)
10205	req.SetContext(ctx)
10206	req.ApplyOptions(opts...)
10207	return out, req.Send()
10208}
10209
10210const opModifyDBClusterEndpoint = "ModifyDBClusterEndpoint"
10211
10212// ModifyDBClusterEndpointRequest generates a "aws/request.Request" representing the
10213// client's request for the ModifyDBClusterEndpoint operation. The "output" return
10214// value will be populated with the request's response once the request completes
10215// successfully.
10216//
10217// Use "Send" method on the returned Request to send the API call to the service.
10218// the "output" return value is not valid until after Send returns without error.
10219//
10220// See ModifyDBClusterEndpoint for more information on using the ModifyDBClusterEndpoint
10221// API call, and error handling.
10222//
10223// This method is useful when you want to inject custom logic or configuration
10224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10225//
10226//
10227//    // Example sending a request using the ModifyDBClusterEndpointRequest method.
10228//    req, resp := client.ModifyDBClusterEndpointRequest(params)
10229//
10230//    err := req.Send()
10231//    if err == nil { // resp is now filled
10232//        fmt.Println(resp)
10233//    }
10234//
10235// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
10236func (c *RDS) ModifyDBClusterEndpointRequest(input *ModifyDBClusterEndpointInput) (req *request.Request, output *ModifyDBClusterEndpointOutput) {
10237	op := &request.Operation{
10238		Name:       opModifyDBClusterEndpoint,
10239		HTTPMethod: "POST",
10240		HTTPPath:   "/",
10241	}
10242
10243	if input == nil {
10244		input = &ModifyDBClusterEndpointInput{}
10245	}
10246
10247	output = &ModifyDBClusterEndpointOutput{}
10248	req = c.newRequest(op, input, output)
10249	return
10250}
10251
10252// ModifyDBClusterEndpoint API operation for Amazon Relational Database Service.
10253//
10254// Modifies the properties of an endpoint in an Amazon Aurora DB cluster.
10255//
10256// This action only applies to Aurora DB clusters.
10257//
10258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10259// with awserr.Error's Code and Message methods to get detailed information about
10260// the error.
10261//
10262// See the AWS API reference guide for Amazon Relational Database Service's
10263// API operation ModifyDBClusterEndpoint for usage and error information.
10264//
10265// Returned Error Codes:
10266//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10267//   The requested operation can't be performed while the cluster is in this state.
10268//
10269//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
10270//   The requested operation can't be performed on the endpoint while the endpoint
10271//   is in this state.
10272//
10273//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
10274//   The specified custom endpoint doesn't exist.
10275//
10276//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
10277//   DBInstanceIdentifier doesn't refer to an existing DB instance.
10278//
10279//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
10280//   The DB instance isn't in a valid state.
10281//
10282// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
10283func (c *RDS) ModifyDBClusterEndpoint(input *ModifyDBClusterEndpointInput) (*ModifyDBClusterEndpointOutput, error) {
10284	req, out := c.ModifyDBClusterEndpointRequest(input)
10285	return out, req.Send()
10286}
10287
10288// ModifyDBClusterEndpointWithContext is the same as ModifyDBClusterEndpoint with the addition of
10289// the ability to pass a context and additional request options.
10290//
10291// See ModifyDBClusterEndpoint for details on how to use this API operation.
10292//
10293// The context must be non-nil and will be used for request cancellation. If
10294// the context is nil a panic will occur. In the future the SDK may create
10295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10296// for more information on using Contexts.
10297func (c *RDS) ModifyDBClusterEndpointWithContext(ctx aws.Context, input *ModifyDBClusterEndpointInput, opts ...request.Option) (*ModifyDBClusterEndpointOutput, error) {
10298	req, out := c.ModifyDBClusterEndpointRequest(input)
10299	req.SetContext(ctx)
10300	req.ApplyOptions(opts...)
10301	return out, req.Send()
10302}
10303
10304const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
10305
10306// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
10307// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
10308// value will be populated with the request's response once the request completes
10309// successfully.
10310//
10311// Use "Send" method on the returned Request to send the API call to the service.
10312// the "output" return value is not valid until after Send returns without error.
10313//
10314// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
10315// API call, and error handling.
10316//
10317// This method is useful when you want to inject custom logic or configuration
10318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10319//
10320//
10321//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
10322//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
10323//
10324//    err := req.Send()
10325//    if err == nil { // resp is now filled
10326//        fmt.Println(resp)
10327//    }
10328//
10329// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
10330func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
10331	op := &request.Operation{
10332		Name:       opModifyDBClusterParameterGroup,
10333		HTTPMethod: "POST",
10334		HTTPPath:   "/",
10335	}
10336
10337	if input == nil {
10338		input = &ModifyDBClusterParameterGroupInput{}
10339	}
10340
10341	output = &DBClusterParameterGroupNameMessage{}
10342	req = c.newRequest(op, input, output)
10343	return
10344}
10345
10346// ModifyDBClusterParameterGroup API operation for Amazon Relational Database Service.
10347//
10348// Modifies the parameters of a DB cluster parameter group. To modify more than
10349// one parameter, submit a list of the following: ParameterName, ParameterValue,
10350// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
10351//
10352// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
10353// in the Amazon Aurora User Guide.
10354//
10355// Changes to dynamic parameters are applied immediately. Changes to static
10356// parameters require a reboot without failover to the DB cluster associated
10357// with the parameter group before the change can take effect.
10358//
10359// After you create a DB cluster parameter group, you should wait at least 5
10360// minutes before creating your first DB cluster that uses that DB cluster parameter
10361// group as the default parameter group. This allows Amazon RDS to fully complete
10362// the create action before the parameter group is used as the default for a
10363// new DB cluster. This is especially important for parameters that are critical
10364// when creating the default database for a DB cluster, such as the character
10365// set for the default database defined by the character_set_database parameter.
10366// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
10367// or the DescribeDBClusterParameters action to verify that your DB cluster
10368// parameter group has been created or modified.
10369//
10370// If the modified DB cluster parameter group is used by an Aurora Serverless
10371// cluster, Aurora applies the update immediately. The cluster restart might
10372// interrupt your workload. In that case, your application must reopen any connections
10373// and retry any transactions that were active when the parameter changes took
10374// effect.
10375//
10376// This action only applies to Aurora DB clusters.
10377//
10378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10379// with awserr.Error's Code and Message methods to get detailed information about
10380// the error.
10381//
10382// See the AWS API reference guide for Amazon Relational Database Service's
10383// API operation ModifyDBClusterParameterGroup for usage and error information.
10384//
10385// Returned Error Codes:
10386//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
10387//   DBParameterGroupName doesn't refer to an existing DB parameter group.
10388//
10389//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
10390//   The DB parameter group is in use or is in an invalid state. If you are attempting
10391//   to delete the parameter group, you can't delete it when the parameter group
10392//   is in this state.
10393//
10394// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
10395func (c *RDS) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
10396	req, out := c.ModifyDBClusterParameterGroupRequest(input)
10397	return out, req.Send()
10398}
10399
10400// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
10401// the ability to pass a context and additional request options.
10402//
10403// See ModifyDBClusterParameterGroup for details on how to use this API operation.
10404//
10405// The context must be non-nil and will be used for request cancellation. If
10406// the context is nil a panic will occur. In the future the SDK may create
10407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10408// for more information on using Contexts.
10409func (c *RDS) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
10410	req, out := c.ModifyDBClusterParameterGroupRequest(input)
10411	req.SetContext(ctx)
10412	req.ApplyOptions(opts...)
10413	return out, req.Send()
10414}
10415
10416const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
10417
10418// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
10419// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
10420// value will be populated with the request's response once the request completes
10421// successfully.
10422//
10423// Use "Send" method on the returned Request to send the API call to the service.
10424// the "output" return value is not valid until after Send returns without error.
10425//
10426// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
10427// API call, and error handling.
10428//
10429// This method is useful when you want to inject custom logic or configuration
10430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10431//
10432//
10433//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
10434//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
10435//
10436//    err := req.Send()
10437//    if err == nil { // resp is now filled
10438//        fmt.Println(resp)
10439//    }
10440//
10441// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
10442func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
10443	op := &request.Operation{
10444		Name:       opModifyDBClusterSnapshotAttribute,
10445		HTTPMethod: "POST",
10446		HTTPPath:   "/",
10447	}
10448
10449	if input == nil {
10450		input = &ModifyDBClusterSnapshotAttributeInput{}
10451	}
10452
10453	output = &ModifyDBClusterSnapshotAttributeOutput{}
10454	req = c.newRequest(op, input, output)
10455	return
10456}
10457
10458// ModifyDBClusterSnapshotAttribute API operation for Amazon Relational Database Service.
10459//
10460// Adds an attribute and values to, or removes an attribute and values from,
10461// a manual DB cluster snapshot.
10462//
10463// To share a manual DB cluster snapshot with other AWS accounts, specify restore
10464// as the AttributeName and use the ValuesToAdd parameter to add a list of IDs
10465// of the AWS accounts that are authorized to restore the manual DB cluster
10466// snapshot. Use the value all to make the manual DB cluster snapshot public,
10467// which means that it can be copied or restored by all AWS accounts.
10468//
10469// Don't add the all value for any manual DB cluster snapshots that contain
10470// private information that you don't want available to all AWS accounts.
10471//
10472// If a manual DB cluster snapshot is encrypted, it can be shared, but only
10473// by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter.
10474// You can't use all as a value for that parameter in this case.
10475//
10476// To view which AWS accounts have access to copy or restore a manual DB cluster
10477// snapshot, or whether a manual DB cluster snapshot is public or private, use
10478// the DescribeDBClusterSnapshotAttributes API action. The accounts are returned
10479// as values for the restore attribute.
10480//
10481// This action only applies to Aurora DB clusters.
10482//
10483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10484// with awserr.Error's Code and Message methods to get detailed information about
10485// the error.
10486//
10487// See the AWS API reference guide for Amazon Relational Database Service's
10488// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
10489//
10490// Returned Error Codes:
10491//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
10492//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
10493//
10494//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
10495//   The supplied value isn't a valid DB cluster snapshot state.
10496//
10497//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
10498//   You have exceeded the maximum number of accounts that you can share a manual
10499//   DB snapshot with.
10500//
10501// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
10502func (c *RDS) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
10503	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
10504	return out, req.Send()
10505}
10506
10507// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
10508// the ability to pass a context and additional request options.
10509//
10510// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
10511//
10512// The context must be non-nil and will be used for request cancellation. If
10513// the context is nil a panic will occur. In the future the SDK may create
10514// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10515// for more information on using Contexts.
10516func (c *RDS) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
10517	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
10518	req.SetContext(ctx)
10519	req.ApplyOptions(opts...)
10520	return out, req.Send()
10521}
10522
10523const opModifyDBInstance = "ModifyDBInstance"
10524
10525// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
10526// client's request for the ModifyDBInstance operation. The "output" return
10527// value will be populated with the request's response once the request completes
10528// successfully.
10529//
10530// Use "Send" method on the returned Request to send the API call to the service.
10531// the "output" return value is not valid until after Send returns without error.
10532//
10533// See ModifyDBInstance for more information on using the ModifyDBInstance
10534// API call, and error handling.
10535//
10536// This method is useful when you want to inject custom logic or configuration
10537// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10538//
10539//
10540//    // Example sending a request using the ModifyDBInstanceRequest method.
10541//    req, resp := client.ModifyDBInstanceRequest(params)
10542//
10543//    err := req.Send()
10544//    if err == nil { // resp is now filled
10545//        fmt.Println(resp)
10546//    }
10547//
10548// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
10549func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
10550	op := &request.Operation{
10551		Name:       opModifyDBInstance,
10552		HTTPMethod: "POST",
10553		HTTPPath:   "/",
10554	}
10555
10556	if input == nil {
10557		input = &ModifyDBInstanceInput{}
10558	}
10559
10560	output = &ModifyDBInstanceOutput{}
10561	req = c.newRequest(op, input, output)
10562	return
10563}
10564
10565// ModifyDBInstance API operation for Amazon Relational Database Service.
10566//
10567// Modifies settings for a DB instance. You can change one or more database
10568// configuration parameters by specifying these parameters and the new values
10569// in the request. To learn what modifications you can make to your DB instance,
10570// call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
10571//
10572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10573// with awserr.Error's Code and Message methods to get detailed information about
10574// the error.
10575//
10576// See the AWS API reference guide for Amazon Relational Database Service's
10577// API operation ModifyDBInstance for usage and error information.
10578//
10579// Returned Error Codes:
10580//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
10581//   The DB instance isn't in a valid state.
10582//
10583//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
10584//   The state of the DB security group doesn't allow deletion.
10585//
10586//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
10587//   The user already has a DB instance with the given identifier.
10588//
10589//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
10590//   DBInstanceIdentifier doesn't refer to an existing DB instance.
10591//
10592//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
10593//   DBSecurityGroupName doesn't refer to an existing DB security group.
10594//
10595//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
10596//   DBParameterGroupName doesn't refer to an existing DB parameter group.
10597//
10598//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
10599//   The specified DB instance class isn't available in the specified Availability
10600//   Zone.
10601//
10602//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
10603//   The request would result in the user exceeding the allowed amount of storage
10604//   available across all DB instances.
10605//
10606//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
10607//   The DB subnet group doesn't cover all Availability Zones after it's created
10608//   because of users' change.
10609//
10610//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
10611//   Provisioned IOPS not available in the specified Availability Zone.
10612//
10613//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
10614//   The specified option group could not be found.
10615//
10616//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
10617//   The DB upgrade failed because a resource the DB depends on can't be modified.
10618//
10619//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
10620//   Storage of the StorageType specified can't be associated with the DB instance.
10621//
10622//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
10623//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
10624//   for the specified DB security group.
10625//
10626//   Or, RDS might not be authorized to perform necessary actions using IAM on
10627//   your behalf.
10628//
10629//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
10630//   CertificateIdentifier doesn't refer to an existing certificate.
10631//
10632//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
10633//   Domain doesn't refer to an existing Active Directory domain.
10634//
10635//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
10636//
10637//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
10638//   An error occurred accessing an AWS KMS key.
10639//
10640//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10641//   The requested operation can't be performed while the cluster is in this state.
10642//
10643// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
10644func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
10645	req, out := c.ModifyDBInstanceRequest(input)
10646	return out, req.Send()
10647}
10648
10649// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
10650// the ability to pass a context and additional request options.
10651//
10652// See ModifyDBInstance for details on how to use this API operation.
10653//
10654// The context must be non-nil and will be used for request cancellation. If
10655// the context is nil a panic will occur. In the future the SDK may create
10656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10657// for more information on using Contexts.
10658func (c *RDS) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
10659	req, out := c.ModifyDBInstanceRequest(input)
10660	req.SetContext(ctx)
10661	req.ApplyOptions(opts...)
10662	return out, req.Send()
10663}
10664
10665const opModifyDBParameterGroup = "ModifyDBParameterGroup"
10666
10667// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
10668// client's request for the ModifyDBParameterGroup operation. The "output" return
10669// value will be populated with the request's response once the request completes
10670// successfully.
10671//
10672// Use "Send" method on the returned Request to send the API call to the service.
10673// the "output" return value is not valid until after Send returns without error.
10674//
10675// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
10676// API call, and error handling.
10677//
10678// This method is useful when you want to inject custom logic or configuration
10679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10680//
10681//
10682//    // Example sending a request using the ModifyDBParameterGroupRequest method.
10683//    req, resp := client.ModifyDBParameterGroupRequest(params)
10684//
10685//    err := req.Send()
10686//    if err == nil { // resp is now filled
10687//        fmt.Println(resp)
10688//    }
10689//
10690// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
10691func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
10692	op := &request.Operation{
10693		Name:       opModifyDBParameterGroup,
10694		HTTPMethod: "POST",
10695		HTTPPath:   "/",
10696	}
10697
10698	if input == nil {
10699		input = &ModifyDBParameterGroupInput{}
10700	}
10701
10702	output = &DBParameterGroupNameMessage{}
10703	req = c.newRequest(op, input, output)
10704	return
10705}
10706
10707// ModifyDBParameterGroup API operation for Amazon Relational Database Service.
10708//
10709// Modifies the parameters of a DB parameter group. To modify more than one
10710// parameter, submit a list of the following: ParameterName, ParameterValue,
10711// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
10712//
10713// Changes to dynamic parameters are applied immediately. Changes to static
10714// parameters require a reboot without failover to the DB instance associated
10715// with the parameter group before the change can take effect.
10716//
10717// After you modify a DB parameter group, you should wait at least 5 minutes
10718// before creating your first DB instance that uses that DB parameter group
10719// as the default parameter group. This allows Amazon RDS to fully complete
10720// the modify action before the parameter group is used as the default for a
10721// new DB instance. This is especially important for parameters that are critical
10722// when creating the default database for a DB instance, such as the character
10723// set for the default database defined by the character_set_database parameter.
10724// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
10725// or the DescribeDBParameters command to verify that your DB parameter group
10726// has been created or modified.
10727//
10728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10729// with awserr.Error's Code and Message methods to get detailed information about
10730// the error.
10731//
10732// See the AWS API reference guide for Amazon Relational Database Service's
10733// API operation ModifyDBParameterGroup for usage and error information.
10734//
10735// Returned Error Codes:
10736//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
10737//   DBParameterGroupName doesn't refer to an existing DB parameter group.
10738//
10739//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
10740//   The DB parameter group is in use or is in an invalid state. If you are attempting
10741//   to delete the parameter group, you can't delete it when the parameter group
10742//   is in this state.
10743//
10744// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
10745func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
10746	req, out := c.ModifyDBParameterGroupRequest(input)
10747	return out, req.Send()
10748}
10749
10750// ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
10751// the ability to pass a context and additional request options.
10752//
10753// See ModifyDBParameterGroup for details on how to use this API operation.
10754//
10755// The context must be non-nil and will be used for request cancellation. If
10756// the context is nil a panic will occur. In the future the SDK may create
10757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10758// for more information on using Contexts.
10759func (c *RDS) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
10760	req, out := c.ModifyDBParameterGroupRequest(input)
10761	req.SetContext(ctx)
10762	req.ApplyOptions(opts...)
10763	return out, req.Send()
10764}
10765
10766const opModifyDBProxy = "ModifyDBProxy"
10767
10768// ModifyDBProxyRequest generates a "aws/request.Request" representing the
10769// client's request for the ModifyDBProxy operation. The "output" return
10770// value will be populated with the request's response once the request completes
10771// successfully.
10772//
10773// Use "Send" method on the returned Request to send the API call to the service.
10774// the "output" return value is not valid until after Send returns without error.
10775//
10776// See ModifyDBProxy for more information on using the ModifyDBProxy
10777// API call, and error handling.
10778//
10779// This method is useful when you want to inject custom logic or configuration
10780// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10781//
10782//
10783//    // Example sending a request using the ModifyDBProxyRequest method.
10784//    req, resp := client.ModifyDBProxyRequest(params)
10785//
10786//    err := req.Send()
10787//    if err == nil { // resp is now filled
10788//        fmt.Println(resp)
10789//    }
10790//
10791// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
10792func (c *RDS) ModifyDBProxyRequest(input *ModifyDBProxyInput) (req *request.Request, output *ModifyDBProxyOutput) {
10793	op := &request.Operation{
10794		Name:       opModifyDBProxy,
10795		HTTPMethod: "POST",
10796		HTTPPath:   "/",
10797	}
10798
10799	if input == nil {
10800		input = &ModifyDBProxyInput{}
10801	}
10802
10803	output = &ModifyDBProxyOutput{}
10804	req = c.newRequest(op, input, output)
10805	return
10806}
10807
10808// ModifyDBProxy API operation for Amazon Relational Database Service.
10809//
10810// Changes the settings for an existing DB proxy.
10811//
10812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10813// with awserr.Error's Code and Message methods to get detailed information about
10814// the error.
10815//
10816// See the AWS API reference guide for Amazon Relational Database Service's
10817// API operation ModifyDBProxy for usage and error information.
10818//
10819// Returned Error Codes:
10820//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
10821//   The specified proxy name doesn't correspond to a proxy owned by your AWS
10822//   accoutn in the specified AWS Region.
10823//
10824//   * ErrCodeDBProxyAlreadyExistsFault "DBProxyTargetExistsFault"
10825//   The specified proxy name must be unique for all proxies owned by your AWS
10826//   account in the specified AWS Region.
10827//
10828//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
10829//   The requested operation can't be performed while the proxy is in this state.
10830//
10831// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
10832func (c *RDS) ModifyDBProxy(input *ModifyDBProxyInput) (*ModifyDBProxyOutput, error) {
10833	req, out := c.ModifyDBProxyRequest(input)
10834	return out, req.Send()
10835}
10836
10837// ModifyDBProxyWithContext is the same as ModifyDBProxy with the addition of
10838// the ability to pass a context and additional request options.
10839//
10840// See ModifyDBProxy for details on how to use this API operation.
10841//
10842// The context must be non-nil and will be used for request cancellation. If
10843// the context is nil a panic will occur. In the future the SDK may create
10844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10845// for more information on using Contexts.
10846func (c *RDS) ModifyDBProxyWithContext(ctx aws.Context, input *ModifyDBProxyInput, opts ...request.Option) (*ModifyDBProxyOutput, error) {
10847	req, out := c.ModifyDBProxyRequest(input)
10848	req.SetContext(ctx)
10849	req.ApplyOptions(opts...)
10850	return out, req.Send()
10851}
10852
10853const opModifyDBProxyTargetGroup = "ModifyDBProxyTargetGroup"
10854
10855// ModifyDBProxyTargetGroupRequest generates a "aws/request.Request" representing the
10856// client's request for the ModifyDBProxyTargetGroup operation. The "output" return
10857// value will be populated with the request's response once the request completes
10858// successfully.
10859//
10860// Use "Send" method on the returned Request to send the API call to the service.
10861// the "output" return value is not valid until after Send returns without error.
10862//
10863// See ModifyDBProxyTargetGroup for more information on using the ModifyDBProxyTargetGroup
10864// API call, and error handling.
10865//
10866// This method is useful when you want to inject custom logic or configuration
10867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10868//
10869//
10870//    // Example sending a request using the ModifyDBProxyTargetGroupRequest method.
10871//    req, resp := client.ModifyDBProxyTargetGroupRequest(params)
10872//
10873//    err := req.Send()
10874//    if err == nil { // resp is now filled
10875//        fmt.Println(resp)
10876//    }
10877//
10878// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
10879func (c *RDS) ModifyDBProxyTargetGroupRequest(input *ModifyDBProxyTargetGroupInput) (req *request.Request, output *ModifyDBProxyTargetGroupOutput) {
10880	op := &request.Operation{
10881		Name:       opModifyDBProxyTargetGroup,
10882		HTTPMethod: "POST",
10883		HTTPPath:   "/",
10884	}
10885
10886	if input == nil {
10887		input = &ModifyDBProxyTargetGroupInput{}
10888	}
10889
10890	output = &ModifyDBProxyTargetGroupOutput{}
10891	req = c.newRequest(op, input, output)
10892	return
10893}
10894
10895// ModifyDBProxyTargetGroup API operation for Amazon Relational Database Service.
10896//
10897// Modifies the properties of a DBProxyTargetGroup.
10898//
10899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10900// with awserr.Error's Code and Message methods to get detailed information about
10901// the error.
10902//
10903// See the AWS API reference guide for Amazon Relational Database Service's
10904// API operation ModifyDBProxyTargetGroup for usage and error information.
10905//
10906// Returned Error Codes:
10907//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
10908//   The specified proxy name doesn't correspond to a proxy owned by your AWS
10909//   accoutn in the specified AWS Region.
10910//
10911//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
10912//   The specified target group isn't available for a proxy owned by your AWS
10913//   account in the specified AWS Region.
10914//
10915//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
10916//   The requested operation can't be performed while the proxy is in this state.
10917//
10918// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
10919func (c *RDS) ModifyDBProxyTargetGroup(input *ModifyDBProxyTargetGroupInput) (*ModifyDBProxyTargetGroupOutput, error) {
10920	req, out := c.ModifyDBProxyTargetGroupRequest(input)
10921	return out, req.Send()
10922}
10923
10924// ModifyDBProxyTargetGroupWithContext is the same as ModifyDBProxyTargetGroup with the addition of
10925// the ability to pass a context and additional request options.
10926//
10927// See ModifyDBProxyTargetGroup for details on how to use this API operation.
10928//
10929// The context must be non-nil and will be used for request cancellation. If
10930// the context is nil a panic will occur. In the future the SDK may create
10931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10932// for more information on using Contexts.
10933func (c *RDS) ModifyDBProxyTargetGroupWithContext(ctx aws.Context, input *ModifyDBProxyTargetGroupInput, opts ...request.Option) (*ModifyDBProxyTargetGroupOutput, error) {
10934	req, out := c.ModifyDBProxyTargetGroupRequest(input)
10935	req.SetContext(ctx)
10936	req.ApplyOptions(opts...)
10937	return out, req.Send()
10938}
10939
10940const opModifyDBSnapshot = "ModifyDBSnapshot"
10941
10942// ModifyDBSnapshotRequest generates a "aws/request.Request" representing the
10943// client's request for the ModifyDBSnapshot operation. The "output" return
10944// value will be populated with the request's response once the request completes
10945// successfully.
10946//
10947// Use "Send" method on the returned Request to send the API call to the service.
10948// the "output" return value is not valid until after Send returns without error.
10949//
10950// See ModifyDBSnapshot for more information on using the ModifyDBSnapshot
10951// API call, and error handling.
10952//
10953// This method is useful when you want to inject custom logic or configuration
10954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10955//
10956//
10957//    // Example sending a request using the ModifyDBSnapshotRequest method.
10958//    req, resp := client.ModifyDBSnapshotRequest(params)
10959//
10960//    err := req.Send()
10961//    if err == nil { // resp is now filled
10962//        fmt.Println(resp)
10963//    }
10964//
10965// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
10966func (c *RDS) ModifyDBSnapshotRequest(input *ModifyDBSnapshotInput) (req *request.Request, output *ModifyDBSnapshotOutput) {
10967	op := &request.Operation{
10968		Name:       opModifyDBSnapshot,
10969		HTTPMethod: "POST",
10970		HTTPPath:   "/",
10971	}
10972
10973	if input == nil {
10974		input = &ModifyDBSnapshotInput{}
10975	}
10976
10977	output = &ModifyDBSnapshotOutput{}
10978	req = c.newRequest(op, input, output)
10979	return
10980}
10981
10982// ModifyDBSnapshot API operation for Amazon Relational Database Service.
10983//
10984// Updates a manual DB snapshot with a new engine version. The snapshot can
10985// be encrypted or unencrypted, but not shared or public.
10986//
10987// Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL.
10988//
10989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10990// with awserr.Error's Code and Message methods to get detailed information about
10991// the error.
10992//
10993// See the AWS API reference guide for Amazon Relational Database Service's
10994// API operation ModifyDBSnapshot for usage and error information.
10995//
10996// Returned Error Codes:
10997//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
10998//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
10999//
11000// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
11001func (c *RDS) ModifyDBSnapshot(input *ModifyDBSnapshotInput) (*ModifyDBSnapshotOutput, error) {
11002	req, out := c.ModifyDBSnapshotRequest(input)
11003	return out, req.Send()
11004}
11005
11006// ModifyDBSnapshotWithContext is the same as ModifyDBSnapshot with the addition of
11007// the ability to pass a context and additional request options.
11008//
11009// See ModifyDBSnapshot for details on how to use this API operation.
11010//
11011// The context must be non-nil and will be used for request cancellation. If
11012// the context is nil a panic will occur. In the future the SDK may create
11013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11014// for more information on using Contexts.
11015func (c *RDS) ModifyDBSnapshotWithContext(ctx aws.Context, input *ModifyDBSnapshotInput, opts ...request.Option) (*ModifyDBSnapshotOutput, error) {
11016	req, out := c.ModifyDBSnapshotRequest(input)
11017	req.SetContext(ctx)
11018	req.ApplyOptions(opts...)
11019	return out, req.Send()
11020}
11021
11022const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute"
11023
11024// ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the
11025// client's request for the ModifyDBSnapshotAttribute operation. The "output" return
11026// value will be populated with the request's response once the request completes
11027// successfully.
11028//
11029// Use "Send" method on the returned Request to send the API call to the service.
11030// the "output" return value is not valid until after Send returns without error.
11031//
11032// See ModifyDBSnapshotAttribute for more information on using the ModifyDBSnapshotAttribute
11033// API call, and error handling.
11034//
11035// This method is useful when you want to inject custom logic or configuration
11036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11037//
11038//
11039//    // Example sending a request using the ModifyDBSnapshotAttributeRequest method.
11040//    req, resp := client.ModifyDBSnapshotAttributeRequest(params)
11041//
11042//    err := req.Send()
11043//    if err == nil { // resp is now filled
11044//        fmt.Println(resp)
11045//    }
11046//
11047// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
11048func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeInput) (req *request.Request, output *ModifyDBSnapshotAttributeOutput) {
11049	op := &request.Operation{
11050		Name:       opModifyDBSnapshotAttribute,
11051		HTTPMethod: "POST",
11052		HTTPPath:   "/",
11053	}
11054
11055	if input == nil {
11056		input = &ModifyDBSnapshotAttributeInput{}
11057	}
11058
11059	output = &ModifyDBSnapshotAttributeOutput{}
11060	req = c.newRequest(op, input, output)
11061	return
11062}
11063
11064// ModifyDBSnapshotAttribute API operation for Amazon Relational Database Service.
11065//
11066// Adds an attribute and values to, or removes an attribute and values from,
11067// a manual DB snapshot.
11068//
11069// To share a manual DB snapshot with other AWS accounts, specify restore as
11070// the AttributeName and use the ValuesToAdd parameter to add a list of IDs
11071// of the AWS accounts that are authorized to restore the manual DB snapshot.
11072// Uses the value all to make the manual DB snapshot public, which means it
11073// can be copied or restored by all AWS accounts.
11074//
11075// Don't add the all value for any manual DB snapshots that contain private
11076// information that you don't want available to all AWS accounts.
11077//
11078// If the manual DB snapshot is encrypted, it can be shared, but only by specifying
11079// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't
11080// use all as a value for that parameter in this case.
11081//
11082// To view which AWS accounts have access to copy or restore a manual DB snapshot,
11083// or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes
11084// API action. The accounts are returned as values for the restore attribute.
11085//
11086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11087// with awserr.Error's Code and Message methods to get detailed information about
11088// the error.
11089//
11090// See the AWS API reference guide for Amazon Relational Database Service's
11091// API operation ModifyDBSnapshotAttribute for usage and error information.
11092//
11093// Returned Error Codes:
11094//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
11095//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
11096//
11097//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
11098//   The state of the DB snapshot doesn't allow deletion.
11099//
11100//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
11101//   You have exceeded the maximum number of accounts that you can share a manual
11102//   DB snapshot with.
11103//
11104// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
11105func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) (*ModifyDBSnapshotAttributeOutput, error) {
11106	req, out := c.ModifyDBSnapshotAttributeRequest(input)
11107	return out, req.Send()
11108}
11109
11110// ModifyDBSnapshotAttributeWithContext is the same as ModifyDBSnapshotAttribute with the addition of
11111// the ability to pass a context and additional request options.
11112//
11113// See ModifyDBSnapshotAttribute for details on how to use this API operation.
11114//
11115// The context must be non-nil and will be used for request cancellation. If
11116// the context is nil a panic will occur. In the future the SDK may create
11117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11118// for more information on using Contexts.
11119func (c *RDS) ModifyDBSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBSnapshotAttributeInput, opts ...request.Option) (*ModifyDBSnapshotAttributeOutput, error) {
11120	req, out := c.ModifyDBSnapshotAttributeRequest(input)
11121	req.SetContext(ctx)
11122	req.ApplyOptions(opts...)
11123	return out, req.Send()
11124}
11125
11126const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
11127
11128// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
11129// client's request for the ModifyDBSubnetGroup operation. The "output" return
11130// value will be populated with the request's response once the request completes
11131// successfully.
11132//
11133// Use "Send" method on the returned Request to send the API call to the service.
11134// the "output" return value is not valid until after Send returns without error.
11135//
11136// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
11137// API call, and error handling.
11138//
11139// This method is useful when you want to inject custom logic or configuration
11140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11141//
11142//
11143//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
11144//    req, resp := client.ModifyDBSubnetGroupRequest(params)
11145//
11146//    err := req.Send()
11147//    if err == nil { // resp is now filled
11148//        fmt.Println(resp)
11149//    }
11150//
11151// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
11152func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
11153	op := &request.Operation{
11154		Name:       opModifyDBSubnetGroup,
11155		HTTPMethod: "POST",
11156		HTTPPath:   "/",
11157	}
11158
11159	if input == nil {
11160		input = &ModifyDBSubnetGroupInput{}
11161	}
11162
11163	output = &ModifyDBSubnetGroupOutput{}
11164	req = c.newRequest(op, input, output)
11165	return
11166}
11167
11168// ModifyDBSubnetGroup API operation for Amazon Relational Database Service.
11169//
11170// Modifies an existing DB subnet group. DB subnet groups must contain at least
11171// one subnet in at least two AZs in the AWS Region.
11172//
11173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11174// with awserr.Error's Code and Message methods to get detailed information about
11175// the error.
11176//
11177// See the AWS API reference guide for Amazon Relational Database Service's
11178// API operation ModifyDBSubnetGroup for usage and error information.
11179//
11180// Returned Error Codes:
11181//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
11182//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
11183//
11184//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
11185//   The request would result in the user exceeding the allowed number of subnets
11186//   in a DB subnet groups.
11187//
11188//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
11189//   The DB subnet is already in use in the Availability Zone.
11190//
11191//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
11192//   Subnets in the DB subnet group should cover at least two Availability Zones
11193//   unless there is only one Availability Zone.
11194//
11195//   * ErrCodeInvalidSubnet "InvalidSubnet"
11196//   The requested subnet is invalid, or multiple subnets were requested that
11197//   are not all in a common VPC.
11198//
11199// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
11200func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
11201	req, out := c.ModifyDBSubnetGroupRequest(input)
11202	return out, req.Send()
11203}
11204
11205// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
11206// the ability to pass a context and additional request options.
11207//
11208// See ModifyDBSubnetGroup for details on how to use this API operation.
11209//
11210// The context must be non-nil and will be used for request cancellation. If
11211// the context is nil a panic will occur. In the future the SDK may create
11212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11213// for more information on using Contexts.
11214func (c *RDS) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
11215	req, out := c.ModifyDBSubnetGroupRequest(input)
11216	req.SetContext(ctx)
11217	req.ApplyOptions(opts...)
11218	return out, req.Send()
11219}
11220
11221const opModifyEventSubscription = "ModifyEventSubscription"
11222
11223// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
11224// client's request for the ModifyEventSubscription operation. The "output" return
11225// value will be populated with the request's response once the request completes
11226// successfully.
11227//
11228// Use "Send" method on the returned Request to send the API call to the service.
11229// the "output" return value is not valid until after Send returns without error.
11230//
11231// See ModifyEventSubscription for more information on using the ModifyEventSubscription
11232// API call, and error handling.
11233//
11234// This method is useful when you want to inject custom logic or configuration
11235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11236//
11237//
11238//    // Example sending a request using the ModifyEventSubscriptionRequest method.
11239//    req, resp := client.ModifyEventSubscriptionRequest(params)
11240//
11241//    err := req.Send()
11242//    if err == nil { // resp is now filled
11243//        fmt.Println(resp)
11244//    }
11245//
11246// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
11247func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
11248	op := &request.Operation{
11249		Name:       opModifyEventSubscription,
11250		HTTPMethod: "POST",
11251		HTTPPath:   "/",
11252	}
11253
11254	if input == nil {
11255		input = &ModifyEventSubscriptionInput{}
11256	}
11257
11258	output = &ModifyEventSubscriptionOutput{}
11259	req = c.newRequest(op, input, output)
11260	return
11261}
11262
11263// ModifyEventSubscription API operation for Amazon Relational Database Service.
11264//
11265// Modifies an existing RDS event notification subscription. You can't modify
11266// the source identifiers using this call. To change source identifiers for
11267// a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
11268// calls.
11269//
11270// You can see a list of the event categories for a given SourceType in the
11271// Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
11272// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
11273// action.
11274//
11275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11276// with awserr.Error's Code and Message methods to get detailed information about
11277// the error.
11278//
11279// See the AWS API reference guide for Amazon Relational Database Service's
11280// API operation ModifyEventSubscription for usage and error information.
11281//
11282// Returned Error Codes:
11283//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
11284//   You have reached the maximum number of event subscriptions.
11285//
11286//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
11287//   The subscription name does not exist.
11288//
11289//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
11290//   SNS has responded that there is a problem with the SND topic specified.
11291//
11292//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
11293//   You do not have permission to publish to the SNS topic ARN.
11294//
11295//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
11296//   The SNS topic ARN does not exist.
11297//
11298//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
11299//   The supplied category does not exist.
11300//
11301// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
11302func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
11303	req, out := c.ModifyEventSubscriptionRequest(input)
11304	return out, req.Send()
11305}
11306
11307// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
11308// the ability to pass a context and additional request options.
11309//
11310// See ModifyEventSubscription for details on how to use this API operation.
11311//
11312// The context must be non-nil and will be used for request cancellation. If
11313// the context is nil a panic will occur. In the future the SDK may create
11314// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11315// for more information on using Contexts.
11316func (c *RDS) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
11317	req, out := c.ModifyEventSubscriptionRequest(input)
11318	req.SetContext(ctx)
11319	req.ApplyOptions(opts...)
11320	return out, req.Send()
11321}
11322
11323const opModifyGlobalCluster = "ModifyGlobalCluster"
11324
11325// ModifyGlobalClusterRequest generates a "aws/request.Request" representing the
11326// client's request for the ModifyGlobalCluster operation. The "output" return
11327// value will be populated with the request's response once the request completes
11328// successfully.
11329//
11330// Use "Send" method on the returned Request to send the API call to the service.
11331// the "output" return value is not valid until after Send returns without error.
11332//
11333// See ModifyGlobalCluster for more information on using the ModifyGlobalCluster
11334// API call, and error handling.
11335//
11336// This method is useful when you want to inject custom logic or configuration
11337// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11338//
11339//
11340//    // Example sending a request using the ModifyGlobalClusterRequest method.
11341//    req, resp := client.ModifyGlobalClusterRequest(params)
11342//
11343//    err := req.Send()
11344//    if err == nil { // resp is now filled
11345//        fmt.Println(resp)
11346//    }
11347//
11348// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
11349func (c *RDS) ModifyGlobalClusterRequest(input *ModifyGlobalClusterInput) (req *request.Request, output *ModifyGlobalClusterOutput) {
11350	op := &request.Operation{
11351		Name:       opModifyGlobalCluster,
11352		HTTPMethod: "POST",
11353		HTTPPath:   "/",
11354	}
11355
11356	if input == nil {
11357		input = &ModifyGlobalClusterInput{}
11358	}
11359
11360	output = &ModifyGlobalClusterOutput{}
11361	req = c.newRequest(op, input, output)
11362	return
11363}
11364
11365// ModifyGlobalCluster API operation for Amazon Relational Database Service.
11366//
11367// Modify a setting for an Amazon Aurora global cluster. You can change one
11368// or more database configuration parameters by specifying these parameters
11369// and the new values in the request. For more information on Amazon Aurora,
11370// see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
11371// in the Amazon Aurora User Guide.
11372//
11373// This action only applies to Aurora DB clusters.
11374//
11375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11376// with awserr.Error's Code and Message methods to get detailed information about
11377// the error.
11378//
11379// See the AWS API reference guide for Amazon Relational Database Service's
11380// API operation ModifyGlobalCluster for usage and error information.
11381//
11382// Returned Error Codes:
11383//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
11384//
11385//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
11386//
11387// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
11388func (c *RDS) ModifyGlobalCluster(input *ModifyGlobalClusterInput) (*ModifyGlobalClusterOutput, error) {
11389	req, out := c.ModifyGlobalClusterRequest(input)
11390	return out, req.Send()
11391}
11392
11393// ModifyGlobalClusterWithContext is the same as ModifyGlobalCluster with the addition of
11394// the ability to pass a context and additional request options.
11395//
11396// See ModifyGlobalCluster for details on how to use this API operation.
11397//
11398// The context must be non-nil and will be used for request cancellation. If
11399// the context is nil a panic will occur. In the future the SDK may create
11400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11401// for more information on using Contexts.
11402func (c *RDS) ModifyGlobalClusterWithContext(ctx aws.Context, input *ModifyGlobalClusterInput, opts ...request.Option) (*ModifyGlobalClusterOutput, error) {
11403	req, out := c.ModifyGlobalClusterRequest(input)
11404	req.SetContext(ctx)
11405	req.ApplyOptions(opts...)
11406	return out, req.Send()
11407}
11408
11409const opModifyOptionGroup = "ModifyOptionGroup"
11410
11411// ModifyOptionGroupRequest generates a "aws/request.Request" representing the
11412// client's request for the ModifyOptionGroup operation. The "output" return
11413// value will be populated with the request's response once the request completes
11414// successfully.
11415//
11416// Use "Send" method on the returned Request to send the API call to the service.
11417// the "output" return value is not valid until after Send returns without error.
11418//
11419// See ModifyOptionGroup for more information on using the ModifyOptionGroup
11420// API call, and error handling.
11421//
11422// This method is useful when you want to inject custom logic or configuration
11423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11424//
11425//
11426//    // Example sending a request using the ModifyOptionGroupRequest method.
11427//    req, resp := client.ModifyOptionGroupRequest(params)
11428//
11429//    err := req.Send()
11430//    if err == nil { // resp is now filled
11431//        fmt.Println(resp)
11432//    }
11433//
11434// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
11435func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *request.Request, output *ModifyOptionGroupOutput) {
11436	op := &request.Operation{
11437		Name:       opModifyOptionGroup,
11438		HTTPMethod: "POST",
11439		HTTPPath:   "/",
11440	}
11441
11442	if input == nil {
11443		input = &ModifyOptionGroupInput{}
11444	}
11445
11446	output = &ModifyOptionGroupOutput{}
11447	req = c.newRequest(op, input, output)
11448	return
11449}
11450
11451// ModifyOptionGroup API operation for Amazon Relational Database Service.
11452//
11453// Modifies an existing option group.
11454//
11455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11456// with awserr.Error's Code and Message methods to get detailed information about
11457// the error.
11458//
11459// See the AWS API reference guide for Amazon Relational Database Service's
11460// API operation ModifyOptionGroup for usage and error information.
11461//
11462// Returned Error Codes:
11463//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
11464//   The option group isn't in the available state.
11465//
11466//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
11467//   The specified option group could not be found.
11468//
11469// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
11470func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGroupOutput, error) {
11471	req, out := c.ModifyOptionGroupRequest(input)
11472	return out, req.Send()
11473}
11474
11475// ModifyOptionGroupWithContext is the same as ModifyOptionGroup with the addition of
11476// the ability to pass a context and additional request options.
11477//
11478// See ModifyOptionGroup for details on how to use this API operation.
11479//
11480// The context must be non-nil and will be used for request cancellation. If
11481// the context is nil a panic will occur. In the future the SDK may create
11482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11483// for more information on using Contexts.
11484func (c *RDS) ModifyOptionGroupWithContext(ctx aws.Context, input *ModifyOptionGroupInput, opts ...request.Option) (*ModifyOptionGroupOutput, error) {
11485	req, out := c.ModifyOptionGroupRequest(input)
11486	req.SetContext(ctx)
11487	req.ApplyOptions(opts...)
11488	return out, req.Send()
11489}
11490
11491const opPromoteReadReplica = "PromoteReadReplica"
11492
11493// PromoteReadReplicaRequest generates a "aws/request.Request" representing the
11494// client's request for the PromoteReadReplica operation. The "output" return
11495// value will be populated with the request's response once the request completes
11496// successfully.
11497//
11498// Use "Send" method on the returned Request to send the API call to the service.
11499// the "output" return value is not valid until after Send returns without error.
11500//
11501// See PromoteReadReplica for more information on using the PromoteReadReplica
11502// API call, and error handling.
11503//
11504// This method is useful when you want to inject custom logic or configuration
11505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11506//
11507//
11508//    // Example sending a request using the PromoteReadReplicaRequest method.
11509//    req, resp := client.PromoteReadReplicaRequest(params)
11510//
11511//    err := req.Send()
11512//    if err == nil { // resp is now filled
11513//        fmt.Println(resp)
11514//    }
11515//
11516// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
11517func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *request.Request, output *PromoteReadReplicaOutput) {
11518	op := &request.Operation{
11519		Name:       opPromoteReadReplica,
11520		HTTPMethod: "POST",
11521		HTTPPath:   "/",
11522	}
11523
11524	if input == nil {
11525		input = &PromoteReadReplicaInput{}
11526	}
11527
11528	output = &PromoteReadReplicaOutput{}
11529	req = c.newRequest(op, input, output)
11530	return
11531}
11532
11533// PromoteReadReplica API operation for Amazon Relational Database Service.
11534//
11535// Promotes a read replica DB instance to a standalone DB instance.
11536//
11537//    * Backup duration is a function of the amount of changes to the database
11538//    since the previous backup. If you plan to promote a read replica to a
11539//    standalone instance, we recommend that you enable backups and complete
11540//    at least one backup prior to promotion. In addition, a read replica cannot
11541//    be promoted to a standalone instance when it is in the backing-up status.
11542//    If you have enabled backups on your read replica, configure the automated
11543//    backup window so that daily backups do not interfere with read replica
11544//    promotion.
11545//
11546//    * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
11547//
11548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11549// with awserr.Error's Code and Message methods to get detailed information about
11550// the error.
11551//
11552// See the AWS API reference guide for Amazon Relational Database Service's
11553// API operation PromoteReadReplica for usage and error information.
11554//
11555// Returned Error Codes:
11556//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11557//   The DB instance isn't in a valid state.
11558//
11559//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11560//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11561//
11562// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
11563func (c *RDS) PromoteReadReplica(input *PromoteReadReplicaInput) (*PromoteReadReplicaOutput, error) {
11564	req, out := c.PromoteReadReplicaRequest(input)
11565	return out, req.Send()
11566}
11567
11568// PromoteReadReplicaWithContext is the same as PromoteReadReplica with the addition of
11569// the ability to pass a context and additional request options.
11570//
11571// See PromoteReadReplica for details on how to use this API operation.
11572//
11573// The context must be non-nil and will be used for request cancellation. If
11574// the context is nil a panic will occur. In the future the SDK may create
11575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11576// for more information on using Contexts.
11577func (c *RDS) PromoteReadReplicaWithContext(ctx aws.Context, input *PromoteReadReplicaInput, opts ...request.Option) (*PromoteReadReplicaOutput, error) {
11578	req, out := c.PromoteReadReplicaRequest(input)
11579	req.SetContext(ctx)
11580	req.ApplyOptions(opts...)
11581	return out, req.Send()
11582}
11583
11584const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
11585
11586// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
11587// client's request for the PromoteReadReplicaDBCluster operation. The "output" return
11588// value will be populated with the request's response once the request completes
11589// successfully.
11590//
11591// Use "Send" method on the returned Request to send the API call to the service.
11592// the "output" return value is not valid until after Send returns without error.
11593//
11594// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
11595// API call, and error handling.
11596//
11597// This method is useful when you want to inject custom logic or configuration
11598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11599//
11600//
11601//    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
11602//    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
11603//
11604//    err := req.Send()
11605//    if err == nil { // resp is now filled
11606//        fmt.Println(resp)
11607//    }
11608//
11609// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
11610func (c *RDS) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
11611	op := &request.Operation{
11612		Name:       opPromoteReadReplicaDBCluster,
11613		HTTPMethod: "POST",
11614		HTTPPath:   "/",
11615	}
11616
11617	if input == nil {
11618		input = &PromoteReadReplicaDBClusterInput{}
11619	}
11620
11621	output = &PromoteReadReplicaDBClusterOutput{}
11622	req = c.newRequest(op, input, output)
11623	return
11624}
11625
11626// PromoteReadReplicaDBCluster API operation for Amazon Relational Database Service.
11627//
11628// Promotes a read replica DB cluster to a standalone DB cluster.
11629//
11630// This action only applies to Aurora DB clusters.
11631//
11632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11633// with awserr.Error's Code and Message methods to get detailed information about
11634// the error.
11635//
11636// See the AWS API reference guide for Amazon Relational Database Service's
11637// API operation PromoteReadReplicaDBCluster for usage and error information.
11638//
11639// Returned Error Codes:
11640//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11641//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11642//
11643//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11644//   The requested operation can't be performed while the cluster is in this state.
11645//
11646// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
11647func (c *RDS) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
11648	req, out := c.PromoteReadReplicaDBClusterRequest(input)
11649	return out, req.Send()
11650}
11651
11652// PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
11653// the ability to pass a context and additional request options.
11654//
11655// See PromoteReadReplicaDBCluster for details on how to use this API operation.
11656//
11657// The context must be non-nil and will be used for request cancellation. If
11658// the context is nil a panic will occur. In the future the SDK may create
11659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11660// for more information on using Contexts.
11661func (c *RDS) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
11662	req, out := c.PromoteReadReplicaDBClusterRequest(input)
11663	req.SetContext(ctx)
11664	req.ApplyOptions(opts...)
11665	return out, req.Send()
11666}
11667
11668const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOffering"
11669
11670// PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the
11671// client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return
11672// value will be populated with the request's response once the request completes
11673// successfully.
11674//
11675// Use "Send" method on the returned Request to send the API call to the service.
11676// the "output" return value is not valid until after Send returns without error.
11677//
11678// See PurchaseReservedDBInstancesOffering for more information on using the PurchaseReservedDBInstancesOffering
11679// API call, and error handling.
11680//
11681// This method is useful when you want to inject custom logic or configuration
11682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11683//
11684//
11685//    // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method.
11686//    req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params)
11687//
11688//    err := req.Send()
11689//    if err == nil { // resp is now filled
11690//        fmt.Println(resp)
11691//    }
11692//
11693// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
11694func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReservedDBInstancesOfferingInput) (req *request.Request, output *PurchaseReservedDBInstancesOfferingOutput) {
11695	op := &request.Operation{
11696		Name:       opPurchaseReservedDBInstancesOffering,
11697		HTTPMethod: "POST",
11698		HTTPPath:   "/",
11699	}
11700
11701	if input == nil {
11702		input = &PurchaseReservedDBInstancesOfferingInput{}
11703	}
11704
11705	output = &PurchaseReservedDBInstancesOfferingOutput{}
11706	req = c.newRequest(op, input, output)
11707	return
11708}
11709
11710// PurchaseReservedDBInstancesOffering API operation for Amazon Relational Database Service.
11711//
11712// Purchases a reserved DB instance offering.
11713//
11714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11715// with awserr.Error's Code and Message methods to get detailed information about
11716// the error.
11717//
11718// See the AWS API reference guide for Amazon Relational Database Service's
11719// API operation PurchaseReservedDBInstancesOffering for usage and error information.
11720//
11721// Returned Error Codes:
11722//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
11723//   Specified offering does not exist.
11724//
11725//   * ErrCodeReservedDBInstanceAlreadyExistsFault "ReservedDBInstanceAlreadyExists"
11726//   User already has a reservation with the given identifier.
11727//
11728//   * ErrCodeReservedDBInstanceQuotaExceededFault "ReservedDBInstanceQuotaExceeded"
11729//   Request would exceed the user's DB Instance quota.
11730//
11731// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
11732func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInstancesOfferingInput) (*PurchaseReservedDBInstancesOfferingOutput, error) {
11733	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
11734	return out, req.Send()
11735}
11736
11737// PurchaseReservedDBInstancesOfferingWithContext is the same as PurchaseReservedDBInstancesOffering with the addition of
11738// the ability to pass a context and additional request options.
11739//
11740// See PurchaseReservedDBInstancesOffering for details on how to use this API operation.
11741//
11742// The context must be non-nil and will be used for request cancellation. If
11743// the context is nil a panic will occur. In the future the SDK may create
11744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11745// for more information on using Contexts.
11746func (c *RDS) PurchaseReservedDBInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedDBInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedDBInstancesOfferingOutput, error) {
11747	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
11748	req.SetContext(ctx)
11749	req.ApplyOptions(opts...)
11750	return out, req.Send()
11751}
11752
11753const opRebootDBInstance = "RebootDBInstance"
11754
11755// RebootDBInstanceRequest generates a "aws/request.Request" representing the
11756// client's request for the RebootDBInstance operation. The "output" return
11757// value will be populated with the request's response once the request completes
11758// successfully.
11759//
11760// Use "Send" method on the returned Request to send the API call to the service.
11761// the "output" return value is not valid until after Send returns without error.
11762//
11763// See RebootDBInstance for more information on using the RebootDBInstance
11764// API call, and error handling.
11765//
11766// This method is useful when you want to inject custom logic or configuration
11767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11768//
11769//
11770//    // Example sending a request using the RebootDBInstanceRequest method.
11771//    req, resp := client.RebootDBInstanceRequest(params)
11772//
11773//    err := req.Send()
11774//    if err == nil { // resp is now filled
11775//        fmt.Println(resp)
11776//    }
11777//
11778// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
11779func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
11780	op := &request.Operation{
11781		Name:       opRebootDBInstance,
11782		HTTPMethod: "POST",
11783		HTTPPath:   "/",
11784	}
11785
11786	if input == nil {
11787		input = &RebootDBInstanceInput{}
11788	}
11789
11790	output = &RebootDBInstanceOutput{}
11791	req = c.newRequest(op, input, output)
11792	return
11793}
11794
11795// RebootDBInstance API operation for Amazon Relational Database Service.
11796//
11797// You might need to reboot your DB instance, usually for maintenance reasons.
11798// For example, if you make certain modifications, or if you change the DB parameter
11799// group associated with the DB instance, you must reboot the instance for the
11800// changes to take effect.
11801//
11802// Rebooting a DB instance restarts the database engine service. Rebooting a
11803// DB instance results in a momentary outage, during which the DB instance status
11804// is set to rebooting.
11805//
11806// For more information about rebooting, see Rebooting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html)
11807// in the Amazon RDS User Guide.
11808//
11809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11810// with awserr.Error's Code and Message methods to get detailed information about
11811// the error.
11812//
11813// See the AWS API reference guide for Amazon Relational Database Service's
11814// API operation RebootDBInstance for usage and error information.
11815//
11816// Returned Error Codes:
11817//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11818//   The DB instance isn't in a valid state.
11819//
11820//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11821//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11822//
11823// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
11824func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
11825	req, out := c.RebootDBInstanceRequest(input)
11826	return out, req.Send()
11827}
11828
11829// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
11830// the ability to pass a context and additional request options.
11831//
11832// See RebootDBInstance for details on how to use this API operation.
11833//
11834// The context must be non-nil and will be used for request cancellation. If
11835// the context is nil a panic will occur. In the future the SDK may create
11836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11837// for more information on using Contexts.
11838func (c *RDS) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
11839	req, out := c.RebootDBInstanceRequest(input)
11840	req.SetContext(ctx)
11841	req.ApplyOptions(opts...)
11842	return out, req.Send()
11843}
11844
11845const opRegisterDBProxyTargets = "RegisterDBProxyTargets"
11846
11847// RegisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
11848// client's request for the RegisterDBProxyTargets operation. The "output" return
11849// value will be populated with the request's response once the request completes
11850// successfully.
11851//
11852// Use "Send" method on the returned Request to send the API call to the service.
11853// the "output" return value is not valid until after Send returns without error.
11854//
11855// See RegisterDBProxyTargets for more information on using the RegisterDBProxyTargets
11856// API call, and error handling.
11857//
11858// This method is useful when you want to inject custom logic or configuration
11859// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11860//
11861//
11862//    // Example sending a request using the RegisterDBProxyTargetsRequest method.
11863//    req, resp := client.RegisterDBProxyTargetsRequest(params)
11864//
11865//    err := req.Send()
11866//    if err == nil { // resp is now filled
11867//        fmt.Println(resp)
11868//    }
11869//
11870// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
11871func (c *RDS) RegisterDBProxyTargetsRequest(input *RegisterDBProxyTargetsInput) (req *request.Request, output *RegisterDBProxyTargetsOutput) {
11872	op := &request.Operation{
11873		Name:       opRegisterDBProxyTargets,
11874		HTTPMethod: "POST",
11875		HTTPPath:   "/",
11876	}
11877
11878	if input == nil {
11879		input = &RegisterDBProxyTargetsInput{}
11880	}
11881
11882	output = &RegisterDBProxyTargetsOutput{}
11883	req = c.newRequest(op, input, output)
11884	return
11885}
11886
11887// RegisterDBProxyTargets API operation for Amazon Relational Database Service.
11888//
11889// Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup.
11890//
11891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11892// with awserr.Error's Code and Message methods to get detailed information about
11893// the error.
11894//
11895// See the AWS API reference guide for Amazon Relational Database Service's
11896// API operation RegisterDBProxyTargets for usage and error information.
11897//
11898// Returned Error Codes:
11899//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
11900//   The specified proxy name doesn't correspond to a proxy owned by your AWS
11901//   accoutn in the specified AWS Region.
11902//
11903//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
11904//   The specified target group isn't available for a proxy owned by your AWS
11905//   account in the specified AWS Region.
11906//
11907//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11908//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11909//
11910//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11911//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11912//
11913//   * ErrCodeDBProxyTargetAlreadyRegisteredFault "DBProxyTargetAlreadyRegisteredFault"
11914//   The proxy is already associated with the specified RDS DB instance or Aurora
11915//   DB cluster.
11916//
11917//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11918//   The DB instance isn't in a valid state.
11919//
11920//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11921//   The requested operation can't be performed while the cluster is in this state.
11922//
11923//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
11924//   The requested operation can't be performed while the proxy is in this state.
11925//
11926// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
11927func (c *RDS) RegisterDBProxyTargets(input *RegisterDBProxyTargetsInput) (*RegisterDBProxyTargetsOutput, error) {
11928	req, out := c.RegisterDBProxyTargetsRequest(input)
11929	return out, req.Send()
11930}
11931
11932// RegisterDBProxyTargetsWithContext is the same as RegisterDBProxyTargets with the addition of
11933// the ability to pass a context and additional request options.
11934//
11935// See RegisterDBProxyTargets for details on how to use this API operation.
11936//
11937// The context must be non-nil and will be used for request cancellation. If
11938// the context is nil a panic will occur. In the future the SDK may create
11939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11940// for more information on using Contexts.
11941func (c *RDS) RegisterDBProxyTargetsWithContext(ctx aws.Context, input *RegisterDBProxyTargetsInput, opts ...request.Option) (*RegisterDBProxyTargetsOutput, error) {
11942	req, out := c.RegisterDBProxyTargetsRequest(input)
11943	req.SetContext(ctx)
11944	req.ApplyOptions(opts...)
11945	return out, req.Send()
11946}
11947
11948const opRemoveFromGlobalCluster = "RemoveFromGlobalCluster"
11949
11950// RemoveFromGlobalClusterRequest generates a "aws/request.Request" representing the
11951// client's request for the RemoveFromGlobalCluster operation. The "output" return
11952// value will be populated with the request's response once the request completes
11953// successfully.
11954//
11955// Use "Send" method on the returned Request to send the API call to the service.
11956// the "output" return value is not valid until after Send returns without error.
11957//
11958// See RemoveFromGlobalCluster for more information on using the RemoveFromGlobalCluster
11959// API call, and error handling.
11960//
11961// This method is useful when you want to inject custom logic or configuration
11962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11963//
11964//
11965//    // Example sending a request using the RemoveFromGlobalClusterRequest method.
11966//    req, resp := client.RemoveFromGlobalClusterRequest(params)
11967//
11968//    err := req.Send()
11969//    if err == nil { // resp is now filled
11970//        fmt.Println(resp)
11971//    }
11972//
11973// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
11974func (c *RDS) RemoveFromGlobalClusterRequest(input *RemoveFromGlobalClusterInput) (req *request.Request, output *RemoveFromGlobalClusterOutput) {
11975	op := &request.Operation{
11976		Name:       opRemoveFromGlobalCluster,
11977		HTTPMethod: "POST",
11978		HTTPPath:   "/",
11979	}
11980
11981	if input == nil {
11982		input = &RemoveFromGlobalClusterInput{}
11983	}
11984
11985	output = &RemoveFromGlobalClusterOutput{}
11986	req = c.newRequest(op, input, output)
11987	return
11988}
11989
11990// RemoveFromGlobalCluster API operation for Amazon Relational Database Service.
11991//
11992// Detaches an Aurora secondary cluster from an Aurora global database cluster.
11993// The cluster becomes a standalone cluster with read-write capability instead
11994// of being read-only and receiving data from a primary cluster in a different
11995// region.
11996//
11997// This action only applies to Aurora DB clusters.
11998//
11999// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12000// with awserr.Error's Code and Message methods to get detailed information about
12001// the error.
12002//
12003// See the AWS API reference guide for Amazon Relational Database Service's
12004// API operation RemoveFromGlobalCluster for usage and error information.
12005//
12006// Returned Error Codes:
12007//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
12008//
12009//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
12010//
12011//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12012//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12013//
12014// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
12015func (c *RDS) RemoveFromGlobalCluster(input *RemoveFromGlobalClusterInput) (*RemoveFromGlobalClusterOutput, error) {
12016	req, out := c.RemoveFromGlobalClusterRequest(input)
12017	return out, req.Send()
12018}
12019
12020// RemoveFromGlobalClusterWithContext is the same as RemoveFromGlobalCluster with the addition of
12021// the ability to pass a context and additional request options.
12022//
12023// See RemoveFromGlobalCluster for details on how to use this API operation.
12024//
12025// The context must be non-nil and will be used for request cancellation. If
12026// the context is nil a panic will occur. In the future the SDK may create
12027// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12028// for more information on using Contexts.
12029func (c *RDS) RemoveFromGlobalClusterWithContext(ctx aws.Context, input *RemoveFromGlobalClusterInput, opts ...request.Option) (*RemoveFromGlobalClusterOutput, error) {
12030	req, out := c.RemoveFromGlobalClusterRequest(input)
12031	req.SetContext(ctx)
12032	req.ApplyOptions(opts...)
12033	return out, req.Send()
12034}
12035
12036const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
12037
12038// RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
12039// client's request for the RemoveRoleFromDBCluster operation. The "output" return
12040// value will be populated with the request's response once the request completes
12041// successfully.
12042//
12043// Use "Send" method on the returned Request to send the API call to the service.
12044// the "output" return value is not valid until after Send returns without error.
12045//
12046// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
12047// API call, and error handling.
12048//
12049// This method is useful when you want to inject custom logic or configuration
12050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12051//
12052//
12053//    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
12054//    req, resp := client.RemoveRoleFromDBClusterRequest(params)
12055//
12056//    err := req.Send()
12057//    if err == nil { // resp is now filled
12058//        fmt.Println(resp)
12059//    }
12060//
12061// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
12062func (c *RDS) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
12063	op := &request.Operation{
12064		Name:       opRemoveRoleFromDBCluster,
12065		HTTPMethod: "POST",
12066		HTTPPath:   "/",
12067	}
12068
12069	if input == nil {
12070		input = &RemoveRoleFromDBClusterInput{}
12071	}
12072
12073	output = &RemoveRoleFromDBClusterOutput{}
12074	req = c.newRequest(op, input, output)
12075	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12076	return
12077}
12078
12079// RemoveRoleFromDBCluster API operation for Amazon Relational Database Service.
12080//
12081// Disassociates an AWS Identity and Access Management (IAM) role from an Amazon
12082// Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL
12083// to Access Other AWS Services on Your Behalf (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html)
12084// in the Amazon Aurora User Guide.
12085//
12086// This action only applies to Aurora DB clusters.
12087//
12088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12089// with awserr.Error's Code and Message methods to get detailed information about
12090// the error.
12091//
12092// See the AWS API reference guide for Amazon Relational Database Service's
12093// API operation RemoveRoleFromDBCluster for usage and error information.
12094//
12095// Returned Error Codes:
12096//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12097//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12098//
12099//   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
12100//   The specified IAM role Amazon Resource Name (ARN) isn't associated with the
12101//   specified DB cluster.
12102//
12103//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12104//   The requested operation can't be performed while the cluster is in this state.
12105//
12106// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
12107func (c *RDS) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
12108	req, out := c.RemoveRoleFromDBClusterRequest(input)
12109	return out, req.Send()
12110}
12111
12112// RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
12113// the ability to pass a context and additional request options.
12114//
12115// See RemoveRoleFromDBCluster for details on how to use this API operation.
12116//
12117// The context must be non-nil and will be used for request cancellation. If
12118// the context is nil a panic will occur. In the future the SDK may create
12119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12120// for more information on using Contexts.
12121func (c *RDS) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
12122	req, out := c.RemoveRoleFromDBClusterRequest(input)
12123	req.SetContext(ctx)
12124	req.ApplyOptions(opts...)
12125	return out, req.Send()
12126}
12127
12128const opRemoveRoleFromDBInstance = "RemoveRoleFromDBInstance"
12129
12130// RemoveRoleFromDBInstanceRequest generates a "aws/request.Request" representing the
12131// client's request for the RemoveRoleFromDBInstance operation. The "output" return
12132// value will be populated with the request's response once the request completes
12133// successfully.
12134//
12135// Use "Send" method on the returned Request to send the API call to the service.
12136// the "output" return value is not valid until after Send returns without error.
12137//
12138// See RemoveRoleFromDBInstance for more information on using the RemoveRoleFromDBInstance
12139// API call, and error handling.
12140//
12141// This method is useful when you want to inject custom logic or configuration
12142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12143//
12144//
12145//    // Example sending a request using the RemoveRoleFromDBInstanceRequest method.
12146//    req, resp := client.RemoveRoleFromDBInstanceRequest(params)
12147//
12148//    err := req.Send()
12149//    if err == nil { // resp is now filled
12150//        fmt.Println(resp)
12151//    }
12152//
12153// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
12154func (c *RDS) RemoveRoleFromDBInstanceRequest(input *RemoveRoleFromDBInstanceInput) (req *request.Request, output *RemoveRoleFromDBInstanceOutput) {
12155	op := &request.Operation{
12156		Name:       opRemoveRoleFromDBInstance,
12157		HTTPMethod: "POST",
12158		HTTPPath:   "/",
12159	}
12160
12161	if input == nil {
12162		input = &RemoveRoleFromDBInstanceInput{}
12163	}
12164
12165	output = &RemoveRoleFromDBInstanceOutput{}
12166	req = c.newRequest(op, input, output)
12167	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12168	return
12169}
12170
12171// RemoveRoleFromDBInstance API operation for Amazon Relational Database Service.
12172//
12173// Disassociates an AWS Identity and Access Management (IAM) role from a DB
12174// instance.
12175//
12176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12177// with awserr.Error's Code and Message methods to get detailed information about
12178// the error.
12179//
12180// See the AWS API reference guide for Amazon Relational Database Service's
12181// API operation RemoveRoleFromDBInstance for usage and error information.
12182//
12183// Returned Error Codes:
12184//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
12185//   DBInstanceIdentifier doesn't refer to an existing DB instance.
12186//
12187//   * ErrCodeDBInstanceRoleNotFoundFault "DBInstanceRoleNotFound"
12188//   The specified RoleArn value doesn't match the specified feature for the DB
12189//   instance.
12190//
12191//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12192//   The DB instance isn't in a valid state.
12193//
12194// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
12195func (c *RDS) RemoveRoleFromDBInstance(input *RemoveRoleFromDBInstanceInput) (*RemoveRoleFromDBInstanceOutput, error) {
12196	req, out := c.RemoveRoleFromDBInstanceRequest(input)
12197	return out, req.Send()
12198}
12199
12200// RemoveRoleFromDBInstanceWithContext is the same as RemoveRoleFromDBInstance with the addition of
12201// the ability to pass a context and additional request options.
12202//
12203// See RemoveRoleFromDBInstance for details on how to use this API operation.
12204//
12205// The context must be non-nil and will be used for request cancellation. If
12206// the context is nil a panic will occur. In the future the SDK may create
12207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12208// for more information on using Contexts.
12209func (c *RDS) RemoveRoleFromDBInstanceWithContext(ctx aws.Context, input *RemoveRoleFromDBInstanceInput, opts ...request.Option) (*RemoveRoleFromDBInstanceOutput, error) {
12210	req, out := c.RemoveRoleFromDBInstanceRequest(input)
12211	req.SetContext(ctx)
12212	req.ApplyOptions(opts...)
12213	return out, req.Send()
12214}
12215
12216const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
12217
12218// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
12219// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
12220// value will be populated with the request's response once the request completes
12221// successfully.
12222//
12223// Use "Send" method on the returned Request to send the API call to the service.
12224// the "output" return value is not valid until after Send returns without error.
12225//
12226// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
12227// API call, and error handling.
12228//
12229// This method is useful when you want to inject custom logic or configuration
12230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12231//
12232//
12233//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
12234//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
12235//
12236//    err := req.Send()
12237//    if err == nil { // resp is now filled
12238//        fmt.Println(resp)
12239//    }
12240//
12241// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
12242func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
12243	op := &request.Operation{
12244		Name:       opRemoveSourceIdentifierFromSubscription,
12245		HTTPMethod: "POST",
12246		HTTPPath:   "/",
12247	}
12248
12249	if input == nil {
12250		input = &RemoveSourceIdentifierFromSubscriptionInput{}
12251	}
12252
12253	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
12254	req = c.newRequest(op, input, output)
12255	return
12256}
12257
12258// RemoveSourceIdentifierFromSubscription API operation for Amazon Relational Database Service.
12259//
12260// Removes a source identifier from an existing RDS event notification subscription.
12261//
12262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12263// with awserr.Error's Code and Message methods to get detailed information about
12264// the error.
12265//
12266// See the AWS API reference guide for Amazon Relational Database Service's
12267// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
12268//
12269// Returned Error Codes:
12270//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
12271//   The subscription name does not exist.
12272//
12273//   * ErrCodeSourceNotFoundFault "SourceNotFound"
12274//   The requested source could not be found.
12275//
12276// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
12277func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
12278	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
12279	return out, req.Send()
12280}
12281
12282// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
12283// the ability to pass a context and additional request options.
12284//
12285// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
12286//
12287// The context must be non-nil and will be used for request cancellation. If
12288// the context is nil a panic will occur. In the future the SDK may create
12289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12290// for more information on using Contexts.
12291func (c *RDS) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
12292	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
12293	req.SetContext(ctx)
12294	req.ApplyOptions(opts...)
12295	return out, req.Send()
12296}
12297
12298const opRemoveTagsFromResource = "RemoveTagsFromResource"
12299
12300// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
12301// client's request for the RemoveTagsFromResource operation. The "output" return
12302// value will be populated with the request's response once the request completes
12303// successfully.
12304//
12305// Use "Send" method on the returned Request to send the API call to the service.
12306// the "output" return value is not valid until after Send returns without error.
12307//
12308// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
12309// API call, and error handling.
12310//
12311// This method is useful when you want to inject custom logic or configuration
12312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12313//
12314//
12315//    // Example sending a request using the RemoveTagsFromResourceRequest method.
12316//    req, resp := client.RemoveTagsFromResourceRequest(params)
12317//
12318//    err := req.Send()
12319//    if err == nil { // resp is now filled
12320//        fmt.Println(resp)
12321//    }
12322//
12323// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
12324func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
12325	op := &request.Operation{
12326		Name:       opRemoveTagsFromResource,
12327		HTTPMethod: "POST",
12328		HTTPPath:   "/",
12329	}
12330
12331	if input == nil {
12332		input = &RemoveTagsFromResourceInput{}
12333	}
12334
12335	output = &RemoveTagsFromResourceOutput{}
12336	req = c.newRequest(op, input, output)
12337	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12338	return
12339}
12340
12341// RemoveTagsFromResource API operation for Amazon Relational Database Service.
12342//
12343// Removes metadata tags from an Amazon RDS resource.
12344//
12345// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
12346// Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
12347// in the Amazon RDS User Guide.
12348//
12349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12350// with awserr.Error's Code and Message methods to get detailed information about
12351// the error.
12352//
12353// See the AWS API reference guide for Amazon Relational Database Service's
12354// API operation RemoveTagsFromResource for usage and error information.
12355//
12356// Returned Error Codes:
12357//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
12358//   DBInstanceIdentifier doesn't refer to an existing DB instance.
12359//
12360//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
12361//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
12362//
12363//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12364//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12365//
12366//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
12367//   The specified proxy name doesn't correspond to a proxy owned by your AWS
12368//   accoutn in the specified AWS Region.
12369//
12370//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
12371//   The specified target group isn't available for a proxy owned by your AWS
12372//   account in the specified AWS Region.
12373//
12374// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
12375func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
12376	req, out := c.RemoveTagsFromResourceRequest(input)
12377	return out, req.Send()
12378}
12379
12380// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
12381// the ability to pass a context and additional request options.
12382//
12383// See RemoveTagsFromResource for details on how to use this API operation.
12384//
12385// The context must be non-nil and will be used for request cancellation. If
12386// the context is nil a panic will occur. In the future the SDK may create
12387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12388// for more information on using Contexts.
12389func (c *RDS) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
12390	req, out := c.RemoveTagsFromResourceRequest(input)
12391	req.SetContext(ctx)
12392	req.ApplyOptions(opts...)
12393	return out, req.Send()
12394}
12395
12396const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
12397
12398// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
12399// client's request for the ResetDBClusterParameterGroup operation. The "output" return
12400// value will be populated with the request's response once the request completes
12401// successfully.
12402//
12403// Use "Send" method on the returned Request to send the API call to the service.
12404// the "output" return value is not valid until after Send returns without error.
12405//
12406// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
12407// API call, and error handling.
12408//
12409// This method is useful when you want to inject custom logic or configuration
12410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12411//
12412//
12413//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
12414//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
12415//
12416//    err := req.Send()
12417//    if err == nil { // resp is now filled
12418//        fmt.Println(resp)
12419//    }
12420//
12421// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
12422func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
12423	op := &request.Operation{
12424		Name:       opResetDBClusterParameterGroup,
12425		HTTPMethod: "POST",
12426		HTTPPath:   "/",
12427	}
12428
12429	if input == nil {
12430		input = &ResetDBClusterParameterGroupInput{}
12431	}
12432
12433	output = &DBClusterParameterGroupNameMessage{}
12434	req = c.newRequest(op, input, output)
12435	return
12436}
12437
12438// ResetDBClusterParameterGroup API operation for Amazon Relational Database Service.
12439//
12440// Modifies the parameters of a DB cluster parameter group to the default value.
12441// To reset specific parameters submit a list of the following: ParameterName
12442// and ApplyMethod. To reset the entire DB cluster parameter group, specify
12443// the DBClusterParameterGroupName and ResetAllParameters parameters.
12444//
12445// When resetting the entire group, dynamic parameters are updated immediately
12446// and static parameters are set to pending-reboot to take effect on the next
12447// DB instance restart or RebootDBInstance request. You must call RebootDBInstance
12448// for every DB instance in your DB cluster that you want the updated static
12449// parameter to apply to.
12450//
12451// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
12452// in the Amazon Aurora User Guide.
12453//
12454// This action only applies to Aurora DB clusters.
12455//
12456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12457// with awserr.Error's Code and Message methods to get detailed information about
12458// the error.
12459//
12460// See the AWS API reference guide for Amazon Relational Database Service's
12461// API operation ResetDBClusterParameterGroup for usage and error information.
12462//
12463// Returned Error Codes:
12464//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
12465//   The DB parameter group is in use or is in an invalid state. If you are attempting
12466//   to delete the parameter group, you can't delete it when the parameter group
12467//   is in this state.
12468//
12469//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12470//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12471//
12472// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
12473func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
12474	req, out := c.ResetDBClusterParameterGroupRequest(input)
12475	return out, req.Send()
12476}
12477
12478// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
12479// the ability to pass a context and additional request options.
12480//
12481// See ResetDBClusterParameterGroup for details on how to use this API operation.
12482//
12483// The context must be non-nil and will be used for request cancellation. If
12484// the context is nil a panic will occur. In the future the SDK may create
12485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12486// for more information on using Contexts.
12487func (c *RDS) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
12488	req, out := c.ResetDBClusterParameterGroupRequest(input)
12489	req.SetContext(ctx)
12490	req.ApplyOptions(opts...)
12491	return out, req.Send()
12492}
12493
12494const opResetDBParameterGroup = "ResetDBParameterGroup"
12495
12496// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
12497// client's request for the ResetDBParameterGroup operation. The "output" return
12498// value will be populated with the request's response once the request completes
12499// successfully.
12500//
12501// Use "Send" method on the returned Request to send the API call to the service.
12502// the "output" return value is not valid until after Send returns without error.
12503//
12504// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
12505// API call, and error handling.
12506//
12507// This method is useful when you want to inject custom logic or configuration
12508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12509//
12510//
12511//    // Example sending a request using the ResetDBParameterGroupRequest method.
12512//    req, resp := client.ResetDBParameterGroupRequest(params)
12513//
12514//    err := req.Send()
12515//    if err == nil { // resp is now filled
12516//        fmt.Println(resp)
12517//    }
12518//
12519// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
12520func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
12521	op := &request.Operation{
12522		Name:       opResetDBParameterGroup,
12523		HTTPMethod: "POST",
12524		HTTPPath:   "/",
12525	}
12526
12527	if input == nil {
12528		input = &ResetDBParameterGroupInput{}
12529	}
12530
12531	output = &DBParameterGroupNameMessage{}
12532	req = c.newRequest(op, input, output)
12533	return
12534}
12535
12536// ResetDBParameterGroup API operation for Amazon Relational Database Service.
12537//
12538// Modifies the parameters of a DB parameter group to the engine/system default
12539// value. To reset specific parameters, provide a list of the following: ParameterName
12540// and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
12541// name and ResetAllParameters parameters. When resetting the entire group,
12542// dynamic parameters are updated immediately and static parameters are set
12543// to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
12544// request.
12545//
12546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12547// with awserr.Error's Code and Message methods to get detailed information about
12548// the error.
12549//
12550// See the AWS API reference guide for Amazon Relational Database Service's
12551// API operation ResetDBParameterGroup for usage and error information.
12552//
12553// Returned Error Codes:
12554//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
12555//   The DB parameter group is in use or is in an invalid state. If you are attempting
12556//   to delete the parameter group, you can't delete it when the parameter group
12557//   is in this state.
12558//
12559//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12560//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12561//
12562// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
12563func (c *RDS) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
12564	req, out := c.ResetDBParameterGroupRequest(input)
12565	return out, req.Send()
12566}
12567
12568// ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
12569// the ability to pass a context and additional request options.
12570//
12571// See ResetDBParameterGroup for details on how to use this API operation.
12572//
12573// The context must be non-nil and will be used for request cancellation. If
12574// the context is nil a panic will occur. In the future the SDK may create
12575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12576// for more information on using Contexts.
12577func (c *RDS) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
12578	req, out := c.ResetDBParameterGroupRequest(input)
12579	req.SetContext(ctx)
12580	req.ApplyOptions(opts...)
12581	return out, req.Send()
12582}
12583
12584const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3"
12585
12586// RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the
12587// client's request for the RestoreDBClusterFromS3 operation. The "output" return
12588// value will be populated with the request's response once the request completes
12589// successfully.
12590//
12591// Use "Send" method on the returned Request to send the API call to the service.
12592// the "output" return value is not valid until after Send returns without error.
12593//
12594// See RestoreDBClusterFromS3 for more information on using the RestoreDBClusterFromS3
12595// API call, and error handling.
12596//
12597// This method is useful when you want to inject custom logic or configuration
12598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12599//
12600//
12601//    // Example sending a request using the RestoreDBClusterFromS3Request method.
12602//    req, resp := client.RestoreDBClusterFromS3Request(params)
12603//
12604//    err := req.Send()
12605//    if err == nil { // resp is now filled
12606//        fmt.Println(resp)
12607//    }
12608//
12609// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
12610func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) (req *request.Request, output *RestoreDBClusterFromS3Output) {
12611	op := &request.Operation{
12612		Name:       opRestoreDBClusterFromS3,
12613		HTTPMethod: "POST",
12614		HTTPPath:   "/",
12615	}
12616
12617	if input == nil {
12618		input = &RestoreDBClusterFromS3Input{}
12619	}
12620
12621	output = &RestoreDBClusterFromS3Output{}
12622	req = c.newRequest(op, input, output)
12623	return
12624}
12625
12626// RestoreDBClusterFromS3 API operation for Amazon Relational Database Service.
12627//
12628// Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket.
12629// Amazon RDS must be authorized to access the Amazon S3 bucket and the data
12630// must be created using the Percona XtraBackup utility as described in Migrating
12631// Data to an Amazon Aurora MySQL DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
12632// in the Amazon Aurora User Guide.
12633//
12634// This action only restores the DB cluster, not the DB instances for that DB
12635// cluster. You must invoke the CreateDBInstance action to create DB instances
12636// for the restored DB cluster, specifying the identifier of the restored DB
12637// cluster in DBClusterIdentifier. You can create DB instances only after the
12638// RestoreDBClusterFromS3 action has completed and the DB cluster is available.
12639//
12640// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
12641// in the Amazon Aurora User Guide.
12642//
12643// This action only applies to Aurora DB clusters.
12644//
12645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12646// with awserr.Error's Code and Message methods to get detailed information about
12647// the error.
12648//
12649// See the AWS API reference guide for Amazon Relational Database Service's
12650// API operation RestoreDBClusterFromS3 for usage and error information.
12651//
12652// Returned Error Codes:
12653//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
12654//   The user already has a DB cluster with the given identifier.
12655//
12656//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
12657//   The user attempted to create a new DB cluster and the user has already reached
12658//   the maximum allowed DB cluster quota.
12659//
12660//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12661//   The request would result in the user exceeding the allowed amount of storage
12662//   available across all DB instances.
12663//
12664//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12665//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12666//
12667//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12668//   The DB subnet group doesn't cover all Availability Zones after it's created
12669//   because of users' change.
12670//
12671//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12672//   The requested operation can't be performed while the cluster is in this state.
12673//
12674//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
12675//   The DB subnet group cannot be deleted because it's in use.
12676//
12677//   * ErrCodeInvalidSubnet "InvalidSubnet"
12678//   The requested subnet is invalid, or multiple subnets were requested that
12679//   are not all in a common VPC.
12680//
12681//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
12682//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
12683//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
12684//   S3IngestionRoleArn values and try again.
12685//
12686//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
12687//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
12688//   group.
12689//
12690//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12691//   An error occurred accessing an AWS KMS key.
12692//
12693//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12694//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12695//
12696//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12697//   Domain doesn't refer to an existing Active Directory domain.
12698//
12699//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
12700//   There is insufficient storage available for the current action. You might
12701//   be able to resolve this error by updating your subnet group to use different
12702//   Availability Zones that have more storage available.
12703//
12704// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
12705func (c *RDS) RestoreDBClusterFromS3(input *RestoreDBClusterFromS3Input) (*RestoreDBClusterFromS3Output, error) {
12706	req, out := c.RestoreDBClusterFromS3Request(input)
12707	return out, req.Send()
12708}
12709
12710// RestoreDBClusterFromS3WithContext is the same as RestoreDBClusterFromS3 with the addition of
12711// the ability to pass a context and additional request options.
12712//
12713// See RestoreDBClusterFromS3 for details on how to use this API operation.
12714//
12715// The context must be non-nil and will be used for request cancellation. If
12716// the context is nil a panic will occur. In the future the SDK may create
12717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12718// for more information on using Contexts.
12719func (c *RDS) RestoreDBClusterFromS3WithContext(ctx aws.Context, input *RestoreDBClusterFromS3Input, opts ...request.Option) (*RestoreDBClusterFromS3Output, error) {
12720	req, out := c.RestoreDBClusterFromS3Request(input)
12721	req.SetContext(ctx)
12722	req.ApplyOptions(opts...)
12723	return out, req.Send()
12724}
12725
12726const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
12727
12728// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
12729// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
12730// value will be populated with the request's response once the request completes
12731// successfully.
12732//
12733// Use "Send" method on the returned Request to send the API call to the service.
12734// the "output" return value is not valid until after Send returns without error.
12735//
12736// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
12737// API call, and error handling.
12738//
12739// This method is useful when you want to inject custom logic or configuration
12740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12741//
12742//
12743//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
12744//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
12745//
12746//    err := req.Send()
12747//    if err == nil { // resp is now filled
12748//        fmt.Println(resp)
12749//    }
12750//
12751// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
12752func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
12753	op := &request.Operation{
12754		Name:       opRestoreDBClusterFromSnapshot,
12755		HTTPMethod: "POST",
12756		HTTPPath:   "/",
12757	}
12758
12759	if input == nil {
12760		input = &RestoreDBClusterFromSnapshotInput{}
12761	}
12762
12763	output = &RestoreDBClusterFromSnapshotOutput{}
12764	req = c.newRequest(op, input, output)
12765	return
12766}
12767
12768// RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service.
12769//
12770// Creates a new DB cluster from a DB snapshot or DB cluster snapshot. This
12771// action only applies to Aurora DB clusters.
12772//
12773// The target DB cluster is created from the source snapshot with a default
12774// configuration. If you don't specify a security group, the new DB cluster
12775// is associated with the default security group.
12776//
12777// This action only restores the DB cluster, not the DB instances for that DB
12778// cluster. You must invoke the CreateDBInstance action to create DB instances
12779// for the restored DB cluster, specifying the identifier of the restored DB
12780// cluster in DBClusterIdentifier. You can create DB instances only after the
12781// RestoreDBClusterFromSnapshot action has completed and the DB cluster is available.
12782//
12783// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
12784// in the Amazon Aurora User Guide.
12785//
12786// This action only applies to Aurora DB clusters.
12787//
12788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12789// with awserr.Error's Code and Message methods to get detailed information about
12790// the error.
12791//
12792// See the AWS API reference guide for Amazon Relational Database Service's
12793// API operation RestoreDBClusterFromSnapshot for usage and error information.
12794//
12795// Returned Error Codes:
12796//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
12797//   The user already has a DB cluster with the given identifier.
12798//
12799//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
12800//   The user attempted to create a new DB cluster and the user has already reached
12801//   the maximum allowed DB cluster quota.
12802//
12803//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12804//   The request would result in the user exceeding the allowed amount of storage
12805//   available across all DB instances.
12806//
12807//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12808//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12809//
12810//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
12811//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
12812//
12813//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
12814//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
12815//
12816//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
12817//   The DB cluster doesn't have enough capacity for the current operation.
12818//
12819//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
12820//   There is insufficient storage available for the current action. You might
12821//   be able to resolve this error by updating your subnet group to use different
12822//   Availability Zones that have more storage available.
12823//
12824//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
12825//   The state of the DB snapshot doesn't allow deletion.
12826//
12827//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
12828//   The supplied value isn't a valid DB cluster snapshot state.
12829//
12830//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12831//   The request would result in the user exceeding the allowed amount of storage
12832//   available across all DB instances.
12833//
12834//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12835//   The DB subnet group doesn't cover all Availability Zones after it's created
12836//   because of users' change.
12837//
12838//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12839//   Cannot restore from VPC backup to non-VPC DB instance.
12840//
12841//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12842//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12843//
12844//   * ErrCodeInvalidSubnet "InvalidSubnet"
12845//   The requested subnet is invalid, or multiple subnets were requested that
12846//   are not all in a common VPC.
12847//
12848//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12849//   The specified option group could not be found.
12850//
12851//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12852//   An error occurred accessing an AWS KMS key.
12853//
12854//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12855//   Domain doesn't refer to an existing Active Directory domain.
12856//
12857//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
12858//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
12859//   group.
12860//
12861// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
12862func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
12863	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
12864	return out, req.Send()
12865}
12866
12867// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
12868// the ability to pass a context and additional request options.
12869//
12870// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
12871//
12872// The context must be non-nil and will be used for request cancellation. If
12873// the context is nil a panic will occur. In the future the SDK may create
12874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12875// for more information on using Contexts.
12876func (c *RDS) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
12877	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
12878	req.SetContext(ctx)
12879	req.ApplyOptions(opts...)
12880	return out, req.Send()
12881}
12882
12883const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
12884
12885// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
12886// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
12887// value will be populated with the request's response once the request completes
12888// successfully.
12889//
12890// Use "Send" method on the returned Request to send the API call to the service.
12891// the "output" return value is not valid until after Send returns without error.
12892//
12893// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
12894// API call, and error handling.
12895//
12896// This method is useful when you want to inject custom logic or configuration
12897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12898//
12899//
12900//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
12901//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
12902//
12903//    err := req.Send()
12904//    if err == nil { // resp is now filled
12905//        fmt.Println(resp)
12906//    }
12907//
12908// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
12909func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
12910	op := &request.Operation{
12911		Name:       opRestoreDBClusterToPointInTime,
12912		HTTPMethod: "POST",
12913		HTTPPath:   "/",
12914	}
12915
12916	if input == nil {
12917		input = &RestoreDBClusterToPointInTimeInput{}
12918	}
12919
12920	output = &RestoreDBClusterToPointInTimeOutput{}
12921	req = c.newRequest(op, input, output)
12922	return
12923}
12924
12925// RestoreDBClusterToPointInTime API operation for Amazon Relational Database Service.
12926//
12927// Restores a DB cluster to an arbitrary point in time. Users can restore to
12928// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
12929// days. The target DB cluster is created from the source DB cluster with the
12930// same configuration as the original DB cluster, except that the new DB cluster
12931// is created with the default DB security group.
12932//
12933// This action only restores the DB cluster, not the DB instances for that DB
12934// cluster. You must invoke the CreateDBInstance action to create DB instances
12935// for the restored DB cluster, specifying the identifier of the restored DB
12936// cluster in DBClusterIdentifier. You can create DB instances only after the
12937// RestoreDBClusterToPointInTime action has completed and the DB cluster is
12938// available.
12939//
12940// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
12941// in the Amazon Aurora User Guide.
12942//
12943// This action only applies to Aurora DB clusters.
12944//
12945// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12946// with awserr.Error's Code and Message methods to get detailed information about
12947// the error.
12948//
12949// See the AWS API reference guide for Amazon Relational Database Service's
12950// API operation RestoreDBClusterToPointInTime for usage and error information.
12951//
12952// Returned Error Codes:
12953//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
12954//   The user already has a DB cluster with the given identifier.
12955//
12956//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12957//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12958//
12959//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
12960//   The user attempted to create a new DB cluster and the user has already reached
12961//   the maximum allowed DB cluster quota.
12962//
12963//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
12964//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
12965//
12966//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12967//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12968//
12969//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
12970//   The DB cluster doesn't have enough capacity for the current operation.
12971//
12972//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
12973//   There is insufficient storage available for the current action. You might
12974//   be able to resolve this error by updating your subnet group to use different
12975//   Availability Zones that have more storage available.
12976//
12977//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
12978//   The supplied value isn't a valid DB cluster snapshot state.
12979//
12980//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12981//   The requested operation can't be performed while the cluster is in this state.
12982//
12983//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
12984//   The state of the DB snapshot doesn't allow deletion.
12985//
12986//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12987//   Cannot restore from VPC backup to non-VPC DB instance.
12988//
12989//   * ErrCodeInvalidSubnet "InvalidSubnet"
12990//   The requested subnet is invalid, or multiple subnets were requested that
12991//   are not all in a common VPC.
12992//
12993//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12994//   The DB subnet group doesn't cover all Availability Zones after it's created
12995//   because of users' change.
12996//
12997//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12998//   An error occurred accessing an AWS KMS key.
12999//
13000//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
13001//   The specified option group could not be found.
13002//
13003//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
13004//   The request would result in the user exceeding the allowed amount of storage
13005//   available across all DB instances.
13006//
13007//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
13008//   Domain doesn't refer to an existing Active Directory domain.
13009//
13010//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
13011//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
13012//   group.
13013//
13014// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
13015func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
13016	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
13017	return out, req.Send()
13018}
13019
13020// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
13021// the ability to pass a context and additional request options.
13022//
13023// See RestoreDBClusterToPointInTime for details on how to use this API operation.
13024//
13025// The context must be non-nil and will be used for request cancellation. If
13026// the context is nil a panic will occur. In the future the SDK may create
13027// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13028// for more information on using Contexts.
13029func (c *RDS) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
13030	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
13031	req.SetContext(ctx)
13032	req.ApplyOptions(opts...)
13033	return out, req.Send()
13034}
13035
13036const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot"
13037
13038// RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the
13039// client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return
13040// value will be populated with the request's response once the request completes
13041// successfully.
13042//
13043// Use "Send" method on the returned Request to send the API call to the service.
13044// the "output" return value is not valid until after Send returns without error.
13045//
13046// See RestoreDBInstanceFromDBSnapshot for more information on using the RestoreDBInstanceFromDBSnapshot
13047// API call, and error handling.
13048//
13049// This method is useful when you want to inject custom logic or configuration
13050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13051//
13052//
13053//    // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method.
13054//    req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params)
13055//
13056//    err := req.Send()
13057//    if err == nil { // resp is now filled
13058//        fmt.Println(resp)
13059//    }
13060//
13061// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
13062func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFromDBSnapshotInput) (req *request.Request, output *RestoreDBInstanceFromDBSnapshotOutput) {
13063	op := &request.Operation{
13064		Name:       opRestoreDBInstanceFromDBSnapshot,
13065		HTTPMethod: "POST",
13066		HTTPPath:   "/",
13067	}
13068
13069	if input == nil {
13070		input = &RestoreDBInstanceFromDBSnapshotInput{}
13071	}
13072
13073	output = &RestoreDBInstanceFromDBSnapshotOutput{}
13074	req = c.newRequest(op, input, output)
13075	return
13076}
13077
13078// RestoreDBInstanceFromDBSnapshot API operation for Amazon Relational Database Service.
13079//
13080// Creates a new DB instance from a DB snapshot. The target database is created
13081// from the source database restore point with the most of original configuration
13082// with the default security group and the default DB parameter group. By default,
13083// the new DB instance is created as a single-AZ deployment except when the
13084// instance is a SQL Server instance that has an option group that is associated
13085// with mirroring; in this case, the instance becomes a mirrored AZ deployment
13086// and not a single-AZ deployment.
13087//
13088// If your intent is to replace your original DB instance with the new, restored
13089// DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot
13090// action. RDS doesn't allow two DB instances with the same name. Once you have
13091// renamed your original DB instance with a different identifier, then you can
13092// pass the original name of the DB instance as the DBInstanceIdentifier in
13093// the call to the RestoreDBInstanceFromDBSnapshot action. The result is that
13094// you will replace the original DB instance with the DB instance created from
13095// the snapshot.
13096//
13097// If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
13098// must be the ARN of the shared DB snapshot.
13099//
13100// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
13101// use RestoreDBClusterFromSnapshot.
13102//
13103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13104// with awserr.Error's Code and Message methods to get detailed information about
13105// the error.
13106//
13107// See the AWS API reference guide for Amazon Relational Database Service's
13108// API operation RestoreDBInstanceFromDBSnapshot for usage and error information.
13109//
13110// Returned Error Codes:
13111//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
13112//   The user already has a DB instance with the given identifier.
13113//
13114//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
13115//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
13116//
13117//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
13118//   The request would result in the user exceeding the allowed number of DB instances.
13119//
13120//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
13121//   The specified DB instance class isn't available in the specified Availability
13122//   Zone.
13123//
13124//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
13125//   The state of the DB snapshot doesn't allow deletion.
13126//
13127//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
13128//   The request would result in the user exceeding the allowed amount of storage
13129//   available across all DB instances.
13130//
13131//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13132//   The DB subnet group doesn't cover all Availability Zones after it's created
13133//   because of users' change.
13134//
13135//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
13136//   Cannot restore from VPC backup to non-VPC DB instance.
13137//
13138//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13139//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13140//
13141//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
13142//   Subnets in the DB subnet group should cover at least two Availability Zones
13143//   unless there is only one Availability Zone.
13144//
13145//   * ErrCodeInvalidSubnet "InvalidSubnet"
13146//   The requested subnet is invalid, or multiple subnets were requested that
13147//   are not all in a common VPC.
13148//
13149//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
13150//   Provisioned IOPS not available in the specified Availability Zone.
13151//
13152//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
13153//   The specified option group could not be found.
13154//
13155//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
13156//   Storage of the StorageType specified can't be associated with the DB instance.
13157//
13158//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
13159//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
13160//   for the specified DB security group.
13161//
13162//   Or, RDS might not be authorized to perform necessary actions using IAM on
13163//   your behalf.
13164//
13165//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13166//   An error occurred accessing an AWS KMS key.
13167//
13168//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
13169//   DBSecurityGroupName doesn't refer to an existing DB security group.
13170//
13171//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
13172//   Domain doesn't refer to an existing Active Directory domain.
13173//
13174//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
13175//   DBParameterGroupName doesn't refer to an existing DB parameter group.
13176//
13177//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
13178//
13179// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
13180func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
13181	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
13182	return out, req.Send()
13183}
13184
13185// RestoreDBInstanceFromDBSnapshotWithContext is the same as RestoreDBInstanceFromDBSnapshot with the addition of
13186// the ability to pass a context and additional request options.
13187//
13188// See RestoreDBInstanceFromDBSnapshot for details on how to use this API operation.
13189//
13190// The context must be non-nil and will be used for request cancellation. If
13191// the context is nil a panic will occur. In the future the SDK may create
13192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13193// for more information on using Contexts.
13194func (c *RDS) RestoreDBInstanceFromDBSnapshotWithContext(ctx aws.Context, input *RestoreDBInstanceFromDBSnapshotInput, opts ...request.Option) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
13195	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
13196	req.SetContext(ctx)
13197	req.ApplyOptions(opts...)
13198	return out, req.Send()
13199}
13200
13201const opRestoreDBInstanceFromS3 = "RestoreDBInstanceFromS3"
13202
13203// RestoreDBInstanceFromS3Request generates a "aws/request.Request" representing the
13204// client's request for the RestoreDBInstanceFromS3 operation. The "output" return
13205// value will be populated with the request's response once the request completes
13206// successfully.
13207//
13208// Use "Send" method on the returned Request to send the API call to the service.
13209// the "output" return value is not valid until after Send returns without error.
13210//
13211// See RestoreDBInstanceFromS3 for more information on using the RestoreDBInstanceFromS3
13212// API call, and error handling.
13213//
13214// This method is useful when you want to inject custom logic or configuration
13215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13216//
13217//
13218//    // Example sending a request using the RestoreDBInstanceFromS3Request method.
13219//    req, resp := client.RestoreDBInstanceFromS3Request(params)
13220//
13221//    err := req.Send()
13222//    if err == nil { // resp is now filled
13223//        fmt.Println(resp)
13224//    }
13225//
13226// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
13227func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input) (req *request.Request, output *RestoreDBInstanceFromS3Output) {
13228	op := &request.Operation{
13229		Name:       opRestoreDBInstanceFromS3,
13230		HTTPMethod: "POST",
13231		HTTPPath:   "/",
13232	}
13233
13234	if input == nil {
13235		input = &RestoreDBInstanceFromS3Input{}
13236	}
13237
13238	output = &RestoreDBInstanceFromS3Output{}
13239	req = c.newRequest(op, input, output)
13240	return
13241}
13242
13243// RestoreDBInstanceFromS3 API operation for Amazon Relational Database Service.
13244//
13245// Amazon Relational Database Service (Amazon RDS) supports importing MySQL
13246// databases by using backup files. You can create a backup of your on-premises
13247// database, store it on Amazon Simple Storage Service (Amazon S3), and then
13248// restore the backup file onto a new Amazon RDS DB instance running MySQL.
13249// For more information, see Importing Data into an Amazon RDS MySQL DB Instance
13250// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html)
13251// in the Amazon RDS User Guide.
13252//
13253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13254// with awserr.Error's Code and Message methods to get detailed information about
13255// the error.
13256//
13257// See the AWS API reference guide for Amazon Relational Database Service's
13258// API operation RestoreDBInstanceFromS3 for usage and error information.
13259//
13260// Returned Error Codes:
13261//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
13262//   The user already has a DB instance with the given identifier.
13263//
13264//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
13265//   The specified DB instance class isn't available in the specified Availability
13266//   Zone.
13267//
13268//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
13269//   DBParameterGroupName doesn't refer to an existing DB parameter group.
13270//
13271//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
13272//   DBSecurityGroupName doesn't refer to an existing DB security group.
13273//
13274//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
13275//   The request would result in the user exceeding the allowed number of DB instances.
13276//
13277//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
13278//   The request would result in the user exceeding the allowed amount of storage
13279//   available across all DB instances.
13280//
13281//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13282//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13283//
13284//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
13285//   Subnets in the DB subnet group should cover at least two Availability Zones
13286//   unless there is only one Availability Zone.
13287//
13288//   * ErrCodeInvalidSubnet "InvalidSubnet"
13289//   The requested subnet is invalid, or multiple subnets were requested that
13290//   are not all in a common VPC.
13291//
13292//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13293//   The DB subnet group doesn't cover all Availability Zones after it's created
13294//   because of users' change.
13295//
13296//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
13297//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
13298//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
13299//   S3IngestionRoleArn values and try again.
13300//
13301//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
13302//   Provisioned IOPS not available in the specified Availability Zone.
13303//
13304//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
13305//   The specified option group could not be found.
13306//
13307//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
13308//   Storage of the StorageType specified can't be associated with the DB instance.
13309//
13310//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
13311//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
13312//   for the specified DB security group.
13313//
13314//   Or, RDS might not be authorized to perform necessary actions using IAM on
13315//   your behalf.
13316//
13317//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13318//   An error occurred accessing an AWS KMS key.
13319//
13320//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
13321//
13322// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
13323func (c *RDS) RestoreDBInstanceFromS3(input *RestoreDBInstanceFromS3Input) (*RestoreDBInstanceFromS3Output, error) {
13324	req, out := c.RestoreDBInstanceFromS3Request(input)
13325	return out, req.Send()
13326}
13327
13328// RestoreDBInstanceFromS3WithContext is the same as RestoreDBInstanceFromS3 with the addition of
13329// the ability to pass a context and additional request options.
13330//
13331// See RestoreDBInstanceFromS3 for details on how to use this API operation.
13332//
13333// The context must be non-nil and will be used for request cancellation. If
13334// the context is nil a panic will occur. In the future the SDK may create
13335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13336// for more information on using Contexts.
13337func (c *RDS) RestoreDBInstanceFromS3WithContext(ctx aws.Context, input *RestoreDBInstanceFromS3Input, opts ...request.Option) (*RestoreDBInstanceFromS3Output, error) {
13338	req, out := c.RestoreDBInstanceFromS3Request(input)
13339	req.SetContext(ctx)
13340	req.ApplyOptions(opts...)
13341	return out, req.Send()
13342}
13343
13344const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime"
13345
13346// RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the
13347// client's request for the RestoreDBInstanceToPointInTime operation. The "output" return
13348// value will be populated with the request's response once the request completes
13349// successfully.
13350//
13351// Use "Send" method on the returned Request to send the API call to the service.
13352// the "output" return value is not valid until after Send returns without error.
13353//
13354// See RestoreDBInstanceToPointInTime for more information on using the RestoreDBInstanceToPointInTime
13355// API call, and error handling.
13356//
13357// This method is useful when you want to inject custom logic or configuration
13358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13359//
13360//
13361//    // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method.
13362//    req, resp := client.RestoreDBInstanceToPointInTimeRequest(params)
13363//
13364//    err := req.Send()
13365//    if err == nil { // resp is now filled
13366//        fmt.Println(resp)
13367//    }
13368//
13369// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
13370func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPointInTimeInput) (req *request.Request, output *RestoreDBInstanceToPointInTimeOutput) {
13371	op := &request.Operation{
13372		Name:       opRestoreDBInstanceToPointInTime,
13373		HTTPMethod: "POST",
13374		HTTPPath:   "/",
13375	}
13376
13377	if input == nil {
13378		input = &RestoreDBInstanceToPointInTimeInput{}
13379	}
13380
13381	output = &RestoreDBInstanceToPointInTimeOutput{}
13382	req = c.newRequest(op, input, output)
13383	return
13384}
13385
13386// RestoreDBInstanceToPointInTime API operation for Amazon Relational Database Service.
13387//
13388// Restores a DB instance to an arbitrary point in time. You can restore to
13389// any point in time before the time identified by the LatestRestorableTime
13390// property. You can restore to a point up to the number of days specified by
13391// the BackupRetentionPeriod property.
13392//
13393// The target database is created with most of the original configuration, but
13394// in a system-selected Availability Zone, with the default security group,
13395// the default subnet group, and the default DB parameter group. By default,
13396// the new DB instance is created as a single-AZ deployment except when the
13397// instance is a SQL Server instance that has an option group that is associated
13398// with mirroring; in this case, the instance becomes a mirrored deployment
13399// and not a single-AZ deployment.
13400//
13401// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
13402// use RestoreDBClusterToPointInTime.
13403//
13404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13405// with awserr.Error's Code and Message methods to get detailed information about
13406// the error.
13407//
13408// See the AWS API reference guide for Amazon Relational Database Service's
13409// API operation RestoreDBInstanceToPointInTime for usage and error information.
13410//
13411// Returned Error Codes:
13412//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
13413//   The user already has a DB instance with the given identifier.
13414//
13415//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13416//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13417//
13418//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
13419//   The request would result in the user exceeding the allowed number of DB instances.
13420//
13421//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
13422//   The specified DB instance class isn't available in the specified Availability
13423//   Zone.
13424//
13425//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13426//   The DB instance isn't in a valid state.
13427//
13428//   * ErrCodePointInTimeRestoreNotEnabledFault "PointInTimeRestoreNotEnabled"
13429//   SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod
13430//   equal to 0.
13431//
13432//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
13433//   The request would result in the user exceeding the allowed amount of storage
13434//   available across all DB instances.
13435//
13436//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13437//   The DB subnet group doesn't cover all Availability Zones after it's created
13438//   because of users' change.
13439//
13440//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
13441//   Cannot restore from VPC backup to non-VPC DB instance.
13442//
13443//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13444//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13445//
13446//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
13447//   Subnets in the DB subnet group should cover at least two Availability Zones
13448//   unless there is only one Availability Zone.
13449//
13450//   * ErrCodeInvalidSubnet "InvalidSubnet"
13451//   The requested subnet is invalid, or multiple subnets were requested that
13452//   are not all in a common VPC.
13453//
13454//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
13455//   Provisioned IOPS not available in the specified Availability Zone.
13456//
13457//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
13458//   The specified option group could not be found.
13459//
13460//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
13461//   Storage of the StorageType specified can't be associated with the DB instance.
13462//
13463//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
13464//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
13465//   for the specified DB security group.
13466//
13467//   Or, RDS might not be authorized to perform necessary actions using IAM on
13468//   your behalf.
13469//
13470//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13471//   An error occurred accessing an AWS KMS key.
13472//
13473//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
13474//   DBSecurityGroupName doesn't refer to an existing DB security group.
13475//
13476//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
13477//   Domain doesn't refer to an existing Active Directory domain.
13478//
13479//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
13480//
13481//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
13482//   DBParameterGroupName doesn't refer to an existing DB parameter group.
13483//
13484//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
13485//   No automated backup for this DB instance was found.
13486//
13487// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
13488func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) {
13489	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
13490	return out, req.Send()
13491}
13492
13493// RestoreDBInstanceToPointInTimeWithContext is the same as RestoreDBInstanceToPointInTime with the addition of
13494// the ability to pass a context and additional request options.
13495//
13496// See RestoreDBInstanceToPointInTime for details on how to use this API operation.
13497//
13498// The context must be non-nil and will be used for request cancellation. If
13499// the context is nil a panic will occur. In the future the SDK may create
13500// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13501// for more information on using Contexts.
13502func (c *RDS) RestoreDBInstanceToPointInTimeWithContext(ctx aws.Context, input *RestoreDBInstanceToPointInTimeInput, opts ...request.Option) (*RestoreDBInstanceToPointInTimeOutput, error) {
13503	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
13504	req.SetContext(ctx)
13505	req.ApplyOptions(opts...)
13506	return out, req.Send()
13507}
13508
13509const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress"
13510
13511// RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
13512// client's request for the RevokeDBSecurityGroupIngress operation. The "output" return
13513// value will be populated with the request's response once the request completes
13514// successfully.
13515//
13516// Use "Send" method on the returned Request to send the API call to the service.
13517// the "output" return value is not valid until after Send returns without error.
13518//
13519// See RevokeDBSecurityGroupIngress for more information on using the RevokeDBSecurityGroupIngress
13520// API call, and error handling.
13521//
13522// This method is useful when you want to inject custom logic or configuration
13523// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13524//
13525//
13526//    // Example sending a request using the RevokeDBSecurityGroupIngressRequest method.
13527//    req, resp := client.RevokeDBSecurityGroupIngressRequest(params)
13528//
13529//    err := req.Send()
13530//    if err == nil { // resp is now filled
13531//        fmt.Println(resp)
13532//    }
13533//
13534// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
13535func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIngressInput) (req *request.Request, output *RevokeDBSecurityGroupIngressOutput) {
13536	op := &request.Operation{
13537		Name:       opRevokeDBSecurityGroupIngress,
13538		HTTPMethod: "POST",
13539		HTTPPath:   "/",
13540	}
13541
13542	if input == nil {
13543		input = &RevokeDBSecurityGroupIngressInput{}
13544	}
13545
13546	output = &RevokeDBSecurityGroupIngressOutput{}
13547	req = c.newRequest(op, input, output)
13548	return
13549}
13550
13551// RevokeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
13552//
13553// Revokes ingress from a DBSecurityGroup for previously authorized IP ranges
13554// or EC2 or VPC Security Groups. Required parameters for this API are one of
13555// CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
13556// EC2SecurityGroupName or EC2SecurityGroupId).
13557//
13558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13559// with awserr.Error's Code and Message methods to get detailed information about
13560// the error.
13561//
13562// See the AWS API reference guide for Amazon Relational Database Service's
13563// API operation RevokeDBSecurityGroupIngress for usage and error information.
13564//
13565// Returned Error Codes:
13566//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
13567//   DBSecurityGroupName doesn't refer to an existing DB security group.
13568//
13569//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
13570//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
13571//   for the specified DB security group.
13572//
13573//   Or, RDS might not be authorized to perform necessary actions using IAM on
13574//   your behalf.
13575//
13576//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
13577//   The state of the DB security group doesn't allow deletion.
13578//
13579// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
13580func (c *RDS) RevokeDBSecurityGroupIngress(input *RevokeDBSecurityGroupIngressInput) (*RevokeDBSecurityGroupIngressOutput, error) {
13581	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
13582	return out, req.Send()
13583}
13584
13585// RevokeDBSecurityGroupIngressWithContext is the same as RevokeDBSecurityGroupIngress with the addition of
13586// the ability to pass a context and additional request options.
13587//
13588// See RevokeDBSecurityGroupIngress for details on how to use this API operation.
13589//
13590// The context must be non-nil and will be used for request cancellation. If
13591// the context is nil a panic will occur. In the future the SDK may create
13592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13593// for more information on using Contexts.
13594func (c *RDS) RevokeDBSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeDBSecurityGroupIngressInput, opts ...request.Option) (*RevokeDBSecurityGroupIngressOutput, error) {
13595	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
13596	req.SetContext(ctx)
13597	req.ApplyOptions(opts...)
13598	return out, req.Send()
13599}
13600
13601const opStartActivityStream = "StartActivityStream"
13602
13603// StartActivityStreamRequest generates a "aws/request.Request" representing the
13604// client's request for the StartActivityStream operation. The "output" return
13605// value will be populated with the request's response once the request completes
13606// successfully.
13607//
13608// Use "Send" method on the returned Request to send the API call to the service.
13609// the "output" return value is not valid until after Send returns without error.
13610//
13611// See StartActivityStream for more information on using the StartActivityStream
13612// API call, and error handling.
13613//
13614// This method is useful when you want to inject custom logic or configuration
13615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13616//
13617//
13618//    // Example sending a request using the StartActivityStreamRequest method.
13619//    req, resp := client.StartActivityStreamRequest(params)
13620//
13621//    err := req.Send()
13622//    if err == nil { // resp is now filled
13623//        fmt.Println(resp)
13624//    }
13625//
13626// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
13627func (c *RDS) StartActivityStreamRequest(input *StartActivityStreamInput) (req *request.Request, output *StartActivityStreamOutput) {
13628	op := &request.Operation{
13629		Name:       opStartActivityStream,
13630		HTTPMethod: "POST",
13631		HTTPPath:   "/",
13632	}
13633
13634	if input == nil {
13635		input = &StartActivityStreamInput{}
13636	}
13637
13638	output = &StartActivityStreamOutput{}
13639	req = c.newRequest(op, input, output)
13640	return
13641}
13642
13643// StartActivityStream API operation for Amazon Relational Database Service.
13644//
13645// Starts a database activity stream to monitor activity on the database. For
13646// more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
13647// in the Amazon Aurora User Guide.
13648//
13649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13650// with awserr.Error's Code and Message methods to get detailed information about
13651// the error.
13652//
13653// See the AWS API reference guide for Amazon Relational Database Service's
13654// API operation StartActivityStream for usage and error information.
13655//
13656// Returned Error Codes:
13657//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13658//   The DB instance isn't in a valid state.
13659//
13660//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13661//   The requested operation can't be performed while the cluster is in this state.
13662//
13663//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
13664//   The specified resource ID was not found.
13665//
13666//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13667//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13668//
13669//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13670//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13671//
13672//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13673//   An error occurred accessing an AWS KMS key.
13674//
13675// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
13676func (c *RDS) StartActivityStream(input *StartActivityStreamInput) (*StartActivityStreamOutput, error) {
13677	req, out := c.StartActivityStreamRequest(input)
13678	return out, req.Send()
13679}
13680
13681// StartActivityStreamWithContext is the same as StartActivityStream with the addition of
13682// the ability to pass a context and additional request options.
13683//
13684// See StartActivityStream for details on how to use this API operation.
13685//
13686// The context must be non-nil and will be used for request cancellation. If
13687// the context is nil a panic will occur. In the future the SDK may create
13688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13689// for more information on using Contexts.
13690func (c *RDS) StartActivityStreamWithContext(ctx aws.Context, input *StartActivityStreamInput, opts ...request.Option) (*StartActivityStreamOutput, error) {
13691	req, out := c.StartActivityStreamRequest(input)
13692	req.SetContext(ctx)
13693	req.ApplyOptions(opts...)
13694	return out, req.Send()
13695}
13696
13697const opStartDBCluster = "StartDBCluster"
13698
13699// StartDBClusterRequest generates a "aws/request.Request" representing the
13700// client's request for the StartDBCluster operation. The "output" return
13701// value will be populated with the request's response once the request completes
13702// successfully.
13703//
13704// Use "Send" method on the returned Request to send the API call to the service.
13705// the "output" return value is not valid until after Send returns without error.
13706//
13707// See StartDBCluster for more information on using the StartDBCluster
13708// API call, and error handling.
13709//
13710// This method is useful when you want to inject custom logic or configuration
13711// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13712//
13713//
13714//    // Example sending a request using the StartDBClusterRequest method.
13715//    req, resp := client.StartDBClusterRequest(params)
13716//
13717//    err := req.Send()
13718//    if err == nil { // resp is now filled
13719//        fmt.Println(resp)
13720//    }
13721//
13722// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
13723func (c *RDS) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
13724	op := &request.Operation{
13725		Name:       opStartDBCluster,
13726		HTTPMethod: "POST",
13727		HTTPPath:   "/",
13728	}
13729
13730	if input == nil {
13731		input = &StartDBClusterInput{}
13732	}
13733
13734	output = &StartDBClusterOutput{}
13735	req = c.newRequest(op, input, output)
13736	return
13737}
13738
13739// StartDBCluster API operation for Amazon Relational Database Service.
13740//
13741// Starts an Amazon Aurora DB cluster that was stopped using the AWS console,
13742// the stop-db-cluster AWS CLI command, or the StopDBCluster action.
13743//
13744// For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
13745// in the Amazon Aurora User Guide.
13746//
13747// This action only applies to Aurora DB clusters.
13748//
13749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13750// with awserr.Error's Code and Message methods to get detailed information about
13751// the error.
13752//
13753// See the AWS API reference guide for Amazon Relational Database Service's
13754// API operation StartDBCluster for usage and error information.
13755//
13756// Returned Error Codes:
13757//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13758//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13759//
13760//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13761//   The requested operation can't be performed while the cluster is in this state.
13762//
13763//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13764//   The DB instance isn't in a valid state.
13765//
13766// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
13767func (c *RDS) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
13768	req, out := c.StartDBClusterRequest(input)
13769	return out, req.Send()
13770}
13771
13772// StartDBClusterWithContext is the same as StartDBCluster with the addition of
13773// the ability to pass a context and additional request options.
13774//
13775// See StartDBCluster for details on how to use this API operation.
13776//
13777// The context must be non-nil and will be used for request cancellation. If
13778// the context is nil a panic will occur. In the future the SDK may create
13779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13780// for more information on using Contexts.
13781func (c *RDS) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
13782	req, out := c.StartDBClusterRequest(input)
13783	req.SetContext(ctx)
13784	req.ApplyOptions(opts...)
13785	return out, req.Send()
13786}
13787
13788const opStartDBInstance = "StartDBInstance"
13789
13790// StartDBInstanceRequest generates a "aws/request.Request" representing the
13791// client's request for the StartDBInstance operation. The "output" return
13792// value will be populated with the request's response once the request completes
13793// successfully.
13794//
13795// Use "Send" method on the returned Request to send the API call to the service.
13796// the "output" return value is not valid until after Send returns without error.
13797//
13798// See StartDBInstance for more information on using the StartDBInstance
13799// API call, and error handling.
13800//
13801// This method is useful when you want to inject custom logic or configuration
13802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13803//
13804//
13805//    // Example sending a request using the StartDBInstanceRequest method.
13806//    req, resp := client.StartDBInstanceRequest(params)
13807//
13808//    err := req.Send()
13809//    if err == nil { // resp is now filled
13810//        fmt.Println(resp)
13811//    }
13812//
13813// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
13814func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request.Request, output *StartDBInstanceOutput) {
13815	op := &request.Operation{
13816		Name:       opStartDBInstance,
13817		HTTPMethod: "POST",
13818		HTTPPath:   "/",
13819	}
13820
13821	if input == nil {
13822		input = &StartDBInstanceInput{}
13823	}
13824
13825	output = &StartDBInstanceOutput{}
13826	req = c.newRequest(op, input, output)
13827	return
13828}
13829
13830// StartDBInstance API operation for Amazon Relational Database Service.
13831//
13832// Starts an Amazon RDS DB instance that was stopped using the AWS console,
13833// the stop-db-instance AWS CLI command, or the StopDBInstance action.
13834//
13835// For more information, see Starting an Amazon RDS DB instance That Was Previously
13836// Stopped (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StartInstance.html)
13837// in the Amazon RDS User Guide.
13838//
13839// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora
13840// DB clusters, use StartDBCluster instead.
13841//
13842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13843// with awserr.Error's Code and Message methods to get detailed information about
13844// the error.
13845//
13846// See the AWS API reference guide for Amazon Relational Database Service's
13847// API operation StartDBInstance for usage and error information.
13848//
13849// Returned Error Codes:
13850//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13851//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13852//
13853//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13854//   The DB instance isn't in a valid state.
13855//
13856//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
13857//   The specified DB instance class isn't available in the specified Availability
13858//   Zone.
13859//
13860//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13861//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13862//
13863//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
13864//   Subnets in the DB subnet group should cover at least two Availability Zones
13865//   unless there is only one Availability Zone.
13866//
13867//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13868//   The requested operation can't be performed while the cluster is in this state.
13869//
13870//   * ErrCodeInvalidSubnet "InvalidSubnet"
13871//   The requested subnet is invalid, or multiple subnets were requested that
13872//   are not all in a common VPC.
13873//
13874//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13875//   The DB subnet group doesn't cover all Availability Zones after it's created
13876//   because of users' change.
13877//
13878//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13879//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13880//
13881//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
13882//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
13883//   for the specified DB security group.
13884//
13885//   Or, RDS might not be authorized to perform necessary actions using IAM on
13886//   your behalf.
13887//
13888//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13889//   An error occurred accessing an AWS KMS key.
13890//
13891// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
13892func (c *RDS) StartDBInstance(input *StartDBInstanceInput) (*StartDBInstanceOutput, error) {
13893	req, out := c.StartDBInstanceRequest(input)
13894	return out, req.Send()
13895}
13896
13897// StartDBInstanceWithContext is the same as StartDBInstance with the addition of
13898// the ability to pass a context and additional request options.
13899//
13900// See StartDBInstance for details on how to use this API operation.
13901//
13902// The context must be non-nil and will be used for request cancellation. If
13903// the context is nil a panic will occur. In the future the SDK may create
13904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13905// for more information on using Contexts.
13906func (c *RDS) StartDBInstanceWithContext(ctx aws.Context, input *StartDBInstanceInput, opts ...request.Option) (*StartDBInstanceOutput, error) {
13907	req, out := c.StartDBInstanceRequest(input)
13908	req.SetContext(ctx)
13909	req.ApplyOptions(opts...)
13910	return out, req.Send()
13911}
13912
13913const opStartExportTask = "StartExportTask"
13914
13915// StartExportTaskRequest generates a "aws/request.Request" representing the
13916// client's request for the StartExportTask operation. The "output" return
13917// value will be populated with the request's response once the request completes
13918// successfully.
13919//
13920// Use "Send" method on the returned Request to send the API call to the service.
13921// the "output" return value is not valid until after Send returns without error.
13922//
13923// See StartExportTask for more information on using the StartExportTask
13924// API call, and error handling.
13925//
13926// This method is useful when you want to inject custom logic or configuration
13927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13928//
13929//
13930//    // Example sending a request using the StartExportTaskRequest method.
13931//    req, resp := client.StartExportTaskRequest(params)
13932//
13933//    err := req.Send()
13934//    if err == nil { // resp is now filled
13935//        fmt.Println(resp)
13936//    }
13937//
13938// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask
13939func (c *RDS) StartExportTaskRequest(input *StartExportTaskInput) (req *request.Request, output *StartExportTaskOutput) {
13940	op := &request.Operation{
13941		Name:       opStartExportTask,
13942		HTTPMethod: "POST",
13943		HTTPPath:   "/",
13944	}
13945
13946	if input == nil {
13947		input = &StartExportTaskInput{}
13948	}
13949
13950	output = &StartExportTaskOutput{}
13951	req = c.newRequest(op, input, output)
13952	return
13953}
13954
13955// StartExportTask API operation for Amazon Relational Database Service.
13956//
13957// Starts an export of a snapshot to Amazon S3. The provided IAM role must have
13958// access to the S3 bucket.
13959//
13960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13961// with awserr.Error's Code and Message methods to get detailed information about
13962// the error.
13963//
13964// See the AWS API reference guide for Amazon Relational Database Service's
13965// API operation StartExportTask for usage and error information.
13966//
13967// Returned Error Codes:
13968//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
13969//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
13970//
13971//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
13972//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
13973//
13974//   * ErrCodeExportTaskAlreadyExistsFault "ExportTaskAlreadyExists"
13975//   You can't start an export task that's already running.
13976//
13977//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
13978//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
13979//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
13980//   S3IngestionRoleArn values and try again.
13981//
13982//   * ErrCodeIamRoleNotFoundFault "IamRoleNotFound"
13983//   The IAM role is missing for exporting to an Amazon S3 bucket.
13984//
13985//   * ErrCodeIamRoleMissingPermissionsFault "IamRoleMissingPermissions"
13986//   The IAM role requires additional permissions to export to an Amazon S3 bucket.
13987//
13988//   * ErrCodeInvalidExportOnlyFault "InvalidExportOnly"
13989//   The export is invalid for exporting to an Amazon S3 bucket.
13990//
13991//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13992//   An error occurred accessing an AWS KMS key.
13993//
13994//   * ErrCodeInvalidExportSourceStateFault "InvalidExportSourceState"
13995//   The state of the export snapshot is invalid for exporting to an Amazon S3
13996//   bucket.
13997//
13998// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask
13999func (c *RDS) StartExportTask(input *StartExportTaskInput) (*StartExportTaskOutput, error) {
14000	req, out := c.StartExportTaskRequest(input)
14001	return out, req.Send()
14002}
14003
14004// StartExportTaskWithContext is the same as StartExportTask with the addition of
14005// the ability to pass a context and additional request options.
14006//
14007// See StartExportTask for details on how to use this API operation.
14008//
14009// The context must be non-nil and will be used for request cancellation. If
14010// the context is nil a panic will occur. In the future the SDK may create
14011// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14012// for more information on using Contexts.
14013func (c *RDS) StartExportTaskWithContext(ctx aws.Context, input *StartExportTaskInput, opts ...request.Option) (*StartExportTaskOutput, error) {
14014	req, out := c.StartExportTaskRequest(input)
14015	req.SetContext(ctx)
14016	req.ApplyOptions(opts...)
14017	return out, req.Send()
14018}
14019
14020const opStopActivityStream = "StopActivityStream"
14021
14022// StopActivityStreamRequest generates a "aws/request.Request" representing the
14023// client's request for the StopActivityStream operation. The "output" return
14024// value will be populated with the request's response once the request completes
14025// successfully.
14026//
14027// Use "Send" method on the returned Request to send the API call to the service.
14028// the "output" return value is not valid until after Send returns without error.
14029//
14030// See StopActivityStream for more information on using the StopActivityStream
14031// API call, and error handling.
14032//
14033// This method is useful when you want to inject custom logic or configuration
14034// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14035//
14036//
14037//    // Example sending a request using the StopActivityStreamRequest method.
14038//    req, resp := client.StopActivityStreamRequest(params)
14039//
14040//    err := req.Send()
14041//    if err == nil { // resp is now filled
14042//        fmt.Println(resp)
14043//    }
14044//
14045// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
14046func (c *RDS) StopActivityStreamRequest(input *StopActivityStreamInput) (req *request.Request, output *StopActivityStreamOutput) {
14047	op := &request.Operation{
14048		Name:       opStopActivityStream,
14049		HTTPMethod: "POST",
14050		HTTPPath:   "/",
14051	}
14052
14053	if input == nil {
14054		input = &StopActivityStreamInput{}
14055	}
14056
14057	output = &StopActivityStreamOutput{}
14058	req = c.newRequest(op, input, output)
14059	return
14060}
14061
14062// StopActivityStream API operation for Amazon Relational Database Service.
14063//
14064// Stops a database activity stream that was started using the AWS console,
14065// the start-activity-stream AWS CLI command, or the StartActivityStream action.
14066//
14067// For more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
14068// in the Amazon Aurora User Guide.
14069//
14070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14071// with awserr.Error's Code and Message methods to get detailed information about
14072// the error.
14073//
14074// See the AWS API reference guide for Amazon Relational Database Service's
14075// API operation StopActivityStream for usage and error information.
14076//
14077// Returned Error Codes:
14078//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
14079//   The DB instance isn't in a valid state.
14080//
14081//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
14082//   The requested operation can't be performed while the cluster is in this state.
14083//
14084//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
14085//   The specified resource ID was not found.
14086//
14087//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
14088//   DBClusterIdentifier doesn't refer to an existing DB cluster.
14089//
14090//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
14091//   DBInstanceIdentifier doesn't refer to an existing DB instance.
14092//
14093// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
14094func (c *RDS) StopActivityStream(input *StopActivityStreamInput) (*StopActivityStreamOutput, error) {
14095	req, out := c.StopActivityStreamRequest(input)
14096	return out, req.Send()
14097}
14098
14099// StopActivityStreamWithContext is the same as StopActivityStream with the addition of
14100// the ability to pass a context and additional request options.
14101//
14102// See StopActivityStream for details on how to use this API operation.
14103//
14104// The context must be non-nil and will be used for request cancellation. If
14105// the context is nil a panic will occur. In the future the SDK may create
14106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14107// for more information on using Contexts.
14108func (c *RDS) StopActivityStreamWithContext(ctx aws.Context, input *StopActivityStreamInput, opts ...request.Option) (*StopActivityStreamOutput, error) {
14109	req, out := c.StopActivityStreamRequest(input)
14110	req.SetContext(ctx)
14111	req.ApplyOptions(opts...)
14112	return out, req.Send()
14113}
14114
14115const opStopDBCluster = "StopDBCluster"
14116
14117// StopDBClusterRequest generates a "aws/request.Request" representing the
14118// client's request for the StopDBCluster operation. The "output" return
14119// value will be populated with the request's response once the request completes
14120// successfully.
14121//
14122// Use "Send" method on the returned Request to send the API call to the service.
14123// the "output" return value is not valid until after Send returns without error.
14124//
14125// See StopDBCluster for more information on using the StopDBCluster
14126// API call, and error handling.
14127//
14128// This method is useful when you want to inject custom logic or configuration
14129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14130//
14131//
14132//    // Example sending a request using the StopDBClusterRequest method.
14133//    req, resp := client.StopDBClusterRequest(params)
14134//
14135//    err := req.Send()
14136//    if err == nil { // resp is now filled
14137//        fmt.Println(resp)
14138//    }
14139//
14140// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
14141func (c *RDS) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
14142	op := &request.Operation{
14143		Name:       opStopDBCluster,
14144		HTTPMethod: "POST",
14145		HTTPPath:   "/",
14146	}
14147
14148	if input == nil {
14149		input = &StopDBClusterInput{}
14150	}
14151
14152	output = &StopDBClusterOutput{}
14153	req = c.newRequest(op, input, output)
14154	return
14155}
14156
14157// StopDBCluster API operation for Amazon Relational Database Service.
14158//
14159// Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains
14160// the DB cluster's metadata, including its endpoints and DB parameter groups.
14161// Aurora also retains the transaction logs so you can do a point-in-time restore
14162// if necessary.
14163//
14164// For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
14165// in the Amazon Aurora User Guide.
14166//
14167// This action only applies to Aurora DB clusters.
14168//
14169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14170// with awserr.Error's Code and Message methods to get detailed information about
14171// the error.
14172//
14173// See the AWS API reference guide for Amazon Relational Database Service's
14174// API operation StopDBCluster for usage and error information.
14175//
14176// Returned Error Codes:
14177//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
14178//   DBClusterIdentifier doesn't refer to an existing DB cluster.
14179//
14180//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
14181//   The requested operation can't be performed while the cluster is in this state.
14182//
14183//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
14184//   The DB instance isn't in a valid state.
14185//
14186// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
14187func (c *RDS) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
14188	req, out := c.StopDBClusterRequest(input)
14189	return out, req.Send()
14190}
14191
14192// StopDBClusterWithContext is the same as StopDBCluster with the addition of
14193// the ability to pass a context and additional request options.
14194//
14195// See StopDBCluster for details on how to use this API operation.
14196//
14197// The context must be non-nil and will be used for request cancellation. If
14198// the context is nil a panic will occur. In the future the SDK may create
14199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14200// for more information on using Contexts.
14201func (c *RDS) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
14202	req, out := c.StopDBClusterRequest(input)
14203	req.SetContext(ctx)
14204	req.ApplyOptions(opts...)
14205	return out, req.Send()
14206}
14207
14208const opStopDBInstance = "StopDBInstance"
14209
14210// StopDBInstanceRequest generates a "aws/request.Request" representing the
14211// client's request for the StopDBInstance operation. The "output" return
14212// value will be populated with the request's response once the request completes
14213// successfully.
14214//
14215// Use "Send" method on the returned Request to send the API call to the service.
14216// the "output" return value is not valid until after Send returns without error.
14217//
14218// See StopDBInstance for more information on using the StopDBInstance
14219// API call, and error handling.
14220//
14221// This method is useful when you want to inject custom logic or configuration
14222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14223//
14224//
14225//    // Example sending a request using the StopDBInstanceRequest method.
14226//    req, resp := client.StopDBInstanceRequest(params)
14227//
14228//    err := req.Send()
14229//    if err == nil { // resp is now filled
14230//        fmt.Println(resp)
14231//    }
14232//
14233// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
14234func (c *RDS) StopDBInstanceRequest(input *StopDBInstanceInput) (req *request.Request, output *StopDBInstanceOutput) {
14235	op := &request.Operation{
14236		Name:       opStopDBInstance,
14237		HTTPMethod: "POST",
14238		HTTPPath:   "/",
14239	}
14240
14241	if input == nil {
14242		input = &StopDBInstanceInput{}
14243	}
14244
14245	output = &StopDBInstanceOutput{}
14246	req = c.newRequest(op, input, output)
14247	return
14248}
14249
14250// StopDBInstance API operation for Amazon Relational Database Service.
14251//
14252// Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS
14253// retains the DB instance's metadata, including its endpoint, DB parameter
14254// group, and option group membership. Amazon RDS also retains the transaction
14255// logs so you can do a point-in-time restore if necessary.
14256//
14257// For more information, see Stopping an Amazon RDS DB Instance Temporarily
14258// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html)
14259// in the Amazon RDS User Guide.
14260//
14261// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora
14262// clusters, use StopDBCluster instead.
14263//
14264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14265// with awserr.Error's Code and Message methods to get detailed information about
14266// the error.
14267//
14268// See the AWS API reference guide for Amazon Relational Database Service's
14269// API operation StopDBInstance for usage and error information.
14270//
14271// Returned Error Codes:
14272//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
14273//   DBInstanceIdentifier doesn't refer to an existing DB instance.
14274//
14275//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
14276//   The DB instance isn't in a valid state.
14277//
14278//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
14279//   DBSnapshotIdentifier is already used by an existing snapshot.
14280//
14281//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
14282//   The request would result in the user exceeding the allowed number of DB snapshots.
14283//
14284//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
14285//   The requested operation can't be performed while the cluster is in this state.
14286//
14287// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
14288func (c *RDS) StopDBInstance(input *StopDBInstanceInput) (*StopDBInstanceOutput, error) {
14289	req, out := c.StopDBInstanceRequest(input)
14290	return out, req.Send()
14291}
14292
14293// StopDBInstanceWithContext is the same as StopDBInstance with the addition of
14294// the ability to pass a context and additional request options.
14295//
14296// See StopDBInstance for details on how to use this API operation.
14297//
14298// The context must be non-nil and will be used for request cancellation. If
14299// the context is nil a panic will occur. In the future the SDK may create
14300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14301// for more information on using Contexts.
14302func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceInput, opts ...request.Option) (*StopDBInstanceOutput, error) {
14303	req, out := c.StopDBInstanceRequest(input)
14304	req.SetContext(ctx)
14305	req.ApplyOptions(opts...)
14306	return out, req.Send()
14307}
14308
14309// Describes a quota for an AWS account.
14310//
14311// The following are account quotas:
14312//
14313//    * AllocatedStorage - The total allocated storage per account, in GiB.
14314//    The used value is the total allocated storage in the account, in GiB.
14315//
14316//    * AuthorizationsPerDBSecurityGroup - The number of ingress rules per DB
14317//    security group. The used value is the highest number of ingress rules
14318//    in a DB security group in the account. Other DB security groups in the
14319//    account might have a lower number of ingress rules.
14320//
14321//    * CustomEndpointsPerDBCluster - The number of custom endpoints per DB
14322//    cluster. The used value is the highest number of custom endpoints in a
14323//    DB clusters in the account. Other DB clusters in the account might have
14324//    a lower number of custom endpoints.
14325//
14326//    * DBClusterParameterGroups - The number of DB cluster parameter groups
14327//    per account, excluding default parameter groups. The used value is the
14328//    count of nondefault DB cluster parameter groups in the account.
14329//
14330//    * DBClusterRoles - The number of associated AWS Identity and Access Management
14331//    (IAM) roles per DB cluster. The used value is the highest number of associated
14332//    IAM roles for a DB cluster in the account. Other DB clusters in the account
14333//    might have a lower number of associated IAM roles.
14334//
14335//    * DBClusters - The number of DB clusters per account. The used value is
14336//    the count of DB clusters in the account.
14337//
14338//    * DBInstanceRoles - The number of associated IAM roles per DB instance.
14339//    The used value is the highest number of associated IAM roles for a DB
14340//    instance in the account. Other DB instances in the account might have
14341//    a lower number of associated IAM roles.
14342//
14343//    * DBInstances - The number of DB instances per account. The used value
14344//    is the count of the DB instances in the account. Amazon RDS DB instances,
14345//    Amazon Aurora DB instances, Amazon Neptune instances, and Amazon DocumentDB
14346//    instances apply to this quota.
14347//
14348//    * DBParameterGroups - The number of DB parameter groups per account, excluding
14349//    default parameter groups. The used value is the count of nondefault DB
14350//    parameter groups in the account.
14351//
14352//    * DBSecurityGroups - The number of DB security groups (not VPC security
14353//    groups) per account, excluding the default security group. The used value
14354//    is the count of nondefault DB security groups in the account.
14355//
14356//    * DBSubnetGroups - The number of DB subnet groups per account. The used
14357//    value is the count of the DB subnet groups in the account.
14358//
14359//    * EventSubscriptions - The number of event subscriptions per account.
14360//    The used value is the count of the event subscriptions in the account.
14361//
14362//    * ManualClusterSnapshots - The number of manual DB cluster snapshots per
14363//    account. The used value is the count of the manual DB cluster snapshots
14364//    in the account.
14365//
14366//    * ManualSnapshots - The number of manual DB instance snapshots per account.
14367//    The used value is the count of the manual DB instance snapshots in the
14368//    account.
14369//
14370//    * OptionGroups - The number of DB option groups per account, excluding
14371//    default option groups. The used value is the count of nondefault DB option
14372//    groups in the account.
14373//
14374//    * ReadReplicasPerMaster - The number of read replicas per DB instance.
14375//    The used value is the highest number of read replicas for a DB instance
14376//    in the account. Other DB instances in the account might have a lower number
14377//    of read replicas.
14378//
14379//    * ReservedDBInstances - The number of reserved DB instances per account.
14380//    The used value is the count of the active reserved DB instances in the
14381//    account.
14382//
14383//    * SubnetsPerDBSubnetGroup - The number of subnets per DB subnet group.
14384//    The used value is highest number of subnets for a DB subnet group in the
14385//    account. Other DB subnet groups in the account might have a lower number
14386//    of subnets.
14387//
14388// For more information, see Quotas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html)
14389// in the Amazon RDS User Guide and Quotas for Amazon Aurora (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html)
14390// in the Amazon Aurora User Guide.
14391type AccountQuota struct {
14392	_ struct{} `type:"structure"`
14393
14394	// The name of the Amazon RDS quota for this AWS account.
14395	AccountQuotaName *string `type:"string"`
14396
14397	// The maximum allowed value for the quota.
14398	Max *int64 `type:"long"`
14399
14400	// The amount currently used toward the quota maximum.
14401	Used *int64 `type:"long"`
14402}
14403
14404// String returns the string representation
14405func (s AccountQuota) String() string {
14406	return awsutil.Prettify(s)
14407}
14408
14409// GoString returns the string representation
14410func (s AccountQuota) GoString() string {
14411	return s.String()
14412}
14413
14414// SetAccountQuotaName sets the AccountQuotaName field's value.
14415func (s *AccountQuota) SetAccountQuotaName(v string) *AccountQuota {
14416	s.AccountQuotaName = &v
14417	return s
14418}
14419
14420// SetMax sets the Max field's value.
14421func (s *AccountQuota) SetMax(v int64) *AccountQuota {
14422	s.Max = &v
14423	return s
14424}
14425
14426// SetUsed sets the Used field's value.
14427func (s *AccountQuota) SetUsed(v int64) *AccountQuota {
14428	s.Used = &v
14429	return s
14430}
14431
14432type AddRoleToDBClusterInput struct {
14433	_ struct{} `type:"structure"`
14434
14435	// The name of the DB cluster to associate the IAM role with.
14436	//
14437	// DBClusterIdentifier is a required field
14438	DBClusterIdentifier *string `type:"string" required:"true"`
14439
14440	// The name of the feature for the DB cluster that the IAM role is to be associated
14441	// with. For the list of supported feature names, see DBEngineVersion.
14442	FeatureName *string `type:"string"`
14443
14444	// The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora
14445	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
14446	//
14447	// RoleArn is a required field
14448	RoleArn *string `type:"string" required:"true"`
14449}
14450
14451// String returns the string representation
14452func (s AddRoleToDBClusterInput) String() string {
14453	return awsutil.Prettify(s)
14454}
14455
14456// GoString returns the string representation
14457func (s AddRoleToDBClusterInput) GoString() string {
14458	return s.String()
14459}
14460
14461// Validate inspects the fields of the type to determine if they are valid.
14462func (s *AddRoleToDBClusterInput) Validate() error {
14463	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
14464	if s.DBClusterIdentifier == nil {
14465		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
14466	}
14467	if s.RoleArn == nil {
14468		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
14469	}
14470
14471	if invalidParams.Len() > 0 {
14472		return invalidParams
14473	}
14474	return nil
14475}
14476
14477// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14478func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
14479	s.DBClusterIdentifier = &v
14480	return s
14481}
14482
14483// SetFeatureName sets the FeatureName field's value.
14484func (s *AddRoleToDBClusterInput) SetFeatureName(v string) *AddRoleToDBClusterInput {
14485	s.FeatureName = &v
14486	return s
14487}
14488
14489// SetRoleArn sets the RoleArn field's value.
14490func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
14491	s.RoleArn = &v
14492	return s
14493}
14494
14495type AddRoleToDBClusterOutput struct {
14496	_ struct{} `type:"structure"`
14497}
14498
14499// String returns the string representation
14500func (s AddRoleToDBClusterOutput) String() string {
14501	return awsutil.Prettify(s)
14502}
14503
14504// GoString returns the string representation
14505func (s AddRoleToDBClusterOutput) GoString() string {
14506	return s.String()
14507}
14508
14509type AddRoleToDBInstanceInput struct {
14510	_ struct{} `type:"structure"`
14511
14512	// The name of the DB instance to associate the IAM role with.
14513	//
14514	// DBInstanceIdentifier is a required field
14515	DBInstanceIdentifier *string `type:"string" required:"true"`
14516
14517	// The name of the feature for the DB instance that the IAM role is to be associated
14518	// with. For the list of supported feature names, see DBEngineVersion.
14519	//
14520	// FeatureName is a required field
14521	FeatureName *string `type:"string" required:"true"`
14522
14523	// The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance,
14524	// for example arn:aws:iam::123456789012:role/AccessRole.
14525	//
14526	// RoleArn is a required field
14527	RoleArn *string `type:"string" required:"true"`
14528}
14529
14530// String returns the string representation
14531func (s AddRoleToDBInstanceInput) String() string {
14532	return awsutil.Prettify(s)
14533}
14534
14535// GoString returns the string representation
14536func (s AddRoleToDBInstanceInput) GoString() string {
14537	return s.String()
14538}
14539
14540// Validate inspects the fields of the type to determine if they are valid.
14541func (s *AddRoleToDBInstanceInput) Validate() error {
14542	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBInstanceInput"}
14543	if s.DBInstanceIdentifier == nil {
14544		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
14545	}
14546	if s.FeatureName == nil {
14547		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
14548	}
14549	if s.RoleArn == nil {
14550		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
14551	}
14552
14553	if invalidParams.Len() > 0 {
14554		return invalidParams
14555	}
14556	return nil
14557}
14558
14559// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
14560func (s *AddRoleToDBInstanceInput) SetDBInstanceIdentifier(v string) *AddRoleToDBInstanceInput {
14561	s.DBInstanceIdentifier = &v
14562	return s
14563}
14564
14565// SetFeatureName sets the FeatureName field's value.
14566func (s *AddRoleToDBInstanceInput) SetFeatureName(v string) *AddRoleToDBInstanceInput {
14567	s.FeatureName = &v
14568	return s
14569}
14570
14571// SetRoleArn sets the RoleArn field's value.
14572func (s *AddRoleToDBInstanceInput) SetRoleArn(v string) *AddRoleToDBInstanceInput {
14573	s.RoleArn = &v
14574	return s
14575}
14576
14577type AddRoleToDBInstanceOutput struct {
14578	_ struct{} `type:"structure"`
14579}
14580
14581// String returns the string representation
14582func (s AddRoleToDBInstanceOutput) String() string {
14583	return awsutil.Prettify(s)
14584}
14585
14586// GoString returns the string representation
14587func (s AddRoleToDBInstanceOutput) GoString() string {
14588	return s.String()
14589}
14590
14591type AddSourceIdentifierToSubscriptionInput struct {
14592	_ struct{} `type:"structure"`
14593
14594	// The identifier of the event source to be added.
14595	//
14596	// Constraints:
14597	//
14598	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
14599	//    be supplied.
14600	//
14601	//    * If the source type is a DB security group, a DBSecurityGroupName must
14602	//    be supplied.
14603	//
14604	//    * If the source type is a DB parameter group, a DBParameterGroupName must
14605	//    be supplied.
14606	//
14607	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
14608	//    supplied.
14609	//
14610	// SourceIdentifier is a required field
14611	SourceIdentifier *string `type:"string" required:"true"`
14612
14613	// The name of the RDS event notification subscription you want to add a source
14614	// identifier to.
14615	//
14616	// SubscriptionName is a required field
14617	SubscriptionName *string `type:"string" required:"true"`
14618}
14619
14620// String returns the string representation
14621func (s AddSourceIdentifierToSubscriptionInput) String() string {
14622	return awsutil.Prettify(s)
14623}
14624
14625// GoString returns the string representation
14626func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
14627	return s.String()
14628}
14629
14630// Validate inspects the fields of the type to determine if they are valid.
14631func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
14632	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
14633	if s.SourceIdentifier == nil {
14634		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
14635	}
14636	if s.SubscriptionName == nil {
14637		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
14638	}
14639
14640	if invalidParams.Len() > 0 {
14641		return invalidParams
14642	}
14643	return nil
14644}
14645
14646// SetSourceIdentifier sets the SourceIdentifier field's value.
14647func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
14648	s.SourceIdentifier = &v
14649	return s
14650}
14651
14652// SetSubscriptionName sets the SubscriptionName field's value.
14653func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
14654	s.SubscriptionName = &v
14655	return s
14656}
14657
14658type AddSourceIdentifierToSubscriptionOutput struct {
14659	_ struct{} `type:"structure"`
14660
14661	// Contains the results of a successful invocation of the DescribeEventSubscriptions
14662	// action.
14663	EventSubscription *EventSubscription `type:"structure"`
14664}
14665
14666// String returns the string representation
14667func (s AddSourceIdentifierToSubscriptionOutput) String() string {
14668	return awsutil.Prettify(s)
14669}
14670
14671// GoString returns the string representation
14672func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
14673	return s.String()
14674}
14675
14676// SetEventSubscription sets the EventSubscription field's value.
14677func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
14678	s.EventSubscription = v
14679	return s
14680}
14681
14682type AddTagsToResourceInput struct {
14683	_ struct{} `type:"structure"`
14684
14685	// The Amazon RDS resource that the tags are added to. This value is an Amazon
14686	// Resource Name (ARN). For information about creating an ARN, see Constructing
14687	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
14688	//
14689	// ResourceName is a required field
14690	ResourceName *string `type:"string" required:"true"`
14691
14692	// The tags to be assigned to the Amazon RDS resource.
14693	//
14694	// Tags is a required field
14695	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
14696}
14697
14698// String returns the string representation
14699func (s AddTagsToResourceInput) String() string {
14700	return awsutil.Prettify(s)
14701}
14702
14703// GoString returns the string representation
14704func (s AddTagsToResourceInput) GoString() string {
14705	return s.String()
14706}
14707
14708// Validate inspects the fields of the type to determine if they are valid.
14709func (s *AddTagsToResourceInput) Validate() error {
14710	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
14711	if s.ResourceName == nil {
14712		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
14713	}
14714	if s.Tags == nil {
14715		invalidParams.Add(request.NewErrParamRequired("Tags"))
14716	}
14717
14718	if invalidParams.Len() > 0 {
14719		return invalidParams
14720	}
14721	return nil
14722}
14723
14724// SetResourceName sets the ResourceName field's value.
14725func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
14726	s.ResourceName = &v
14727	return s
14728}
14729
14730// SetTags sets the Tags field's value.
14731func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
14732	s.Tags = v
14733	return s
14734}
14735
14736type AddTagsToResourceOutput struct {
14737	_ struct{} `type:"structure"`
14738}
14739
14740// String returns the string representation
14741func (s AddTagsToResourceOutput) String() string {
14742	return awsutil.Prettify(s)
14743}
14744
14745// GoString returns the string representation
14746func (s AddTagsToResourceOutput) GoString() string {
14747	return s.String()
14748}
14749
14750type ApplyPendingMaintenanceActionInput struct {
14751	_ struct{} `type:"structure"`
14752
14753	// The pending maintenance action to apply to this resource.
14754	//
14755	// Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation
14756	//
14757	// ApplyAction is a required field
14758	ApplyAction *string `type:"string" required:"true"`
14759
14760	// A value that specifies the type of opt-in request, or undoes an opt-in request.
14761	// An opt-in request of type immediate can't be undone.
14762	//
14763	// Valid values:
14764	//
14765	//    * immediate - Apply the maintenance action immediately.
14766	//
14767	//    * next-maintenance - Apply the maintenance action during the next maintenance
14768	//    window for the resource.
14769	//
14770	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
14771	//
14772	// OptInType is a required field
14773	OptInType *string `type:"string" required:"true"`
14774
14775	// The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance
14776	// action applies to. For information about creating an ARN, see Constructing
14777	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
14778	//
14779	// ResourceIdentifier is a required field
14780	ResourceIdentifier *string `type:"string" required:"true"`
14781}
14782
14783// String returns the string representation
14784func (s ApplyPendingMaintenanceActionInput) String() string {
14785	return awsutil.Prettify(s)
14786}
14787
14788// GoString returns the string representation
14789func (s ApplyPendingMaintenanceActionInput) GoString() string {
14790	return s.String()
14791}
14792
14793// Validate inspects the fields of the type to determine if they are valid.
14794func (s *ApplyPendingMaintenanceActionInput) Validate() error {
14795	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
14796	if s.ApplyAction == nil {
14797		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
14798	}
14799	if s.OptInType == nil {
14800		invalidParams.Add(request.NewErrParamRequired("OptInType"))
14801	}
14802	if s.ResourceIdentifier == nil {
14803		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
14804	}
14805
14806	if invalidParams.Len() > 0 {
14807		return invalidParams
14808	}
14809	return nil
14810}
14811
14812// SetApplyAction sets the ApplyAction field's value.
14813func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
14814	s.ApplyAction = &v
14815	return s
14816}
14817
14818// SetOptInType sets the OptInType field's value.
14819func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
14820	s.OptInType = &v
14821	return s
14822}
14823
14824// SetResourceIdentifier sets the ResourceIdentifier field's value.
14825func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
14826	s.ResourceIdentifier = &v
14827	return s
14828}
14829
14830type ApplyPendingMaintenanceActionOutput struct {
14831	_ struct{} `type:"structure"`
14832
14833	// Describes the pending maintenance actions for a resource.
14834	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
14835}
14836
14837// String returns the string representation
14838func (s ApplyPendingMaintenanceActionOutput) String() string {
14839	return awsutil.Prettify(s)
14840}
14841
14842// GoString returns the string representation
14843func (s ApplyPendingMaintenanceActionOutput) GoString() string {
14844	return s.String()
14845}
14846
14847// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
14848func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
14849	s.ResourcePendingMaintenanceActions = v
14850	return s
14851}
14852
14853type AuthorizeDBSecurityGroupIngressInput struct {
14854	_ struct{} `type:"structure"`
14855
14856	// The IP range to authorize.
14857	CIDRIP *string `type:"string"`
14858
14859	// The name of the DB security group to add authorization to.
14860	//
14861	// DBSecurityGroupName is a required field
14862	DBSecurityGroupName *string `type:"string" required:"true"`
14863
14864	// Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
14865	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
14866	// or EC2SecurityGroupId must be provided.
14867	EC2SecurityGroupId *string `type:"string"`
14868
14869	// Name of the EC2 security group to authorize. For VPC DB security groups,
14870	// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
14871	// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
14872	EC2SecurityGroupName *string `type:"string"`
14873
14874	// AWS account number of the owner of the EC2 security group specified in the
14875	// EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable
14876	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
14877	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
14878	// must be provided.
14879	EC2SecurityGroupOwnerId *string `type:"string"`
14880}
14881
14882// String returns the string representation
14883func (s AuthorizeDBSecurityGroupIngressInput) String() string {
14884	return awsutil.Prettify(s)
14885}
14886
14887// GoString returns the string representation
14888func (s AuthorizeDBSecurityGroupIngressInput) GoString() string {
14889	return s.String()
14890}
14891
14892// Validate inspects the fields of the type to determine if they are valid.
14893func (s *AuthorizeDBSecurityGroupIngressInput) Validate() error {
14894	invalidParams := request.ErrInvalidParams{Context: "AuthorizeDBSecurityGroupIngressInput"}
14895	if s.DBSecurityGroupName == nil {
14896		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
14897	}
14898
14899	if invalidParams.Len() > 0 {
14900		return invalidParams
14901	}
14902	return nil
14903}
14904
14905// SetCIDRIP sets the CIDRIP field's value.
14906func (s *AuthorizeDBSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeDBSecurityGroupIngressInput {
14907	s.CIDRIP = &v
14908	return s
14909}
14910
14911// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
14912func (s *AuthorizeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
14913	s.DBSecurityGroupName = &v
14914	return s
14915}
14916
14917// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
14918func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *AuthorizeDBSecurityGroupIngressInput {
14919	s.EC2SecurityGroupId = &v
14920	return s
14921}
14922
14923// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
14924func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
14925	s.EC2SecurityGroupName = &v
14926	return s
14927}
14928
14929// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
14930func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeDBSecurityGroupIngressInput {
14931	s.EC2SecurityGroupOwnerId = &v
14932	return s
14933}
14934
14935type AuthorizeDBSecurityGroupIngressOutput struct {
14936	_ struct{} `type:"structure"`
14937
14938	// Contains the details for an Amazon RDS DB security group.
14939	//
14940	// This data type is used as a response element in the DescribeDBSecurityGroups
14941	// action.
14942	DBSecurityGroup *DBSecurityGroup `type:"structure"`
14943}
14944
14945// String returns the string representation
14946func (s AuthorizeDBSecurityGroupIngressOutput) String() string {
14947	return awsutil.Prettify(s)
14948}
14949
14950// GoString returns the string representation
14951func (s AuthorizeDBSecurityGroupIngressOutput) GoString() string {
14952	return s.String()
14953}
14954
14955// SetDBSecurityGroup sets the DBSecurityGroup field's value.
14956func (s *AuthorizeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *AuthorizeDBSecurityGroupIngressOutput {
14957	s.DBSecurityGroup = v
14958	return s
14959}
14960
14961// Contains Availability Zone information.
14962//
14963// This data type is used as an element in the OrderableDBInstanceOption data
14964// type.
14965type AvailabilityZone struct {
14966	_ struct{} `type:"structure"`
14967
14968	// The name of the Availability Zone.
14969	Name *string `type:"string"`
14970}
14971
14972// String returns the string representation
14973func (s AvailabilityZone) String() string {
14974	return awsutil.Prettify(s)
14975}
14976
14977// GoString returns the string representation
14978func (s AvailabilityZone) GoString() string {
14979	return s.String()
14980}
14981
14982// SetName sets the Name field's value.
14983func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
14984	s.Name = &v
14985	return s
14986}
14987
14988// Contains the available processor feature information for the DB instance
14989// class of a DB instance.
14990//
14991// For more information, see Configuring the Processor of the DB Instance Class
14992// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
14993// in the Amazon RDS User Guide.
14994type AvailableProcessorFeature struct {
14995	_ struct{} `type:"structure"`
14996
14997	// The allowed values for the processor feature of the DB instance class.
14998	AllowedValues *string `type:"string"`
14999
15000	// The default value for the processor feature of the DB instance class.
15001	DefaultValue *string `type:"string"`
15002
15003	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
15004	Name *string `type:"string"`
15005}
15006
15007// String returns the string representation
15008func (s AvailableProcessorFeature) String() string {
15009	return awsutil.Prettify(s)
15010}
15011
15012// GoString returns the string representation
15013func (s AvailableProcessorFeature) GoString() string {
15014	return s.String()
15015}
15016
15017// SetAllowedValues sets the AllowedValues field's value.
15018func (s *AvailableProcessorFeature) SetAllowedValues(v string) *AvailableProcessorFeature {
15019	s.AllowedValues = &v
15020	return s
15021}
15022
15023// SetDefaultValue sets the DefaultValue field's value.
15024func (s *AvailableProcessorFeature) SetDefaultValue(v string) *AvailableProcessorFeature {
15025	s.DefaultValue = &v
15026	return s
15027}
15028
15029// SetName sets the Name field's value.
15030func (s *AvailableProcessorFeature) SetName(v string) *AvailableProcessorFeature {
15031	s.Name = &v
15032	return s
15033}
15034
15035type BacktrackDBClusterInput struct {
15036	_ struct{} `type:"structure"`
15037
15038	// The timestamp of the time to backtrack the DB cluster to, specified in ISO
15039	// 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia
15040	// page. (http://en.wikipedia.org/wiki/ISO_8601)
15041	//
15042	// If the specified time isn't a consistent time for the DB cluster, Aurora
15043	// automatically chooses the nearest possible consistent time for the DB cluster.
15044	//
15045	// Constraints:
15046	//
15047	//    * Must contain a valid ISO 8601 timestamp.
15048	//
15049	//    * Can't contain a timestamp set in the future.
15050	//
15051	// Example: 2017-07-08T18:00Z
15052	//
15053	// BacktrackTo is a required field
15054	BacktrackTo *time.Time `type:"timestamp" required:"true"`
15055
15056	// The DB cluster identifier of the DB cluster to be backtracked. This parameter
15057	// is stored as a lowercase string.
15058	//
15059	// Constraints:
15060	//
15061	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
15062	//
15063	//    * First character must be a letter.
15064	//
15065	//    * Can't end with a hyphen or contain two consecutive hyphens.
15066	//
15067	// Example: my-cluster1
15068	//
15069	// DBClusterIdentifier is a required field
15070	DBClusterIdentifier *string `type:"string" required:"true"`
15071
15072	// A value that indicates whether to force the DB cluster to backtrack when
15073	// binary logging is enabled. Otherwise, an error occurs when binary logging
15074	// is enabled.
15075	Force *bool `type:"boolean"`
15076
15077	// A value that indicates whether to backtrack the DB cluster to the earliest
15078	// possible backtrack time when BacktrackTo is set to a timestamp earlier than
15079	// the earliest backtrack time. When this parameter is disabled and BacktrackTo
15080	// is set to a timestamp earlier than the earliest backtrack time, an error
15081	// occurs.
15082	UseEarliestTimeOnPointInTimeUnavailable *bool `type:"boolean"`
15083}
15084
15085// String returns the string representation
15086func (s BacktrackDBClusterInput) String() string {
15087	return awsutil.Prettify(s)
15088}
15089
15090// GoString returns the string representation
15091func (s BacktrackDBClusterInput) GoString() string {
15092	return s.String()
15093}
15094
15095// Validate inspects the fields of the type to determine if they are valid.
15096func (s *BacktrackDBClusterInput) Validate() error {
15097	invalidParams := request.ErrInvalidParams{Context: "BacktrackDBClusterInput"}
15098	if s.BacktrackTo == nil {
15099		invalidParams.Add(request.NewErrParamRequired("BacktrackTo"))
15100	}
15101	if s.DBClusterIdentifier == nil {
15102		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
15103	}
15104
15105	if invalidParams.Len() > 0 {
15106		return invalidParams
15107	}
15108	return nil
15109}
15110
15111// SetBacktrackTo sets the BacktrackTo field's value.
15112func (s *BacktrackDBClusterInput) SetBacktrackTo(v time.Time) *BacktrackDBClusterInput {
15113	s.BacktrackTo = &v
15114	return s
15115}
15116
15117// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15118func (s *BacktrackDBClusterInput) SetDBClusterIdentifier(v string) *BacktrackDBClusterInput {
15119	s.DBClusterIdentifier = &v
15120	return s
15121}
15122
15123// SetForce sets the Force field's value.
15124func (s *BacktrackDBClusterInput) SetForce(v bool) *BacktrackDBClusterInput {
15125	s.Force = &v
15126	return s
15127}
15128
15129// SetUseEarliestTimeOnPointInTimeUnavailable sets the UseEarliestTimeOnPointInTimeUnavailable field's value.
15130func (s *BacktrackDBClusterInput) SetUseEarliestTimeOnPointInTimeUnavailable(v bool) *BacktrackDBClusterInput {
15131	s.UseEarliestTimeOnPointInTimeUnavailable = &v
15132	return s
15133}
15134
15135// This data type is used as a response element in the DescribeDBClusterBacktracks
15136// action.
15137type BacktrackDBClusterOutput struct {
15138	_ struct{} `type:"structure"`
15139
15140	// Contains the backtrack identifier.
15141	BacktrackIdentifier *string `type:"string"`
15142
15143	// The timestamp of the time at which the backtrack was requested.
15144	BacktrackRequestCreationTime *time.Time `type:"timestamp"`
15145
15146	// The timestamp of the time to which the DB cluster was backtracked.
15147	BacktrackTo *time.Time `type:"timestamp"`
15148
15149	// The timestamp of the time from which the DB cluster was backtracked.
15150	BacktrackedFrom *time.Time `type:"timestamp"`
15151
15152	// Contains a user-supplied DB cluster identifier. This identifier is the unique
15153	// key that identifies a DB cluster.
15154	DBClusterIdentifier *string `type:"string"`
15155
15156	// The status of the backtrack. This property returns one of the following values:
15157	//
15158	//    * applying - The backtrack is currently being applied to or rolled back
15159	//    from the DB cluster.
15160	//
15161	//    * completed - The backtrack has successfully been applied to or rolled
15162	//    back from the DB cluster.
15163	//
15164	//    * failed - An error occurred while the backtrack was applied to or rolled
15165	//    back from the DB cluster.
15166	//
15167	//    * pending - The backtrack is currently pending application to or rollback
15168	//    from the DB cluster.
15169	Status *string `type:"string"`
15170}
15171
15172// String returns the string representation
15173func (s BacktrackDBClusterOutput) String() string {
15174	return awsutil.Prettify(s)
15175}
15176
15177// GoString returns the string representation
15178func (s BacktrackDBClusterOutput) GoString() string {
15179	return s.String()
15180}
15181
15182// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
15183func (s *BacktrackDBClusterOutput) SetBacktrackIdentifier(v string) *BacktrackDBClusterOutput {
15184	s.BacktrackIdentifier = &v
15185	return s
15186}
15187
15188// SetBacktrackRequestCreationTime sets the BacktrackRequestCreationTime field's value.
15189func (s *BacktrackDBClusterOutput) SetBacktrackRequestCreationTime(v time.Time) *BacktrackDBClusterOutput {
15190	s.BacktrackRequestCreationTime = &v
15191	return s
15192}
15193
15194// SetBacktrackTo sets the BacktrackTo field's value.
15195func (s *BacktrackDBClusterOutput) SetBacktrackTo(v time.Time) *BacktrackDBClusterOutput {
15196	s.BacktrackTo = &v
15197	return s
15198}
15199
15200// SetBacktrackedFrom sets the BacktrackedFrom field's value.
15201func (s *BacktrackDBClusterOutput) SetBacktrackedFrom(v time.Time) *BacktrackDBClusterOutput {
15202	s.BacktrackedFrom = &v
15203	return s
15204}
15205
15206// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15207func (s *BacktrackDBClusterOutput) SetDBClusterIdentifier(v string) *BacktrackDBClusterOutput {
15208	s.DBClusterIdentifier = &v
15209	return s
15210}
15211
15212// SetStatus sets the Status field's value.
15213func (s *BacktrackDBClusterOutput) SetStatus(v string) *BacktrackDBClusterOutput {
15214	s.Status = &v
15215	return s
15216}
15217
15218type CancelExportTaskInput struct {
15219	_ struct{} `type:"structure"`
15220
15221	// The identifier of the snapshot export task to cancel.
15222	//
15223	// ExportTaskIdentifier is a required field
15224	ExportTaskIdentifier *string `type:"string" required:"true"`
15225}
15226
15227// String returns the string representation
15228func (s CancelExportTaskInput) String() string {
15229	return awsutil.Prettify(s)
15230}
15231
15232// GoString returns the string representation
15233func (s CancelExportTaskInput) GoString() string {
15234	return s.String()
15235}
15236
15237// Validate inspects the fields of the type to determine if they are valid.
15238func (s *CancelExportTaskInput) Validate() error {
15239	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
15240	if s.ExportTaskIdentifier == nil {
15241		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
15242	}
15243
15244	if invalidParams.Len() > 0 {
15245		return invalidParams
15246	}
15247	return nil
15248}
15249
15250// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
15251func (s *CancelExportTaskInput) SetExportTaskIdentifier(v string) *CancelExportTaskInput {
15252	s.ExportTaskIdentifier = &v
15253	return s
15254}
15255
15256// Contains the details of a snapshot export to Amazon S3.
15257//
15258// This data type is used as a response element in the DescribeExportTasks action.
15259type CancelExportTaskOutput struct {
15260	_ struct{} `type:"structure"`
15261
15262	// The data exported from the snapshot. Valid values are the following:
15263	//
15264	//    * database - Export all the data from a specified database.
15265	//
15266	//    * database.table table-name - Export a table of the snapshot. This format
15267	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
15268	//
15269	//    * database.schema schema-name - Export a database schema of the snapshot.
15270	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
15271	//
15272	//    * database.schema.table table-name - Export a table of the database schema.
15273	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
15274	ExportOnly []*string `type:"list"`
15275
15276	// A unique identifier for the snapshot export task. This ID isn't an identifier
15277	// for the Amazon S3 bucket where the snapshot is exported to.
15278	ExportTaskIdentifier *string `type:"string"`
15279
15280	// The reason the export failed, if it failed.
15281	FailureCause *string `type:"string"`
15282
15283	// The name of the IAM role that is used to write to Amazon S3 when exporting
15284	// a snapshot.
15285	IamRoleArn *string `type:"string"`
15286
15287	// The ID of the AWS KMS key that is used to encrypt the snapshot when it's
15288	// exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN),
15289	// the KMS key identifier, or the KMS key alias for the KMS encryption key.
15290	// The IAM role used for the snapshot export must have encryption and decryption
15291	// permissions to use this KMS key.
15292	KmsKeyId *string `type:"string"`
15293
15294	// The progress of the snapshot export task as a percentage.
15295	PercentProgress *int64 `type:"integer"`
15296
15297	// The Amazon S3 bucket that the snapshot is exported to.
15298	S3Bucket *string `type:"string"`
15299
15300	// The Amazon S3 bucket prefix that is the file name and path of the exported
15301	// snapshot.
15302	S3Prefix *string `type:"string"`
15303
15304	// The time that the snapshot was created.
15305	SnapshotTime *time.Time `type:"timestamp"`
15306
15307	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
15308	SourceArn *string `type:"string"`
15309
15310	// The progress status of the export task.
15311	Status *string `type:"string"`
15312
15313	// The time that the snapshot export task completed.
15314	TaskEndTime *time.Time `type:"timestamp"`
15315
15316	// The time that the snapshot export task started.
15317	TaskStartTime *time.Time `type:"timestamp"`
15318
15319	// The total amount of data exported, in gigabytes.
15320	TotalExtractedDataInGB *int64 `type:"integer"`
15321
15322	// A warning about the snapshot export task.
15323	WarningMessage *string `type:"string"`
15324}
15325
15326// String returns the string representation
15327func (s CancelExportTaskOutput) String() string {
15328	return awsutil.Prettify(s)
15329}
15330
15331// GoString returns the string representation
15332func (s CancelExportTaskOutput) GoString() string {
15333	return s.String()
15334}
15335
15336// SetExportOnly sets the ExportOnly field's value.
15337func (s *CancelExportTaskOutput) SetExportOnly(v []*string) *CancelExportTaskOutput {
15338	s.ExportOnly = v
15339	return s
15340}
15341
15342// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
15343func (s *CancelExportTaskOutput) SetExportTaskIdentifier(v string) *CancelExportTaskOutput {
15344	s.ExportTaskIdentifier = &v
15345	return s
15346}
15347
15348// SetFailureCause sets the FailureCause field's value.
15349func (s *CancelExportTaskOutput) SetFailureCause(v string) *CancelExportTaskOutput {
15350	s.FailureCause = &v
15351	return s
15352}
15353
15354// SetIamRoleArn sets the IamRoleArn field's value.
15355func (s *CancelExportTaskOutput) SetIamRoleArn(v string) *CancelExportTaskOutput {
15356	s.IamRoleArn = &v
15357	return s
15358}
15359
15360// SetKmsKeyId sets the KmsKeyId field's value.
15361func (s *CancelExportTaskOutput) SetKmsKeyId(v string) *CancelExportTaskOutput {
15362	s.KmsKeyId = &v
15363	return s
15364}
15365
15366// SetPercentProgress sets the PercentProgress field's value.
15367func (s *CancelExportTaskOutput) SetPercentProgress(v int64) *CancelExportTaskOutput {
15368	s.PercentProgress = &v
15369	return s
15370}
15371
15372// SetS3Bucket sets the S3Bucket field's value.
15373func (s *CancelExportTaskOutput) SetS3Bucket(v string) *CancelExportTaskOutput {
15374	s.S3Bucket = &v
15375	return s
15376}
15377
15378// SetS3Prefix sets the S3Prefix field's value.
15379func (s *CancelExportTaskOutput) SetS3Prefix(v string) *CancelExportTaskOutput {
15380	s.S3Prefix = &v
15381	return s
15382}
15383
15384// SetSnapshotTime sets the SnapshotTime field's value.
15385func (s *CancelExportTaskOutput) SetSnapshotTime(v time.Time) *CancelExportTaskOutput {
15386	s.SnapshotTime = &v
15387	return s
15388}
15389
15390// SetSourceArn sets the SourceArn field's value.
15391func (s *CancelExportTaskOutput) SetSourceArn(v string) *CancelExportTaskOutput {
15392	s.SourceArn = &v
15393	return s
15394}
15395
15396// SetStatus sets the Status field's value.
15397func (s *CancelExportTaskOutput) SetStatus(v string) *CancelExportTaskOutput {
15398	s.Status = &v
15399	return s
15400}
15401
15402// SetTaskEndTime sets the TaskEndTime field's value.
15403func (s *CancelExportTaskOutput) SetTaskEndTime(v time.Time) *CancelExportTaskOutput {
15404	s.TaskEndTime = &v
15405	return s
15406}
15407
15408// SetTaskStartTime sets the TaskStartTime field's value.
15409func (s *CancelExportTaskOutput) SetTaskStartTime(v time.Time) *CancelExportTaskOutput {
15410	s.TaskStartTime = &v
15411	return s
15412}
15413
15414// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
15415func (s *CancelExportTaskOutput) SetTotalExtractedDataInGB(v int64) *CancelExportTaskOutput {
15416	s.TotalExtractedDataInGB = &v
15417	return s
15418}
15419
15420// SetWarningMessage sets the WarningMessage field's value.
15421func (s *CancelExportTaskOutput) SetWarningMessage(v string) *CancelExportTaskOutput {
15422	s.WarningMessage = &v
15423	return s
15424}
15425
15426// A CA certificate for an AWS account.
15427type Certificate struct {
15428	_ struct{} `type:"structure"`
15429
15430	// The Amazon Resource Name (ARN) for the certificate.
15431	CertificateArn *string `type:"string"`
15432
15433	// The unique key that identifies a certificate.
15434	CertificateIdentifier *string `type:"string"`
15435
15436	// The type of the certificate.
15437	CertificateType *string `type:"string"`
15438
15439	// Whether there is an override for the default certificate identifier.
15440	CustomerOverride *bool `type:"boolean"`
15441
15442	// If there is an override for the default certificate identifier, when the
15443	// override expires.
15444	CustomerOverrideValidTill *time.Time `type:"timestamp"`
15445
15446	// The thumbprint of the certificate.
15447	Thumbprint *string `type:"string"`
15448
15449	// The starting date from which the certificate is valid.
15450	ValidFrom *time.Time `type:"timestamp"`
15451
15452	// The final date that the certificate continues to be valid.
15453	ValidTill *time.Time `type:"timestamp"`
15454}
15455
15456// String returns the string representation
15457func (s Certificate) String() string {
15458	return awsutil.Prettify(s)
15459}
15460
15461// GoString returns the string representation
15462func (s Certificate) GoString() string {
15463	return s.String()
15464}
15465
15466// SetCertificateArn sets the CertificateArn field's value.
15467func (s *Certificate) SetCertificateArn(v string) *Certificate {
15468	s.CertificateArn = &v
15469	return s
15470}
15471
15472// SetCertificateIdentifier sets the CertificateIdentifier field's value.
15473func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
15474	s.CertificateIdentifier = &v
15475	return s
15476}
15477
15478// SetCertificateType sets the CertificateType field's value.
15479func (s *Certificate) SetCertificateType(v string) *Certificate {
15480	s.CertificateType = &v
15481	return s
15482}
15483
15484// SetCustomerOverride sets the CustomerOverride field's value.
15485func (s *Certificate) SetCustomerOverride(v bool) *Certificate {
15486	s.CustomerOverride = &v
15487	return s
15488}
15489
15490// SetCustomerOverrideValidTill sets the CustomerOverrideValidTill field's value.
15491func (s *Certificate) SetCustomerOverrideValidTill(v time.Time) *Certificate {
15492	s.CustomerOverrideValidTill = &v
15493	return s
15494}
15495
15496// SetThumbprint sets the Thumbprint field's value.
15497func (s *Certificate) SetThumbprint(v string) *Certificate {
15498	s.Thumbprint = &v
15499	return s
15500}
15501
15502// SetValidFrom sets the ValidFrom field's value.
15503func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
15504	s.ValidFrom = &v
15505	return s
15506}
15507
15508// SetValidTill sets the ValidTill field's value.
15509func (s *Certificate) SetValidTill(v time.Time) *Certificate {
15510	s.ValidTill = &v
15511	return s
15512}
15513
15514// This data type is used as a response element in the action DescribeDBEngineVersions.
15515type CharacterSet struct {
15516	_ struct{} `type:"structure"`
15517
15518	// The description of the character set.
15519	CharacterSetDescription *string `type:"string"`
15520
15521	// The name of the character set.
15522	CharacterSetName *string `type:"string"`
15523}
15524
15525// String returns the string representation
15526func (s CharacterSet) String() string {
15527	return awsutil.Prettify(s)
15528}
15529
15530// GoString returns the string representation
15531func (s CharacterSet) GoString() string {
15532	return s.String()
15533}
15534
15535// SetCharacterSetDescription sets the CharacterSetDescription field's value.
15536func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
15537	s.CharacterSetDescription = &v
15538	return s
15539}
15540
15541// SetCharacterSetName sets the CharacterSetName field's value.
15542func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
15543	s.CharacterSetName = &v
15544	return s
15545}
15546
15547// The configuration setting for the log types to be enabled for export to CloudWatch
15548// Logs for a specific DB instance or DB cluster.
15549//
15550// The EnableLogTypes and DisableLogTypes arrays determine which logs will be
15551// exported (or not exported) to CloudWatch Logs. The values within these arrays
15552// depend on the DB engine being used. For more information, see Publishing
15553// Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
15554// in the Amazon RDS User Guide.
15555type CloudwatchLogsExportConfiguration struct {
15556	_ struct{} `type:"structure"`
15557
15558	// The list of log types to disable.
15559	DisableLogTypes []*string `type:"list"`
15560
15561	// The list of log types to enable.
15562	EnableLogTypes []*string `type:"list"`
15563}
15564
15565// String returns the string representation
15566func (s CloudwatchLogsExportConfiguration) String() string {
15567	return awsutil.Prettify(s)
15568}
15569
15570// GoString returns the string representation
15571func (s CloudwatchLogsExportConfiguration) GoString() string {
15572	return s.String()
15573}
15574
15575// SetDisableLogTypes sets the DisableLogTypes field's value.
15576func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
15577	s.DisableLogTypes = v
15578	return s
15579}
15580
15581// SetEnableLogTypes sets the EnableLogTypes field's value.
15582func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
15583	s.EnableLogTypes = v
15584	return s
15585}
15586
15587// Specifies the settings that control the size and behavior of the connection
15588// pool associated with a DBProxyTargetGroup.
15589type ConnectionPoolConfiguration struct {
15590	_ struct{} `type:"structure"`
15591
15592	// The number of seconds for a proxy to wait for a connection to become available
15593	// in the connection pool. Only applies when the proxy has opened its maximum
15594	// number of connections and all connections are busy with client sessions.
15595	//
15596	// Default: 120
15597	//
15598	// Constraints: between 1 and 3600, or 0 representing unlimited
15599	ConnectionBorrowTimeout *int64 `type:"integer"`
15600
15601	// One or more SQL statements for the proxy to run when opening each new database
15602	// connection. Typically used with SET statements to make sure that each connection
15603	// has identical settings such as time zone and character set. For multiple
15604	// statements, use semicolons as the separator. You can also include multiple
15605	// variables in a single SET statement, such as SET x=1, y=2.
15606	//
15607	// Default: no initialization query
15608	InitQuery *string `type:"string"`
15609
15610	// The maximum size of the connection pool for each target in a target group.
15611	// For Aurora MySQL, it is expressed as a percentage of the max_connections
15612	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
15613	//
15614	// Default: 100
15615	//
15616	// Constraints: between 1 and 100
15617	MaxConnectionsPercent *int64 `type:"integer"`
15618
15619	// Controls how actively the proxy closes idle database connections in the connection
15620	// pool. A high value enables the proxy to leave a high percentage of idle connections
15621	// open. A low value causes the proxy to close idle client connections and return
15622	// the underlying database connections to the connection pool. For Aurora MySQL,
15623	// it is expressed as a percentage of the max_connections setting for the RDS
15624	// DB instance or Aurora DB cluster used by the target group.
15625	//
15626	// Default: 50
15627	//
15628	// Constraints: between 0 and MaxConnectionsPercent
15629	MaxIdleConnectionsPercent *int64 `type:"integer"`
15630
15631	// Each item in the list represents a class of SQL operations that normally
15632	// cause all later statements in a session using a proxy to be pinned to the
15633	// same underlying database connection. Including an item in the list exempts
15634	// that class of SQL operations from the pinning behavior.
15635	//
15636	// Default: no session pinning filters
15637	SessionPinningFilters []*string `type:"list"`
15638}
15639
15640// String returns the string representation
15641func (s ConnectionPoolConfiguration) String() string {
15642	return awsutil.Prettify(s)
15643}
15644
15645// GoString returns the string representation
15646func (s ConnectionPoolConfiguration) GoString() string {
15647	return s.String()
15648}
15649
15650// SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
15651func (s *ConnectionPoolConfiguration) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfiguration {
15652	s.ConnectionBorrowTimeout = &v
15653	return s
15654}
15655
15656// SetInitQuery sets the InitQuery field's value.
15657func (s *ConnectionPoolConfiguration) SetInitQuery(v string) *ConnectionPoolConfiguration {
15658	s.InitQuery = &v
15659	return s
15660}
15661
15662// SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
15663func (s *ConnectionPoolConfiguration) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfiguration {
15664	s.MaxConnectionsPercent = &v
15665	return s
15666}
15667
15668// SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
15669func (s *ConnectionPoolConfiguration) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfiguration {
15670	s.MaxIdleConnectionsPercent = &v
15671	return s
15672}
15673
15674// SetSessionPinningFilters sets the SessionPinningFilters field's value.
15675func (s *ConnectionPoolConfiguration) SetSessionPinningFilters(v []*string) *ConnectionPoolConfiguration {
15676	s.SessionPinningFilters = v
15677	return s
15678}
15679
15680// Displays the settings that control the size and behavior of the connection
15681// pool associated with a DBProxyTarget.
15682type ConnectionPoolConfigurationInfo struct {
15683	_ struct{} `type:"structure"`
15684
15685	// The number of seconds for a proxy to wait for a connection to become available
15686	// in the connection pool. Only applies when the proxy has opened its maximum
15687	// number of connections and all connections are busy with client sessions.
15688	ConnectionBorrowTimeout *int64 `type:"integer"`
15689
15690	// One or more SQL statements for the proxy to run when opening each new database
15691	// connection. Typically used with SET statements to make sure that each connection
15692	// has identical settings such as time zone and character set. This setting
15693	// is empty by default. For multiple statements, use semicolons as the separator.
15694	// You can also include multiple variables in a single SET statement, such as
15695	// SET x=1, y=2.
15696	InitQuery *string `type:"string"`
15697
15698	// The maximum size of the connection pool for each target in a target group.
15699	// For Aurora MySQL, it is expressed as a percentage of the max_connections
15700	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
15701	MaxConnectionsPercent *int64 `type:"integer"`
15702
15703	// Controls how actively the proxy closes idle database connections in the connection
15704	// pool. A high value enables the proxy to leave a high percentage of idle connections
15705	// open. A low value causes the proxy to close idle client connections and return
15706	// the underlying database connections to the connection pool. For Aurora MySQL,
15707	// it is expressed as a percentage of the max_connections setting for the RDS
15708	// DB instance or Aurora DB cluster used by the target group.
15709	MaxIdleConnectionsPercent *int64 `type:"integer"`
15710
15711	// Each item in the list represents a class of SQL operations that normally
15712	// cause all later statements in a session using a proxy to be pinned to the
15713	// same underlying database connection. Including an item in the list exempts
15714	// that class of SQL operations from the pinning behavior. Currently, the only
15715	// allowed value is EXCLUDE_VARIABLE_SETS.
15716	SessionPinningFilters []*string `type:"list"`
15717}
15718
15719// String returns the string representation
15720func (s ConnectionPoolConfigurationInfo) String() string {
15721	return awsutil.Prettify(s)
15722}
15723
15724// GoString returns the string representation
15725func (s ConnectionPoolConfigurationInfo) GoString() string {
15726	return s.String()
15727}
15728
15729// SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
15730func (s *ConnectionPoolConfigurationInfo) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfigurationInfo {
15731	s.ConnectionBorrowTimeout = &v
15732	return s
15733}
15734
15735// SetInitQuery sets the InitQuery field's value.
15736func (s *ConnectionPoolConfigurationInfo) SetInitQuery(v string) *ConnectionPoolConfigurationInfo {
15737	s.InitQuery = &v
15738	return s
15739}
15740
15741// SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
15742func (s *ConnectionPoolConfigurationInfo) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
15743	s.MaxConnectionsPercent = &v
15744	return s
15745}
15746
15747// SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
15748func (s *ConnectionPoolConfigurationInfo) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
15749	s.MaxIdleConnectionsPercent = &v
15750	return s
15751}
15752
15753// SetSessionPinningFilters sets the SessionPinningFilters field's value.
15754func (s *ConnectionPoolConfigurationInfo) SetSessionPinningFilters(v []*string) *ConnectionPoolConfigurationInfo {
15755	s.SessionPinningFilters = v
15756	return s
15757}
15758
15759type CopyDBClusterParameterGroupInput struct {
15760	_ struct{} `type:"structure"`
15761
15762	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
15763	// group. For information about creating an ARN, see Constructing an ARN for
15764	// Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
15765	// in the Amazon Aurora User Guide.
15766	//
15767	// Constraints:
15768	//
15769	//    * Must specify a valid DB cluster parameter group.
15770	//
15771	//    * If the source DB cluster parameter group is in the same AWS Region as
15772	//    the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group,
15773	//    or a valid ARN.
15774	//
15775	//    * If the source DB parameter group is in a different AWS Region than the
15776	//    copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
15777	//
15778	// SourceDBClusterParameterGroupIdentifier is a required field
15779	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
15780
15781	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
15782	// in the Amazon RDS User Guide.
15783	Tags []*Tag `locationNameList:"Tag" type:"list"`
15784
15785	// A description for the copied DB cluster parameter group.
15786	//
15787	// TargetDBClusterParameterGroupDescription is a required field
15788	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
15789
15790	// The identifier for the copied DB cluster parameter group.
15791	//
15792	// Constraints:
15793	//
15794	//    * Can't be null, empty, or blank
15795	//
15796	//    * Must contain from 1 to 255 letters, numbers, or hyphens
15797	//
15798	//    * First character must be a letter
15799	//
15800	//    * Can't end with a hyphen or contain two consecutive hyphens
15801	//
15802	// Example: my-cluster-param-group1
15803	//
15804	// TargetDBClusterParameterGroupIdentifier is a required field
15805	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
15806}
15807
15808// String returns the string representation
15809func (s CopyDBClusterParameterGroupInput) String() string {
15810	return awsutil.Prettify(s)
15811}
15812
15813// GoString returns the string representation
15814func (s CopyDBClusterParameterGroupInput) GoString() string {
15815	return s.String()
15816}
15817
15818// Validate inspects the fields of the type to determine if they are valid.
15819func (s *CopyDBClusterParameterGroupInput) Validate() error {
15820	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
15821	if s.SourceDBClusterParameterGroupIdentifier == nil {
15822		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
15823	}
15824	if s.TargetDBClusterParameterGroupDescription == nil {
15825		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
15826	}
15827	if s.TargetDBClusterParameterGroupIdentifier == nil {
15828		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
15829	}
15830
15831	if invalidParams.Len() > 0 {
15832		return invalidParams
15833	}
15834	return nil
15835}
15836
15837// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
15838func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
15839	s.SourceDBClusterParameterGroupIdentifier = &v
15840	return s
15841}
15842
15843// SetTags sets the Tags field's value.
15844func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
15845	s.Tags = v
15846	return s
15847}
15848
15849// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
15850func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
15851	s.TargetDBClusterParameterGroupDescription = &v
15852	return s
15853}
15854
15855// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
15856func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
15857	s.TargetDBClusterParameterGroupIdentifier = &v
15858	return s
15859}
15860
15861type CopyDBClusterParameterGroupOutput struct {
15862	_ struct{} `type:"structure"`
15863
15864	// Contains the details of an Amazon RDS DB cluster parameter group.
15865	//
15866	// This data type is used as a response element in the DescribeDBClusterParameterGroups
15867	// action.
15868	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
15869}
15870
15871// String returns the string representation
15872func (s CopyDBClusterParameterGroupOutput) String() string {
15873	return awsutil.Prettify(s)
15874}
15875
15876// GoString returns the string representation
15877func (s CopyDBClusterParameterGroupOutput) GoString() string {
15878	return s.String()
15879}
15880
15881// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
15882func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
15883	s.DBClusterParameterGroup = v
15884	return s
15885}
15886
15887type CopyDBClusterSnapshotInput struct {
15888	_ struct{} `type:"structure"`
15889
15890	// A value that indicates whether to copy all tags from the source DB cluster
15891	// snapshot to the target DB cluster snapshot. By default, tags are not copied.
15892	CopyTags *bool `type:"boolean"`
15893
15894	// DestinationRegion is used for presigning the request to a given region.
15895	DestinationRegion *string `type:"string"`
15896
15897	// The AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is
15898	// the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias
15899	// for the KMS encryption key.
15900	//
15901	// If you copy an encrypted DB cluster snapshot from your AWS account, you can
15902	// specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
15903	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
15904	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
15905	//
15906	// If you copy an encrypted DB cluster snapshot that is shared from another
15907	// AWS account, then you must specify a value for KmsKeyId.
15908	//
15909	// To copy an encrypted DB cluster snapshot to another AWS Region, you must
15910	// set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the
15911	// DB cluster snapshot in the destination AWS Region. KMS encryption keys are
15912	// specific to the AWS Region that they are created in, and you can't use encryption
15913	// keys from one AWS Region in another AWS Region.
15914	//
15915	// If you copy an unencrypted DB cluster snapshot and specify a value for the
15916	// KmsKeyId parameter, an error is returned.
15917	KmsKeyId *string `type:"string"`
15918
15919	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
15920	// API action in the AWS Region that contains the source DB cluster snapshot
15921	// to copy. The PreSignedUrl parameter must be used when copying an encrypted
15922	// DB cluster snapshot from another AWS Region. Don't specify PreSignedUrl when
15923	// you are copying an encrypted DB cluster snapshot in the same AWS Region.
15924	//
15925	// The pre-signed URL must be a valid request for the CopyDBClusterSnapshot
15926	// API action that can be executed in the source AWS Region that contains the
15927	// encrypted DB cluster snapshot to be copied. The pre-signed URL request must
15928	// contain the following parameter values:
15929	//
15930	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
15931	//    the copy of the DB cluster snapshot in the destination AWS Region. This
15932	//    is the same identifier for both the CopyDBClusterSnapshot action that
15933	//    is called in the destination AWS Region, and the action contained in the
15934	//    pre-signed URL.
15935	//
15936	//    * DestinationRegion - The name of the AWS Region that the DB cluster snapshot
15937	//    is to be created in.
15938	//
15939	//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
15940	//    for the encrypted DB cluster snapshot to be copied. This identifier must
15941	//    be in the Amazon Resource Name (ARN) format for the source AWS Region.
15942	//    For example, if you are copying an encrypted DB cluster snapshot from
15943	//    the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
15944	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
15945	//
15946	// To learn how to generate a Signature Version 4 signed request, see Authenticating
15947	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
15948	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
15949	//
15950	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
15951	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
15952	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
15953	// for the operation that can be executed in the source AWS Region.
15954	PreSignedUrl *string `type:"string"`
15955
15956	// The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive.
15957	//
15958	// You can't copy an encrypted, shared DB cluster snapshot from one AWS Region
15959	// to another.
15960	//
15961	// Constraints:
15962	//
15963	//    * Must specify a valid system snapshot in the "available" state.
15964	//
15965	//    * If the source snapshot is in the same AWS Region as the copy, specify
15966	//    a valid DB snapshot identifier.
15967	//
15968	//    * If the source snapshot is in a different AWS Region than the copy, specify
15969	//    a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots
15970	//    Across AWS Regions (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html#USER_CopySnapshot.AcrossRegions)
15971	//    in the Amazon Aurora User Guide.
15972	//
15973	// Example: my-cluster-snapshot1
15974	//
15975	// SourceDBClusterSnapshotIdentifier is a required field
15976	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
15977
15978	// SourceRegion is the source region where the resource exists. This is not
15979	// sent over the wire and is only used for presigning. This value should always
15980	// have the same region as the source ARN.
15981	SourceRegion *string `type:"string" ignore:"true"`
15982
15983	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
15984	// in the Amazon RDS User Guide.
15985	Tags []*Tag `locationNameList:"Tag" type:"list"`
15986
15987	// The identifier of the new DB cluster snapshot to create from the source DB
15988	// cluster snapshot. This parameter isn't case-sensitive.
15989	//
15990	// Constraints:
15991	//
15992	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
15993	//
15994	//    * First character must be a letter.
15995	//
15996	//    * Can't end with a hyphen or contain two consecutive hyphens.
15997	//
15998	// Example: my-cluster-snapshot2
15999	//
16000	// TargetDBClusterSnapshotIdentifier is a required field
16001	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
16002}
16003
16004// String returns the string representation
16005func (s CopyDBClusterSnapshotInput) String() string {
16006	return awsutil.Prettify(s)
16007}
16008
16009// GoString returns the string representation
16010func (s CopyDBClusterSnapshotInput) GoString() string {
16011	return s.String()
16012}
16013
16014// Validate inspects the fields of the type to determine if they are valid.
16015func (s *CopyDBClusterSnapshotInput) Validate() error {
16016	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
16017	if s.SourceDBClusterSnapshotIdentifier == nil {
16018		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
16019	}
16020	if s.TargetDBClusterSnapshotIdentifier == nil {
16021		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
16022	}
16023
16024	if invalidParams.Len() > 0 {
16025		return invalidParams
16026	}
16027	return nil
16028}
16029
16030// SetCopyTags sets the CopyTags field's value.
16031func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
16032	s.CopyTags = &v
16033	return s
16034}
16035
16036// SetDestinationRegion sets the DestinationRegion field's value.
16037func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
16038	s.DestinationRegion = &v
16039	return s
16040}
16041
16042// SetKmsKeyId sets the KmsKeyId field's value.
16043func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
16044	s.KmsKeyId = &v
16045	return s
16046}
16047
16048// SetPreSignedUrl sets the PreSignedUrl field's value.
16049func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
16050	s.PreSignedUrl = &v
16051	return s
16052}
16053
16054// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
16055func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
16056	s.SourceDBClusterSnapshotIdentifier = &v
16057	return s
16058}
16059
16060// SetSourceRegion sets the SourceRegion field's value.
16061func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
16062	s.SourceRegion = &v
16063	return s
16064}
16065
16066// SetTags sets the Tags field's value.
16067func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
16068	s.Tags = v
16069	return s
16070}
16071
16072// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
16073func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
16074	s.TargetDBClusterSnapshotIdentifier = &v
16075	return s
16076}
16077
16078type CopyDBClusterSnapshotOutput struct {
16079	_ struct{} `type:"structure"`
16080
16081	// Contains the details for an Amazon RDS DB cluster snapshot
16082	//
16083	// This data type is used as a response element in the DescribeDBClusterSnapshots
16084	// action.
16085	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
16086}
16087
16088// String returns the string representation
16089func (s CopyDBClusterSnapshotOutput) String() string {
16090	return awsutil.Prettify(s)
16091}
16092
16093// GoString returns the string representation
16094func (s CopyDBClusterSnapshotOutput) GoString() string {
16095	return s.String()
16096}
16097
16098// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
16099func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
16100	s.DBClusterSnapshot = v
16101	return s
16102}
16103
16104type CopyDBParameterGroupInput struct {
16105	_ struct{} `type:"structure"`
16106
16107	// The identifier or ARN for the source DB parameter group. For information
16108	// about creating an ARN, see Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
16109	// in the Amazon RDS User Guide.
16110	//
16111	// Constraints:
16112	//
16113	//    * Must specify a valid DB parameter group.
16114	//
16115	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
16116	//    or a valid ARN.
16117	//
16118	// SourceDBParameterGroupIdentifier is a required field
16119	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
16120
16121	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
16122	// in the Amazon RDS User Guide.
16123	Tags []*Tag `locationNameList:"Tag" type:"list"`
16124
16125	// A description for the copied DB parameter group.
16126	//
16127	// TargetDBParameterGroupDescription is a required field
16128	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
16129
16130	// The identifier for the copied DB parameter group.
16131	//
16132	// Constraints:
16133	//
16134	//    * Can't be null, empty, or blank
16135	//
16136	//    * Must contain from 1 to 255 letters, numbers, or hyphens
16137	//
16138	//    * First character must be a letter
16139	//
16140	//    * Can't end with a hyphen or contain two consecutive hyphens
16141	//
16142	// Example: my-db-parameter-group
16143	//
16144	// TargetDBParameterGroupIdentifier is a required field
16145	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
16146}
16147
16148// String returns the string representation
16149func (s CopyDBParameterGroupInput) String() string {
16150	return awsutil.Prettify(s)
16151}
16152
16153// GoString returns the string representation
16154func (s CopyDBParameterGroupInput) GoString() string {
16155	return s.String()
16156}
16157
16158// Validate inspects the fields of the type to determine if they are valid.
16159func (s *CopyDBParameterGroupInput) Validate() error {
16160	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
16161	if s.SourceDBParameterGroupIdentifier == nil {
16162		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
16163	}
16164	if s.TargetDBParameterGroupDescription == nil {
16165		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
16166	}
16167	if s.TargetDBParameterGroupIdentifier == nil {
16168		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
16169	}
16170
16171	if invalidParams.Len() > 0 {
16172		return invalidParams
16173	}
16174	return nil
16175}
16176
16177// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
16178func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
16179	s.SourceDBParameterGroupIdentifier = &v
16180	return s
16181}
16182
16183// SetTags sets the Tags field's value.
16184func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
16185	s.Tags = v
16186	return s
16187}
16188
16189// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
16190func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
16191	s.TargetDBParameterGroupDescription = &v
16192	return s
16193}
16194
16195// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
16196func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
16197	s.TargetDBParameterGroupIdentifier = &v
16198	return s
16199}
16200
16201type CopyDBParameterGroupOutput struct {
16202	_ struct{} `type:"structure"`
16203
16204	// Contains the details of an Amazon RDS DB parameter group.
16205	//
16206	// This data type is used as a response element in the DescribeDBParameterGroups
16207	// action.
16208	DBParameterGroup *DBParameterGroup `type:"structure"`
16209}
16210
16211// String returns the string representation
16212func (s CopyDBParameterGroupOutput) String() string {
16213	return awsutil.Prettify(s)
16214}
16215
16216// GoString returns the string representation
16217func (s CopyDBParameterGroupOutput) GoString() string {
16218	return s.String()
16219}
16220
16221// SetDBParameterGroup sets the DBParameterGroup field's value.
16222func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
16223	s.DBParameterGroup = v
16224	return s
16225}
16226
16227type CopyDBSnapshotInput struct {
16228	_ struct{} `type:"structure"`
16229
16230	// A value that indicates whether to copy all tags from the source DB snapshot
16231	// to the target DB snapshot. By default, tags are not copied.
16232	CopyTags *bool `type:"boolean"`
16233
16234	// DestinationRegion is used for presigning the request to a given region.
16235	DestinationRegion *string `type:"string"`
16236
16237	// The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon
16238	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
16239	// encryption key.
16240	//
16241	// If you copy an encrypted DB snapshot from your AWS account, you can specify
16242	// a value for this parameter to encrypt the copy with a new KMS encryption
16243	// key. If you don't specify a value for this parameter, then the copy of the
16244	// DB snapshot is encrypted with the same KMS key as the source DB snapshot.
16245	//
16246	// If you copy an encrypted DB snapshot that is shared from another AWS account,
16247	// then you must specify a value for this parameter.
16248	//
16249	// If you specify this parameter when you copy an unencrypted snapshot, the
16250	// copy is encrypted.
16251	//
16252	// If you copy an encrypted snapshot to a different AWS Region, then you must
16253	// specify a KMS key for the destination AWS Region. KMS encryption keys are
16254	// specific to the AWS Region that they are created in, and you can't use encryption
16255	// keys from one AWS Region in another AWS Region.
16256	KmsKeyId *string `type:"string"`
16257
16258	// The name of an option group to associate with the copy of the snapshot.
16259	//
16260	// Specify this option if you are copying a snapshot from one AWS Region to
16261	// another, and your DB instance uses a nondefault option group. If your source
16262	// DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL
16263	// Server, you must specify this option when copying across AWS Regions. For
16264	// more information, see Option Group Considerations (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options)
16265	// in the Amazon RDS User Guide.
16266	OptionGroupName *string `type:"string"`
16267
16268	// The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot
16269	// API action in the source AWS Region that contains the source DB snapshot
16270	// to copy.
16271	//
16272	// You must specify this parameter when you copy an encrypted DB snapshot from
16273	// another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl
16274	// when you are copying an encrypted DB snapshot in the same AWS Region.
16275	//
16276	// The presigned URL must be a valid request for the CopyDBSnapshot API action
16277	// that can be executed in the source AWS Region that contains the encrypted
16278	// DB snapshot to be copied. The presigned URL request must contain the following
16279	// parameter values:
16280	//
16281	//    * DestinationRegion - The AWS Region that the encrypted DB snapshot is
16282	//    copied to. This AWS Region is the same one where the CopyDBSnapshot action
16283	//    is called that contains this presigned URL. For example, if you copy an
16284	//    encrypted DB snapshot from the us-west-2 AWS Region to the us-east-1 AWS
16285	//    Region, then you call the CopyDBSnapshot action in the us-east-1 AWS Region
16286	//    and provide a presigned URL that contains a call to the CopyDBSnapshot
16287	//    action in the us-west-2 AWS Region. For this example, the DestinationRegion
16288	//    in the presigned URL must be set to the us-east-1 AWS Region.
16289	//
16290	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
16291	//    the copy of the DB snapshot in the destination AWS Region. This is the
16292	//    same identifier for both the CopyDBSnapshot action that is called in the
16293	//    destination AWS Region, and the action contained in the presigned URL.
16294	//
16295	//    * SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted
16296	//    snapshot to be copied. This identifier must be in the Amazon Resource
16297	//    Name (ARN) format for the source AWS Region. For example, if you are copying
16298	//    an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier
16299	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.
16300	//
16301	// To learn how to generate a Signature Version 4 signed request, see Authenticating
16302	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
16303	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
16304	//
16305	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
16306	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
16307	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
16308	// for the operation that can be executed in the source AWS Region.
16309	PreSignedUrl *string `type:"string"`
16310
16311	// The identifier for the source DB snapshot.
16312	//
16313	// If the source snapshot is in the same AWS Region as the copy, specify a valid
16314	// DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.
16315	//
16316	// If the source snapshot is in a different AWS Region than the copy, specify
16317	// a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.
16318	//
16319	// If you are copying from a shared manual DB snapshot, this parameter must
16320	// be the Amazon Resource Name (ARN) of the shared DB snapshot.
16321	//
16322	// If you are copying an encrypted snapshot this parameter must be in the ARN
16323	// format for the source AWS Region, and must match the SourceDBSnapshotIdentifier
16324	// in the PreSignedUrl parameter.
16325	//
16326	// Constraints:
16327	//
16328	//    * Must specify a valid system snapshot in the "available" state.
16329	//
16330	// Example: rds:mydb-2012-04-02-00-01
16331	//
16332	// Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805
16333	//
16334	// SourceDBSnapshotIdentifier is a required field
16335	SourceDBSnapshotIdentifier *string `type:"string" required:"true"`
16336
16337	// SourceRegion is the source region where the resource exists. This is not
16338	// sent over the wire and is only used for presigning. This value should always
16339	// have the same region as the source ARN.
16340	SourceRegion *string `type:"string" ignore:"true"`
16341
16342	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
16343	// in the Amazon RDS User Guide.
16344	Tags []*Tag `locationNameList:"Tag" type:"list"`
16345
16346	// The identifier for the copy of the snapshot.
16347	//
16348	// Constraints:
16349	//
16350	//    * Can't be null, empty, or blank
16351	//
16352	//    * Must contain from 1 to 255 letters, numbers, or hyphens
16353	//
16354	//    * First character must be a letter
16355	//
16356	//    * Can't end with a hyphen or contain two consecutive hyphens
16357	//
16358	// Example: my-db-snapshot
16359	//
16360	// TargetDBSnapshotIdentifier is a required field
16361	TargetDBSnapshotIdentifier *string `type:"string" required:"true"`
16362}
16363
16364// String returns the string representation
16365func (s CopyDBSnapshotInput) String() string {
16366	return awsutil.Prettify(s)
16367}
16368
16369// GoString returns the string representation
16370func (s CopyDBSnapshotInput) GoString() string {
16371	return s.String()
16372}
16373
16374// Validate inspects the fields of the type to determine if they are valid.
16375func (s *CopyDBSnapshotInput) Validate() error {
16376	invalidParams := request.ErrInvalidParams{Context: "CopyDBSnapshotInput"}
16377	if s.SourceDBSnapshotIdentifier == nil {
16378		invalidParams.Add(request.NewErrParamRequired("SourceDBSnapshotIdentifier"))
16379	}
16380	if s.TargetDBSnapshotIdentifier == nil {
16381		invalidParams.Add(request.NewErrParamRequired("TargetDBSnapshotIdentifier"))
16382	}
16383
16384	if invalidParams.Len() > 0 {
16385		return invalidParams
16386	}
16387	return nil
16388}
16389
16390// SetCopyTags sets the CopyTags field's value.
16391func (s *CopyDBSnapshotInput) SetCopyTags(v bool) *CopyDBSnapshotInput {
16392	s.CopyTags = &v
16393	return s
16394}
16395
16396// SetDestinationRegion sets the DestinationRegion field's value.
16397func (s *CopyDBSnapshotInput) SetDestinationRegion(v string) *CopyDBSnapshotInput {
16398	s.DestinationRegion = &v
16399	return s
16400}
16401
16402// SetKmsKeyId sets the KmsKeyId field's value.
16403func (s *CopyDBSnapshotInput) SetKmsKeyId(v string) *CopyDBSnapshotInput {
16404	s.KmsKeyId = &v
16405	return s
16406}
16407
16408// SetOptionGroupName sets the OptionGroupName field's value.
16409func (s *CopyDBSnapshotInput) SetOptionGroupName(v string) *CopyDBSnapshotInput {
16410	s.OptionGroupName = &v
16411	return s
16412}
16413
16414// SetPreSignedUrl sets the PreSignedUrl field's value.
16415func (s *CopyDBSnapshotInput) SetPreSignedUrl(v string) *CopyDBSnapshotInput {
16416	s.PreSignedUrl = &v
16417	return s
16418}
16419
16420// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
16421func (s *CopyDBSnapshotInput) SetSourceDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
16422	s.SourceDBSnapshotIdentifier = &v
16423	return s
16424}
16425
16426// SetSourceRegion sets the SourceRegion field's value.
16427func (s *CopyDBSnapshotInput) SetSourceRegion(v string) *CopyDBSnapshotInput {
16428	s.SourceRegion = &v
16429	return s
16430}
16431
16432// SetTags sets the Tags field's value.
16433func (s *CopyDBSnapshotInput) SetTags(v []*Tag) *CopyDBSnapshotInput {
16434	s.Tags = v
16435	return s
16436}
16437
16438// SetTargetDBSnapshotIdentifier sets the TargetDBSnapshotIdentifier field's value.
16439func (s *CopyDBSnapshotInput) SetTargetDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
16440	s.TargetDBSnapshotIdentifier = &v
16441	return s
16442}
16443
16444type CopyDBSnapshotOutput struct {
16445	_ struct{} `type:"structure"`
16446
16447	// Contains the details of an Amazon RDS DB snapshot.
16448	//
16449	// This data type is used as a response element in the DescribeDBSnapshots action.
16450	DBSnapshot *DBSnapshot `type:"structure"`
16451}
16452
16453// String returns the string representation
16454func (s CopyDBSnapshotOutput) String() string {
16455	return awsutil.Prettify(s)
16456}
16457
16458// GoString returns the string representation
16459func (s CopyDBSnapshotOutput) GoString() string {
16460	return s.String()
16461}
16462
16463// SetDBSnapshot sets the DBSnapshot field's value.
16464func (s *CopyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CopyDBSnapshotOutput {
16465	s.DBSnapshot = v
16466	return s
16467}
16468
16469type CopyOptionGroupInput struct {
16470	_ struct{} `type:"structure"`
16471
16472	// The identifier or ARN for the source option group. For information about
16473	// creating an ARN, see Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
16474	// in the Amazon RDS User Guide.
16475	//
16476	// Constraints:
16477	//
16478	//    * Must specify a valid option group.
16479	//
16480	//    * If the source option group is in the same AWS Region as the copy, specify
16481	//    a valid option group identifier, for example my-option-group, or a valid
16482	//    ARN.
16483	//
16484	//    * If the source option group is in a different AWS Region than the copy,
16485	//    specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.
16486	//
16487	// SourceOptionGroupIdentifier is a required field
16488	SourceOptionGroupIdentifier *string `type:"string" required:"true"`
16489
16490	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
16491	// in the Amazon RDS User Guide.
16492	Tags []*Tag `locationNameList:"Tag" type:"list"`
16493
16494	// The description for the copied option group.
16495	//
16496	// TargetOptionGroupDescription is a required field
16497	TargetOptionGroupDescription *string `type:"string" required:"true"`
16498
16499	// The identifier for the copied option group.
16500	//
16501	// Constraints:
16502	//
16503	//    * Can't be null, empty, or blank
16504	//
16505	//    * Must contain from 1 to 255 letters, numbers, or hyphens
16506	//
16507	//    * First character must be a letter
16508	//
16509	//    * Can't end with a hyphen or contain two consecutive hyphens
16510	//
16511	// Example: my-option-group
16512	//
16513	// TargetOptionGroupIdentifier is a required field
16514	TargetOptionGroupIdentifier *string `type:"string" required:"true"`
16515}
16516
16517// String returns the string representation
16518func (s CopyOptionGroupInput) String() string {
16519	return awsutil.Prettify(s)
16520}
16521
16522// GoString returns the string representation
16523func (s CopyOptionGroupInput) GoString() string {
16524	return s.String()
16525}
16526
16527// Validate inspects the fields of the type to determine if they are valid.
16528func (s *CopyOptionGroupInput) Validate() error {
16529	invalidParams := request.ErrInvalidParams{Context: "CopyOptionGroupInput"}
16530	if s.SourceOptionGroupIdentifier == nil {
16531		invalidParams.Add(request.NewErrParamRequired("SourceOptionGroupIdentifier"))
16532	}
16533	if s.TargetOptionGroupDescription == nil {
16534		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupDescription"))
16535	}
16536	if s.TargetOptionGroupIdentifier == nil {
16537		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupIdentifier"))
16538	}
16539
16540	if invalidParams.Len() > 0 {
16541		return invalidParams
16542	}
16543	return nil
16544}
16545
16546// SetSourceOptionGroupIdentifier sets the SourceOptionGroupIdentifier field's value.
16547func (s *CopyOptionGroupInput) SetSourceOptionGroupIdentifier(v string) *CopyOptionGroupInput {
16548	s.SourceOptionGroupIdentifier = &v
16549	return s
16550}
16551
16552// SetTags sets the Tags field's value.
16553func (s *CopyOptionGroupInput) SetTags(v []*Tag) *CopyOptionGroupInput {
16554	s.Tags = v
16555	return s
16556}
16557
16558// SetTargetOptionGroupDescription sets the TargetOptionGroupDescription field's value.
16559func (s *CopyOptionGroupInput) SetTargetOptionGroupDescription(v string) *CopyOptionGroupInput {
16560	s.TargetOptionGroupDescription = &v
16561	return s
16562}
16563
16564// SetTargetOptionGroupIdentifier sets the TargetOptionGroupIdentifier field's value.
16565func (s *CopyOptionGroupInput) SetTargetOptionGroupIdentifier(v string) *CopyOptionGroupInput {
16566	s.TargetOptionGroupIdentifier = &v
16567	return s
16568}
16569
16570type CopyOptionGroupOutput struct {
16571	_ struct{} `type:"structure"`
16572
16573	OptionGroup *OptionGroup `type:"structure"`
16574}
16575
16576// String returns the string representation
16577func (s CopyOptionGroupOutput) String() string {
16578	return awsutil.Prettify(s)
16579}
16580
16581// GoString returns the string representation
16582func (s CopyOptionGroupOutput) GoString() string {
16583	return s.String()
16584}
16585
16586// SetOptionGroup sets the OptionGroup field's value.
16587func (s *CopyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CopyOptionGroupOutput {
16588	s.OptionGroup = v
16589	return s
16590}
16591
16592type CreateCustomAvailabilityZoneInput struct {
16593	_ struct{} `type:"structure"`
16594
16595	// The name of the custom Availability Zone (AZ).
16596	//
16597	// CustomAvailabilityZoneName is a required field
16598	CustomAvailabilityZoneName *string `type:"string" required:"true"`
16599
16600	// The ID of an existing virtual private network (VPN) between the Amazon RDS
16601	// website and the VMware vSphere cluster.
16602	ExistingVpnId *string `type:"string"`
16603
16604	// The name of a new VPN tunnel between the Amazon RDS website and the VMware
16605	// vSphere cluster.
16606	//
16607	// Specify this parameter only if ExistingVpnId isn't specified.
16608	NewVpnTunnelName *string `type:"string"`
16609
16610	// The IP address of network traffic from your on-premises data center. A custom
16611	// AZ receives the network traffic.
16612	//
16613	// Specify this parameter only if ExistingVpnId isn't specified.
16614	VpnTunnelOriginatorIP *string `type:"string"`
16615}
16616
16617// String returns the string representation
16618func (s CreateCustomAvailabilityZoneInput) String() string {
16619	return awsutil.Prettify(s)
16620}
16621
16622// GoString returns the string representation
16623func (s CreateCustomAvailabilityZoneInput) GoString() string {
16624	return s.String()
16625}
16626
16627// Validate inspects the fields of the type to determine if they are valid.
16628func (s *CreateCustomAvailabilityZoneInput) Validate() error {
16629	invalidParams := request.ErrInvalidParams{Context: "CreateCustomAvailabilityZoneInput"}
16630	if s.CustomAvailabilityZoneName == nil {
16631		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneName"))
16632	}
16633
16634	if invalidParams.Len() > 0 {
16635		return invalidParams
16636	}
16637	return nil
16638}
16639
16640// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
16641func (s *CreateCustomAvailabilityZoneInput) SetCustomAvailabilityZoneName(v string) *CreateCustomAvailabilityZoneInput {
16642	s.CustomAvailabilityZoneName = &v
16643	return s
16644}
16645
16646// SetExistingVpnId sets the ExistingVpnId field's value.
16647func (s *CreateCustomAvailabilityZoneInput) SetExistingVpnId(v string) *CreateCustomAvailabilityZoneInput {
16648	s.ExistingVpnId = &v
16649	return s
16650}
16651
16652// SetNewVpnTunnelName sets the NewVpnTunnelName field's value.
16653func (s *CreateCustomAvailabilityZoneInput) SetNewVpnTunnelName(v string) *CreateCustomAvailabilityZoneInput {
16654	s.NewVpnTunnelName = &v
16655	return s
16656}
16657
16658// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
16659func (s *CreateCustomAvailabilityZoneInput) SetVpnTunnelOriginatorIP(v string) *CreateCustomAvailabilityZoneInput {
16660	s.VpnTunnelOriginatorIP = &v
16661	return s
16662}
16663
16664type CreateCustomAvailabilityZoneOutput struct {
16665	_ struct{} `type:"structure"`
16666
16667	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
16668	// a VMware vSphere cluster.
16669	//
16670	// For more information about RDS on VMware, see the RDS on VMware User Guide.
16671	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
16672	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
16673}
16674
16675// String returns the string representation
16676func (s CreateCustomAvailabilityZoneOutput) String() string {
16677	return awsutil.Prettify(s)
16678}
16679
16680// GoString returns the string representation
16681func (s CreateCustomAvailabilityZoneOutput) GoString() string {
16682	return s.String()
16683}
16684
16685// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
16686func (s *CreateCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *CreateCustomAvailabilityZoneOutput {
16687	s.CustomAvailabilityZone = v
16688	return s
16689}
16690
16691type CreateDBClusterEndpointInput struct {
16692	_ struct{} `type:"structure"`
16693
16694	// The identifier to use for the new endpoint. This parameter is stored as a
16695	// lowercase string.
16696	//
16697	// DBClusterEndpointIdentifier is a required field
16698	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
16699
16700	// The DB cluster identifier of the DB cluster associated with the endpoint.
16701	// This parameter is stored as a lowercase string.
16702	//
16703	// DBClusterIdentifier is a required field
16704	DBClusterIdentifier *string `type:"string" required:"true"`
16705
16706	// The type of the endpoint. One of: READER, WRITER, ANY.
16707	//
16708	// EndpointType is a required field
16709	EndpointType *string `type:"string" required:"true"`
16710
16711	// List of DB instance identifiers that aren't part of the custom endpoint group.
16712	// All other eligible instances are reachable through the custom endpoint. Only
16713	// relevant if the list of static members is empty.
16714	ExcludedMembers []*string `type:"list"`
16715
16716	// List of DB instance identifiers that are part of the custom endpoint group.
16717	StaticMembers []*string `type:"list"`
16718
16719	// The tags to be assigned to the Amazon RDS resource.
16720	Tags []*Tag `locationNameList:"Tag" type:"list"`
16721}
16722
16723// String returns the string representation
16724func (s CreateDBClusterEndpointInput) String() string {
16725	return awsutil.Prettify(s)
16726}
16727
16728// GoString returns the string representation
16729func (s CreateDBClusterEndpointInput) GoString() string {
16730	return s.String()
16731}
16732
16733// Validate inspects the fields of the type to determine if they are valid.
16734func (s *CreateDBClusterEndpointInput) Validate() error {
16735	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterEndpointInput"}
16736	if s.DBClusterEndpointIdentifier == nil {
16737		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
16738	}
16739	if s.DBClusterIdentifier == nil {
16740		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16741	}
16742	if s.EndpointType == nil {
16743		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
16744	}
16745
16746	if invalidParams.Len() > 0 {
16747		return invalidParams
16748	}
16749	return nil
16750}
16751
16752// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
16753func (s *CreateDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointInput {
16754	s.DBClusterEndpointIdentifier = &v
16755	return s
16756}
16757
16758// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16759func (s *CreateDBClusterEndpointInput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointInput {
16760	s.DBClusterIdentifier = &v
16761	return s
16762}
16763
16764// SetEndpointType sets the EndpointType field's value.
16765func (s *CreateDBClusterEndpointInput) SetEndpointType(v string) *CreateDBClusterEndpointInput {
16766	s.EndpointType = &v
16767	return s
16768}
16769
16770// SetExcludedMembers sets the ExcludedMembers field's value.
16771func (s *CreateDBClusterEndpointInput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointInput {
16772	s.ExcludedMembers = v
16773	return s
16774}
16775
16776// SetStaticMembers sets the StaticMembers field's value.
16777func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBClusterEndpointInput {
16778	s.StaticMembers = v
16779	return s
16780}
16781
16782// SetTags sets the Tags field's value.
16783func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput {
16784	s.Tags = v
16785	return s
16786}
16787
16788// This data type represents the information you need to connect to an Amazon
16789// Aurora DB cluster. This data type is used as a response element in the following
16790// actions:
16791//
16792//    * CreateDBClusterEndpoint
16793//
16794//    * DescribeDBClusterEndpoints
16795//
16796//    * ModifyDBClusterEndpoint
16797//
16798//    * DeleteDBClusterEndpoint
16799//
16800// For the data structure that represents Amazon RDS DB instance endpoints,
16801// see Endpoint.
16802type CreateDBClusterEndpointOutput struct {
16803	_ struct{} `type:"structure"`
16804
16805	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
16806	CustomEndpointType *string `type:"string"`
16807
16808	// The Amazon Resource Name (ARN) for the endpoint.
16809	DBClusterEndpointArn *string `type:"string"`
16810
16811	// The identifier associated with the endpoint. This parameter is stored as
16812	// a lowercase string.
16813	DBClusterEndpointIdentifier *string `type:"string"`
16814
16815	// A unique system-generated identifier for an endpoint. It remains the same
16816	// for the whole life of the endpoint.
16817	DBClusterEndpointResourceIdentifier *string `type:"string"`
16818
16819	// The DB cluster identifier of the DB cluster associated with the endpoint.
16820	// This parameter is stored as a lowercase string.
16821	DBClusterIdentifier *string `type:"string"`
16822
16823	// The DNS address of the endpoint.
16824	Endpoint *string `type:"string"`
16825
16826	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
16827	EndpointType *string `type:"string"`
16828
16829	// List of DB instance identifiers that aren't part of the custom endpoint group.
16830	// All other eligible instances are reachable through the custom endpoint. Only
16831	// relevant if the list of static members is empty.
16832	ExcludedMembers []*string `type:"list"`
16833
16834	// List of DB instance identifiers that are part of the custom endpoint group.
16835	StaticMembers []*string `type:"list"`
16836
16837	// The current status of the endpoint. One of: creating, available, deleting,
16838	// modifying.
16839	Status *string `type:"string"`
16840}
16841
16842// String returns the string representation
16843func (s CreateDBClusterEndpointOutput) String() string {
16844	return awsutil.Prettify(s)
16845}
16846
16847// GoString returns the string representation
16848func (s CreateDBClusterEndpointOutput) GoString() string {
16849	return s.String()
16850}
16851
16852// SetCustomEndpointType sets the CustomEndpointType field's value.
16853func (s *CreateDBClusterEndpointOutput) SetCustomEndpointType(v string) *CreateDBClusterEndpointOutput {
16854	s.CustomEndpointType = &v
16855	return s
16856}
16857
16858// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
16859func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *CreateDBClusterEndpointOutput {
16860	s.DBClusterEndpointArn = &v
16861	return s
16862}
16863
16864// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
16865func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointOutput {
16866	s.DBClusterEndpointIdentifier = &v
16867	return s
16868}
16869
16870// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
16871func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *CreateDBClusterEndpointOutput {
16872	s.DBClusterEndpointResourceIdentifier = &v
16873	return s
16874}
16875
16876// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16877func (s *CreateDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointOutput {
16878	s.DBClusterIdentifier = &v
16879	return s
16880}
16881
16882// SetEndpoint sets the Endpoint field's value.
16883func (s *CreateDBClusterEndpointOutput) SetEndpoint(v string) *CreateDBClusterEndpointOutput {
16884	s.Endpoint = &v
16885	return s
16886}
16887
16888// SetEndpointType sets the EndpointType field's value.
16889func (s *CreateDBClusterEndpointOutput) SetEndpointType(v string) *CreateDBClusterEndpointOutput {
16890	s.EndpointType = &v
16891	return s
16892}
16893
16894// SetExcludedMembers sets the ExcludedMembers field's value.
16895func (s *CreateDBClusterEndpointOutput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointOutput {
16896	s.ExcludedMembers = v
16897	return s
16898}
16899
16900// SetStaticMembers sets the StaticMembers field's value.
16901func (s *CreateDBClusterEndpointOutput) SetStaticMembers(v []*string) *CreateDBClusterEndpointOutput {
16902	s.StaticMembers = v
16903	return s
16904}
16905
16906// SetStatus sets the Status field's value.
16907func (s *CreateDBClusterEndpointOutput) SetStatus(v string) *CreateDBClusterEndpointOutput {
16908	s.Status = &v
16909	return s
16910}
16911
16912type CreateDBClusterInput struct {
16913	_ struct{} `type:"structure"`
16914
16915	// A list of Availability Zones (AZs) where instances in the DB cluster can
16916	// be created. For information on AWS Regions and Availability Zones, see Choosing
16917	// the Regions and Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html)
16918	// in the Amazon Aurora User Guide.
16919	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
16920
16921	// The target backtrack window, in seconds. To disable backtracking, set this
16922	// value to 0.
16923	//
16924	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
16925	//
16926	// Default: 0
16927	//
16928	// Constraints:
16929	//
16930	//    * If specified, this value must be set to a number from 0 to 259,200 (72
16931	//    hours).
16932	BacktrackWindow *int64 `type:"long"`
16933
16934	// The number of days for which automated backups are retained.
16935	//
16936	// Default: 1
16937	//
16938	// Constraints:
16939	//
16940	//    * Must be a value from 1 to 35
16941	BackupRetentionPeriod *int64 `type:"integer"`
16942
16943	// A value that indicates that the DB cluster should be associated with the
16944	// specified CharacterSet.
16945	CharacterSetName *string `type:"string"`
16946
16947	// A value that indicates whether to copy all tags from the DB cluster to snapshots
16948	// of the DB cluster. The default is not to copy them.
16949	CopyTagsToSnapshot *bool `type:"boolean"`
16950
16951	// The DB cluster identifier. This parameter is stored as a lowercase string.
16952	//
16953	// Constraints:
16954	//
16955	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
16956	//
16957	//    * First character must be a letter.
16958	//
16959	//    * Can't end with a hyphen or contain two consecutive hyphens.
16960	//
16961	// Example: my-cluster1
16962	//
16963	// DBClusterIdentifier is a required field
16964	DBClusterIdentifier *string `type:"string" required:"true"`
16965
16966	// The name of the DB cluster parameter group to associate with this DB cluster.
16967	// If you do not specify a value, then the default DB cluster parameter group
16968	// for the specified DB engine and version is used.
16969	//
16970	// Constraints:
16971	//
16972	//    * If supplied, must match the name of an existing DB cluster parameter
16973	//    group.
16974	DBClusterParameterGroupName *string `type:"string"`
16975
16976	// A DB subnet group to associate with this DB cluster.
16977	//
16978	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
16979	// default.
16980	//
16981	// Example: mySubnetgroup
16982	DBSubnetGroupName *string `type:"string"`
16983
16984	// The name for your database of up to 64 alphanumeric characters. If you do
16985	// not provide a name, Amazon RDS doesn't create a database in the DB cluster
16986	// you are creating.
16987	DatabaseName *string `type:"string"`
16988
16989	// A value that indicates whether the DB cluster has deletion protection enabled.
16990	// The database can't be deleted when deletion protection is enabled. By default,
16991	// deletion protection is disabled.
16992	DeletionProtection *bool `type:"boolean"`
16993
16994	// DestinationRegion is used for presigning the request to a given region.
16995	DestinationRegion *string `type:"string"`
16996
16997	// The Active Directory directory ID to create the DB cluster in.
16998	//
16999	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
17000	// to authenticate users that connect to the DB cluster. For more information,
17001	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
17002	// in the Amazon Aurora User Guide.
17003	Domain *string `type:"string"`
17004
17005	// Specify the name of the IAM role to be used when making API calls to the
17006	// Directory Service.
17007	DomainIAMRoleName *string `type:"string"`
17008
17009	// The list of log types that need to be enabled for exporting to CloudWatch
17010	// Logs. The values in the list depend on the DB engine being used. For more
17011	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
17012	// in the Amazon Aurora User Guide.
17013	EnableCloudwatchLogsExports []*string `type:"list"`
17014
17015	// A value that indicates whether to enable write operations to be forwarded
17016	// from this cluster to the primary cluster in an Aurora global database. The
17017	// resulting changes are replicated back to this cluster. This parameter only
17018	// applies to DB clusters that are secondary clusters in an Aurora global database.
17019	// By default, Aurora disallows write operations for secondary clusters.
17020	EnableGlobalWriteForwarding *bool `type:"boolean"`
17021
17022	// A value that indicates whether to enable the HTTP endpoint for an Aurora
17023	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
17024	//
17025	// When enabled, the HTTP endpoint provides a connectionless web service API
17026	// for running SQL queries on the Aurora Serverless DB cluster. You can also
17027	// query your database from inside the RDS console with the query editor.
17028	//
17029	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
17030	// in the Amazon Aurora User Guide.
17031	EnableHttpEndpoint *bool `type:"boolean"`
17032
17033	// A value that indicates whether to enable mapping of AWS Identity and Access
17034	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
17035	//
17036	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
17037	// in the Amazon Aurora User Guide.
17038	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
17039
17040	// The name of the database engine to be used for this DB cluster.
17041	//
17042	// Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for
17043	// MySQL 5.7-compatible Aurora), and aurora-postgresql
17044	//
17045	// Engine is a required field
17046	Engine *string `type:"string" required:"true"`
17047
17048	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
17049	// global, or multimaster.
17050	//
17051	// global engine mode only applies for global database clusters created with
17052	// Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters
17053	// in a global database use provisioned engine mode.
17054	//
17055	// Limitations and requirements apply to some DB engine modes. For more information,
17056	// see the following sections in the Amazon Aurora User Guide:
17057	//
17058	//    * Limitations of Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)
17059	//
17060	//    * Limitations of Parallel Query (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations)
17061	//
17062	//    * Requirements for Aurora Global Databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations)
17063	//
17064	//    * Limitations of Multi-Master Clusters (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html#aurora-multi-master-limitations)
17065	EngineMode *string `type:"string"`
17066
17067	// The version number of the database engine to use.
17068	//
17069	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
17070	// Aurora), use the following command:
17071	//
17072	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
17073	//
17074	// To list all of the available engine versions for aurora-mysql (for MySQL
17075	// 5.7-compatible Aurora), use the following command:
17076	//
17077	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
17078	//
17079	// To list all of the available engine versions for aurora-postgresql, use the
17080	// following command:
17081	//
17082	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
17083	//
17084	// Aurora MySQL
17085	//
17086	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
17087	//
17088	// Aurora PostgreSQL
17089	//
17090	// Example: 9.6.3, 10.7
17091	EngineVersion *string `type:"string"`
17092
17093	// The global cluster ID of an Aurora cluster that becomes the primary cluster
17094	// in the new global database cluster.
17095	GlobalClusterIdentifier *string `type:"string"`
17096
17097	// The AWS KMS key identifier for an encrypted DB cluster.
17098	//
17099	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
17100	// key. If you are creating a DB cluster with the same AWS account that owns
17101	// the KMS encryption key used to encrypt the new DB cluster, then you can use
17102	// the KMS key alias instead of the ARN for the KMS encryption key.
17103	//
17104	// If an encryption key isn't specified in KmsKeyId:
17105	//
17106	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
17107	//    Amazon RDS will use the encryption key used to encrypt the source. Otherwise,
17108	//    Amazon RDS will use your default encryption key.
17109	//
17110	//    * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier
17111	//    isn't specified, then Amazon RDS will use your default encryption key.
17112	//
17113	// AWS KMS creates the default encryption key for your AWS account. Your AWS
17114	// account has a different default encryption key for each AWS Region.
17115	//
17116	// If you create a read replica of an encrypted DB cluster in another AWS Region,
17117	// you must set KmsKeyId to a KMS key ID that is valid in the destination AWS
17118	// Region. This key is used to encrypt the read replica in that AWS Region.
17119	KmsKeyId *string `type:"string"`
17120
17121	// The password for the master database user. This password can contain any
17122	// printable ASCII character except "/", """, or "@".
17123	//
17124	// Constraints: Must contain from 8 to 41 characters.
17125	MasterUserPassword *string `type:"string"`
17126
17127	// The name of the master user for the DB cluster.
17128	//
17129	// Constraints:
17130	//
17131	//    * Must be 1 to 16 letters or numbers.
17132	//
17133	//    * First character must be a letter.
17134	//
17135	//    * Can't be a reserved word for the chosen database engine.
17136	MasterUsername *string `type:"string"`
17137
17138	// A value that indicates that the DB cluster should be associated with the
17139	// specified option group.
17140	//
17141	// Permanent options can't be removed from an option group. The option group
17142	// can't be removed from a DB cluster once it is associated with a DB cluster.
17143	OptionGroupName *string `type:"string"`
17144
17145	// The port number on which the instances in the DB cluster accept connections.
17146	//
17147	// Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.
17148	Port *int64 `type:"integer"`
17149
17150	// A URL that contains a Signature Version 4 signed request for the CreateDBCluster
17151	// action to be called in the source AWS Region where the DB cluster is replicated
17152	// from. You only need to specify PreSignedUrl when you are performing cross-region
17153	// replication from an encrypted DB cluster.
17154	//
17155	// The pre-signed URL must be a valid request for the CreateDBCluster API action
17156	// that can be executed in the source AWS Region that contains the encrypted
17157	// DB cluster to be copied.
17158	//
17159	// The pre-signed URL request must contain the following parameter values:
17160	//
17161	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
17162	//    the copy of the DB cluster in the destination AWS Region. This should
17163	//    refer to the same KMS key for both the CreateDBCluster action that is
17164	//    called in the destination AWS Region, and the action contained in the
17165	//    pre-signed URL.
17166	//
17167	//    * DestinationRegion - The name of the AWS Region that Aurora read replica
17168	//    will be created in.
17169	//
17170	//    * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted
17171	//    DB cluster to be copied. This identifier must be in the Amazon Resource
17172	//    Name (ARN) format for the source AWS Region. For example, if you are copying
17173	//    an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier
17174	//    would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.
17175	//
17176	// To learn how to generate a Signature Version 4 signed request, see Authenticating
17177	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
17178	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
17179	//
17180	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
17181	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
17182	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
17183	// for the operation that can be executed in the source AWS Region.
17184	PreSignedUrl *string `type:"string"`
17185
17186	// The daily time range during which automated backups are created if automated
17187	// backups are enabled using the BackupRetentionPeriod parameter.
17188	//
17189	// The default is a 30-minute window selected at random from an 8-hour block
17190	// of time for each AWS Region. To see the time blocks available, see Adjusting
17191	// the Preferred DB Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
17192	// in the Amazon Aurora User Guide.
17193	//
17194	// Constraints:
17195	//
17196	//    * Must be in the format hh24:mi-hh24:mi.
17197	//
17198	//    * Must be in Universal Coordinated Time (UTC).
17199	//
17200	//    * Must not conflict with the preferred maintenance window.
17201	//
17202	//    * Must be at least 30 minutes.
17203	PreferredBackupWindow *string `type:"string"`
17204
17205	// The weekly time range during which system maintenance can occur, in Universal
17206	// Coordinated Time (UTC).
17207	//
17208	// Format: ddd:hh24:mi-ddd:hh24:mi
17209	//
17210	// The default is a 30-minute window selected at random from an 8-hour block
17211	// of time for each AWS Region, occurring on a random day of the week. To see
17212	// the time blocks available, see Adjusting the Preferred DB Cluster Maintenance
17213	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
17214	// in the Amazon Aurora User Guide.
17215	//
17216	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
17217	//
17218	// Constraints: Minimum 30-minute window.
17219	PreferredMaintenanceWindow *string `type:"string"`
17220
17221	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
17222	// this DB cluster is created as a read replica.
17223	ReplicationSourceIdentifier *string `type:"string"`
17224
17225	// For DB clusters in serverless DB engine mode, the scaling properties of the
17226	// DB cluster.
17227	ScalingConfiguration *ScalingConfiguration `type:"structure"`
17228
17229	// SourceRegion is the source region where the resource exists. This is not
17230	// sent over the wire and is only used for presigning. This value should always
17231	// have the same region as the source ARN.
17232	SourceRegion *string `type:"string" ignore:"true"`
17233
17234	// A value that indicates whether the DB cluster is encrypted.
17235	StorageEncrypted *bool `type:"boolean"`
17236
17237	// Tags to assign to the DB cluster.
17238	Tags []*Tag `locationNameList:"Tag" type:"list"`
17239
17240	// A list of EC2 VPC security groups to associate with this DB cluster.
17241	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
17242}
17243
17244// String returns the string representation
17245func (s CreateDBClusterInput) String() string {
17246	return awsutil.Prettify(s)
17247}
17248
17249// GoString returns the string representation
17250func (s CreateDBClusterInput) GoString() string {
17251	return s.String()
17252}
17253
17254// Validate inspects the fields of the type to determine if they are valid.
17255func (s *CreateDBClusterInput) Validate() error {
17256	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
17257	if s.DBClusterIdentifier == nil {
17258		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
17259	}
17260	if s.Engine == nil {
17261		invalidParams.Add(request.NewErrParamRequired("Engine"))
17262	}
17263
17264	if invalidParams.Len() > 0 {
17265		return invalidParams
17266	}
17267	return nil
17268}
17269
17270// SetAvailabilityZones sets the AvailabilityZones field's value.
17271func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
17272	s.AvailabilityZones = v
17273	return s
17274}
17275
17276// SetBacktrackWindow sets the BacktrackWindow field's value.
17277func (s *CreateDBClusterInput) SetBacktrackWindow(v int64) *CreateDBClusterInput {
17278	s.BacktrackWindow = &v
17279	return s
17280}
17281
17282// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
17283func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
17284	s.BackupRetentionPeriod = &v
17285	return s
17286}
17287
17288// SetCharacterSetName sets the CharacterSetName field's value.
17289func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
17290	s.CharacterSetName = &v
17291	return s
17292}
17293
17294// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
17295func (s *CreateDBClusterInput) SetCopyTagsToSnapshot(v bool) *CreateDBClusterInput {
17296	s.CopyTagsToSnapshot = &v
17297	return s
17298}
17299
17300// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17301func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
17302	s.DBClusterIdentifier = &v
17303	return s
17304}
17305
17306// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17307func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
17308	s.DBClusterParameterGroupName = &v
17309	return s
17310}
17311
17312// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
17313func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
17314	s.DBSubnetGroupName = &v
17315	return s
17316}
17317
17318// SetDatabaseName sets the DatabaseName field's value.
17319func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
17320	s.DatabaseName = &v
17321	return s
17322}
17323
17324// SetDeletionProtection sets the DeletionProtection field's value.
17325func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
17326	s.DeletionProtection = &v
17327	return s
17328}
17329
17330// SetDestinationRegion sets the DestinationRegion field's value.
17331func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
17332	s.DestinationRegion = &v
17333	return s
17334}
17335
17336// SetDomain sets the Domain field's value.
17337func (s *CreateDBClusterInput) SetDomain(v string) *CreateDBClusterInput {
17338	s.Domain = &v
17339	return s
17340}
17341
17342// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
17343func (s *CreateDBClusterInput) SetDomainIAMRoleName(v string) *CreateDBClusterInput {
17344	s.DomainIAMRoleName = &v
17345	return s
17346}
17347
17348// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
17349func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
17350	s.EnableCloudwatchLogsExports = v
17351	return s
17352}
17353
17354// SetEnableGlobalWriteForwarding sets the EnableGlobalWriteForwarding field's value.
17355func (s *CreateDBClusterInput) SetEnableGlobalWriteForwarding(v bool) *CreateDBClusterInput {
17356	s.EnableGlobalWriteForwarding = &v
17357	return s
17358}
17359
17360// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
17361func (s *CreateDBClusterInput) SetEnableHttpEndpoint(v bool) *CreateDBClusterInput {
17362	s.EnableHttpEndpoint = &v
17363	return s
17364}
17365
17366// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
17367func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
17368	s.EnableIAMDatabaseAuthentication = &v
17369	return s
17370}
17371
17372// SetEngine sets the Engine field's value.
17373func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
17374	s.Engine = &v
17375	return s
17376}
17377
17378// SetEngineMode sets the EngineMode field's value.
17379func (s *CreateDBClusterInput) SetEngineMode(v string) *CreateDBClusterInput {
17380	s.EngineMode = &v
17381	return s
17382}
17383
17384// SetEngineVersion sets the EngineVersion field's value.
17385func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
17386	s.EngineVersion = &v
17387	return s
17388}
17389
17390// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
17391func (s *CreateDBClusterInput) SetGlobalClusterIdentifier(v string) *CreateDBClusterInput {
17392	s.GlobalClusterIdentifier = &v
17393	return s
17394}
17395
17396// SetKmsKeyId sets the KmsKeyId field's value.
17397func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
17398	s.KmsKeyId = &v
17399	return s
17400}
17401
17402// SetMasterUserPassword sets the MasterUserPassword field's value.
17403func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
17404	s.MasterUserPassword = &v
17405	return s
17406}
17407
17408// SetMasterUsername sets the MasterUsername field's value.
17409func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
17410	s.MasterUsername = &v
17411	return s
17412}
17413
17414// SetOptionGroupName sets the OptionGroupName field's value.
17415func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
17416	s.OptionGroupName = &v
17417	return s
17418}
17419
17420// SetPort sets the Port field's value.
17421func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
17422	s.Port = &v
17423	return s
17424}
17425
17426// SetPreSignedUrl sets the PreSignedUrl field's value.
17427func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
17428	s.PreSignedUrl = &v
17429	return s
17430}
17431
17432// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
17433func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
17434	s.PreferredBackupWindow = &v
17435	return s
17436}
17437
17438// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
17439func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
17440	s.PreferredMaintenanceWindow = &v
17441	return s
17442}
17443
17444// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
17445func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
17446	s.ReplicationSourceIdentifier = &v
17447	return s
17448}
17449
17450// SetScalingConfiguration sets the ScalingConfiguration field's value.
17451func (s *CreateDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *CreateDBClusterInput {
17452	s.ScalingConfiguration = v
17453	return s
17454}
17455
17456// SetSourceRegion sets the SourceRegion field's value.
17457func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
17458	s.SourceRegion = &v
17459	return s
17460}
17461
17462// SetStorageEncrypted sets the StorageEncrypted field's value.
17463func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
17464	s.StorageEncrypted = &v
17465	return s
17466}
17467
17468// SetTags sets the Tags field's value.
17469func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
17470	s.Tags = v
17471	return s
17472}
17473
17474// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
17475func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
17476	s.VpcSecurityGroupIds = v
17477	return s
17478}
17479
17480type CreateDBClusterOutput struct {
17481	_ struct{} `type:"structure"`
17482
17483	// Contains the details of an Amazon Aurora DB cluster.
17484	//
17485	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
17486	// and StartDBCluster actions.
17487	DBCluster *DBCluster `type:"structure"`
17488}
17489
17490// String returns the string representation
17491func (s CreateDBClusterOutput) String() string {
17492	return awsutil.Prettify(s)
17493}
17494
17495// GoString returns the string representation
17496func (s CreateDBClusterOutput) GoString() string {
17497	return s.String()
17498}
17499
17500// SetDBCluster sets the DBCluster field's value.
17501func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
17502	s.DBCluster = v
17503	return s
17504}
17505
17506type CreateDBClusterParameterGroupInput struct {
17507	_ struct{} `type:"structure"`
17508
17509	// The name of the DB cluster parameter group.
17510	//
17511	// Constraints:
17512	//
17513	//    * Must match the name of an existing DB cluster parameter group.
17514	//
17515	// This value is stored as a lowercase string.
17516	//
17517	// DBClusterParameterGroupName is a required field
17518	DBClusterParameterGroupName *string `type:"string" required:"true"`
17519
17520	// The DB cluster parameter group family name. A DB cluster parameter group
17521	// can be associated with one and only one DB cluster parameter group family,
17522	// and can be applied only to a DB cluster running a database engine and engine
17523	// version compatible with that DB cluster parameter group family.
17524	//
17525	// Aurora MySQL
17526	//
17527	// Example: aurora5.6, aurora-mysql5.7
17528	//
17529	// Aurora PostgreSQL
17530	//
17531	// Example: aurora-postgresql9.6
17532	//
17533	// DBParameterGroupFamily is a required field
17534	DBParameterGroupFamily *string `type:"string" required:"true"`
17535
17536	// The description for the DB cluster parameter group.
17537	//
17538	// Description is a required field
17539	Description *string `type:"string" required:"true"`
17540
17541	// Tags to assign to the DB cluster parameter group.
17542	Tags []*Tag `locationNameList:"Tag" type:"list"`
17543}
17544
17545// String returns the string representation
17546func (s CreateDBClusterParameterGroupInput) String() string {
17547	return awsutil.Prettify(s)
17548}
17549
17550// GoString returns the string representation
17551func (s CreateDBClusterParameterGroupInput) GoString() string {
17552	return s.String()
17553}
17554
17555// Validate inspects the fields of the type to determine if they are valid.
17556func (s *CreateDBClusterParameterGroupInput) Validate() error {
17557	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
17558	if s.DBClusterParameterGroupName == nil {
17559		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
17560	}
17561	if s.DBParameterGroupFamily == nil {
17562		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
17563	}
17564	if s.Description == nil {
17565		invalidParams.Add(request.NewErrParamRequired("Description"))
17566	}
17567
17568	if invalidParams.Len() > 0 {
17569		return invalidParams
17570	}
17571	return nil
17572}
17573
17574// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17575func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
17576	s.DBClusterParameterGroupName = &v
17577	return s
17578}
17579
17580// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
17581func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
17582	s.DBParameterGroupFamily = &v
17583	return s
17584}
17585
17586// SetDescription sets the Description field's value.
17587func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
17588	s.Description = &v
17589	return s
17590}
17591
17592// SetTags sets the Tags field's value.
17593func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
17594	s.Tags = v
17595	return s
17596}
17597
17598type CreateDBClusterParameterGroupOutput struct {
17599	_ struct{} `type:"structure"`
17600
17601	// Contains the details of an Amazon RDS DB cluster parameter group.
17602	//
17603	// This data type is used as a response element in the DescribeDBClusterParameterGroups
17604	// action.
17605	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
17606}
17607
17608// String returns the string representation
17609func (s CreateDBClusterParameterGroupOutput) String() string {
17610	return awsutil.Prettify(s)
17611}
17612
17613// GoString returns the string representation
17614func (s CreateDBClusterParameterGroupOutput) GoString() string {
17615	return s.String()
17616}
17617
17618// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
17619func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
17620	s.DBClusterParameterGroup = v
17621	return s
17622}
17623
17624type CreateDBClusterSnapshotInput struct {
17625	_ struct{} `type:"structure"`
17626
17627	// The identifier of the DB cluster to create a snapshot for. This parameter
17628	// isn't case-sensitive.
17629	//
17630	// Constraints:
17631	//
17632	//    * Must match the identifier of an existing DBCluster.
17633	//
17634	// Example: my-cluster1
17635	//
17636	// DBClusterIdentifier is a required field
17637	DBClusterIdentifier *string `type:"string" required:"true"`
17638
17639	// The identifier of the DB cluster snapshot. This parameter is stored as a
17640	// lowercase string.
17641	//
17642	// Constraints:
17643	//
17644	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
17645	//
17646	//    * First character must be a letter.
17647	//
17648	//    * Can't end with a hyphen or contain two consecutive hyphens.
17649	//
17650	// Example: my-cluster1-snapshot1
17651	//
17652	// DBClusterSnapshotIdentifier is a required field
17653	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
17654
17655	// The tags to be assigned to the DB cluster snapshot.
17656	Tags []*Tag `locationNameList:"Tag" type:"list"`
17657}
17658
17659// String returns the string representation
17660func (s CreateDBClusterSnapshotInput) String() string {
17661	return awsutil.Prettify(s)
17662}
17663
17664// GoString returns the string representation
17665func (s CreateDBClusterSnapshotInput) GoString() string {
17666	return s.String()
17667}
17668
17669// Validate inspects the fields of the type to determine if they are valid.
17670func (s *CreateDBClusterSnapshotInput) Validate() error {
17671	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
17672	if s.DBClusterIdentifier == nil {
17673		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
17674	}
17675	if s.DBClusterSnapshotIdentifier == nil {
17676		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
17677	}
17678
17679	if invalidParams.Len() > 0 {
17680		return invalidParams
17681	}
17682	return nil
17683}
17684
17685// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17686func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
17687	s.DBClusterIdentifier = &v
17688	return s
17689}
17690
17691// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
17692func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
17693	s.DBClusterSnapshotIdentifier = &v
17694	return s
17695}
17696
17697// SetTags sets the Tags field's value.
17698func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
17699	s.Tags = v
17700	return s
17701}
17702
17703type CreateDBClusterSnapshotOutput struct {
17704	_ struct{} `type:"structure"`
17705
17706	// Contains the details for an Amazon RDS DB cluster snapshot
17707	//
17708	// This data type is used as a response element in the DescribeDBClusterSnapshots
17709	// action.
17710	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
17711}
17712
17713// String returns the string representation
17714func (s CreateDBClusterSnapshotOutput) String() string {
17715	return awsutil.Prettify(s)
17716}
17717
17718// GoString returns the string representation
17719func (s CreateDBClusterSnapshotOutput) GoString() string {
17720	return s.String()
17721}
17722
17723// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
17724func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
17725	s.DBClusterSnapshot = v
17726	return s
17727}
17728
17729type CreateDBInstanceInput struct {
17730	_ struct{} `type:"structure"`
17731
17732	// The amount of storage (in gibibytes) to allocate for the DB instance.
17733	//
17734	// Type: Integer
17735	//
17736	// Amazon Aurora
17737	//
17738	// Not applicable. Aurora cluster volumes automatically grow as the amount of
17739	// data in your database increases, though you are only charged for the space
17740	// that you use in an Aurora cluster volume.
17741	//
17742	// MySQL
17743	//
17744	// Constraints to the amount of storage for each storage type are the following:
17745	//
17746	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
17747	//
17748	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
17749	//
17750	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
17751	//
17752	// MariaDB
17753	//
17754	// Constraints to the amount of storage for each storage type are the following:
17755	//
17756	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
17757	//
17758	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
17759	//
17760	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
17761	//
17762	// PostgreSQL
17763	//
17764	// Constraints to the amount of storage for each storage type are the following:
17765	//
17766	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
17767	//
17768	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
17769	//
17770	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
17771	//
17772	// Oracle
17773	//
17774	// Constraints to the amount of storage for each storage type are the following:
17775	//
17776	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
17777	//
17778	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
17779	//
17780	//    * Magnetic storage (standard): Must be an integer from 10 to 3072.
17781	//
17782	// SQL Server
17783	//
17784	// Constraints to the amount of storage for each storage type are the following:
17785	//
17786	//    * General Purpose (SSD) storage (gp2): Enterprise and Standard editions:
17787	//    Must be an integer from 200 to 16384. Web and Express editions: Must be
17788	//    an integer from 20 to 16384.
17789	//
17790	//    * Provisioned IOPS storage (io1): Enterprise and Standard editions: Must
17791	//    be an integer from 200 to 16384. Web and Express editions: Must be an
17792	//    integer from 100 to 16384.
17793	//
17794	//    * Magnetic storage (standard): Enterprise and Standard editions: Must
17795	//    be an integer from 200 to 1024. Web and Express editions: Must be an integer
17796	//    from 20 to 1024.
17797	AllocatedStorage *int64 `type:"integer"`
17798
17799	// A value that indicates whether minor engine upgrades are applied automatically
17800	// to the DB instance during the maintenance window. By default, minor engine
17801	// upgrades are applied automatically.
17802	AutoMinorVersionUpgrade *bool `type:"boolean"`
17803
17804	// The Availability Zone (AZ) where the database will be created. For information
17805	// on AWS Regions and Availability Zones, see Regions and Availability Zones
17806	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
17807	//
17808	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
17809	// Region.
17810	//
17811	// Example: us-east-1d
17812	//
17813	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
17814	// is a Multi-AZ deployment. The specified Availability Zone must be in the
17815	// same AWS Region as the current endpoint.
17816	//
17817	// If you're creating a DB instance in an RDS on VMware environment, specify
17818	// the identifier of the custom Availability Zone to create the DB instance
17819	// in.
17820	//
17821	// For more information about RDS on VMware, see the RDS on VMware User Guide.
17822	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
17823	AvailabilityZone *string `type:"string"`
17824
17825	// The number of days for which automated backups are retained. Setting this
17826	// parameter to a positive number enables backups. Setting this parameter to
17827	// 0 disables automated backups.
17828	//
17829	// Amazon Aurora
17830	//
17831	// Not applicable. The retention period for automated backups is managed by
17832	// the DB cluster.
17833	//
17834	// Default: 1
17835	//
17836	// Constraints:
17837	//
17838	//    * Must be a value from 0 to 35
17839	//
17840	//    * Can't be set to 0 if the DB instance is a source to read replicas
17841	BackupRetentionPeriod *int64 `type:"integer"`
17842
17843	// For supported engines, indicates that the DB instance should be associated
17844	// with the specified CharacterSet.
17845	//
17846	// Amazon Aurora
17847	//
17848	// Not applicable. The character set is managed by the DB cluster. For more
17849	// information, see CreateDBCluster.
17850	CharacterSetName *string `type:"string"`
17851
17852	// A value that indicates whether to copy tags from the DB instance to snapshots
17853	// of the DB instance. By default, tags are not copied.
17854	//
17855	// Amazon Aurora
17856	//
17857	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
17858	// this value for an Aurora DB instance has no effect on the DB cluster setting.
17859	CopyTagsToSnapshot *bool `type:"boolean"`
17860
17861	// The identifier of the DB cluster that the instance will belong to.
17862	DBClusterIdentifier *string `type:"string"`
17863
17864	// The compute and memory capacity of the DB instance, for example, db.m4.large.
17865	// Not all DB instance classes are available in all AWS Regions, or for all
17866	// database engines. For the full list of DB instance classes, and availability
17867	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
17868	// in the Amazon RDS User Guide.
17869	//
17870	// DBInstanceClass is a required field
17871	DBInstanceClass *string `type:"string" required:"true"`
17872
17873	// The DB instance identifier. This parameter is stored as a lowercase string.
17874	//
17875	// Constraints:
17876	//
17877	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
17878	//
17879	//    * First character must be a letter.
17880	//
17881	//    * Can't end with a hyphen or contain two consecutive hyphens.
17882	//
17883	// Example: mydbinstance
17884	//
17885	// DBInstanceIdentifier is a required field
17886	DBInstanceIdentifier *string `type:"string" required:"true"`
17887
17888	// The meaning of this parameter differs according to the database engine you
17889	// use.
17890	//
17891	// MySQL
17892	//
17893	// The name of the database to create when the DB instance is created. If this
17894	// parameter isn't specified, no database is created in the DB instance.
17895	//
17896	// Constraints:
17897	//
17898	//    * Must contain 1 to 64 letters or numbers.
17899	//
17900	//    * Can't be a word reserved by the specified database engine
17901	//
17902	// MariaDB
17903	//
17904	// The name of the database to create when the DB instance is created. If this
17905	// parameter isn't specified, no database is created in the DB instance.
17906	//
17907	// Constraints:
17908	//
17909	//    * Must contain 1 to 64 letters or numbers.
17910	//
17911	//    * Can't be a word reserved by the specified database engine
17912	//
17913	// PostgreSQL
17914	//
17915	// The name of the database to create when the DB instance is created. If this
17916	// parameter isn't specified, the default "postgres" database is created in
17917	// the DB instance.
17918	//
17919	// Constraints:
17920	//
17921	//    * Must contain 1 to 63 letters, numbers, or underscores.
17922	//
17923	//    * Must begin with a letter or an underscore. Subsequent characters can
17924	//    be letters, underscores, or digits (0-9).
17925	//
17926	//    * Can't be a word reserved by the specified database engine
17927	//
17928	// Oracle
17929	//
17930	// The Oracle System ID (SID) of the created DB instance. If you specify null,
17931	// the default value ORCL is used. You can't specify the string NULL, or any
17932	// other reserved word, for DBName.
17933	//
17934	// Default: ORCL
17935	//
17936	// Constraints:
17937	//
17938	//    * Can't be longer than 8 characters
17939	//
17940	// SQL Server
17941	//
17942	// Not applicable. Must be null.
17943	//
17944	// Amazon Aurora
17945	//
17946	// The name of the database to create when the primary instance of the DB cluster
17947	// is created. If this parameter isn't specified, no database is created in
17948	// the DB instance.
17949	//
17950	// Constraints:
17951	//
17952	//    * Must contain 1 to 64 letters or numbers.
17953	//
17954	//    * Can't be a word reserved by the specified database engine
17955	DBName *string `type:"string"`
17956
17957	// The name of the DB parameter group to associate with this DB instance. If
17958	// you do not specify a value, then the default DB parameter group for the specified
17959	// DB engine and version is used.
17960	//
17961	// Constraints:
17962	//
17963	//    * Must be 1 to 255 letters, numbers, or hyphens.
17964	//
17965	//    * First character must be a letter
17966	//
17967	//    * Can't end with a hyphen or contain two consecutive hyphens
17968	DBParameterGroupName *string `type:"string"`
17969
17970	// A list of DB security groups to associate with this DB instance.
17971	//
17972	// Default: The default DB security group for the database engine.
17973	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
17974
17975	// A DB subnet group to associate with this DB instance.
17976	//
17977	// If there is no DB subnet group, then it is a non-VPC DB instance.
17978	DBSubnetGroupName *string `type:"string"`
17979
17980	// A value that indicates whether the DB instance has deletion protection enabled.
17981	// The database can't be deleted when deletion protection is enabled. By default,
17982	// deletion protection is disabled. For more information, see Deleting a DB
17983	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
17984	//
17985	// Amazon Aurora
17986	//
17987	// Not applicable. You can enable or disable deletion protection for the DB
17988	// cluster. For more information, see CreateDBCluster. DB instances in a DB
17989	// cluster can be deleted even when deletion protection is enabled for the DB
17990	// cluster.
17991	DeletionProtection *bool `type:"boolean"`
17992
17993	// The Active Directory directory ID to create the DB instance in. Currently,
17994	// only Microsoft SQL Server and Oracle DB instances can be created in an Active
17995	// Directory Domain.
17996	//
17997	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
17998	// to authenticate users that connect to the DB instance. For more information,
17999	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
18000	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
18001	// in the Amazon RDS User Guide.
18002	//
18003	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
18004	// users that connect to the DB instance. For more information, see Using Kerberos
18005	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
18006	// in the Amazon RDS User Guide.
18007	Domain *string `type:"string"`
18008
18009	// Specify the name of the IAM role to be used when making API calls to the
18010	// Directory Service.
18011	DomainIAMRoleName *string `type:"string"`
18012
18013	// The list of log types that need to be enabled for exporting to CloudWatch
18014	// Logs. The values in the list depend on the DB engine being used. For more
18015	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
18016	// in the Amazon Relational Database Service User Guide.
18017	EnableCloudwatchLogsExports []*string `type:"list"`
18018
18019	// A value that indicates whether to enable mapping of AWS Identity and Access
18020	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
18021	//
18022	// You can enable IAM database authentication for the following database engines:
18023	//
18024	// Amazon Aurora
18025	//
18026	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
18027	// by the DB cluster.
18028	//
18029	// MySQL
18030	//
18031	//    * For MySQL 5.6, minor version 5.6.34 or higher
18032	//
18033	//    * For MySQL 5.7, minor version 5.7.16 or higher
18034	//
18035	//    * For MySQL 8.0, minor version 8.0.16 or higher
18036	//
18037	// PostgreSQL
18038	//
18039	//    * For PostgreSQL 9.5, minor version 9.5.15 or higher
18040	//
18041	//    * For PostgreSQL 9.6, minor version 9.6.11 or higher
18042	//
18043	//    * PostgreSQL 10.6, 10.7, and 10.9
18044	//
18045	// For more information, see IAM Database Authentication for MySQL and PostgreSQL
18046	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
18047	// in the Amazon RDS User Guide.
18048	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
18049
18050	// A value that indicates whether to enable Performance Insights for the DB
18051	// instance.
18052	//
18053	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
18054	// in the Amazon Relational Database Service User Guide.
18055	EnablePerformanceInsights *bool `type:"boolean"`
18056
18057	// The name of the database engine to be used for this instance.
18058	//
18059	// Not every database engine is available for every AWS Region.
18060	//
18061	// Valid Values:
18062	//
18063	//    * aurora (for MySQL 5.6-compatible Aurora)
18064	//
18065	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
18066	//
18067	//    * aurora-postgresql
18068	//
18069	//    * mariadb
18070	//
18071	//    * mysql
18072	//
18073	//    * oracle-ee
18074	//
18075	//    * oracle-se2
18076	//
18077	//    * oracle-se1
18078	//
18079	//    * oracle-se
18080	//
18081	//    * postgres
18082	//
18083	//    * sqlserver-ee
18084	//
18085	//    * sqlserver-se
18086	//
18087	//    * sqlserver-ex
18088	//
18089	//    * sqlserver-web
18090	//
18091	// Engine is a required field
18092	Engine *string `type:"string" required:"true"`
18093
18094	// The version number of the database engine to use.
18095	//
18096	// For a list of valid engine versions, use the DescribeDBEngineVersions action.
18097	//
18098	// The following are the database engines and links to information about the
18099	// major and minor versions that are available with Amazon RDS. Not every database
18100	// engine is available for every AWS Region.
18101	//
18102	// Amazon Aurora
18103	//
18104	// Not applicable. The version number of the database engine to be used by the
18105	// DB instance is managed by the DB cluster.
18106	//
18107	// MariaDB
18108	//
18109	// See MariaDB on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)
18110	// in the Amazon RDS User Guide.
18111	//
18112	// Microsoft SQL Server
18113	//
18114	// See Version and Feature Support on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport)
18115	// in the Amazon RDS User Guide.
18116	//
18117	// MySQL
18118	//
18119	// See MySQL on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)
18120	// in the Amazon RDS User Guide.
18121	//
18122	// Oracle
18123	//
18124	// See Oracle Database Engine Release Notes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html)
18125	// in the Amazon RDS User Guide.
18126	//
18127	// PostgreSQL
18128	//
18129	// See Supported PostgreSQL Database Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions)
18130	// in the Amazon RDS User Guide.
18131	EngineVersion *string `type:"string"`
18132
18133	// The amount of Provisioned IOPS (input/output operations per second) to be
18134	// initially allocated for the DB instance. For information about valid Iops
18135	// values, see Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
18136	// in the Amazon RDS User Guide.
18137	//
18138	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must
18139	// be a multiple between .5 and 50 of the storage amount for the DB instance.
18140	// For SQL Server DB instances, must be a multiple between 1 and 50 of the storage
18141	// amount for the DB instance.
18142	Iops *int64 `type:"integer"`
18143
18144	// The AWS KMS key identifier for an encrypted DB instance.
18145	//
18146	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
18147	// key. If you are creating a DB instance with the same AWS account that owns
18148	// the KMS encryption key used to encrypt the new DB instance, then you can
18149	// use the KMS key alias instead of the ARN for the KM encryption key.
18150	//
18151	// Amazon Aurora
18152	//
18153	// Not applicable. The KMS key identifier is managed by the DB cluster. For
18154	// more information, see CreateDBCluster.
18155	//
18156	// If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId
18157	// parameter, then Amazon RDS will use your default encryption key. AWS KMS
18158	// creates the default encryption key for your AWS account. Your AWS account
18159	// has a different default encryption key for each AWS Region.
18160	KmsKeyId *string `type:"string"`
18161
18162	// License model information for this DB instance.
18163	//
18164	// Valid values: license-included | bring-your-own-license | general-public-license
18165	LicenseModel *string `type:"string"`
18166
18167	// The password for the master user. The password can include any printable
18168	// ASCII character except "/", """, or "@".
18169	//
18170	// Amazon Aurora
18171	//
18172	// Not applicable. The password for the master user is managed by the DB cluster.
18173	//
18174	// MariaDB
18175	//
18176	// Constraints: Must contain from 8 to 41 characters.
18177	//
18178	// Microsoft SQL Server
18179	//
18180	// Constraints: Must contain from 8 to 128 characters.
18181	//
18182	// MySQL
18183	//
18184	// Constraints: Must contain from 8 to 41 characters.
18185	//
18186	// Oracle
18187	//
18188	// Constraints: Must contain from 8 to 30 characters.
18189	//
18190	// PostgreSQL
18191	//
18192	// Constraints: Must contain from 8 to 128 characters.
18193	MasterUserPassword *string `type:"string"`
18194
18195	// The name for the master user.
18196	//
18197	// Amazon Aurora
18198	//
18199	// Not applicable. The name for the master user is managed by the DB cluster.
18200	//
18201	// MariaDB
18202	//
18203	// Constraints:
18204	//
18205	//    * Required for MariaDB.
18206	//
18207	//    * Must be 1 to 16 letters or numbers.
18208	//
18209	//    * Can't be a reserved word for the chosen database engine.
18210	//
18211	// Microsoft SQL Server
18212	//
18213	// Constraints:
18214	//
18215	//    * Required for SQL Server.
18216	//
18217	//    * Must be 1 to 128 letters or numbers.
18218	//
18219	//    * The first character must be a letter.
18220	//
18221	//    * Can't be a reserved word for the chosen database engine.
18222	//
18223	// MySQL
18224	//
18225	// Constraints:
18226	//
18227	//    * Required for MySQL.
18228	//
18229	//    * Must be 1 to 16 letters or numbers.
18230	//
18231	//    * First character must be a letter.
18232	//
18233	//    * Can't be a reserved word for the chosen database engine.
18234	//
18235	// Oracle
18236	//
18237	// Constraints:
18238	//
18239	//    * Required for Oracle.
18240	//
18241	//    * Must be 1 to 30 letters or numbers.
18242	//
18243	//    * First character must be a letter.
18244	//
18245	//    * Can't be a reserved word for the chosen database engine.
18246	//
18247	// PostgreSQL
18248	//
18249	// Constraints:
18250	//
18251	//    * Required for PostgreSQL.
18252	//
18253	//    * Must be 1 to 63 letters or numbers.
18254	//
18255	//    * First character must be a letter.
18256	//
18257	//    * Can't be a reserved word for the chosen database engine.
18258	MasterUsername *string `type:"string"`
18259
18260	// The upper limit to which Amazon RDS can automatically scale the storage of
18261	// the DB instance.
18262	MaxAllocatedStorage *int64 `type:"integer"`
18263
18264	// The interval, in seconds, between points when Enhanced Monitoring metrics
18265	// are collected for the DB instance. To disable collecting Enhanced Monitoring
18266	// metrics, specify 0. The default is 0.
18267	//
18268	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
18269	// to a value other than 0.
18270	//
18271	// Valid Values: 0, 1, 5, 10, 15, 30, 60
18272	MonitoringInterval *int64 `type:"integer"`
18273
18274	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
18275	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
18276	// For information on creating a monitoring role, go to Setting Up and Enabling
18277	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
18278	// in the Amazon RDS User Guide.
18279	//
18280	// If MonitoringInterval is set to a value other than 0, then you must supply
18281	// a MonitoringRoleArn value.
18282	MonitoringRoleArn *string `type:"string"`
18283
18284	// A value that indicates whether the DB instance is a Multi-AZ deployment.
18285	// You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ
18286	// deployment.
18287	MultiAZ *bool `type:"boolean"`
18288
18289	// Indicates that the DB instance should be associated with the specified option
18290	// group.
18291	//
18292	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
18293	// can't be removed from an option group. Also, that option group can't be removed
18294	// from a DB instance once it is associated with a DB instance
18295	OptionGroupName *string `type:"string"`
18296
18297	// The AWS KMS key identifier for encryption of Performance Insights data. The
18298	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
18299	// KMS key alias for the KMS encryption key.
18300	//
18301	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
18302	// RDS uses your default encryption key. AWS KMS creates the default encryption
18303	// key for your AWS account. Your AWS account has a different default encryption
18304	// key for each AWS Region.
18305	PerformanceInsightsKMSKeyId *string `type:"string"`
18306
18307	// The amount of time, in days, to retain Performance Insights data. Valid values
18308	// are 7 or 731 (2 years).
18309	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
18310
18311	// The port number on which the database accepts connections.
18312	//
18313	// MySQL
18314	//
18315	// Default: 3306
18316	//
18317	// Valid values: 1150-65535
18318	//
18319	// Type: Integer
18320	//
18321	// MariaDB
18322	//
18323	// Default: 3306
18324	//
18325	// Valid values: 1150-65535
18326	//
18327	// Type: Integer
18328	//
18329	// PostgreSQL
18330	//
18331	// Default: 5432
18332	//
18333	// Valid values: 1150-65535
18334	//
18335	// Type: Integer
18336	//
18337	// Oracle
18338	//
18339	// Default: 1521
18340	//
18341	// Valid values: 1150-65535
18342	//
18343	// SQL Server
18344	//
18345	// Default: 1433
18346	//
18347	// Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and
18348	// 49152-49156.
18349	//
18350	// Amazon Aurora
18351	//
18352	// Default: 3306
18353	//
18354	// Valid values: 1150-65535
18355	//
18356	// Type: Integer
18357	Port *int64 `type:"integer"`
18358
18359	// The daily time range during which automated backups are created if automated
18360	// backups are enabled, using the BackupRetentionPeriod parameter. For more
18361	// information, see The Backup Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
18362	// in the Amazon RDS User Guide.
18363	//
18364	// Amazon Aurora
18365	//
18366	// Not applicable. The daily time range for creating automated backups is managed
18367	// by the DB cluster.
18368	//
18369	// The default is a 30-minute window selected at random from an 8-hour block
18370	// of time for each AWS Region. To see the time blocks available, see Adjusting
18371	// the Preferred DB Instance Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)
18372	// in the Amazon RDS User Guide.
18373	//
18374	// Constraints:
18375	//
18376	//    * Must be in the format hh24:mi-hh24:mi.
18377	//
18378	//    * Must be in Universal Coordinated Time (UTC).
18379	//
18380	//    * Must not conflict with the preferred maintenance window.
18381	//
18382	//    * Must be at least 30 minutes.
18383	PreferredBackupWindow *string `type:"string"`
18384
18385	// The time range each week during which system maintenance can occur, in Universal
18386	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
18387	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
18388	//
18389	// Format: ddd:hh24:mi-ddd:hh24:mi
18390	//
18391	// The default is a 30-minute window selected at random from an 8-hour block
18392	// of time for each AWS Region, occurring on a random day of the week.
18393	//
18394	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
18395	//
18396	// Constraints: Minimum 30-minute window.
18397	PreferredMaintenanceWindow *string `type:"string"`
18398
18399	// The number of CPU cores and the number of threads per core for the DB instance
18400	// class of the DB instance.
18401	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
18402
18403	// A value that specifies the order in which an Aurora Replica is promoted to
18404	// the primary instance after a failure of the existing primary instance. For
18405	// more information, see Fault Tolerance for an Aurora DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance)
18406	// in the Amazon Aurora User Guide.
18407	//
18408	// Default: 1
18409	//
18410	// Valid Values: 0 - 15
18411	PromotionTier *int64 `type:"integer"`
18412
18413	// A value that indicates whether the DB instance is publicly accessible.
18414	//
18415	// When the DB instance is publicly accessible, its DNS endpoint resolves to
18416	// the private IP address from within the DB instance's VPC, and to the public
18417	// IP address from outside of the DB instance's VPC. Access to the DB instance
18418	// is ultimately controlled by the security group it uses, and that public access
18419	// is not permitted if the security group assigned to the DB instance doesn't
18420	// permit it.
18421	//
18422	// When the DB instance isn't publicly accessible, it is an internal DB instance
18423	// with a DNS name that resolves to a private IP address.
18424	//
18425	// Default: The default behavior varies depending on whether DBSubnetGroupName
18426	// is specified.
18427	//
18428	// If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,
18429	// the following applies:
18430	//
18431	//    * If the default VPC in the target region doesn’t have an Internet gateway
18432	//    attached to it, the DB instance is private.
18433	//
18434	//    * If the default VPC in the target region has an Internet gateway attached
18435	//    to it, the DB instance is public.
18436	//
18437	// If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,
18438	// the following applies:
18439	//
18440	//    * If the subnets are part of a VPC that doesn’t have an Internet gateway
18441	//    attached to it, the DB instance is private.
18442	//
18443	//    * If the subnets are part of a VPC that has an Internet gateway attached
18444	//    to it, the DB instance is public.
18445	PubliclyAccessible *bool `type:"boolean"`
18446
18447	// A value that indicates whether the DB instance is encrypted. By default,
18448	// it isn't encrypted.
18449	//
18450	// Amazon Aurora
18451	//
18452	// Not applicable. The encryption for DB instances is managed by the DB cluster.
18453	StorageEncrypted *bool `type:"boolean"`
18454
18455	// Specifies the storage type to be associated with the DB instance.
18456	//
18457	// Valid values: standard | gp2 | io1
18458	//
18459	// If you specify io1, you must also include a value for the Iops parameter.
18460	//
18461	// Default: io1 if the Iops parameter is specified, otherwise gp2
18462	StorageType *string `type:"string"`
18463
18464	// Tags to assign to the DB instance.
18465	Tags []*Tag `locationNameList:"Tag" type:"list"`
18466
18467	// The ARN from the key store with which to associate the instance for TDE encryption.
18468	TdeCredentialArn *string `type:"string"`
18469
18470	// The password for the given ARN from the key store in order to access the
18471	// device.
18472	TdeCredentialPassword *string `type:"string"`
18473
18474	// The time zone of the DB instance. The time zone parameter is currently supported
18475	// only by Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).
18476	Timezone *string `type:"string"`
18477
18478	// A list of Amazon EC2 VPC security groups to associate with this DB instance.
18479	//
18480	// Amazon Aurora
18481	//
18482	// Not applicable. The associated list of EC2 VPC security groups is managed
18483	// by the DB cluster.
18484	//
18485	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
18486	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
18487}
18488
18489// String returns the string representation
18490func (s CreateDBInstanceInput) String() string {
18491	return awsutil.Prettify(s)
18492}
18493
18494// GoString returns the string representation
18495func (s CreateDBInstanceInput) GoString() string {
18496	return s.String()
18497}
18498
18499// Validate inspects the fields of the type to determine if they are valid.
18500func (s *CreateDBInstanceInput) Validate() error {
18501	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
18502	if s.DBInstanceClass == nil {
18503		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
18504	}
18505	if s.DBInstanceIdentifier == nil {
18506		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
18507	}
18508	if s.Engine == nil {
18509		invalidParams.Add(request.NewErrParamRequired("Engine"))
18510	}
18511
18512	if invalidParams.Len() > 0 {
18513		return invalidParams
18514	}
18515	return nil
18516}
18517
18518// SetAllocatedStorage sets the AllocatedStorage field's value.
18519func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
18520	s.AllocatedStorage = &v
18521	return s
18522}
18523
18524// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
18525func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
18526	s.AutoMinorVersionUpgrade = &v
18527	return s
18528}
18529
18530// SetAvailabilityZone sets the AvailabilityZone field's value.
18531func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
18532	s.AvailabilityZone = &v
18533	return s
18534}
18535
18536// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
18537func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
18538	s.BackupRetentionPeriod = &v
18539	return s
18540}
18541
18542// SetCharacterSetName sets the CharacterSetName field's value.
18543func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
18544	s.CharacterSetName = &v
18545	return s
18546}
18547
18548// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
18549func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
18550	s.CopyTagsToSnapshot = &v
18551	return s
18552}
18553
18554// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18555func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
18556	s.DBClusterIdentifier = &v
18557	return s
18558}
18559
18560// SetDBInstanceClass sets the DBInstanceClass field's value.
18561func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
18562	s.DBInstanceClass = &v
18563	return s
18564}
18565
18566// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18567func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
18568	s.DBInstanceIdentifier = &v
18569	return s
18570}
18571
18572// SetDBName sets the DBName field's value.
18573func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
18574	s.DBName = &v
18575	return s
18576}
18577
18578// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18579func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
18580	s.DBParameterGroupName = &v
18581	return s
18582}
18583
18584// SetDBSecurityGroups sets the DBSecurityGroups field's value.
18585func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
18586	s.DBSecurityGroups = v
18587	return s
18588}
18589
18590// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
18591func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
18592	s.DBSubnetGroupName = &v
18593	return s
18594}
18595
18596// SetDeletionProtection sets the DeletionProtection field's value.
18597func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
18598	s.DeletionProtection = &v
18599	return s
18600}
18601
18602// SetDomain sets the Domain field's value.
18603func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
18604	s.Domain = &v
18605	return s
18606}
18607
18608// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
18609func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
18610	s.DomainIAMRoleName = &v
18611	return s
18612}
18613
18614// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
18615func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
18616	s.EnableCloudwatchLogsExports = v
18617	return s
18618}
18619
18620// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
18621func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
18622	s.EnableIAMDatabaseAuthentication = &v
18623	return s
18624}
18625
18626// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
18627func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
18628	s.EnablePerformanceInsights = &v
18629	return s
18630}
18631
18632// SetEngine sets the Engine field's value.
18633func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
18634	s.Engine = &v
18635	return s
18636}
18637
18638// SetEngineVersion sets the EngineVersion field's value.
18639func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
18640	s.EngineVersion = &v
18641	return s
18642}
18643
18644// SetIops sets the Iops field's value.
18645func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
18646	s.Iops = &v
18647	return s
18648}
18649
18650// SetKmsKeyId sets the KmsKeyId field's value.
18651func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
18652	s.KmsKeyId = &v
18653	return s
18654}
18655
18656// SetLicenseModel sets the LicenseModel field's value.
18657func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
18658	s.LicenseModel = &v
18659	return s
18660}
18661
18662// SetMasterUserPassword sets the MasterUserPassword field's value.
18663func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
18664	s.MasterUserPassword = &v
18665	return s
18666}
18667
18668// SetMasterUsername sets the MasterUsername field's value.
18669func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
18670	s.MasterUsername = &v
18671	return s
18672}
18673
18674// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
18675func (s *CreateDBInstanceInput) SetMaxAllocatedStorage(v int64) *CreateDBInstanceInput {
18676	s.MaxAllocatedStorage = &v
18677	return s
18678}
18679
18680// SetMonitoringInterval sets the MonitoringInterval field's value.
18681func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
18682	s.MonitoringInterval = &v
18683	return s
18684}
18685
18686// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
18687func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
18688	s.MonitoringRoleArn = &v
18689	return s
18690}
18691
18692// SetMultiAZ sets the MultiAZ field's value.
18693func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
18694	s.MultiAZ = &v
18695	return s
18696}
18697
18698// SetOptionGroupName sets the OptionGroupName field's value.
18699func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
18700	s.OptionGroupName = &v
18701	return s
18702}
18703
18704// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
18705func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
18706	s.PerformanceInsightsKMSKeyId = &v
18707	return s
18708}
18709
18710// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
18711func (s *CreateDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceInput {
18712	s.PerformanceInsightsRetentionPeriod = &v
18713	return s
18714}
18715
18716// SetPort sets the Port field's value.
18717func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
18718	s.Port = &v
18719	return s
18720}
18721
18722// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
18723func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
18724	s.PreferredBackupWindow = &v
18725	return s
18726}
18727
18728// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
18729func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
18730	s.PreferredMaintenanceWindow = &v
18731	return s
18732}
18733
18734// SetProcessorFeatures sets the ProcessorFeatures field's value.
18735func (s *CreateDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceInput {
18736	s.ProcessorFeatures = v
18737	return s
18738}
18739
18740// SetPromotionTier sets the PromotionTier field's value.
18741func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
18742	s.PromotionTier = &v
18743	return s
18744}
18745
18746// SetPubliclyAccessible sets the PubliclyAccessible field's value.
18747func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
18748	s.PubliclyAccessible = &v
18749	return s
18750}
18751
18752// SetStorageEncrypted sets the StorageEncrypted field's value.
18753func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
18754	s.StorageEncrypted = &v
18755	return s
18756}
18757
18758// SetStorageType sets the StorageType field's value.
18759func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
18760	s.StorageType = &v
18761	return s
18762}
18763
18764// SetTags sets the Tags field's value.
18765func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
18766	s.Tags = v
18767	return s
18768}
18769
18770// SetTdeCredentialArn sets the TdeCredentialArn field's value.
18771func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
18772	s.TdeCredentialArn = &v
18773	return s
18774}
18775
18776// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
18777func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
18778	s.TdeCredentialPassword = &v
18779	return s
18780}
18781
18782// SetTimezone sets the Timezone field's value.
18783func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
18784	s.Timezone = &v
18785	return s
18786}
18787
18788// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
18789func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
18790	s.VpcSecurityGroupIds = v
18791	return s
18792}
18793
18794type CreateDBInstanceOutput struct {
18795	_ struct{} `type:"structure"`
18796
18797	// Contains the details of an Amazon RDS DB instance.
18798	//
18799	// This data type is used as a response element in the DescribeDBInstances action.
18800	DBInstance *DBInstance `type:"structure"`
18801}
18802
18803// String returns the string representation
18804func (s CreateDBInstanceOutput) String() string {
18805	return awsutil.Prettify(s)
18806}
18807
18808// GoString returns the string representation
18809func (s CreateDBInstanceOutput) GoString() string {
18810	return s.String()
18811}
18812
18813// SetDBInstance sets the DBInstance field's value.
18814func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
18815	s.DBInstance = v
18816	return s
18817}
18818
18819type CreateDBInstanceReadReplicaInput struct {
18820	_ struct{} `type:"structure"`
18821
18822	// A value that indicates whether minor engine upgrades are applied automatically
18823	// to the read replica during the maintenance window.
18824	//
18825	// Default: Inherits from the source DB instance
18826	AutoMinorVersionUpgrade *bool `type:"boolean"`
18827
18828	// The Availability Zone (AZ) where the read replica will be created.
18829	//
18830	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
18831	// Region.
18832	//
18833	// Example: us-east-1d
18834	AvailabilityZone *string `type:"string"`
18835
18836	// A value that indicates whether to copy all tags from the read replica to
18837	// snapshots of the read replica. By default, tags are not copied.
18838	CopyTagsToSnapshot *bool `type:"boolean"`
18839
18840	// The compute and memory capacity of the read replica, for example, db.m4.large.
18841	// Not all DB instance classes are available in all AWS Regions, or for all
18842	// database engines. For the full list of DB instance classes, and availability
18843	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
18844	// in the Amazon RDS User Guide.
18845	//
18846	// Default: Inherits from the source DB instance.
18847	DBInstanceClass *string `type:"string"`
18848
18849	// The DB instance identifier of the read replica. This identifier is the unique
18850	// key that identifies a DB instance. This parameter is stored as a lowercase
18851	// string.
18852	//
18853	// DBInstanceIdentifier is a required field
18854	DBInstanceIdentifier *string `type:"string" required:"true"`
18855
18856	// The name of the DB parameter group to associate with this DB instance.
18857	//
18858	// If you do not specify a value for DBParameterGroupName, then Amazon RDS uses
18859	// the DBParameterGroup of source DB instance for a same region read replica,
18860	// or the default DBParameterGroup for the specified DB engine for a cross region
18861	// read replica.
18862	//
18863	// Currently, specifying a parameter group for this operation is only supported
18864	// for Oracle DB instances.
18865	//
18866	// Constraints:
18867	//
18868	//    * Must be 1 to 255 letters, numbers, or hyphens.
18869	//
18870	//    * First character must be a letter
18871	//
18872	//    * Can't end with a hyphen or contain two consecutive hyphens
18873	DBParameterGroupName *string `type:"string"`
18874
18875	// Specifies a DB subnet group for the DB instance. The new DB instance is created
18876	// in the VPC associated with the DB subnet group. If no DB subnet group is
18877	// specified, then the new DB instance isn't created in a VPC.
18878	//
18879	// Constraints:
18880	//
18881	//    * Can only be specified if the source DB instance identifier specifies
18882	//    a DB instance in another AWS Region.
18883	//
18884	//    * If supplied, must match the name of an existing DBSubnetGroup.
18885	//
18886	//    * The specified DB subnet group must be in the same AWS Region in which
18887	//    the operation is running.
18888	//
18889	//    * All read replicas in one AWS Region that are created from the same source
18890	//    DB instance must either:> Specify DB subnet groups from the same VPC.
18891	//    All these read replicas are created in the same VPC. Not specify a DB
18892	//    subnet group. All these read replicas are created outside of any VPC.
18893	//
18894	// Example: mySubnetgroup
18895	DBSubnetGroupName *string `type:"string"`
18896
18897	// A value that indicates whether the DB instance has deletion protection enabled.
18898	// The database can't be deleted when deletion protection is enabled. By default,
18899	// deletion protection is disabled. For more information, see Deleting a DB
18900	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
18901	DeletionProtection *bool `type:"boolean"`
18902
18903	// DestinationRegion is used for presigning the request to a given region.
18904	DestinationRegion *string `type:"string"`
18905
18906	// The Active Directory directory ID to create the DB instance in.
18907	//
18908	// For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate
18909	// users that connect to the DB instance. For more information, see Using Kerberos
18910	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
18911	// in the Amazon RDS User Guide.
18912	//
18913	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
18914	// to authenticate users that connect to the DB instance. For more information,
18915	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
18916	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
18917	// in the Amazon RDS User Guide.
18918	Domain *string `type:"string"`
18919
18920	// Specify the name of the IAM role to be used when making API calls to the
18921	// Directory Service.
18922	DomainIAMRoleName *string `type:"string"`
18923
18924	// The list of logs that the new DB instance is to export to CloudWatch Logs.
18925	// The values in the list depend on the DB engine being used. For more information,
18926	// see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
18927	// in the Amazon RDS User Guide.
18928	EnableCloudwatchLogsExports []*string `type:"list"`
18929
18930	// A value that indicates whether to enable mapping of AWS Identity and Access
18931	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
18932	// For information about the supported DB engines, see CreateDBInstance.
18933	//
18934	// For more information about IAM database authentication, see IAM Database
18935	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
18936	// in the Amazon RDS User Guide.
18937	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
18938
18939	// A value that indicates whether to enable Performance Insights for the read
18940	// replica.
18941	//
18942	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
18943	// in the Amazon RDS User Guide.
18944	EnablePerformanceInsights *bool `type:"boolean"`
18945
18946	// The amount of Provisioned IOPS (input/output operations per second) to be
18947	// initially allocated for the DB instance.
18948	Iops *int64 `type:"integer"`
18949
18950	// The AWS KMS key ID for an encrypted read replica. The KMS key ID is the Amazon
18951	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
18952	// encryption key.
18953	//
18954	// If you create an encrypted read replica in the same AWS Region as the source
18955	// DB instance, then you do not have to specify a value for this parameter.
18956	// The read replica is encrypted with the same KMS key as the source DB instance.
18957	//
18958	// If you create an encrypted read replica in a different AWS Region, then you
18959	// must specify a KMS key for the destination AWS Region. KMS encryption keys
18960	// are specific to the AWS Region that they are created in, and you can't use
18961	// encryption keys from one AWS Region in another AWS Region.
18962	//
18963	// You can't create an encrypted read replica from an unencrypted DB instance.
18964	KmsKeyId *string `type:"string"`
18965
18966	// The interval, in seconds, between points when Enhanced Monitoring metrics
18967	// are collected for the read replica. To disable collecting Enhanced Monitoring
18968	// metrics, specify 0. The default is 0.
18969	//
18970	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
18971	// to a value other than 0.
18972	//
18973	// Valid Values: 0, 1, 5, 10, 15, 30, 60
18974	MonitoringInterval *int64 `type:"integer"`
18975
18976	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
18977	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
18978	// For information on creating a monitoring role, go to To create an IAM role
18979	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
18980	// in the Amazon RDS User Guide.
18981	//
18982	// If MonitoringInterval is set to a value other than 0, then you must supply
18983	// a MonitoringRoleArn value.
18984	MonitoringRoleArn *string `type:"string"`
18985
18986	// A value that indicates whether the read replica is in a Multi-AZ deployment.
18987	//
18988	// You can create a read replica as a Multi-AZ DB instance. RDS creates a standby
18989	// of your replica in another Availability Zone for failover support for the
18990	// replica. Creating your read replica as a Multi-AZ DB instance is independent
18991	// of whether the source database is a Multi-AZ DB instance.
18992	MultiAZ *bool `type:"boolean"`
18993
18994	// The option group the DB instance is associated with. If omitted, the option
18995	// group associated with the source instance is used.
18996	//
18997	// For SQL Server, you must use the option group associated with the source
18998	// instance.
18999	OptionGroupName *string `type:"string"`
19000
19001	// The AWS KMS key identifier for encryption of Performance Insights data. The
19002	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
19003	// KMS key alias for the KMS encryption key.
19004	//
19005	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
19006	// RDS uses your default encryption key. AWS KMS creates the default encryption
19007	// key for your AWS account. Your AWS account has a different default encryption
19008	// key for each AWS Region.
19009	PerformanceInsightsKMSKeyId *string `type:"string"`
19010
19011	// The amount of time, in days, to retain Performance Insights data. Valid values
19012	// are 7 or 731 (2 years).
19013	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
19014
19015	// The port number that the DB instance uses for connections.
19016	//
19017	// Default: Inherits from the source DB instance
19018	//
19019	// Valid Values: 1150-65535
19020	Port *int64 `type:"integer"`
19021
19022	// The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica
19023	// API action in the source AWS Region that contains the source DB instance.
19024	//
19025	// You must specify this parameter when you create an encrypted read replica
19026	// from another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl
19027	// when you are creating an encrypted read replica in the same AWS Region.
19028	//
19029	// The presigned URL must be a valid request for the CreateDBInstanceReadReplica
19030	// API action that can be executed in the source AWS Region that contains the
19031	// encrypted source DB instance. The presigned URL request must contain the
19032	// following parameter values:
19033	//
19034	//    * DestinationRegion - The AWS Region that the encrypted read replica is
19035	//    created in. This AWS Region is the same one where the CreateDBInstanceReadReplica
19036	//    action is called that contains this presigned URL. For example, if you
19037	//    create an encrypted DB instance in the us-west-1 AWS Region, from a source
19038	//    DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica
19039	//    action in the us-east-1 AWS Region and provide a presigned URL that contains
19040	//    a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS
19041	//    Region. For this example, the DestinationRegion in the presigned URL must
19042	//    be set to the us-east-1 AWS Region.
19043	//
19044	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
19045	//    the read replica in the destination AWS Region. This is the same identifier
19046	//    for both the CreateDBInstanceReadReplica action that is called in the
19047	//    destination AWS Region, and the action contained in the presigned URL.
19048	//
19049	//    * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted
19050	//    DB instance to be replicated. This identifier must be in the Amazon Resource
19051	//    Name (ARN) format for the source AWS Region. For example, if you are creating
19052	//    an encrypted read replica from a DB instance in the us-west-2 AWS Region,
19053	//    then your SourceDBInstanceIdentifier looks like the following example:
19054	//    arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.
19055	//
19056	// To learn how to generate a Signature Version 4 signed request, see Authenticating
19057	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
19058	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
19059	//
19060	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
19061	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
19062	// Specifying SourceRegion autogenerates a presigned URL that is a valid request
19063	// for the operation that can be executed in the source AWS Region.
19064	//
19065	// SourceRegion isn't supported for SQL Server, because SQL Server on Amazon
19066	// RDS doesn't support cross-region read replicas.
19067	PreSignedUrl *string `type:"string"`
19068
19069	// The number of CPU cores and the number of threads per core for the DB instance
19070	// class of the DB instance.
19071	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
19072
19073	// A value that indicates whether the DB instance is publicly accessible.
19074	//
19075	// When the DB instance is publicly accessible, its DNS endpoint resolves to
19076	// the private IP address from within the DB instance's VPC, and to the public
19077	// IP address from outside of the DB instance's VPC. Access to the DB instance
19078	// is ultimately controlled by the security group it uses, and that public access
19079	// is not permitted if the security group assigned to the DB instance doesn't
19080	// permit it.
19081	//
19082	// When the DB instance isn't publicly accessible, it is an internal DB instance
19083	// with a DNS name that resolves to a private IP address.
19084	//
19085	// For more information, see CreateDBInstance.
19086	PubliclyAccessible *bool `type:"boolean"`
19087
19088	// The identifier of the DB instance that will act as the source for the read
19089	// replica. Each DB instance can have up to five read replicas.
19090	//
19091	// Constraints:
19092	//
19093	//    * Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL,
19094	//    or SQL Server DB instance.
19095	//
19096	//    * Can specify a DB instance that is a MySQL read replica only if the source
19097	//    is running MySQL 5.6 or later.
19098	//
19099	//    * For the limitations of Oracle read replicas, see Read Replica Limitations
19100	//    with Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
19101	//    in the Amazon RDS User Guide.
19102	//
19103	//    * For the limitations of SQL Server read replicas, see Read Replica Limitations
19104	//    with Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.Limitations.html)
19105	//    in the Amazon RDS User Guide.
19106	//
19107	//    * Can specify a PostgreSQL DB instance only if the source is running PostgreSQL
19108	//    9.3.5 or later (9.4.7 and higher for cross-region replication).
19109	//
19110	//    * The specified DB instance must have automatic backups enabled, that
19111	//    is, its backup retention period must be greater than 0.
19112	//
19113	//    * If the source DB instance is in the same AWS Region as the read replica,
19114	//    specify a valid DB instance identifier.
19115	//
19116	//    * If the source DB instance is in a different AWS Region from the read
19117	//    replica, specify a valid DB instance ARN. For more information, see Constructing
19118	//    an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
19119	//    in the Amazon RDS User Guide. This doesn't apply to SQL Server, which
19120	//    doesn't support cross-region replicas.
19121	//
19122	// SourceDBInstanceIdentifier is a required field
19123	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
19124
19125	// SourceRegion is the source region where the resource exists. This is not
19126	// sent over the wire and is only used for presigning. This value should always
19127	// have the same region as the source ARN.
19128	SourceRegion *string `type:"string" ignore:"true"`
19129
19130	// Specifies the storage type to be associated with the read replica.
19131	//
19132	// Valid values: standard | gp2 | io1
19133	//
19134	// If you specify io1, you must also include a value for the Iops parameter.
19135	//
19136	// Default: io1 if the Iops parameter is specified, otherwise gp2
19137	StorageType *string `type:"string"`
19138
19139	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
19140	// in the Amazon RDS User Guide.
19141	Tags []*Tag `locationNameList:"Tag" type:"list"`
19142
19143	// A value that indicates whether the DB instance class of the DB instance uses
19144	// its default processor features.
19145	UseDefaultProcessorFeatures *bool `type:"boolean"`
19146
19147	// A list of EC2 VPC security groups to associate with the read replica.
19148	//
19149	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
19150	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
19151}
19152
19153// String returns the string representation
19154func (s CreateDBInstanceReadReplicaInput) String() string {
19155	return awsutil.Prettify(s)
19156}
19157
19158// GoString returns the string representation
19159func (s CreateDBInstanceReadReplicaInput) GoString() string {
19160	return s.String()
19161}
19162
19163// Validate inspects the fields of the type to determine if they are valid.
19164func (s *CreateDBInstanceReadReplicaInput) Validate() error {
19165	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceReadReplicaInput"}
19166	if s.DBInstanceIdentifier == nil {
19167		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
19168	}
19169	if s.SourceDBInstanceIdentifier == nil {
19170		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
19171	}
19172
19173	if invalidParams.Len() > 0 {
19174		return invalidParams
19175	}
19176	return nil
19177}
19178
19179// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
19180func (s *CreateDBInstanceReadReplicaInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceReadReplicaInput {
19181	s.AutoMinorVersionUpgrade = &v
19182	return s
19183}
19184
19185// SetAvailabilityZone sets the AvailabilityZone field's value.
19186func (s *CreateDBInstanceReadReplicaInput) SetAvailabilityZone(v string) *CreateDBInstanceReadReplicaInput {
19187	s.AvailabilityZone = &v
19188	return s
19189}
19190
19191// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
19192func (s *CreateDBInstanceReadReplicaInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceReadReplicaInput {
19193	s.CopyTagsToSnapshot = &v
19194	return s
19195}
19196
19197// SetDBInstanceClass sets the DBInstanceClass field's value.
19198func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceClass(v string) *CreateDBInstanceReadReplicaInput {
19199	s.DBInstanceClass = &v
19200	return s
19201}
19202
19203// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
19204func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
19205	s.DBInstanceIdentifier = &v
19206	return s
19207}
19208
19209// SetDBParameterGroupName sets the DBParameterGroupName field's value.
19210func (s *CreateDBInstanceReadReplicaInput) SetDBParameterGroupName(v string) *CreateDBInstanceReadReplicaInput {
19211	s.DBParameterGroupName = &v
19212	return s
19213}
19214
19215// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
19216func (s *CreateDBInstanceReadReplicaInput) SetDBSubnetGroupName(v string) *CreateDBInstanceReadReplicaInput {
19217	s.DBSubnetGroupName = &v
19218	return s
19219}
19220
19221// SetDeletionProtection sets the DeletionProtection field's value.
19222func (s *CreateDBInstanceReadReplicaInput) SetDeletionProtection(v bool) *CreateDBInstanceReadReplicaInput {
19223	s.DeletionProtection = &v
19224	return s
19225}
19226
19227// SetDestinationRegion sets the DestinationRegion field's value.
19228func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *CreateDBInstanceReadReplicaInput {
19229	s.DestinationRegion = &v
19230	return s
19231}
19232
19233// SetDomain sets the Domain field's value.
19234func (s *CreateDBInstanceReadReplicaInput) SetDomain(v string) *CreateDBInstanceReadReplicaInput {
19235	s.Domain = &v
19236	return s
19237}
19238
19239// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
19240func (s *CreateDBInstanceReadReplicaInput) SetDomainIAMRoleName(v string) *CreateDBInstanceReadReplicaInput {
19241	s.DomainIAMRoleName = &v
19242	return s
19243}
19244
19245// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
19246func (s *CreateDBInstanceReadReplicaInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceReadReplicaInput {
19247	s.EnableCloudwatchLogsExports = v
19248	return s
19249}
19250
19251// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
19252func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput {
19253	s.EnableIAMDatabaseAuthentication = &v
19254	return s
19255}
19256
19257// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
19258func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput {
19259	s.EnablePerformanceInsights = &v
19260	return s
19261}
19262
19263// SetIops sets the Iops field's value.
19264func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput {
19265	s.Iops = &v
19266	return s
19267}
19268
19269// SetKmsKeyId sets the KmsKeyId field's value.
19270func (s *CreateDBInstanceReadReplicaInput) SetKmsKeyId(v string) *CreateDBInstanceReadReplicaInput {
19271	s.KmsKeyId = &v
19272	return s
19273}
19274
19275// SetMonitoringInterval sets the MonitoringInterval field's value.
19276func (s *CreateDBInstanceReadReplicaInput) SetMonitoringInterval(v int64) *CreateDBInstanceReadReplicaInput {
19277	s.MonitoringInterval = &v
19278	return s
19279}
19280
19281// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
19282func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *CreateDBInstanceReadReplicaInput {
19283	s.MonitoringRoleArn = &v
19284	return s
19285}
19286
19287// SetMultiAZ sets the MultiAZ field's value.
19288func (s *CreateDBInstanceReadReplicaInput) SetMultiAZ(v bool) *CreateDBInstanceReadReplicaInput {
19289	s.MultiAZ = &v
19290	return s
19291}
19292
19293// SetOptionGroupName sets the OptionGroupName field's value.
19294func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput {
19295	s.OptionGroupName = &v
19296	return s
19297}
19298
19299// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
19300func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput {
19301	s.PerformanceInsightsKMSKeyId = &v
19302	return s
19303}
19304
19305// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
19306func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceReadReplicaInput {
19307	s.PerformanceInsightsRetentionPeriod = &v
19308	return s
19309}
19310
19311// SetPort sets the Port field's value.
19312func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput {
19313	s.Port = &v
19314	return s
19315}
19316
19317// SetPreSignedUrl sets the PreSignedUrl field's value.
19318func (s *CreateDBInstanceReadReplicaInput) SetPreSignedUrl(v string) *CreateDBInstanceReadReplicaInput {
19319	s.PreSignedUrl = &v
19320	return s
19321}
19322
19323// SetProcessorFeatures sets the ProcessorFeatures field's value.
19324func (s *CreateDBInstanceReadReplicaInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceReadReplicaInput {
19325	s.ProcessorFeatures = v
19326	return s
19327}
19328
19329// SetPubliclyAccessible sets the PubliclyAccessible field's value.
19330func (s *CreateDBInstanceReadReplicaInput) SetPubliclyAccessible(v bool) *CreateDBInstanceReadReplicaInput {
19331	s.PubliclyAccessible = &v
19332	return s
19333}
19334
19335// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
19336func (s *CreateDBInstanceReadReplicaInput) SetSourceDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
19337	s.SourceDBInstanceIdentifier = &v
19338	return s
19339}
19340
19341// SetSourceRegion sets the SourceRegion field's value.
19342func (s *CreateDBInstanceReadReplicaInput) SetSourceRegion(v string) *CreateDBInstanceReadReplicaInput {
19343	s.SourceRegion = &v
19344	return s
19345}
19346
19347// SetStorageType sets the StorageType field's value.
19348func (s *CreateDBInstanceReadReplicaInput) SetStorageType(v string) *CreateDBInstanceReadReplicaInput {
19349	s.StorageType = &v
19350	return s
19351}
19352
19353// SetTags sets the Tags field's value.
19354func (s *CreateDBInstanceReadReplicaInput) SetTags(v []*Tag) *CreateDBInstanceReadReplicaInput {
19355	s.Tags = v
19356	return s
19357}
19358
19359// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
19360func (s *CreateDBInstanceReadReplicaInput) SetUseDefaultProcessorFeatures(v bool) *CreateDBInstanceReadReplicaInput {
19361	s.UseDefaultProcessorFeatures = &v
19362	return s
19363}
19364
19365// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
19366func (s *CreateDBInstanceReadReplicaInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceReadReplicaInput {
19367	s.VpcSecurityGroupIds = v
19368	return s
19369}
19370
19371type CreateDBInstanceReadReplicaOutput struct {
19372	_ struct{} `type:"structure"`
19373
19374	// Contains the details of an Amazon RDS DB instance.
19375	//
19376	// This data type is used as a response element in the DescribeDBInstances action.
19377	DBInstance *DBInstance `type:"structure"`
19378}
19379
19380// String returns the string representation
19381func (s CreateDBInstanceReadReplicaOutput) String() string {
19382	return awsutil.Prettify(s)
19383}
19384
19385// GoString returns the string representation
19386func (s CreateDBInstanceReadReplicaOutput) GoString() string {
19387	return s.String()
19388}
19389
19390// SetDBInstance sets the DBInstance field's value.
19391func (s *CreateDBInstanceReadReplicaOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceReadReplicaOutput {
19392	s.DBInstance = v
19393	return s
19394}
19395
19396type CreateDBParameterGroupInput struct {
19397	_ struct{} `type:"structure"`
19398
19399	// The DB parameter group family name. A DB parameter group can be associated
19400	// with one and only one DB parameter group family, and can be applied only
19401	// to a DB instance running a database engine and engine version compatible
19402	// with that DB parameter group family.
19403	//
19404	// To list all of the available parameter group families, use the following
19405	// command:
19406	//
19407	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
19408	//
19409	// The output contains duplicates.
19410	//
19411	// DBParameterGroupFamily is a required field
19412	DBParameterGroupFamily *string `type:"string" required:"true"`
19413
19414	// The name of the DB parameter group.
19415	//
19416	// Constraints:
19417	//
19418	//    * Must be 1 to 255 letters, numbers, or hyphens.
19419	//
19420	//    * First character must be a letter
19421	//
19422	//    * Can't end with a hyphen or contain two consecutive hyphens
19423	//
19424	// This value is stored as a lowercase string.
19425	//
19426	// DBParameterGroupName is a required field
19427	DBParameterGroupName *string `type:"string" required:"true"`
19428
19429	// The description for the DB parameter group.
19430	//
19431	// Description is a required field
19432	Description *string `type:"string" required:"true"`
19433
19434	// Tags to assign to the DB parameter group.
19435	Tags []*Tag `locationNameList:"Tag" type:"list"`
19436}
19437
19438// String returns the string representation
19439func (s CreateDBParameterGroupInput) String() string {
19440	return awsutil.Prettify(s)
19441}
19442
19443// GoString returns the string representation
19444func (s CreateDBParameterGroupInput) GoString() string {
19445	return s.String()
19446}
19447
19448// Validate inspects the fields of the type to determine if they are valid.
19449func (s *CreateDBParameterGroupInput) Validate() error {
19450	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
19451	if s.DBParameterGroupFamily == nil {
19452		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
19453	}
19454	if s.DBParameterGroupName == nil {
19455		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
19456	}
19457	if s.Description == nil {
19458		invalidParams.Add(request.NewErrParamRequired("Description"))
19459	}
19460
19461	if invalidParams.Len() > 0 {
19462		return invalidParams
19463	}
19464	return nil
19465}
19466
19467// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
19468func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
19469	s.DBParameterGroupFamily = &v
19470	return s
19471}
19472
19473// SetDBParameterGroupName sets the DBParameterGroupName field's value.
19474func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
19475	s.DBParameterGroupName = &v
19476	return s
19477}
19478
19479// SetDescription sets the Description field's value.
19480func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
19481	s.Description = &v
19482	return s
19483}
19484
19485// SetTags sets the Tags field's value.
19486func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
19487	s.Tags = v
19488	return s
19489}
19490
19491type CreateDBParameterGroupOutput struct {
19492	_ struct{} `type:"structure"`
19493
19494	// Contains the details of an Amazon RDS DB parameter group.
19495	//
19496	// This data type is used as a response element in the DescribeDBParameterGroups
19497	// action.
19498	DBParameterGroup *DBParameterGroup `type:"structure"`
19499}
19500
19501// String returns the string representation
19502func (s CreateDBParameterGroupOutput) String() string {
19503	return awsutil.Prettify(s)
19504}
19505
19506// GoString returns the string representation
19507func (s CreateDBParameterGroupOutput) GoString() string {
19508	return s.String()
19509}
19510
19511// SetDBParameterGroup sets the DBParameterGroup field's value.
19512func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
19513	s.DBParameterGroup = v
19514	return s
19515}
19516
19517type CreateDBProxyInput struct {
19518	_ struct{} `type:"structure"`
19519
19520	// The authorization mechanism that the proxy uses.
19521	//
19522	// Auth is a required field
19523	Auth []*UserAuthConfig `type:"list" required:"true"`
19524
19525	// The identifier for the proxy. This name must be unique for all proxies owned
19526	// by your AWS account in the specified AWS Region. An identifier must begin
19527	// with a letter and must contain only ASCII letters, digits, and hyphens; it
19528	// can't end with a hyphen or contain two consecutive hyphens.
19529	//
19530	// DBProxyName is a required field
19531	DBProxyName *string `type:"string" required:"true"`
19532
19533	// Whether the proxy includes detailed information about SQL statements in its
19534	// logs. This information helps you to debug issues involving SQL behavior or
19535	// the performance and scalability of the proxy connections. The debug information
19536	// includes the text of SQL statements that you submit through the proxy. Thus,
19537	// only enable this setting when needed for debugging, and only when you have
19538	// security measures in place to safeguard any sensitive information that appears
19539	// in the logs.
19540	DebugLogging *bool `type:"boolean"`
19541
19542	// The kinds of databases that the proxy can connect to. This value determines
19543	// which database network protocol the proxy recognizes when it interprets network
19544	// traffic to and from the database. The engine family applies to MySQL and
19545	// PostgreSQL for both RDS and Aurora.
19546	//
19547	// EngineFamily is a required field
19548	EngineFamily *string `type:"string" required:"true" enum:"EngineFamily"`
19549
19550	// The number of seconds that a connection to the proxy can be inactive before
19551	// the proxy disconnects it. You can set this value higher or lower than the
19552	// connection timeout limit for the associated database.
19553	IdleClientTimeout *int64 `type:"integer"`
19554
19555	// A Boolean parameter that specifies whether Transport Layer Security (TLS)
19556	// encryption is required for connections to the proxy. By enabling this setting,
19557	// you can enforce encrypted TLS connections to the proxy.
19558	RequireTLS *bool `type:"boolean"`
19559
19560	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
19561	// secrets in AWS Secrets Manager.
19562	//
19563	// RoleArn is a required field
19564	RoleArn *string `type:"string" required:"true"`
19565
19566	// An optional set of key-value pairs to associate arbitrary data of your choosing
19567	// with the proxy.
19568	Tags []*Tag `locationNameList:"Tag" type:"list"`
19569
19570	// One or more VPC security group IDs to associate with the new proxy.
19571	VpcSecurityGroupIds []*string `type:"list"`
19572
19573	// One or more VPC subnet IDs to associate with the new proxy.
19574	//
19575	// VpcSubnetIds is a required field
19576	VpcSubnetIds []*string `type:"list" required:"true"`
19577}
19578
19579// String returns the string representation
19580func (s CreateDBProxyInput) String() string {
19581	return awsutil.Prettify(s)
19582}
19583
19584// GoString returns the string representation
19585func (s CreateDBProxyInput) GoString() string {
19586	return s.String()
19587}
19588
19589// Validate inspects the fields of the type to determine if they are valid.
19590func (s *CreateDBProxyInput) Validate() error {
19591	invalidParams := request.ErrInvalidParams{Context: "CreateDBProxyInput"}
19592	if s.Auth == nil {
19593		invalidParams.Add(request.NewErrParamRequired("Auth"))
19594	}
19595	if s.DBProxyName == nil {
19596		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
19597	}
19598	if s.EngineFamily == nil {
19599		invalidParams.Add(request.NewErrParamRequired("EngineFamily"))
19600	}
19601	if s.RoleArn == nil {
19602		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
19603	}
19604	if s.VpcSubnetIds == nil {
19605		invalidParams.Add(request.NewErrParamRequired("VpcSubnetIds"))
19606	}
19607
19608	if invalidParams.Len() > 0 {
19609		return invalidParams
19610	}
19611	return nil
19612}
19613
19614// SetAuth sets the Auth field's value.
19615func (s *CreateDBProxyInput) SetAuth(v []*UserAuthConfig) *CreateDBProxyInput {
19616	s.Auth = v
19617	return s
19618}
19619
19620// SetDBProxyName sets the DBProxyName field's value.
19621func (s *CreateDBProxyInput) SetDBProxyName(v string) *CreateDBProxyInput {
19622	s.DBProxyName = &v
19623	return s
19624}
19625
19626// SetDebugLogging sets the DebugLogging field's value.
19627func (s *CreateDBProxyInput) SetDebugLogging(v bool) *CreateDBProxyInput {
19628	s.DebugLogging = &v
19629	return s
19630}
19631
19632// SetEngineFamily sets the EngineFamily field's value.
19633func (s *CreateDBProxyInput) SetEngineFamily(v string) *CreateDBProxyInput {
19634	s.EngineFamily = &v
19635	return s
19636}
19637
19638// SetIdleClientTimeout sets the IdleClientTimeout field's value.
19639func (s *CreateDBProxyInput) SetIdleClientTimeout(v int64) *CreateDBProxyInput {
19640	s.IdleClientTimeout = &v
19641	return s
19642}
19643
19644// SetRequireTLS sets the RequireTLS field's value.
19645func (s *CreateDBProxyInput) SetRequireTLS(v bool) *CreateDBProxyInput {
19646	s.RequireTLS = &v
19647	return s
19648}
19649
19650// SetRoleArn sets the RoleArn field's value.
19651func (s *CreateDBProxyInput) SetRoleArn(v string) *CreateDBProxyInput {
19652	s.RoleArn = &v
19653	return s
19654}
19655
19656// SetTags sets the Tags field's value.
19657func (s *CreateDBProxyInput) SetTags(v []*Tag) *CreateDBProxyInput {
19658	s.Tags = v
19659	return s
19660}
19661
19662// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
19663func (s *CreateDBProxyInput) SetVpcSecurityGroupIds(v []*string) *CreateDBProxyInput {
19664	s.VpcSecurityGroupIds = v
19665	return s
19666}
19667
19668// SetVpcSubnetIds sets the VpcSubnetIds field's value.
19669func (s *CreateDBProxyInput) SetVpcSubnetIds(v []*string) *CreateDBProxyInput {
19670	s.VpcSubnetIds = v
19671	return s
19672}
19673
19674type CreateDBProxyOutput struct {
19675	_ struct{} `type:"structure"`
19676
19677	// The DBProxy structure corresponding to the new proxy.
19678	DBProxy *DBProxy `type:"structure"`
19679}
19680
19681// String returns the string representation
19682func (s CreateDBProxyOutput) String() string {
19683	return awsutil.Prettify(s)
19684}
19685
19686// GoString returns the string representation
19687func (s CreateDBProxyOutput) GoString() string {
19688	return s.String()
19689}
19690
19691// SetDBProxy sets the DBProxy field's value.
19692func (s *CreateDBProxyOutput) SetDBProxy(v *DBProxy) *CreateDBProxyOutput {
19693	s.DBProxy = v
19694	return s
19695}
19696
19697type CreateDBSecurityGroupInput struct {
19698	_ struct{} `type:"structure"`
19699
19700	// The description for the DB security group.
19701	//
19702	// DBSecurityGroupDescription is a required field
19703	DBSecurityGroupDescription *string `type:"string" required:"true"`
19704
19705	// The name for the DB security group. This value is stored as a lowercase string.
19706	//
19707	// Constraints:
19708	//
19709	//    * Must be 1 to 255 letters, numbers, or hyphens.
19710	//
19711	//    * First character must be a letter
19712	//
19713	//    * Can't end with a hyphen or contain two consecutive hyphens
19714	//
19715	//    * Must not be "Default"
19716	//
19717	// Example: mysecuritygroup
19718	//
19719	// DBSecurityGroupName is a required field
19720	DBSecurityGroupName *string `type:"string" required:"true"`
19721
19722	// Tags to assign to the DB security group.
19723	Tags []*Tag `locationNameList:"Tag" type:"list"`
19724}
19725
19726// String returns the string representation
19727func (s CreateDBSecurityGroupInput) String() string {
19728	return awsutil.Prettify(s)
19729}
19730
19731// GoString returns the string representation
19732func (s CreateDBSecurityGroupInput) GoString() string {
19733	return s.String()
19734}
19735
19736// Validate inspects the fields of the type to determine if they are valid.
19737func (s *CreateDBSecurityGroupInput) Validate() error {
19738	invalidParams := request.ErrInvalidParams{Context: "CreateDBSecurityGroupInput"}
19739	if s.DBSecurityGroupDescription == nil {
19740		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupDescription"))
19741	}
19742	if s.DBSecurityGroupName == nil {
19743		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
19744	}
19745
19746	if invalidParams.Len() > 0 {
19747		return invalidParams
19748	}
19749	return nil
19750}
19751
19752// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
19753func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupDescription(v string) *CreateDBSecurityGroupInput {
19754	s.DBSecurityGroupDescription = &v
19755	return s
19756}
19757
19758// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
19759func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupName(v string) *CreateDBSecurityGroupInput {
19760	s.DBSecurityGroupName = &v
19761	return s
19762}
19763
19764// SetTags sets the Tags field's value.
19765func (s *CreateDBSecurityGroupInput) SetTags(v []*Tag) *CreateDBSecurityGroupInput {
19766	s.Tags = v
19767	return s
19768}
19769
19770type CreateDBSecurityGroupOutput struct {
19771	_ struct{} `type:"structure"`
19772
19773	// Contains the details for an Amazon RDS DB security group.
19774	//
19775	// This data type is used as a response element in the DescribeDBSecurityGroups
19776	// action.
19777	DBSecurityGroup *DBSecurityGroup `type:"structure"`
19778}
19779
19780// String returns the string representation
19781func (s CreateDBSecurityGroupOutput) String() string {
19782	return awsutil.Prettify(s)
19783}
19784
19785// GoString returns the string representation
19786func (s CreateDBSecurityGroupOutput) GoString() string {
19787	return s.String()
19788}
19789
19790// SetDBSecurityGroup sets the DBSecurityGroup field's value.
19791func (s *CreateDBSecurityGroupOutput) SetDBSecurityGroup(v *DBSecurityGroup) *CreateDBSecurityGroupOutput {
19792	s.DBSecurityGroup = v
19793	return s
19794}
19795
19796type CreateDBSnapshotInput struct {
19797	_ struct{} `type:"structure"`
19798
19799	// The identifier of the DB instance that you want to create the snapshot of.
19800	//
19801	// Constraints:
19802	//
19803	//    * Must match the identifier of an existing DBInstance.
19804	//
19805	// DBInstanceIdentifier is a required field
19806	DBInstanceIdentifier *string `type:"string" required:"true"`
19807
19808	// The identifier for the DB snapshot.
19809	//
19810	// Constraints:
19811	//
19812	//    * Can't be null, empty, or blank
19813	//
19814	//    * Must contain from 1 to 255 letters, numbers, or hyphens
19815	//
19816	//    * First character must be a letter
19817	//
19818	//    * Can't end with a hyphen or contain two consecutive hyphens
19819	//
19820	// Example: my-snapshot-id
19821	//
19822	// DBSnapshotIdentifier is a required field
19823	DBSnapshotIdentifier *string `type:"string" required:"true"`
19824
19825	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
19826	// in the Amazon RDS User Guide.
19827	Tags []*Tag `locationNameList:"Tag" type:"list"`
19828}
19829
19830// String returns the string representation
19831func (s CreateDBSnapshotInput) String() string {
19832	return awsutil.Prettify(s)
19833}
19834
19835// GoString returns the string representation
19836func (s CreateDBSnapshotInput) GoString() string {
19837	return s.String()
19838}
19839
19840// Validate inspects the fields of the type to determine if they are valid.
19841func (s *CreateDBSnapshotInput) Validate() error {
19842	invalidParams := request.ErrInvalidParams{Context: "CreateDBSnapshotInput"}
19843	if s.DBInstanceIdentifier == nil {
19844		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
19845	}
19846	if s.DBSnapshotIdentifier == nil {
19847		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
19848	}
19849
19850	if invalidParams.Len() > 0 {
19851		return invalidParams
19852	}
19853	return nil
19854}
19855
19856// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
19857func (s *CreateDBSnapshotInput) SetDBInstanceIdentifier(v string) *CreateDBSnapshotInput {
19858	s.DBInstanceIdentifier = &v
19859	return s
19860}
19861
19862// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
19863func (s *CreateDBSnapshotInput) SetDBSnapshotIdentifier(v string) *CreateDBSnapshotInput {
19864	s.DBSnapshotIdentifier = &v
19865	return s
19866}
19867
19868// SetTags sets the Tags field's value.
19869func (s *CreateDBSnapshotInput) SetTags(v []*Tag) *CreateDBSnapshotInput {
19870	s.Tags = v
19871	return s
19872}
19873
19874type CreateDBSnapshotOutput struct {
19875	_ struct{} `type:"structure"`
19876
19877	// Contains the details of an Amazon RDS DB snapshot.
19878	//
19879	// This data type is used as a response element in the DescribeDBSnapshots action.
19880	DBSnapshot *DBSnapshot `type:"structure"`
19881}
19882
19883// String returns the string representation
19884func (s CreateDBSnapshotOutput) String() string {
19885	return awsutil.Prettify(s)
19886}
19887
19888// GoString returns the string representation
19889func (s CreateDBSnapshotOutput) GoString() string {
19890	return s.String()
19891}
19892
19893// SetDBSnapshot sets the DBSnapshot field's value.
19894func (s *CreateDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CreateDBSnapshotOutput {
19895	s.DBSnapshot = v
19896	return s
19897}
19898
19899type CreateDBSubnetGroupInput struct {
19900	_ struct{} `type:"structure"`
19901
19902	// The description for the DB subnet group.
19903	//
19904	// DBSubnetGroupDescription is a required field
19905	DBSubnetGroupDescription *string `type:"string" required:"true"`
19906
19907	// The name for the DB subnet group. This value is stored as a lowercase string.
19908	//
19909	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
19910	// spaces, or hyphens. Must not be default.
19911	//
19912	// Example: mySubnetgroup
19913	//
19914	// DBSubnetGroupName is a required field
19915	DBSubnetGroupName *string `type:"string" required:"true"`
19916
19917	// The EC2 Subnet IDs for the DB subnet group.
19918	//
19919	// SubnetIds is a required field
19920	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
19921
19922	// Tags to assign to the DB subnet group.
19923	Tags []*Tag `locationNameList:"Tag" type:"list"`
19924}
19925
19926// String returns the string representation
19927func (s CreateDBSubnetGroupInput) String() string {
19928	return awsutil.Prettify(s)
19929}
19930
19931// GoString returns the string representation
19932func (s CreateDBSubnetGroupInput) GoString() string {
19933	return s.String()
19934}
19935
19936// Validate inspects the fields of the type to determine if they are valid.
19937func (s *CreateDBSubnetGroupInput) Validate() error {
19938	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
19939	if s.DBSubnetGroupDescription == nil {
19940		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
19941	}
19942	if s.DBSubnetGroupName == nil {
19943		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
19944	}
19945	if s.SubnetIds == nil {
19946		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
19947	}
19948
19949	if invalidParams.Len() > 0 {
19950		return invalidParams
19951	}
19952	return nil
19953}
19954
19955// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
19956func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
19957	s.DBSubnetGroupDescription = &v
19958	return s
19959}
19960
19961// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
19962func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
19963	s.DBSubnetGroupName = &v
19964	return s
19965}
19966
19967// SetSubnetIds sets the SubnetIds field's value.
19968func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
19969	s.SubnetIds = v
19970	return s
19971}
19972
19973// SetTags sets the Tags field's value.
19974func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
19975	s.Tags = v
19976	return s
19977}
19978
19979type CreateDBSubnetGroupOutput struct {
19980	_ struct{} `type:"structure"`
19981
19982	// Contains the details of an Amazon RDS DB subnet group.
19983	//
19984	// This data type is used as a response element in the DescribeDBSubnetGroups
19985	// action.
19986	DBSubnetGroup *DBSubnetGroup `type:"structure"`
19987}
19988
19989// String returns the string representation
19990func (s CreateDBSubnetGroupOutput) String() string {
19991	return awsutil.Prettify(s)
19992}
19993
19994// GoString returns the string representation
19995func (s CreateDBSubnetGroupOutput) GoString() string {
19996	return s.String()
19997}
19998
19999// SetDBSubnetGroup sets the DBSubnetGroup field's value.
20000func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
20001	s.DBSubnetGroup = v
20002	return s
20003}
20004
20005type CreateEventSubscriptionInput struct {
20006	_ struct{} `type:"structure"`
20007
20008	// A value that indicates whether to activate the subscription. If the event
20009	// notification subscription isn't activated, the subscription is created but
20010	// not active.
20011	Enabled *bool `type:"boolean"`
20012
20013	// A list of event categories for a SourceType that you want to subscribe to.
20014	// You can see a list of the categories for a given SourceType in the Events
20015	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
20016	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
20017	// action.
20018	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
20019
20020	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
20021	// The ARN is created by Amazon SNS when you create a topic and subscribe to
20022	// it.
20023	//
20024	// SnsTopicArn is a required field
20025	SnsTopicArn *string `type:"string" required:"true"`
20026
20027	// The list of identifiers of the event sources for which events are returned.
20028	// If not specified, then all sources are included in the response. An identifier
20029	// must begin with a letter and must contain only ASCII letters, digits, and
20030	// hyphens. It can't end with a hyphen or contain two consecutive hyphens.
20031	//
20032	// Constraints:
20033	//
20034	//    * If SourceIds are supplied, SourceType must also be provided.
20035	//
20036	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
20037	//    be supplied.
20038	//
20039	//    * If the source type is a DB security group, a DBSecurityGroupName must
20040	//    be supplied.
20041	//
20042	//    * If the source type is a DB parameter group, a DBParameterGroupName must
20043	//    be supplied.
20044	//
20045	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
20046	//    supplied.
20047	SourceIds []*string `locationNameList:"SourceId" type:"list"`
20048
20049	// The type of source that is generating the events. For example, if you want
20050	// to be notified of events generated by a DB instance, you would set this parameter
20051	// to db-instance. if this value isn't specified, all events are returned.
20052	//
20053	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
20054	// | db-snapshot | db-cluster-snapshot
20055	SourceType *string `type:"string"`
20056
20057	// The name of the subscription.
20058	//
20059	// Constraints: The name must be less than 255 characters.
20060	//
20061	// SubscriptionName is a required field
20062	SubscriptionName *string `type:"string" required:"true"`
20063
20064	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
20065	// in the Amazon RDS User Guide.
20066	Tags []*Tag `locationNameList:"Tag" type:"list"`
20067}
20068
20069// String returns the string representation
20070func (s CreateEventSubscriptionInput) String() string {
20071	return awsutil.Prettify(s)
20072}
20073
20074// GoString returns the string representation
20075func (s CreateEventSubscriptionInput) GoString() string {
20076	return s.String()
20077}
20078
20079// Validate inspects the fields of the type to determine if they are valid.
20080func (s *CreateEventSubscriptionInput) Validate() error {
20081	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
20082	if s.SnsTopicArn == nil {
20083		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
20084	}
20085	if s.SubscriptionName == nil {
20086		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
20087	}
20088
20089	if invalidParams.Len() > 0 {
20090		return invalidParams
20091	}
20092	return nil
20093}
20094
20095// SetEnabled sets the Enabled field's value.
20096func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
20097	s.Enabled = &v
20098	return s
20099}
20100
20101// SetEventCategories sets the EventCategories field's value.
20102func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
20103	s.EventCategories = v
20104	return s
20105}
20106
20107// SetSnsTopicArn sets the SnsTopicArn field's value.
20108func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
20109	s.SnsTopicArn = &v
20110	return s
20111}
20112
20113// SetSourceIds sets the SourceIds field's value.
20114func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
20115	s.SourceIds = v
20116	return s
20117}
20118
20119// SetSourceType sets the SourceType field's value.
20120func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
20121	s.SourceType = &v
20122	return s
20123}
20124
20125// SetSubscriptionName sets the SubscriptionName field's value.
20126func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
20127	s.SubscriptionName = &v
20128	return s
20129}
20130
20131// SetTags sets the Tags field's value.
20132func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
20133	s.Tags = v
20134	return s
20135}
20136
20137type CreateEventSubscriptionOutput struct {
20138	_ struct{} `type:"structure"`
20139
20140	// Contains the results of a successful invocation of the DescribeEventSubscriptions
20141	// action.
20142	EventSubscription *EventSubscription `type:"structure"`
20143}
20144
20145// String returns the string representation
20146func (s CreateEventSubscriptionOutput) String() string {
20147	return awsutil.Prettify(s)
20148}
20149
20150// GoString returns the string representation
20151func (s CreateEventSubscriptionOutput) GoString() string {
20152	return s.String()
20153}
20154
20155// SetEventSubscription sets the EventSubscription field's value.
20156func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
20157	s.EventSubscription = v
20158	return s
20159}
20160
20161type CreateGlobalClusterInput struct {
20162	_ struct{} `type:"structure"`
20163
20164	// The name for your database of up to 64 alpha-numeric characters. If you do
20165	// not provide a name, Amazon Aurora will not create a database in the global
20166	// database cluster you are creating.
20167	DatabaseName *string `type:"string"`
20168
20169	// The deletion protection setting for the new global database. The global database
20170	// can't be deleted when deletion protection is enabled.
20171	DeletionProtection *bool `type:"boolean"`
20172
20173	// Provides the name of the database engine to be used for this DB cluster.
20174	Engine *string `type:"string"`
20175
20176	// The engine version of the Aurora global database.
20177	EngineVersion *string `type:"string"`
20178
20179	// The cluster identifier of the new global database cluster.
20180	GlobalClusterIdentifier *string `type:"string"`
20181
20182	// The Amazon Resource Name (ARN) to use as the primary cluster of the global
20183	// database. This parameter is optional.
20184	SourceDBClusterIdentifier *string `type:"string"`
20185
20186	// The storage encryption setting for the new global database cluster.
20187	StorageEncrypted *bool `type:"boolean"`
20188}
20189
20190// String returns the string representation
20191func (s CreateGlobalClusterInput) String() string {
20192	return awsutil.Prettify(s)
20193}
20194
20195// GoString returns the string representation
20196func (s CreateGlobalClusterInput) GoString() string {
20197	return s.String()
20198}
20199
20200// SetDatabaseName sets the DatabaseName field's value.
20201func (s *CreateGlobalClusterInput) SetDatabaseName(v string) *CreateGlobalClusterInput {
20202	s.DatabaseName = &v
20203	return s
20204}
20205
20206// SetDeletionProtection sets the DeletionProtection field's value.
20207func (s *CreateGlobalClusterInput) SetDeletionProtection(v bool) *CreateGlobalClusterInput {
20208	s.DeletionProtection = &v
20209	return s
20210}
20211
20212// SetEngine sets the Engine field's value.
20213func (s *CreateGlobalClusterInput) SetEngine(v string) *CreateGlobalClusterInput {
20214	s.Engine = &v
20215	return s
20216}
20217
20218// SetEngineVersion sets the EngineVersion field's value.
20219func (s *CreateGlobalClusterInput) SetEngineVersion(v string) *CreateGlobalClusterInput {
20220	s.EngineVersion = &v
20221	return s
20222}
20223
20224// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
20225func (s *CreateGlobalClusterInput) SetGlobalClusterIdentifier(v string) *CreateGlobalClusterInput {
20226	s.GlobalClusterIdentifier = &v
20227	return s
20228}
20229
20230// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
20231func (s *CreateGlobalClusterInput) SetSourceDBClusterIdentifier(v string) *CreateGlobalClusterInput {
20232	s.SourceDBClusterIdentifier = &v
20233	return s
20234}
20235
20236// SetStorageEncrypted sets the StorageEncrypted field's value.
20237func (s *CreateGlobalClusterInput) SetStorageEncrypted(v bool) *CreateGlobalClusterInput {
20238	s.StorageEncrypted = &v
20239	return s
20240}
20241
20242type CreateGlobalClusterOutput struct {
20243	_ struct{} `type:"structure"`
20244
20245	// A data type representing an Aurora global database.
20246	GlobalCluster *GlobalCluster `type:"structure"`
20247}
20248
20249// String returns the string representation
20250func (s CreateGlobalClusterOutput) String() string {
20251	return awsutil.Prettify(s)
20252}
20253
20254// GoString returns the string representation
20255func (s CreateGlobalClusterOutput) GoString() string {
20256	return s.String()
20257}
20258
20259// SetGlobalCluster sets the GlobalCluster field's value.
20260func (s *CreateGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *CreateGlobalClusterOutput {
20261	s.GlobalCluster = v
20262	return s
20263}
20264
20265type CreateOptionGroupInput struct {
20266	_ struct{} `type:"structure"`
20267
20268	// Specifies the name of the engine that this option group should be associated
20269	// with.
20270	//
20271	// EngineName is a required field
20272	EngineName *string `type:"string" required:"true"`
20273
20274	// Specifies the major version of the engine that this option group should be
20275	// associated with.
20276	//
20277	// MajorEngineVersion is a required field
20278	MajorEngineVersion *string `type:"string" required:"true"`
20279
20280	// The description of the option group.
20281	//
20282	// OptionGroupDescription is a required field
20283	OptionGroupDescription *string `type:"string" required:"true"`
20284
20285	// Specifies the name of the option group to be created.
20286	//
20287	// Constraints:
20288	//
20289	//    * Must be 1 to 255 letters, numbers, or hyphens
20290	//
20291	//    * First character must be a letter
20292	//
20293	//    * Can't end with a hyphen or contain two consecutive hyphens
20294	//
20295	// Example: myoptiongroup
20296	//
20297	// OptionGroupName is a required field
20298	OptionGroupName *string `type:"string" required:"true"`
20299
20300	// Tags to assign to the option group.
20301	Tags []*Tag `locationNameList:"Tag" type:"list"`
20302}
20303
20304// String returns the string representation
20305func (s CreateOptionGroupInput) String() string {
20306	return awsutil.Prettify(s)
20307}
20308
20309// GoString returns the string representation
20310func (s CreateOptionGroupInput) GoString() string {
20311	return s.String()
20312}
20313
20314// Validate inspects the fields of the type to determine if they are valid.
20315func (s *CreateOptionGroupInput) Validate() error {
20316	invalidParams := request.ErrInvalidParams{Context: "CreateOptionGroupInput"}
20317	if s.EngineName == nil {
20318		invalidParams.Add(request.NewErrParamRequired("EngineName"))
20319	}
20320	if s.MajorEngineVersion == nil {
20321		invalidParams.Add(request.NewErrParamRequired("MajorEngineVersion"))
20322	}
20323	if s.OptionGroupDescription == nil {
20324		invalidParams.Add(request.NewErrParamRequired("OptionGroupDescription"))
20325	}
20326	if s.OptionGroupName == nil {
20327		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
20328	}
20329
20330	if invalidParams.Len() > 0 {
20331		return invalidParams
20332	}
20333	return nil
20334}
20335
20336// SetEngineName sets the EngineName field's value.
20337func (s *CreateOptionGroupInput) SetEngineName(v string) *CreateOptionGroupInput {
20338	s.EngineName = &v
20339	return s
20340}
20341
20342// SetMajorEngineVersion sets the MajorEngineVersion field's value.
20343func (s *CreateOptionGroupInput) SetMajorEngineVersion(v string) *CreateOptionGroupInput {
20344	s.MajorEngineVersion = &v
20345	return s
20346}
20347
20348// SetOptionGroupDescription sets the OptionGroupDescription field's value.
20349func (s *CreateOptionGroupInput) SetOptionGroupDescription(v string) *CreateOptionGroupInput {
20350	s.OptionGroupDescription = &v
20351	return s
20352}
20353
20354// SetOptionGroupName sets the OptionGroupName field's value.
20355func (s *CreateOptionGroupInput) SetOptionGroupName(v string) *CreateOptionGroupInput {
20356	s.OptionGroupName = &v
20357	return s
20358}
20359
20360// SetTags sets the Tags field's value.
20361func (s *CreateOptionGroupInput) SetTags(v []*Tag) *CreateOptionGroupInput {
20362	s.Tags = v
20363	return s
20364}
20365
20366type CreateOptionGroupOutput struct {
20367	_ struct{} `type:"structure"`
20368
20369	OptionGroup *OptionGroup `type:"structure"`
20370}
20371
20372// String returns the string representation
20373func (s CreateOptionGroupOutput) String() string {
20374	return awsutil.Prettify(s)
20375}
20376
20377// GoString returns the string representation
20378func (s CreateOptionGroupOutput) GoString() string {
20379	return s.String()
20380}
20381
20382// SetOptionGroup sets the OptionGroup field's value.
20383func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGroupOutput {
20384	s.OptionGroup = v
20385	return s
20386}
20387
20388// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
20389// a VMware vSphere cluster.
20390//
20391// For more information about RDS on VMware, see the RDS on VMware User Guide.
20392// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
20393type CustomAvailabilityZone struct {
20394	_ struct{} `type:"structure"`
20395
20396	// The identifier of the custom AZ.
20397	//
20398	// Amazon RDS generates a unique identifier when a custom AZ is created.
20399	CustomAvailabilityZoneId *string `type:"string"`
20400
20401	// The name of the custom AZ.
20402	CustomAvailabilityZoneName *string `type:"string"`
20403
20404	// The status of the custom AZ.
20405	CustomAvailabilityZoneStatus *string `type:"string"`
20406
20407	// Information about the virtual private network (VPN) between the VMware vSphere
20408	// cluster and the AWS website.
20409	VpnDetails *VpnDetails `type:"structure"`
20410}
20411
20412// String returns the string representation
20413func (s CustomAvailabilityZone) String() string {
20414	return awsutil.Prettify(s)
20415}
20416
20417// GoString returns the string representation
20418func (s CustomAvailabilityZone) GoString() string {
20419	return s.String()
20420}
20421
20422// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
20423func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneId(v string) *CustomAvailabilityZone {
20424	s.CustomAvailabilityZoneId = &v
20425	return s
20426}
20427
20428// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
20429func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneName(v string) *CustomAvailabilityZone {
20430	s.CustomAvailabilityZoneName = &v
20431	return s
20432}
20433
20434// SetCustomAvailabilityZoneStatus sets the CustomAvailabilityZoneStatus field's value.
20435func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneStatus(v string) *CustomAvailabilityZone {
20436	s.CustomAvailabilityZoneStatus = &v
20437	return s
20438}
20439
20440// SetVpnDetails sets the VpnDetails field's value.
20441func (s *CustomAvailabilityZone) SetVpnDetails(v *VpnDetails) *CustomAvailabilityZone {
20442	s.VpnDetails = v
20443	return s
20444}
20445
20446// Contains the details of an Amazon Aurora DB cluster.
20447//
20448// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
20449// and StartDBCluster actions.
20450type DBCluster struct {
20451	_ struct{} `type:"structure"`
20452
20453	// The name of the Amazon Kinesis data stream used for the database activity
20454	// stream.
20455	ActivityStreamKinesisStreamName *string `type:"string"`
20456
20457	// The AWS KMS key identifier used for encrypting messages in the database activity
20458	// stream.
20459	ActivityStreamKmsKeyId *string `type:"string"`
20460
20461	// The mode of the database activity stream. Database events such as a change
20462	// or access generate an activity stream event. The database session can handle
20463	// these events either synchronously or asynchronously.
20464	ActivityStreamMode *string `type:"string" enum:"ActivityStreamMode"`
20465
20466	// The status of the database activity stream.
20467	ActivityStreamStatus *string `type:"string" enum:"ActivityStreamStatus"`
20468
20469	// For all database engines except Amazon Aurora, AllocatedStorage specifies
20470	// the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage
20471	// always returns 1, because Aurora DB cluster storage size isn't fixed, but
20472	// instead automatically adjusts as needed.
20473	AllocatedStorage *int64 `type:"integer"`
20474
20475	// Provides a list of the AWS Identity and Access Management (IAM) roles that
20476	// are associated with the DB cluster. IAM roles that are associated with a
20477	// DB cluster grant permission for the DB cluster to access other AWS services
20478	// on your behalf.
20479	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
20480
20481	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
20482	// can be created.
20483	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
20484
20485	// The number of change records stored for Backtrack.
20486	BacktrackConsumedChangeRecords *int64 `type:"long"`
20487
20488	// The target backtrack window, in seconds. If this value is set to 0, backtracking
20489	// is disabled for the DB cluster. Otherwise, backtracking is enabled.
20490	BacktrackWindow *int64 `type:"long"`
20491
20492	// Specifies the number of days for which automatic DB snapshots are retained.
20493	BackupRetentionPeriod *int64 `type:"integer"`
20494
20495	// The current capacity of an Aurora Serverless DB cluster. The capacity is
20496	// 0 (zero) when the cluster is paused.
20497	//
20498	// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
20499	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
20500	// in the Amazon Aurora User Guide.
20501	Capacity *int64 `type:"integer"`
20502
20503	// If present, specifies the name of the character set that this cluster is
20504	// associated with.
20505	CharacterSetName *string `type:"string"`
20506
20507	// Identifies the clone group to which the DB cluster is associated.
20508	CloneGroupId *string `type:"string"`
20509
20510	// Specifies the time when the DB cluster was created, in Universal Coordinated
20511	// Time (UTC).
20512	ClusterCreateTime *time.Time `type:"timestamp"`
20513
20514	// Specifies whether tags are copied from the DB cluster to snapshots of the
20515	// DB cluster.
20516	CopyTagsToSnapshot *bool `type:"boolean"`
20517
20518	// Specifies whether the DB cluster is a clone of a DB cluster owned by a different
20519	// AWS account.
20520	CrossAccountClone *bool `type:"boolean"`
20521
20522	// Identifies all custom endpoints associated with the cluster.
20523	CustomEndpoints []*string `type:"list"`
20524
20525	// The Amazon Resource Name (ARN) for the DB cluster.
20526	DBClusterArn *string `type:"string"`
20527
20528	// Contains a user-supplied DB cluster identifier. This identifier is the unique
20529	// key that identifies a DB cluster.
20530	DBClusterIdentifier *string `type:"string"`
20531
20532	// Provides the list of instances that make up the DB cluster.
20533	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
20534
20535	// Provides the list of option group memberships for this DB cluster.
20536	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
20537
20538	// Specifies the name of the DB cluster parameter group for the DB cluster.
20539	DBClusterParameterGroup *string `type:"string"`
20540
20541	// Specifies information on the subnet group associated with the DB cluster,
20542	// including the name, description, and subnets in the subnet group.
20543	DBSubnetGroup *string `type:"string"`
20544
20545	// Contains the name of the initial database of this DB cluster that was provided
20546	// at create time, if one was specified when the DB cluster was created. This
20547	// same name is returned for the life of the DB cluster.
20548	DatabaseName *string `type:"string"`
20549
20550	// The AWS Region-unique, immutable identifier for the DB cluster. This identifier
20551	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
20552	// cluster is accessed.
20553	DbClusterResourceId *string `type:"string"`
20554
20555	// Indicates if the DB cluster has deletion protection enabled. The database
20556	// can't be deleted when deletion protection is enabled.
20557	DeletionProtection *bool `type:"boolean"`
20558
20559	// The Active Directory Domain membership records associated with the DB cluster.
20560	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
20561
20562	// The earliest time to which a DB cluster can be backtracked.
20563	EarliestBacktrackTime *time.Time `type:"timestamp"`
20564
20565	// The earliest time to which a database can be restored with point-in-time
20566	// restore.
20567	EarliestRestorableTime *time.Time `type:"timestamp"`
20568
20569	// A list of log types that this DB cluster is configured to export to CloudWatch
20570	// Logs.
20571	//
20572	// Log types vary by DB engine. For information about the log types for each
20573	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html)
20574	// in the Amazon Aurora User Guide.
20575	EnabledCloudwatchLogsExports []*string `type:"list"`
20576
20577	// Specifies the connection endpoint for the primary instance of the DB cluster.
20578	Endpoint *string `type:"string"`
20579
20580	// Provides the name of the database engine to be used for this DB cluster.
20581	Engine *string `type:"string"`
20582
20583	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
20584	// global, or multimaster.
20585	//
20586	// global engine mode only applies for global database clusters created with
20587	// Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters
20588	// in a global database use provisioned engine mode. To check if a DB cluster
20589	// is part of a global database, use DescribeGlobalClusters instead of checking
20590	// the EngineMode return value from DescribeDBClusters.
20591	EngineMode *string `type:"string"`
20592
20593	// Indicates the database engine version.
20594	EngineVersion *string `type:"string"`
20595
20596	// Specifies whether you have requested to enable write forwarding for a secondary
20597	// cluster in an Aurora global database. Because write forwarding takes time
20598	// to enable, check the value of GlobalWriteForwardingStatus to confirm that
20599	// the request has completed before using the write forwarding feature for this
20600	// cluster.
20601	GlobalWriteForwardingRequested *bool `type:"boolean"`
20602
20603	// Specifies whether a secondary cluster in an Aurora global database has write
20604	// forwarding enabled, not enabled, or is in the process of enabling it.
20605	GlobalWriteForwardingStatus *string `type:"string" enum:"WriteForwardingStatus"`
20606
20607	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
20608	HostedZoneId *string `type:"string"`
20609
20610	// A value that indicates whether the HTTP endpoint for an Aurora Serverless
20611	// DB cluster is enabled.
20612	//
20613	// When enabled, the HTTP endpoint provides a connectionless web service API
20614	// for running SQL queries on the Aurora Serverless DB cluster. You can also
20615	// query your database from inside the RDS console with the query editor.
20616	//
20617	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
20618	// in the Amazon Aurora User Guide.
20619	HttpEndpointEnabled *bool `type:"boolean"`
20620
20621	// A value that indicates whether the mapping of AWS Identity and Access Management
20622	// (IAM) accounts to database accounts is enabled.
20623	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
20624
20625	// If StorageEncrypted is enabled, the AWS KMS key identifier for the encrypted
20626	// DB cluster.
20627	KmsKeyId *string `type:"string"`
20628
20629	// Specifies the latest time to which a database can be restored with point-in-time
20630	// restore.
20631	LatestRestorableTime *time.Time `type:"timestamp"`
20632
20633	// Contains the master username for the DB cluster.
20634	MasterUsername *string `type:"string"`
20635
20636	// Specifies whether the DB cluster has instances in multiple Availability Zones.
20637	MultiAZ *bool `type:"boolean"`
20638
20639	// Specifies the progress of the operation as a percentage.
20640	PercentProgress *string `type:"string"`
20641
20642	// Specifies the port that the database engine is listening on.
20643	Port *int64 `type:"integer"`
20644
20645	// Specifies the daily time range during which automated backups are created
20646	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
20647	PreferredBackupWindow *string `type:"string"`
20648
20649	// Specifies the weekly time range during which system maintenance can occur,
20650	// in Universal Coordinated Time (UTC).
20651	PreferredMaintenanceWindow *string `type:"string"`
20652
20653	// Contains one or more identifiers of the read replicas associated with this
20654	// DB cluster.
20655	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
20656
20657	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
20658	// load-balances connections across the Aurora Replicas that are available in
20659	// a DB cluster. As clients request new connections to the reader endpoint,
20660	// Aurora distributes the connection requests among the Aurora Replicas in the
20661	// DB cluster. This functionality can help balance your read workload across
20662	// multiple Aurora Replicas in your DB cluster.
20663	//
20664	// If a failover occurs, and the Aurora Replica that you are connected to is
20665	// promoted to be the primary instance, your connection is dropped. To continue
20666	// sending your read workload to other Aurora Replicas in the cluster, you can
20667	// then reconnect to the reader endpoint.
20668	ReaderEndpoint *string `type:"string"`
20669
20670	// Contains the identifier of the source DB cluster if this DB cluster is a
20671	// read replica.
20672	ReplicationSourceIdentifier *string `type:"string"`
20673
20674	// Shows the scaling configuration for an Aurora DB cluster in serverless DB
20675	// engine mode.
20676	//
20677	// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
20678	// in the Amazon Aurora User Guide.
20679	ScalingConfigurationInfo *ScalingConfigurationInfo `type:"structure"`
20680
20681	// Specifies the current state of this DB cluster.
20682	Status *string `type:"string"`
20683
20684	// Specifies whether the DB cluster is encrypted.
20685	StorageEncrypted *bool `type:"boolean"`
20686
20687	// Provides a list of VPC security groups that the DB cluster belongs to.
20688	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
20689}
20690
20691// String returns the string representation
20692func (s DBCluster) String() string {
20693	return awsutil.Prettify(s)
20694}
20695
20696// GoString returns the string representation
20697func (s DBCluster) GoString() string {
20698	return s.String()
20699}
20700
20701// SetActivityStreamKinesisStreamName sets the ActivityStreamKinesisStreamName field's value.
20702func (s *DBCluster) SetActivityStreamKinesisStreamName(v string) *DBCluster {
20703	s.ActivityStreamKinesisStreamName = &v
20704	return s
20705}
20706
20707// SetActivityStreamKmsKeyId sets the ActivityStreamKmsKeyId field's value.
20708func (s *DBCluster) SetActivityStreamKmsKeyId(v string) *DBCluster {
20709	s.ActivityStreamKmsKeyId = &v
20710	return s
20711}
20712
20713// SetActivityStreamMode sets the ActivityStreamMode field's value.
20714func (s *DBCluster) SetActivityStreamMode(v string) *DBCluster {
20715	s.ActivityStreamMode = &v
20716	return s
20717}
20718
20719// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
20720func (s *DBCluster) SetActivityStreamStatus(v string) *DBCluster {
20721	s.ActivityStreamStatus = &v
20722	return s
20723}
20724
20725// SetAllocatedStorage sets the AllocatedStorage field's value.
20726func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
20727	s.AllocatedStorage = &v
20728	return s
20729}
20730
20731// SetAssociatedRoles sets the AssociatedRoles field's value.
20732func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
20733	s.AssociatedRoles = v
20734	return s
20735}
20736
20737// SetAvailabilityZones sets the AvailabilityZones field's value.
20738func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
20739	s.AvailabilityZones = v
20740	return s
20741}
20742
20743// SetBacktrackConsumedChangeRecords sets the BacktrackConsumedChangeRecords field's value.
20744func (s *DBCluster) SetBacktrackConsumedChangeRecords(v int64) *DBCluster {
20745	s.BacktrackConsumedChangeRecords = &v
20746	return s
20747}
20748
20749// SetBacktrackWindow sets the BacktrackWindow field's value.
20750func (s *DBCluster) SetBacktrackWindow(v int64) *DBCluster {
20751	s.BacktrackWindow = &v
20752	return s
20753}
20754
20755// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
20756func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
20757	s.BackupRetentionPeriod = &v
20758	return s
20759}
20760
20761// SetCapacity sets the Capacity field's value.
20762func (s *DBCluster) SetCapacity(v int64) *DBCluster {
20763	s.Capacity = &v
20764	return s
20765}
20766
20767// SetCharacterSetName sets the CharacterSetName field's value.
20768func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
20769	s.CharacterSetName = &v
20770	return s
20771}
20772
20773// SetCloneGroupId sets the CloneGroupId field's value.
20774func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
20775	s.CloneGroupId = &v
20776	return s
20777}
20778
20779// SetClusterCreateTime sets the ClusterCreateTime field's value.
20780func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
20781	s.ClusterCreateTime = &v
20782	return s
20783}
20784
20785// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
20786func (s *DBCluster) SetCopyTagsToSnapshot(v bool) *DBCluster {
20787	s.CopyTagsToSnapshot = &v
20788	return s
20789}
20790
20791// SetCrossAccountClone sets the CrossAccountClone field's value.
20792func (s *DBCluster) SetCrossAccountClone(v bool) *DBCluster {
20793	s.CrossAccountClone = &v
20794	return s
20795}
20796
20797// SetCustomEndpoints sets the CustomEndpoints field's value.
20798func (s *DBCluster) SetCustomEndpoints(v []*string) *DBCluster {
20799	s.CustomEndpoints = v
20800	return s
20801}
20802
20803// SetDBClusterArn sets the DBClusterArn field's value.
20804func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
20805	s.DBClusterArn = &v
20806	return s
20807}
20808
20809// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
20810func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
20811	s.DBClusterIdentifier = &v
20812	return s
20813}
20814
20815// SetDBClusterMembers sets the DBClusterMembers field's value.
20816func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
20817	s.DBClusterMembers = v
20818	return s
20819}
20820
20821// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
20822func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
20823	s.DBClusterOptionGroupMemberships = v
20824	return s
20825}
20826
20827// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
20828func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
20829	s.DBClusterParameterGroup = &v
20830	return s
20831}
20832
20833// SetDBSubnetGroup sets the DBSubnetGroup field's value.
20834func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
20835	s.DBSubnetGroup = &v
20836	return s
20837}
20838
20839// SetDatabaseName sets the DatabaseName field's value.
20840func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
20841	s.DatabaseName = &v
20842	return s
20843}
20844
20845// SetDbClusterResourceId sets the DbClusterResourceId field's value.
20846func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
20847	s.DbClusterResourceId = &v
20848	return s
20849}
20850
20851// SetDeletionProtection sets the DeletionProtection field's value.
20852func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
20853	s.DeletionProtection = &v
20854	return s
20855}
20856
20857// SetDomainMemberships sets the DomainMemberships field's value.
20858func (s *DBCluster) SetDomainMemberships(v []*DomainMembership) *DBCluster {
20859	s.DomainMemberships = v
20860	return s
20861}
20862
20863// SetEarliestBacktrackTime sets the EarliestBacktrackTime field's value.
20864func (s *DBCluster) SetEarliestBacktrackTime(v time.Time) *DBCluster {
20865	s.EarliestBacktrackTime = &v
20866	return s
20867}
20868
20869// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
20870func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
20871	s.EarliestRestorableTime = &v
20872	return s
20873}
20874
20875// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
20876func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
20877	s.EnabledCloudwatchLogsExports = v
20878	return s
20879}
20880
20881// SetEndpoint sets the Endpoint field's value.
20882func (s *DBCluster) SetEndpoint(v string) *DBCluster {
20883	s.Endpoint = &v
20884	return s
20885}
20886
20887// SetEngine sets the Engine field's value.
20888func (s *DBCluster) SetEngine(v string) *DBCluster {
20889	s.Engine = &v
20890	return s
20891}
20892
20893// SetEngineMode sets the EngineMode field's value.
20894func (s *DBCluster) SetEngineMode(v string) *DBCluster {
20895	s.EngineMode = &v
20896	return s
20897}
20898
20899// SetEngineVersion sets the EngineVersion field's value.
20900func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
20901	s.EngineVersion = &v
20902	return s
20903}
20904
20905// SetGlobalWriteForwardingRequested sets the GlobalWriteForwardingRequested field's value.
20906func (s *DBCluster) SetGlobalWriteForwardingRequested(v bool) *DBCluster {
20907	s.GlobalWriteForwardingRequested = &v
20908	return s
20909}
20910
20911// SetGlobalWriteForwardingStatus sets the GlobalWriteForwardingStatus field's value.
20912func (s *DBCluster) SetGlobalWriteForwardingStatus(v string) *DBCluster {
20913	s.GlobalWriteForwardingStatus = &v
20914	return s
20915}
20916
20917// SetHostedZoneId sets the HostedZoneId field's value.
20918func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
20919	s.HostedZoneId = &v
20920	return s
20921}
20922
20923// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
20924func (s *DBCluster) SetHttpEndpointEnabled(v bool) *DBCluster {
20925	s.HttpEndpointEnabled = &v
20926	return s
20927}
20928
20929// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
20930func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
20931	s.IAMDatabaseAuthenticationEnabled = &v
20932	return s
20933}
20934
20935// SetKmsKeyId sets the KmsKeyId field's value.
20936func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
20937	s.KmsKeyId = &v
20938	return s
20939}
20940
20941// SetLatestRestorableTime sets the LatestRestorableTime field's value.
20942func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
20943	s.LatestRestorableTime = &v
20944	return s
20945}
20946
20947// SetMasterUsername sets the MasterUsername field's value.
20948func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
20949	s.MasterUsername = &v
20950	return s
20951}
20952
20953// SetMultiAZ sets the MultiAZ field's value.
20954func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
20955	s.MultiAZ = &v
20956	return s
20957}
20958
20959// SetPercentProgress sets the PercentProgress field's value.
20960func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
20961	s.PercentProgress = &v
20962	return s
20963}
20964
20965// SetPort sets the Port field's value.
20966func (s *DBCluster) SetPort(v int64) *DBCluster {
20967	s.Port = &v
20968	return s
20969}
20970
20971// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
20972func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
20973	s.PreferredBackupWindow = &v
20974	return s
20975}
20976
20977// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
20978func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
20979	s.PreferredMaintenanceWindow = &v
20980	return s
20981}
20982
20983// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
20984func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
20985	s.ReadReplicaIdentifiers = v
20986	return s
20987}
20988
20989// SetReaderEndpoint sets the ReaderEndpoint field's value.
20990func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
20991	s.ReaderEndpoint = &v
20992	return s
20993}
20994
20995// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
20996func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
20997	s.ReplicationSourceIdentifier = &v
20998	return s
20999}
21000
21001// SetScalingConfigurationInfo sets the ScalingConfigurationInfo field's value.
21002func (s *DBCluster) SetScalingConfigurationInfo(v *ScalingConfigurationInfo) *DBCluster {
21003	s.ScalingConfigurationInfo = v
21004	return s
21005}
21006
21007// SetStatus sets the Status field's value.
21008func (s *DBCluster) SetStatus(v string) *DBCluster {
21009	s.Status = &v
21010	return s
21011}
21012
21013// SetStorageEncrypted sets the StorageEncrypted field's value.
21014func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
21015	s.StorageEncrypted = &v
21016	return s
21017}
21018
21019// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
21020func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
21021	s.VpcSecurityGroups = v
21022	return s
21023}
21024
21025// This data type represents the information you need to connect to an Amazon
21026// Aurora DB cluster. This data type is used as a response element in the following
21027// actions:
21028//
21029//    * CreateDBClusterEndpoint
21030//
21031//    * DescribeDBClusterEndpoints
21032//
21033//    * ModifyDBClusterEndpoint
21034//
21035//    * DeleteDBClusterEndpoint
21036//
21037// For the data structure that represents Amazon RDS DB instance endpoints,
21038// see Endpoint.
21039type DBClusterEndpoint struct {
21040	_ struct{} `type:"structure"`
21041
21042	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
21043	CustomEndpointType *string `type:"string"`
21044
21045	// The Amazon Resource Name (ARN) for the endpoint.
21046	DBClusterEndpointArn *string `type:"string"`
21047
21048	// The identifier associated with the endpoint. This parameter is stored as
21049	// a lowercase string.
21050	DBClusterEndpointIdentifier *string `type:"string"`
21051
21052	// A unique system-generated identifier for an endpoint. It remains the same
21053	// for the whole life of the endpoint.
21054	DBClusterEndpointResourceIdentifier *string `type:"string"`
21055
21056	// The DB cluster identifier of the DB cluster associated with the endpoint.
21057	// This parameter is stored as a lowercase string.
21058	DBClusterIdentifier *string `type:"string"`
21059
21060	// The DNS address of the endpoint.
21061	Endpoint *string `type:"string"`
21062
21063	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
21064	EndpointType *string `type:"string"`
21065
21066	// List of DB instance identifiers that aren't part of the custom endpoint group.
21067	// All other eligible instances are reachable through the custom endpoint. Only
21068	// relevant if the list of static members is empty.
21069	ExcludedMembers []*string `type:"list"`
21070
21071	// List of DB instance identifiers that are part of the custom endpoint group.
21072	StaticMembers []*string `type:"list"`
21073
21074	// The current status of the endpoint. One of: creating, available, deleting,
21075	// modifying.
21076	Status *string `type:"string"`
21077}
21078
21079// String returns the string representation
21080func (s DBClusterEndpoint) String() string {
21081	return awsutil.Prettify(s)
21082}
21083
21084// GoString returns the string representation
21085func (s DBClusterEndpoint) GoString() string {
21086	return s.String()
21087}
21088
21089// SetCustomEndpointType sets the CustomEndpointType field's value.
21090func (s *DBClusterEndpoint) SetCustomEndpointType(v string) *DBClusterEndpoint {
21091	s.CustomEndpointType = &v
21092	return s
21093}
21094
21095// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
21096func (s *DBClusterEndpoint) SetDBClusterEndpointArn(v string) *DBClusterEndpoint {
21097	s.DBClusterEndpointArn = &v
21098	return s
21099}
21100
21101// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
21102func (s *DBClusterEndpoint) SetDBClusterEndpointIdentifier(v string) *DBClusterEndpoint {
21103	s.DBClusterEndpointIdentifier = &v
21104	return s
21105}
21106
21107// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
21108func (s *DBClusterEndpoint) SetDBClusterEndpointResourceIdentifier(v string) *DBClusterEndpoint {
21109	s.DBClusterEndpointResourceIdentifier = &v
21110	return s
21111}
21112
21113// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
21114func (s *DBClusterEndpoint) SetDBClusterIdentifier(v string) *DBClusterEndpoint {
21115	s.DBClusterIdentifier = &v
21116	return s
21117}
21118
21119// SetEndpoint sets the Endpoint field's value.
21120func (s *DBClusterEndpoint) SetEndpoint(v string) *DBClusterEndpoint {
21121	s.Endpoint = &v
21122	return s
21123}
21124
21125// SetEndpointType sets the EndpointType field's value.
21126func (s *DBClusterEndpoint) SetEndpointType(v string) *DBClusterEndpoint {
21127	s.EndpointType = &v
21128	return s
21129}
21130
21131// SetExcludedMembers sets the ExcludedMembers field's value.
21132func (s *DBClusterEndpoint) SetExcludedMembers(v []*string) *DBClusterEndpoint {
21133	s.ExcludedMembers = v
21134	return s
21135}
21136
21137// SetStaticMembers sets the StaticMembers field's value.
21138func (s *DBClusterEndpoint) SetStaticMembers(v []*string) *DBClusterEndpoint {
21139	s.StaticMembers = v
21140	return s
21141}
21142
21143// SetStatus sets the Status field's value.
21144func (s *DBClusterEndpoint) SetStatus(v string) *DBClusterEndpoint {
21145	s.Status = &v
21146	return s
21147}
21148
21149// Contains information about an instance that is part of a DB cluster.
21150type DBClusterMember struct {
21151	_ struct{} `type:"structure"`
21152
21153	// Specifies the status of the DB cluster parameter group for this member of
21154	// the DB cluster.
21155	DBClusterParameterGroupStatus *string `type:"string"`
21156
21157	// Specifies the instance identifier for this member of the DB cluster.
21158	DBInstanceIdentifier *string `type:"string"`
21159
21160	// Value that is true if the cluster member is the primary instance for the
21161	// DB cluster and false otherwise.
21162	IsClusterWriter *bool `type:"boolean"`
21163
21164	// A value that specifies the order in which an Aurora Replica is promoted to
21165	// the primary instance after a failure of the existing primary instance. For
21166	// more information, see Fault Tolerance for an Aurora DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance)
21167	// in the Amazon Aurora User Guide.
21168	PromotionTier *int64 `type:"integer"`
21169}
21170
21171// String returns the string representation
21172func (s DBClusterMember) String() string {
21173	return awsutil.Prettify(s)
21174}
21175
21176// GoString returns the string representation
21177func (s DBClusterMember) GoString() string {
21178	return s.String()
21179}
21180
21181// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
21182func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
21183	s.DBClusterParameterGroupStatus = &v
21184	return s
21185}
21186
21187// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
21188func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
21189	s.DBInstanceIdentifier = &v
21190	return s
21191}
21192
21193// SetIsClusterWriter sets the IsClusterWriter field's value.
21194func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
21195	s.IsClusterWriter = &v
21196	return s
21197}
21198
21199// SetPromotionTier sets the PromotionTier field's value.
21200func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
21201	s.PromotionTier = &v
21202	return s
21203}
21204
21205// Contains status information for a DB cluster option group.
21206type DBClusterOptionGroupStatus struct {
21207	_ struct{} `type:"structure"`
21208
21209	// Specifies the name of the DB cluster option group.
21210	DBClusterOptionGroupName *string `type:"string"`
21211
21212	// Specifies the status of the DB cluster option group.
21213	Status *string `type:"string"`
21214}
21215
21216// String returns the string representation
21217func (s DBClusterOptionGroupStatus) String() string {
21218	return awsutil.Prettify(s)
21219}
21220
21221// GoString returns the string representation
21222func (s DBClusterOptionGroupStatus) GoString() string {
21223	return s.String()
21224}
21225
21226// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
21227func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
21228	s.DBClusterOptionGroupName = &v
21229	return s
21230}
21231
21232// SetStatus sets the Status field's value.
21233func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
21234	s.Status = &v
21235	return s
21236}
21237
21238// Contains the details of an Amazon RDS DB cluster parameter group.
21239//
21240// This data type is used as a response element in the DescribeDBClusterParameterGroups
21241// action.
21242type DBClusterParameterGroup struct {
21243	_ struct{} `type:"structure"`
21244
21245	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
21246	DBClusterParameterGroupArn *string `type:"string"`
21247
21248	// Provides the name of the DB cluster parameter group.
21249	DBClusterParameterGroupName *string `type:"string"`
21250
21251	// Provides the name of the DB parameter group family that this DB cluster parameter
21252	// group is compatible with.
21253	DBParameterGroupFamily *string `type:"string"`
21254
21255	// Provides the customer-specified description for this DB cluster parameter
21256	// group.
21257	Description *string `type:"string"`
21258}
21259
21260// String returns the string representation
21261func (s DBClusterParameterGroup) String() string {
21262	return awsutil.Prettify(s)
21263}
21264
21265// GoString returns the string representation
21266func (s DBClusterParameterGroup) GoString() string {
21267	return s.String()
21268}
21269
21270// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
21271func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
21272	s.DBClusterParameterGroupArn = &v
21273	return s
21274}
21275
21276// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
21277func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
21278	s.DBClusterParameterGroupName = &v
21279	return s
21280}
21281
21282// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
21283func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
21284	s.DBParameterGroupFamily = &v
21285	return s
21286}
21287
21288// SetDescription sets the Description field's value.
21289func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
21290	s.Description = &v
21291	return s
21292}
21293
21294type DBClusterParameterGroupNameMessage struct {
21295	_ struct{} `type:"structure"`
21296
21297	// The name of the DB cluster parameter group.
21298	//
21299	// Constraints:
21300	//
21301	//    * Must be 1 to 255 letters or numbers.
21302	//
21303	//    * First character must be a letter
21304	//
21305	//    * Can't end with a hyphen or contain two consecutive hyphens
21306	//
21307	// This value is stored as a lowercase string.
21308	DBClusterParameterGroupName *string `type:"string"`
21309}
21310
21311// String returns the string representation
21312func (s DBClusterParameterGroupNameMessage) String() string {
21313	return awsutil.Prettify(s)
21314}
21315
21316// GoString returns the string representation
21317func (s DBClusterParameterGroupNameMessage) GoString() string {
21318	return s.String()
21319}
21320
21321// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
21322func (s *DBClusterParameterGroupNameMessage) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroupNameMessage {
21323	s.DBClusterParameterGroupName = &v
21324	return s
21325}
21326
21327// Describes an AWS Identity and Access Management (IAM) role that is associated
21328// with a DB cluster.
21329type DBClusterRole struct {
21330	_ struct{} `type:"structure"`
21331
21332	// The name of the feature associated with the AWS Identity and Access Management
21333	// (IAM) role. For the list of supported feature names, see DBEngineVersion.
21334	FeatureName *string `type:"string"`
21335
21336	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
21337	// DB cluster.
21338	RoleArn *string `type:"string"`
21339
21340	// Describes the state of association between the IAM role and the DB cluster.
21341	// The Status property returns one of the following values:
21342	//
21343	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
21344	//    be used to access other AWS services on your behalf.
21345	//
21346	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
21347	//
21348	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
21349	//    DB cluster is unable to assume the IAM role in order to access other AWS
21350	//    services on your behalf.
21351	Status *string `type:"string"`
21352}
21353
21354// String returns the string representation
21355func (s DBClusterRole) String() string {
21356	return awsutil.Prettify(s)
21357}
21358
21359// GoString returns the string representation
21360func (s DBClusterRole) GoString() string {
21361	return s.String()
21362}
21363
21364// SetFeatureName sets the FeatureName field's value.
21365func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
21366	s.FeatureName = &v
21367	return s
21368}
21369
21370// SetRoleArn sets the RoleArn field's value.
21371func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
21372	s.RoleArn = &v
21373	return s
21374}
21375
21376// SetStatus sets the Status field's value.
21377func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
21378	s.Status = &v
21379	return s
21380}
21381
21382// Contains the details for an Amazon RDS DB cluster snapshot
21383//
21384// This data type is used as a response element in the DescribeDBClusterSnapshots
21385// action.
21386type DBClusterSnapshot struct {
21387	_ struct{} `type:"structure"`
21388
21389	// Specifies the allocated storage size in gibibytes (GiB).
21390	AllocatedStorage *int64 `type:"integer"`
21391
21392	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
21393	// snapshot can be restored.
21394	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
21395
21396	// Specifies the time when the DB cluster was created, in Universal Coordinated
21397	// Time (UTC).
21398	ClusterCreateTime *time.Time `type:"timestamp"`
21399
21400	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
21401	// snapshot was created from.
21402	DBClusterIdentifier *string `type:"string"`
21403
21404	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
21405	DBClusterSnapshotArn *string `type:"string"`
21406
21407	// Specifies the identifier for the DB cluster snapshot.
21408	DBClusterSnapshotIdentifier *string `type:"string"`
21409
21410	// Specifies the name of the database engine.
21411	Engine *string `type:"string"`
21412
21413	// Provides the version of the database engine for this DB cluster snapshot.
21414	EngineVersion *string `type:"string"`
21415
21416	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
21417	// accounts is enabled, and otherwise false.
21418	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
21419
21420	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
21421	// DB cluster snapshot.
21422	KmsKeyId *string `type:"string"`
21423
21424	// Provides the license model information for this DB cluster snapshot.
21425	LicenseModel *string `type:"string"`
21426
21427	// Provides the master username for the DB cluster snapshot.
21428	MasterUsername *string `type:"string"`
21429
21430	// Specifies the percentage of the estimated data that has been transferred.
21431	PercentProgress *int64 `type:"integer"`
21432
21433	// Specifies the port that the DB cluster was listening on at the time of the
21434	// snapshot.
21435	Port *int64 `type:"integer"`
21436
21437	// Provides the time when the snapshot was taken, in Universal Coordinated Time
21438	// (UTC).
21439	SnapshotCreateTime *time.Time `type:"timestamp"`
21440
21441	// Provides the type of the DB cluster snapshot.
21442	SnapshotType *string `type:"string"`
21443
21444	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
21445	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
21446	// a null value.
21447	SourceDBClusterSnapshotArn *string `type:"string"`
21448
21449	// Specifies the status of this DB cluster snapshot.
21450	Status *string `type:"string"`
21451
21452	// Specifies whether the DB cluster snapshot is encrypted.
21453	StorageEncrypted *bool `type:"boolean"`
21454
21455	// Provides the VPC ID associated with the DB cluster snapshot.
21456	VpcId *string `type:"string"`
21457}
21458
21459// String returns the string representation
21460func (s DBClusterSnapshot) String() string {
21461	return awsutil.Prettify(s)
21462}
21463
21464// GoString returns the string representation
21465func (s DBClusterSnapshot) GoString() string {
21466	return s.String()
21467}
21468
21469// SetAllocatedStorage sets the AllocatedStorage field's value.
21470func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
21471	s.AllocatedStorage = &v
21472	return s
21473}
21474
21475// SetAvailabilityZones sets the AvailabilityZones field's value.
21476func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
21477	s.AvailabilityZones = v
21478	return s
21479}
21480
21481// SetClusterCreateTime sets the ClusterCreateTime field's value.
21482func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
21483	s.ClusterCreateTime = &v
21484	return s
21485}
21486
21487// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
21488func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
21489	s.DBClusterIdentifier = &v
21490	return s
21491}
21492
21493// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
21494func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
21495	s.DBClusterSnapshotArn = &v
21496	return s
21497}
21498
21499// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
21500func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
21501	s.DBClusterSnapshotIdentifier = &v
21502	return s
21503}
21504
21505// SetEngine sets the Engine field's value.
21506func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
21507	s.Engine = &v
21508	return s
21509}
21510
21511// SetEngineVersion sets the EngineVersion field's value.
21512func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
21513	s.EngineVersion = &v
21514	return s
21515}
21516
21517// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
21518func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
21519	s.IAMDatabaseAuthenticationEnabled = &v
21520	return s
21521}
21522
21523// SetKmsKeyId sets the KmsKeyId field's value.
21524func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
21525	s.KmsKeyId = &v
21526	return s
21527}
21528
21529// SetLicenseModel sets the LicenseModel field's value.
21530func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
21531	s.LicenseModel = &v
21532	return s
21533}
21534
21535// SetMasterUsername sets the MasterUsername field's value.
21536func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
21537	s.MasterUsername = &v
21538	return s
21539}
21540
21541// SetPercentProgress sets the PercentProgress field's value.
21542func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
21543	s.PercentProgress = &v
21544	return s
21545}
21546
21547// SetPort sets the Port field's value.
21548func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
21549	s.Port = &v
21550	return s
21551}
21552
21553// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
21554func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
21555	s.SnapshotCreateTime = &v
21556	return s
21557}
21558
21559// SetSnapshotType sets the SnapshotType field's value.
21560func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
21561	s.SnapshotType = &v
21562	return s
21563}
21564
21565// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
21566func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
21567	s.SourceDBClusterSnapshotArn = &v
21568	return s
21569}
21570
21571// SetStatus sets the Status field's value.
21572func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
21573	s.Status = &v
21574	return s
21575}
21576
21577// SetStorageEncrypted sets the StorageEncrypted field's value.
21578func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
21579	s.StorageEncrypted = &v
21580	return s
21581}
21582
21583// SetVpcId sets the VpcId field's value.
21584func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
21585	s.VpcId = &v
21586	return s
21587}
21588
21589// Contains the name and values of a manual DB cluster snapshot attribute.
21590//
21591// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
21592// to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute
21593// API action.
21594type DBClusterSnapshotAttribute struct {
21595	_ struct{} `type:"structure"`
21596
21597	// The name of the manual DB cluster snapshot attribute.
21598	//
21599	// The attribute named restore refers to the list of AWS accounts that have
21600	// permission to copy or restore the manual DB cluster snapshot. For more information,
21601	// see the ModifyDBClusterSnapshotAttribute API action.
21602	AttributeName *string `type:"string"`
21603
21604	// The value(s) for the manual DB cluster snapshot attribute.
21605	//
21606	// If the AttributeName field is set to restore, then this element returns a
21607	// list of IDs of the AWS accounts that are authorized to copy or restore the
21608	// manual DB cluster snapshot. If a value of all is in the list, then the manual
21609	// DB cluster snapshot is public and available for any AWS account to copy or
21610	// restore.
21611	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
21612}
21613
21614// String returns the string representation
21615func (s DBClusterSnapshotAttribute) String() string {
21616	return awsutil.Prettify(s)
21617}
21618
21619// GoString returns the string representation
21620func (s DBClusterSnapshotAttribute) GoString() string {
21621	return s.String()
21622}
21623
21624// SetAttributeName sets the AttributeName field's value.
21625func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
21626	s.AttributeName = &v
21627	return s
21628}
21629
21630// SetAttributeValues sets the AttributeValues field's value.
21631func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
21632	s.AttributeValues = v
21633	return s
21634}
21635
21636// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
21637// API action.
21638//
21639// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
21640// to copy or restore a manual DB cluster snapshot. For more information, see
21641// the ModifyDBClusterSnapshotAttribute API action.
21642type DBClusterSnapshotAttributesResult struct {
21643	_ struct{} `type:"structure"`
21644
21645	// The list of attributes and values for the manual DB cluster snapshot.
21646	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
21647
21648	// The identifier of the manual DB cluster snapshot that the attributes apply
21649	// to.
21650	DBClusterSnapshotIdentifier *string `type:"string"`
21651}
21652
21653// String returns the string representation
21654func (s DBClusterSnapshotAttributesResult) String() string {
21655	return awsutil.Prettify(s)
21656}
21657
21658// GoString returns the string representation
21659func (s DBClusterSnapshotAttributesResult) GoString() string {
21660	return s.String()
21661}
21662
21663// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
21664func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
21665	s.DBClusterSnapshotAttributes = v
21666	return s
21667}
21668
21669// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
21670func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
21671	s.DBClusterSnapshotIdentifier = &v
21672	return s
21673}
21674
21675// This data type is used as a response element in the action DescribeDBEngineVersions.
21676type DBEngineVersion struct {
21677	_ struct{} `type:"structure"`
21678
21679	// The description of the database engine.
21680	DBEngineDescription *string `type:"string"`
21681
21682	// The description of the database engine version.
21683	DBEngineVersionDescription *string `type:"string"`
21684
21685	// The name of the DB parameter group family for the database engine.
21686	DBParameterGroupFamily *string `type:"string"`
21687
21688	// The default character set for new instances of this engine version, if the
21689	// CharacterSetName parameter of the CreateDBInstance API isn't specified.
21690	DefaultCharacterSet *CharacterSet `type:"structure"`
21691
21692	// The name of the database engine.
21693	Engine *string `type:"string"`
21694
21695	// The version number of the database engine.
21696	EngineVersion *string `type:"string"`
21697
21698	// The types of logs that the database engine has available for export to CloudWatch
21699	// Logs.
21700	ExportableLogTypes []*string `type:"list"`
21701
21702	// The status of the DB engine version, either available or deprecated.
21703	Status *string `type:"string"`
21704
21705	// A list of the character sets supported by this engine for the CharacterSetName
21706	// parameter of the CreateDBInstance action.
21707	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
21708
21709	// A list of the supported DB engine modes.
21710	//
21711	// global engine mode only applies for global database clusters created with
21712	// Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters
21713	// in a global database use provisioned engine mode.
21714	SupportedEngineModes []*string `type:"list"`
21715
21716	// A list of features supported by the DB engine. Supported feature names include
21717	// the following.
21718	//
21719	//    * s3Import
21720	SupportedFeatureNames []*string `type:"list"`
21721
21722	// A list of the time zones supported by this engine for the Timezone parameter
21723	// of the CreateDBInstance action.
21724	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
21725
21726	// A value that indicates whether you can use Aurora global databases with a
21727	// specific DB engine version.
21728	SupportsGlobalDatabases *bool `type:"boolean"`
21729
21730	// A value that indicates whether the engine version supports exporting the
21731	// log types specified by ExportableLogTypes to CloudWatch Logs.
21732	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
21733
21734	// A value that indicates whether you can use Aurora parallel query with a specific
21735	// DB engine version.
21736	SupportsParallelQuery *bool `type:"boolean"`
21737
21738	// Indicates whether the database engine version supports read replicas.
21739	SupportsReadReplica *bool `type:"boolean"`
21740
21741	// A list of engine versions that this database engine version can be upgraded
21742	// to.
21743	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
21744}
21745
21746// String returns the string representation
21747func (s DBEngineVersion) String() string {
21748	return awsutil.Prettify(s)
21749}
21750
21751// GoString returns the string representation
21752func (s DBEngineVersion) GoString() string {
21753	return s.String()
21754}
21755
21756// SetDBEngineDescription sets the DBEngineDescription field's value.
21757func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
21758	s.DBEngineDescription = &v
21759	return s
21760}
21761
21762// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
21763func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
21764	s.DBEngineVersionDescription = &v
21765	return s
21766}
21767
21768// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
21769func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
21770	s.DBParameterGroupFamily = &v
21771	return s
21772}
21773
21774// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
21775func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
21776	s.DefaultCharacterSet = v
21777	return s
21778}
21779
21780// SetEngine sets the Engine field's value.
21781func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
21782	s.Engine = &v
21783	return s
21784}
21785
21786// SetEngineVersion sets the EngineVersion field's value.
21787func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
21788	s.EngineVersion = &v
21789	return s
21790}
21791
21792// SetExportableLogTypes sets the ExportableLogTypes field's value.
21793func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
21794	s.ExportableLogTypes = v
21795	return s
21796}
21797
21798// SetStatus sets the Status field's value.
21799func (s *DBEngineVersion) SetStatus(v string) *DBEngineVersion {
21800	s.Status = &v
21801	return s
21802}
21803
21804// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
21805func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
21806	s.SupportedCharacterSets = v
21807	return s
21808}
21809
21810// SetSupportedEngineModes sets the SupportedEngineModes field's value.
21811func (s *DBEngineVersion) SetSupportedEngineModes(v []*string) *DBEngineVersion {
21812	s.SupportedEngineModes = v
21813	return s
21814}
21815
21816// SetSupportedFeatureNames sets the SupportedFeatureNames field's value.
21817func (s *DBEngineVersion) SetSupportedFeatureNames(v []*string) *DBEngineVersion {
21818	s.SupportedFeatureNames = v
21819	return s
21820}
21821
21822// SetSupportedTimezones sets the SupportedTimezones field's value.
21823func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
21824	s.SupportedTimezones = v
21825	return s
21826}
21827
21828// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
21829func (s *DBEngineVersion) SetSupportsGlobalDatabases(v bool) *DBEngineVersion {
21830	s.SupportsGlobalDatabases = &v
21831	return s
21832}
21833
21834// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
21835func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
21836	s.SupportsLogExportsToCloudwatchLogs = &v
21837	return s
21838}
21839
21840// SetSupportsParallelQuery sets the SupportsParallelQuery field's value.
21841func (s *DBEngineVersion) SetSupportsParallelQuery(v bool) *DBEngineVersion {
21842	s.SupportsParallelQuery = &v
21843	return s
21844}
21845
21846// SetSupportsReadReplica sets the SupportsReadReplica field's value.
21847func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
21848	s.SupportsReadReplica = &v
21849	return s
21850}
21851
21852// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
21853func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
21854	s.ValidUpgradeTarget = v
21855	return s
21856}
21857
21858// Contains the details of an Amazon RDS DB instance.
21859//
21860// This data type is used as a response element in the DescribeDBInstances action.
21861type DBInstance struct {
21862	_ struct{} `type:"structure"`
21863
21864	// Specifies the allocated storage size specified in gibibytes.
21865	AllocatedStorage *int64 `type:"integer"`
21866
21867	// The AWS Identity and Access Management (IAM) roles associated with the DB
21868	// instance.
21869	AssociatedRoles []*DBInstanceRole `locationNameList:"DBInstanceRole" type:"list"`
21870
21871	// Indicates that minor version patches are applied automatically.
21872	AutoMinorVersionUpgrade *bool `type:"boolean"`
21873
21874	// Specifies the name of the Availability Zone the DB instance is located in.
21875	AvailabilityZone *string `type:"string"`
21876
21877	// Specifies the number of days for which automatic DB snapshots are retained.
21878	BackupRetentionPeriod *int64 `type:"integer"`
21879
21880	// The identifier of the CA certificate for this DB instance.
21881	CACertificateIdentifier *string `type:"string"`
21882
21883	// If present, specifies the name of the character set that this instance is
21884	// associated with.
21885	CharacterSetName *string `type:"string"`
21886
21887	// Specifies whether tags are copied from the DB instance to snapshots of the
21888	// DB instance.
21889	//
21890	// Amazon Aurora
21891	//
21892	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
21893	// this value for an Aurora DB instance has no effect on the DB cluster setting.
21894	// For more information, see DBCluster.
21895	CopyTagsToSnapshot *bool `type:"boolean"`
21896
21897	// If the DB instance is a member of a DB cluster, contains the name of the
21898	// DB cluster that the DB instance is a member of.
21899	DBClusterIdentifier *string `type:"string"`
21900
21901	// The Amazon Resource Name (ARN) for the DB instance.
21902	DBInstanceArn *string `type:"string"`
21903
21904	// Contains the name of the compute and memory capacity class of the DB instance.
21905	DBInstanceClass *string `type:"string"`
21906
21907	// Contains a user-supplied database identifier. This identifier is the unique
21908	// key that identifies a DB instance.
21909	DBInstanceIdentifier *string `type:"string"`
21910
21911	// Specifies the current state of this database.
21912	//
21913	// For information about DB instance statuses, see DB Instance Status (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Status.html)
21914	// in the Amazon RDS User Guide.
21915	DBInstanceStatus *string `type:"string"`
21916
21917	// The meaning of this parameter differs according to the database engine you
21918	// use.
21919	//
21920	// MySQL, MariaDB, SQL Server, PostgreSQL
21921	//
21922	// Contains the name of the initial database of this instance that was provided
21923	// at create time, if one was specified when the DB instance was created. This
21924	// same name is returned for the life of the DB instance.
21925	//
21926	// Type: String
21927	//
21928	// Oracle
21929	//
21930	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
21931	// when the returned parameters do not apply to an Oracle DB instance.
21932	DBName *string `type:"string"`
21933
21934	// Provides the list of DB parameter groups applied to this DB instance.
21935	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
21936
21937	// A list of DB security group elements containing DBSecurityGroup.Name and
21938	// DBSecurityGroup.Status subelements.
21939	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
21940
21941	// Specifies information on the subnet group associated with the DB instance,
21942	// including the name, description, and subnets in the subnet group.
21943	DBSubnetGroup *DBSubnetGroup `type:"structure"`
21944
21945	// Specifies the port that the DB instance listens on. If the DB instance is
21946	// part of a DB cluster, this can be a different port than the DB cluster port.
21947	DbInstancePort *int64 `type:"integer"`
21948
21949	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
21950	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
21951	// instance is accessed.
21952	DbiResourceId *string `type:"string"`
21953
21954	// Indicates if the DB instance has deletion protection enabled. The database
21955	// can't be deleted when deletion protection is enabled. For more information,
21956	// see Deleting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
21957	DeletionProtection *bool `type:"boolean"`
21958
21959	// The Active Directory Domain membership records associated with the DB instance.
21960	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
21961
21962	// A list of log types that this DB instance is configured to export to CloudWatch
21963	// Logs.
21964	//
21965	// Log types vary by DB engine. For information about the log types for each
21966	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)
21967	// in the Amazon RDS User Guide.
21968	EnabledCloudwatchLogsExports []*string `type:"list"`
21969
21970	// Specifies the connection endpoint.
21971	Endpoint *Endpoint `type:"structure"`
21972
21973	// Provides the name of the database engine to be used for this DB instance.
21974	Engine *string `type:"string"`
21975
21976	// Indicates the database engine version.
21977	EngineVersion *string `type:"string"`
21978
21979	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
21980	// receives the Enhanced Monitoring metrics data for the DB instance.
21981	EnhancedMonitoringResourceArn *string `type:"string"`
21982
21983	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
21984	// accounts is enabled, and otherwise false.
21985	//
21986	// IAM database authentication can be enabled for the following database engines
21987	//
21988	//    * For MySQL 5.6, minor version 5.6.34 or higher
21989	//
21990	//    * For MySQL 5.7, minor version 5.7.16 or higher
21991	//
21992	//    * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,
21993	//    see DBCluster Type.
21994	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
21995
21996	// Provides the date and time the DB instance was created.
21997	InstanceCreateTime *time.Time `type:"timestamp"`
21998
21999	// Specifies the Provisioned IOPS (I/O operations per second) value.
22000	Iops *int64 `type:"integer"`
22001
22002	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
22003	// DB instance.
22004	KmsKeyId *string `type:"string"`
22005
22006	// Specifies the latest time to which a database can be restored with point-in-time
22007	// restore.
22008	LatestRestorableTime *time.Time `type:"timestamp"`
22009
22010	// License model information for this DB instance.
22011	LicenseModel *string `type:"string"`
22012
22013	// Specifies the listener connection endpoint for SQL Server Always On.
22014	ListenerEndpoint *Endpoint `type:"structure"`
22015
22016	// Contains the master username for the DB instance.
22017	MasterUsername *string `type:"string"`
22018
22019	// The upper limit to which Amazon RDS can automatically scale the storage of
22020	// the DB instance.
22021	MaxAllocatedStorage *int64 `type:"integer"`
22022
22023	// The interval, in seconds, between points when Enhanced Monitoring metrics
22024	// are collected for the DB instance.
22025	MonitoringInterval *int64 `type:"integer"`
22026
22027	// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics
22028	// to Amazon CloudWatch Logs.
22029	MonitoringRoleArn *string `type:"string"`
22030
22031	// Specifies if the DB instance is a Multi-AZ deployment.
22032	MultiAZ *bool `type:"boolean"`
22033
22034	// Provides the list of option group memberships for this DB instance.
22035	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
22036
22037	// Specifies that changes to the DB instance are pending. This element is only
22038	// included when changes are pending. Specific changes are identified by subelements.
22039	PendingModifiedValues *PendingModifiedValues `type:"structure"`
22040
22041	// True if Performance Insights is enabled for the DB instance, and otherwise
22042	// false.
22043	PerformanceInsightsEnabled *bool `type:"boolean"`
22044
22045	// The AWS KMS key identifier for encryption of Performance Insights data. The
22046	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
22047	// KMS key alias for the KMS encryption key.
22048	PerformanceInsightsKMSKeyId *string `type:"string"`
22049
22050	// The amount of time, in days, to retain Performance Insights data. Valid values
22051	// are 7 or 731 (2 years).
22052	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
22053
22054	// Specifies the daily time range during which automated backups are created
22055	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
22056	PreferredBackupWindow *string `type:"string"`
22057
22058	// Specifies the weekly time range during which system maintenance can occur,
22059	// in Universal Coordinated Time (UTC).
22060	PreferredMaintenanceWindow *string `type:"string"`
22061
22062	// The number of CPU cores and the number of threads per core for the DB instance
22063	// class of the DB instance.
22064	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
22065
22066	// A value that specifies the order in which an Aurora Replica is promoted to
22067	// the primary instance after a failure of the existing primary instance. For
22068	// more information, see Fault Tolerance for an Aurora DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance)
22069	// in the Amazon Aurora User Guide.
22070	PromotionTier *int64 `type:"integer"`
22071
22072	// Specifies the accessibility options for the DB instance.
22073	//
22074	// When the DB instance is publicly accessible, its DNS endpoint resolves to
22075	// the private IP address from within the DB instance's VPC, and to the public
22076	// IP address from outside of the DB instance's VPC. Access to the DB instance
22077	// is ultimately controlled by the security group it uses, and that public access
22078	// is not permitted if the security group assigned to the DB instance doesn't
22079	// permit it.
22080	//
22081	// When the DB instance isn't publicly accessible, it is an internal DB instance
22082	// with a DNS name that resolves to a private IP address.
22083	//
22084	// For more information, see CreateDBInstance.
22085	PubliclyAccessible *bool `type:"boolean"`
22086
22087	// Contains one or more identifiers of Aurora DB clusters to which the RDS DB
22088	// instance is replicated as a read replica. For example, when you create an
22089	// Aurora read replica of an RDS MySQL DB instance, the Aurora MySQL DB cluster
22090	// for the Aurora read replica is shown. This output does not contain information
22091	// about cross region Aurora read replicas.
22092	//
22093	// Currently, each RDS DB instance can have only one Aurora read replica.
22094	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
22095
22096	// Contains one or more identifiers of the read replicas associated with this
22097	// DB instance.
22098	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
22099
22100	// Contains the identifier of the source DB instance if this DB instance is
22101	// a read replica.
22102	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
22103
22104	// If present, specifies the name of the secondary Availability Zone for a DB
22105	// instance with multi-AZ support.
22106	SecondaryAvailabilityZone *string `type:"string"`
22107
22108	// The status of a read replica. If the instance isn't a read replica, this
22109	// is blank.
22110	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
22111
22112	// Specifies whether the DB instance is encrypted.
22113	StorageEncrypted *bool `type:"boolean"`
22114
22115	// Specifies the storage type associated with DB instance.
22116	StorageType *string `type:"string"`
22117
22118	// The ARN from the key store with which the instance is associated for TDE
22119	// encryption.
22120	TdeCredentialArn *string `type:"string"`
22121
22122	// The time zone of the DB instance. In most cases, the Timezone element is
22123	// empty. Timezone content appears only for Microsoft SQL Server DB instances
22124	// that were created with a time zone specified.
22125	Timezone *string `type:"string"`
22126
22127	// Provides a list of VPC security group elements that the DB instance belongs
22128	// to.
22129	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
22130}
22131
22132// String returns the string representation
22133func (s DBInstance) String() string {
22134	return awsutil.Prettify(s)
22135}
22136
22137// GoString returns the string representation
22138func (s DBInstance) GoString() string {
22139	return s.String()
22140}
22141
22142// SetAllocatedStorage sets the AllocatedStorage field's value.
22143func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
22144	s.AllocatedStorage = &v
22145	return s
22146}
22147
22148// SetAssociatedRoles sets the AssociatedRoles field's value.
22149func (s *DBInstance) SetAssociatedRoles(v []*DBInstanceRole) *DBInstance {
22150	s.AssociatedRoles = v
22151	return s
22152}
22153
22154// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
22155func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
22156	s.AutoMinorVersionUpgrade = &v
22157	return s
22158}
22159
22160// SetAvailabilityZone sets the AvailabilityZone field's value.
22161func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
22162	s.AvailabilityZone = &v
22163	return s
22164}
22165
22166// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
22167func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
22168	s.BackupRetentionPeriod = &v
22169	return s
22170}
22171
22172// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
22173func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
22174	s.CACertificateIdentifier = &v
22175	return s
22176}
22177
22178// SetCharacterSetName sets the CharacterSetName field's value.
22179func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
22180	s.CharacterSetName = &v
22181	return s
22182}
22183
22184// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
22185func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
22186	s.CopyTagsToSnapshot = &v
22187	return s
22188}
22189
22190// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
22191func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
22192	s.DBClusterIdentifier = &v
22193	return s
22194}
22195
22196// SetDBInstanceArn sets the DBInstanceArn field's value.
22197func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
22198	s.DBInstanceArn = &v
22199	return s
22200}
22201
22202// SetDBInstanceClass sets the DBInstanceClass field's value.
22203func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
22204	s.DBInstanceClass = &v
22205	return s
22206}
22207
22208// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
22209func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
22210	s.DBInstanceIdentifier = &v
22211	return s
22212}
22213
22214// SetDBInstanceStatus sets the DBInstanceStatus field's value.
22215func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
22216	s.DBInstanceStatus = &v
22217	return s
22218}
22219
22220// SetDBName sets the DBName field's value.
22221func (s *DBInstance) SetDBName(v string) *DBInstance {
22222	s.DBName = &v
22223	return s
22224}
22225
22226// SetDBParameterGroups sets the DBParameterGroups field's value.
22227func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
22228	s.DBParameterGroups = v
22229	return s
22230}
22231
22232// SetDBSecurityGroups sets the DBSecurityGroups field's value.
22233func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
22234	s.DBSecurityGroups = v
22235	return s
22236}
22237
22238// SetDBSubnetGroup sets the DBSubnetGroup field's value.
22239func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
22240	s.DBSubnetGroup = v
22241	return s
22242}
22243
22244// SetDbInstancePort sets the DbInstancePort field's value.
22245func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
22246	s.DbInstancePort = &v
22247	return s
22248}
22249
22250// SetDbiResourceId sets the DbiResourceId field's value.
22251func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
22252	s.DbiResourceId = &v
22253	return s
22254}
22255
22256// SetDeletionProtection sets the DeletionProtection field's value.
22257func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
22258	s.DeletionProtection = &v
22259	return s
22260}
22261
22262// SetDomainMemberships sets the DomainMemberships field's value.
22263func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
22264	s.DomainMemberships = v
22265	return s
22266}
22267
22268// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
22269func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
22270	s.EnabledCloudwatchLogsExports = v
22271	return s
22272}
22273
22274// SetEndpoint sets the Endpoint field's value.
22275func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
22276	s.Endpoint = v
22277	return s
22278}
22279
22280// SetEngine sets the Engine field's value.
22281func (s *DBInstance) SetEngine(v string) *DBInstance {
22282	s.Engine = &v
22283	return s
22284}
22285
22286// SetEngineVersion sets the EngineVersion field's value.
22287func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
22288	s.EngineVersion = &v
22289	return s
22290}
22291
22292// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
22293func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
22294	s.EnhancedMonitoringResourceArn = &v
22295	return s
22296}
22297
22298// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
22299func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
22300	s.IAMDatabaseAuthenticationEnabled = &v
22301	return s
22302}
22303
22304// SetInstanceCreateTime sets the InstanceCreateTime field's value.
22305func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
22306	s.InstanceCreateTime = &v
22307	return s
22308}
22309
22310// SetIops sets the Iops field's value.
22311func (s *DBInstance) SetIops(v int64) *DBInstance {
22312	s.Iops = &v
22313	return s
22314}
22315
22316// SetKmsKeyId sets the KmsKeyId field's value.
22317func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
22318	s.KmsKeyId = &v
22319	return s
22320}
22321
22322// SetLatestRestorableTime sets the LatestRestorableTime field's value.
22323func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
22324	s.LatestRestorableTime = &v
22325	return s
22326}
22327
22328// SetLicenseModel sets the LicenseModel field's value.
22329func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
22330	s.LicenseModel = &v
22331	return s
22332}
22333
22334// SetListenerEndpoint sets the ListenerEndpoint field's value.
22335func (s *DBInstance) SetListenerEndpoint(v *Endpoint) *DBInstance {
22336	s.ListenerEndpoint = v
22337	return s
22338}
22339
22340// SetMasterUsername sets the MasterUsername field's value.
22341func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
22342	s.MasterUsername = &v
22343	return s
22344}
22345
22346// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
22347func (s *DBInstance) SetMaxAllocatedStorage(v int64) *DBInstance {
22348	s.MaxAllocatedStorage = &v
22349	return s
22350}
22351
22352// SetMonitoringInterval sets the MonitoringInterval field's value.
22353func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
22354	s.MonitoringInterval = &v
22355	return s
22356}
22357
22358// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
22359func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
22360	s.MonitoringRoleArn = &v
22361	return s
22362}
22363
22364// SetMultiAZ sets the MultiAZ field's value.
22365func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
22366	s.MultiAZ = &v
22367	return s
22368}
22369
22370// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
22371func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
22372	s.OptionGroupMemberships = v
22373	return s
22374}
22375
22376// SetPendingModifiedValues sets the PendingModifiedValues field's value.
22377func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
22378	s.PendingModifiedValues = v
22379	return s
22380}
22381
22382// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
22383func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
22384	s.PerformanceInsightsEnabled = &v
22385	return s
22386}
22387
22388// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
22389func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
22390	s.PerformanceInsightsKMSKeyId = &v
22391	return s
22392}
22393
22394// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
22395func (s *DBInstance) SetPerformanceInsightsRetentionPeriod(v int64) *DBInstance {
22396	s.PerformanceInsightsRetentionPeriod = &v
22397	return s
22398}
22399
22400// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
22401func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
22402	s.PreferredBackupWindow = &v
22403	return s
22404}
22405
22406// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
22407func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
22408	s.PreferredMaintenanceWindow = &v
22409	return s
22410}
22411
22412// SetProcessorFeatures sets the ProcessorFeatures field's value.
22413func (s *DBInstance) SetProcessorFeatures(v []*ProcessorFeature) *DBInstance {
22414	s.ProcessorFeatures = v
22415	return s
22416}
22417
22418// SetPromotionTier sets the PromotionTier field's value.
22419func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
22420	s.PromotionTier = &v
22421	return s
22422}
22423
22424// SetPubliclyAccessible sets the PubliclyAccessible field's value.
22425func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
22426	s.PubliclyAccessible = &v
22427	return s
22428}
22429
22430// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
22431func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
22432	s.ReadReplicaDBClusterIdentifiers = v
22433	return s
22434}
22435
22436// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
22437func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
22438	s.ReadReplicaDBInstanceIdentifiers = v
22439	return s
22440}
22441
22442// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
22443func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
22444	s.ReadReplicaSourceDBInstanceIdentifier = &v
22445	return s
22446}
22447
22448// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
22449func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
22450	s.SecondaryAvailabilityZone = &v
22451	return s
22452}
22453
22454// SetStatusInfos sets the StatusInfos field's value.
22455func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
22456	s.StatusInfos = v
22457	return s
22458}
22459
22460// SetStorageEncrypted sets the StorageEncrypted field's value.
22461func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
22462	s.StorageEncrypted = &v
22463	return s
22464}
22465
22466// SetStorageType sets the StorageType field's value.
22467func (s *DBInstance) SetStorageType(v string) *DBInstance {
22468	s.StorageType = &v
22469	return s
22470}
22471
22472// SetTdeCredentialArn sets the TdeCredentialArn field's value.
22473func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
22474	s.TdeCredentialArn = &v
22475	return s
22476}
22477
22478// SetTimezone sets the Timezone field's value.
22479func (s *DBInstance) SetTimezone(v string) *DBInstance {
22480	s.Timezone = &v
22481	return s
22482}
22483
22484// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
22485func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
22486	s.VpcSecurityGroups = v
22487	return s
22488}
22489
22490// An automated backup of a DB instance. It it consists of system backups, transaction
22491// logs, and the database instance properties that existed at the time you deleted
22492// the source instance.
22493type DBInstanceAutomatedBackup struct {
22494	_ struct{} `type:"structure"`
22495
22496	// Specifies the allocated storage size in gibibytes (GiB).
22497	AllocatedStorage *int64 `type:"integer"`
22498
22499	// The Availability Zone that the automated backup was created in. For information
22500	// on AWS Regions and Availability Zones, see Regions and Availability Zones
22501	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
22502	AvailabilityZone *string `type:"string"`
22503
22504	// The Amazon Resource Name (ARN) for the automated backup.
22505	DBInstanceArn *string `type:"string"`
22506
22507	// The customer id of the instance that is/was associated with the automated
22508	// backup.
22509	DBInstanceIdentifier *string `type:"string"`
22510
22511	// The identifier for the source DB instance, which can't be changed and which
22512	// is unique to an AWS Region.
22513	DbiResourceId *string `type:"string"`
22514
22515	// Specifies whether the automated backup is encrypted.
22516	Encrypted *bool `type:"boolean"`
22517
22518	// The name of the database engine for this automated backup.
22519	Engine *string `type:"string"`
22520
22521	// The version of the database engine for the automated backup.
22522	EngineVersion *string `type:"string"`
22523
22524	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
22525	// accounts is enabled, and otherwise false.
22526	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
22527
22528	// Provides the date and time that the DB instance was created.
22529	InstanceCreateTime *time.Time `type:"timestamp"`
22530
22531	// The IOPS (I/O operations per second) value for the automated backup.
22532	Iops *int64 `type:"integer"`
22533
22534	// The AWS KMS key ID for an automated backup. The KMS key ID is the Amazon
22535	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
22536	// encryption key.
22537	KmsKeyId *string `type:"string"`
22538
22539	// License model information for the automated backup.
22540	LicenseModel *string `type:"string"`
22541
22542	// The license model of an automated backup.
22543	MasterUsername *string `type:"string"`
22544
22545	// The option group the automated backup is associated with. If omitted, the
22546	// default option group for the engine specified is used.
22547	OptionGroupName *string `type:"string"`
22548
22549	// The port number that the automated backup used for connections.
22550	//
22551	// Default: Inherits from the source DB instance
22552	//
22553	// Valid Values: 1150-65535
22554	Port *int64 `type:"integer"`
22555
22556	// The AWS Region associated with the automated backup.
22557	Region *string `type:"string"`
22558
22559	// Earliest and latest time an instance can be restored to.
22560	RestoreWindow *RestoreWindow `type:"structure"`
22561
22562	// Provides a list of status information for an automated backup:
22563	//
22564	//    * active - automated backups for current instances
22565	//
22566	//    * retained - automated backups for deleted instances
22567	//
22568	//    * creating - automated backups that are waiting for the first automated
22569	//    snapshot to be available.
22570	Status *string `type:"string"`
22571
22572	// Specifies the storage type associated with the automated backup.
22573	StorageType *string `type:"string"`
22574
22575	// The ARN from the key store with which the automated backup is associated
22576	// for TDE encryption.
22577	TdeCredentialArn *string `type:"string"`
22578
22579	// The time zone of the automated backup. In most cases, the Timezone element
22580	// is empty. Timezone content appears only for Microsoft SQL Server DB instances
22581	// that were created with a time zone specified.
22582	Timezone *string `type:"string"`
22583
22584	// Provides the VPC ID associated with the DB instance
22585	VpcId *string `type:"string"`
22586}
22587
22588// String returns the string representation
22589func (s DBInstanceAutomatedBackup) String() string {
22590	return awsutil.Prettify(s)
22591}
22592
22593// GoString returns the string representation
22594func (s DBInstanceAutomatedBackup) GoString() string {
22595	return s.String()
22596}
22597
22598// SetAllocatedStorage sets the AllocatedStorage field's value.
22599func (s *DBInstanceAutomatedBackup) SetAllocatedStorage(v int64) *DBInstanceAutomatedBackup {
22600	s.AllocatedStorage = &v
22601	return s
22602}
22603
22604// SetAvailabilityZone sets the AvailabilityZone field's value.
22605func (s *DBInstanceAutomatedBackup) SetAvailabilityZone(v string) *DBInstanceAutomatedBackup {
22606	s.AvailabilityZone = &v
22607	return s
22608}
22609
22610// SetDBInstanceArn sets the DBInstanceArn field's value.
22611func (s *DBInstanceAutomatedBackup) SetDBInstanceArn(v string) *DBInstanceAutomatedBackup {
22612	s.DBInstanceArn = &v
22613	return s
22614}
22615
22616// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
22617func (s *DBInstanceAutomatedBackup) SetDBInstanceIdentifier(v string) *DBInstanceAutomatedBackup {
22618	s.DBInstanceIdentifier = &v
22619	return s
22620}
22621
22622// SetDbiResourceId sets the DbiResourceId field's value.
22623func (s *DBInstanceAutomatedBackup) SetDbiResourceId(v string) *DBInstanceAutomatedBackup {
22624	s.DbiResourceId = &v
22625	return s
22626}
22627
22628// SetEncrypted sets the Encrypted field's value.
22629func (s *DBInstanceAutomatedBackup) SetEncrypted(v bool) *DBInstanceAutomatedBackup {
22630	s.Encrypted = &v
22631	return s
22632}
22633
22634// SetEngine sets the Engine field's value.
22635func (s *DBInstanceAutomatedBackup) SetEngine(v string) *DBInstanceAutomatedBackup {
22636	s.Engine = &v
22637	return s
22638}
22639
22640// SetEngineVersion sets the EngineVersion field's value.
22641func (s *DBInstanceAutomatedBackup) SetEngineVersion(v string) *DBInstanceAutomatedBackup {
22642	s.EngineVersion = &v
22643	return s
22644}
22645
22646// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
22647func (s *DBInstanceAutomatedBackup) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstanceAutomatedBackup {
22648	s.IAMDatabaseAuthenticationEnabled = &v
22649	return s
22650}
22651
22652// SetInstanceCreateTime sets the InstanceCreateTime field's value.
22653func (s *DBInstanceAutomatedBackup) SetInstanceCreateTime(v time.Time) *DBInstanceAutomatedBackup {
22654	s.InstanceCreateTime = &v
22655	return s
22656}
22657
22658// SetIops sets the Iops field's value.
22659func (s *DBInstanceAutomatedBackup) SetIops(v int64) *DBInstanceAutomatedBackup {
22660	s.Iops = &v
22661	return s
22662}
22663
22664// SetKmsKeyId sets the KmsKeyId field's value.
22665func (s *DBInstanceAutomatedBackup) SetKmsKeyId(v string) *DBInstanceAutomatedBackup {
22666	s.KmsKeyId = &v
22667	return s
22668}
22669
22670// SetLicenseModel sets the LicenseModel field's value.
22671func (s *DBInstanceAutomatedBackup) SetLicenseModel(v string) *DBInstanceAutomatedBackup {
22672	s.LicenseModel = &v
22673	return s
22674}
22675
22676// SetMasterUsername sets the MasterUsername field's value.
22677func (s *DBInstanceAutomatedBackup) SetMasterUsername(v string) *DBInstanceAutomatedBackup {
22678	s.MasterUsername = &v
22679	return s
22680}
22681
22682// SetOptionGroupName sets the OptionGroupName field's value.
22683func (s *DBInstanceAutomatedBackup) SetOptionGroupName(v string) *DBInstanceAutomatedBackup {
22684	s.OptionGroupName = &v
22685	return s
22686}
22687
22688// SetPort sets the Port field's value.
22689func (s *DBInstanceAutomatedBackup) SetPort(v int64) *DBInstanceAutomatedBackup {
22690	s.Port = &v
22691	return s
22692}
22693
22694// SetRegion sets the Region field's value.
22695func (s *DBInstanceAutomatedBackup) SetRegion(v string) *DBInstanceAutomatedBackup {
22696	s.Region = &v
22697	return s
22698}
22699
22700// SetRestoreWindow sets the RestoreWindow field's value.
22701func (s *DBInstanceAutomatedBackup) SetRestoreWindow(v *RestoreWindow) *DBInstanceAutomatedBackup {
22702	s.RestoreWindow = v
22703	return s
22704}
22705
22706// SetStatus sets the Status field's value.
22707func (s *DBInstanceAutomatedBackup) SetStatus(v string) *DBInstanceAutomatedBackup {
22708	s.Status = &v
22709	return s
22710}
22711
22712// SetStorageType sets the StorageType field's value.
22713func (s *DBInstanceAutomatedBackup) SetStorageType(v string) *DBInstanceAutomatedBackup {
22714	s.StorageType = &v
22715	return s
22716}
22717
22718// SetTdeCredentialArn sets the TdeCredentialArn field's value.
22719func (s *DBInstanceAutomatedBackup) SetTdeCredentialArn(v string) *DBInstanceAutomatedBackup {
22720	s.TdeCredentialArn = &v
22721	return s
22722}
22723
22724// SetTimezone sets the Timezone field's value.
22725func (s *DBInstanceAutomatedBackup) SetTimezone(v string) *DBInstanceAutomatedBackup {
22726	s.Timezone = &v
22727	return s
22728}
22729
22730// SetVpcId sets the VpcId field's value.
22731func (s *DBInstanceAutomatedBackup) SetVpcId(v string) *DBInstanceAutomatedBackup {
22732	s.VpcId = &v
22733	return s
22734}
22735
22736// Describes an AWS Identity and Access Management (IAM) role that is associated
22737// with a DB instance.
22738type DBInstanceRole struct {
22739	_ struct{} `type:"structure"`
22740
22741	// The name of the feature associated with the AWS Identity and Access Management
22742	// (IAM) role. For the list of supported feature names, see DBEngineVersion.
22743	FeatureName *string `type:"string"`
22744
22745	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
22746	// DB instance.
22747	RoleArn *string `type:"string"`
22748
22749	// Describes the state of association between the IAM role and the DB instance.
22750	// The Status property returns one of the following values:
22751	//
22752	//    * ACTIVE - the IAM role ARN is associated with the DB instance and can
22753	//    be used to access other AWS services on your behalf.
22754	//
22755	//    * PENDING - the IAM role ARN is being associated with the DB instance.
22756	//
22757	//    * INVALID - the IAM role ARN is associated with the DB instance, but the
22758	//    DB instance is unable to assume the IAM role in order to access other
22759	//    AWS services on your behalf.
22760	Status *string `type:"string"`
22761}
22762
22763// String returns the string representation
22764func (s DBInstanceRole) String() string {
22765	return awsutil.Prettify(s)
22766}
22767
22768// GoString returns the string representation
22769func (s DBInstanceRole) GoString() string {
22770	return s.String()
22771}
22772
22773// SetFeatureName sets the FeatureName field's value.
22774func (s *DBInstanceRole) SetFeatureName(v string) *DBInstanceRole {
22775	s.FeatureName = &v
22776	return s
22777}
22778
22779// SetRoleArn sets the RoleArn field's value.
22780func (s *DBInstanceRole) SetRoleArn(v string) *DBInstanceRole {
22781	s.RoleArn = &v
22782	return s
22783}
22784
22785// SetStatus sets the Status field's value.
22786func (s *DBInstanceRole) SetStatus(v string) *DBInstanceRole {
22787	s.Status = &v
22788	return s
22789}
22790
22791// Provides a list of status information for a DB instance.
22792type DBInstanceStatusInfo struct {
22793	_ struct{} `type:"structure"`
22794
22795	// Details of the error if there is an error for the instance. If the instance
22796	// isn't in an error state, this value is blank.
22797	Message *string `type:"string"`
22798
22799	// Boolean value that is true if the instance is operating normally, or false
22800	// if the instance is in an error state.
22801	Normal *bool `type:"boolean"`
22802
22803	// Status of the DB instance. For a StatusType of read replica, the values can
22804	// be replicating, replication stop point set, replication stop point reached,
22805	// error, stopped, or terminated.
22806	Status *string `type:"string"`
22807
22808	// This value is currently "read replication."
22809	StatusType *string `type:"string"`
22810}
22811
22812// String returns the string representation
22813func (s DBInstanceStatusInfo) String() string {
22814	return awsutil.Prettify(s)
22815}
22816
22817// GoString returns the string representation
22818func (s DBInstanceStatusInfo) GoString() string {
22819	return s.String()
22820}
22821
22822// SetMessage sets the Message field's value.
22823func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
22824	s.Message = &v
22825	return s
22826}
22827
22828// SetNormal sets the Normal field's value.
22829func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
22830	s.Normal = &v
22831	return s
22832}
22833
22834// SetStatus sets the Status field's value.
22835func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
22836	s.Status = &v
22837	return s
22838}
22839
22840// SetStatusType sets the StatusType field's value.
22841func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
22842	s.StatusType = &v
22843	return s
22844}
22845
22846// Contains the details of an Amazon RDS DB parameter group.
22847//
22848// This data type is used as a response element in the DescribeDBParameterGroups
22849// action.
22850type DBParameterGroup struct {
22851	_ struct{} `type:"structure"`
22852
22853	// The Amazon Resource Name (ARN) for the DB parameter group.
22854	DBParameterGroupArn *string `type:"string"`
22855
22856	// Provides the name of the DB parameter group family that this DB parameter
22857	// group is compatible with.
22858	DBParameterGroupFamily *string `type:"string"`
22859
22860	// Provides the name of the DB parameter group.
22861	DBParameterGroupName *string `type:"string"`
22862
22863	// Provides the customer-specified description for this DB parameter group.
22864	Description *string `type:"string"`
22865}
22866
22867// String returns the string representation
22868func (s DBParameterGroup) String() string {
22869	return awsutil.Prettify(s)
22870}
22871
22872// GoString returns the string representation
22873func (s DBParameterGroup) GoString() string {
22874	return s.String()
22875}
22876
22877// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
22878func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
22879	s.DBParameterGroupArn = &v
22880	return s
22881}
22882
22883// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
22884func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
22885	s.DBParameterGroupFamily = &v
22886	return s
22887}
22888
22889// SetDBParameterGroupName sets the DBParameterGroupName field's value.
22890func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
22891	s.DBParameterGroupName = &v
22892	return s
22893}
22894
22895// SetDescription sets the Description field's value.
22896func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
22897	s.Description = &v
22898	return s
22899}
22900
22901// Contains the result of a successful invocation of the ModifyDBParameterGroup
22902// or ResetDBParameterGroup action.
22903type DBParameterGroupNameMessage struct {
22904	_ struct{} `type:"structure"`
22905
22906	// Provides the name of the DB parameter group.
22907	DBParameterGroupName *string `type:"string"`
22908}
22909
22910// String returns the string representation
22911func (s DBParameterGroupNameMessage) String() string {
22912	return awsutil.Prettify(s)
22913}
22914
22915// GoString returns the string representation
22916func (s DBParameterGroupNameMessage) GoString() string {
22917	return s.String()
22918}
22919
22920// SetDBParameterGroupName sets the DBParameterGroupName field's value.
22921func (s *DBParameterGroupNameMessage) SetDBParameterGroupName(v string) *DBParameterGroupNameMessage {
22922	s.DBParameterGroupName = &v
22923	return s
22924}
22925
22926// The status of the DB parameter group.
22927//
22928// This data type is used as a response element in the following actions:
22929//
22930//    * CreateDBInstance
22931//
22932//    * CreateDBInstanceReadReplica
22933//
22934//    * DeleteDBInstance
22935//
22936//    * ModifyDBInstance
22937//
22938//    * RebootDBInstance
22939//
22940//    * RestoreDBInstanceFromDBSnapshot
22941type DBParameterGroupStatus struct {
22942	_ struct{} `type:"structure"`
22943
22944	// The name of the DB parameter group.
22945	DBParameterGroupName *string `type:"string"`
22946
22947	// The status of parameter updates.
22948	ParameterApplyStatus *string `type:"string"`
22949}
22950
22951// String returns the string representation
22952func (s DBParameterGroupStatus) String() string {
22953	return awsutil.Prettify(s)
22954}
22955
22956// GoString returns the string representation
22957func (s DBParameterGroupStatus) GoString() string {
22958	return s.String()
22959}
22960
22961// SetDBParameterGroupName sets the DBParameterGroupName field's value.
22962func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
22963	s.DBParameterGroupName = &v
22964	return s
22965}
22966
22967// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
22968func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
22969	s.ParameterApplyStatus = &v
22970	return s
22971}
22972
22973// The data structure representing a proxy managed by the RDS Proxy.
22974//
22975// This data type is used as a response element in the DescribeDBProxies action.
22976type DBProxy struct {
22977	_ struct{} `type:"structure"`
22978
22979	// One or more data structures specifying the authorization mechanism to connect
22980	// to the associated RDS DB instance or Aurora DB cluster.
22981	Auth []*UserAuthConfigInfo `type:"list"`
22982
22983	// The date and time when the proxy was first created.
22984	CreatedDate *time.Time `type:"timestamp"`
22985
22986	// The Amazon Resource Name (ARN) for the proxy.
22987	DBProxyArn *string `type:"string"`
22988
22989	// The identifier for the proxy. This name must be unique for all proxies owned
22990	// by your AWS account in the specified AWS Region.
22991	DBProxyName *string `type:"string"`
22992
22993	// Whether the proxy includes detailed information about SQL statements in its
22994	// logs. This information helps you to debug issues involving SQL behavior or
22995	// the performance and scalability of the proxy connections. The debug information
22996	// includes the text of SQL statements that you submit through the proxy. Thus,
22997	// only enable this setting when needed for debugging, and only when you have
22998	// security measures in place to safeguard any sensitive information that appears
22999	// in the logs.
23000	DebugLogging *bool `type:"boolean"`
23001
23002	// The endpoint that you can use to connect to the proxy. You include the endpoint
23003	// value in the connection string for a database client application.
23004	Endpoint *string `type:"string"`
23005
23006	// The engine family applies to MySQL and PostgreSQL for both RDS and Aurora.
23007	EngineFamily *string `type:"string"`
23008
23009	// The number of seconds a connection to the proxy can have no activity before
23010	// the proxy drops the client connection. The proxy keeps the underlying database
23011	// connection open and puts it back into the connection pool for reuse by later
23012	// connection requests.
23013	//
23014	// Default: 1800 (30 minutes)
23015	//
23016	// Constraints: 1 to 28,800
23017	IdleClientTimeout *int64 `type:"integer"`
23018
23019	// Indicates whether Transport Layer Security (TLS) encryption is required for
23020	// connections to the proxy.
23021	RequireTLS *bool `type:"boolean"`
23022
23023	// The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access
23024	// Amazon Secrets Manager.
23025	RoleArn *string `type:"string"`
23026
23027	// The current status of this proxy. A status of available means the proxy is
23028	// ready to handle requests. Other values indicate that you must wait for the
23029	// proxy to be ready, or take some action to resolve an issue.
23030	Status *string `type:"string" enum:"DBProxyStatus"`
23031
23032	// The date and time when the proxy was last updated.
23033	UpdatedDate *time.Time `type:"timestamp"`
23034
23035	// Provides a list of VPC security groups that the proxy belongs to.
23036	VpcSecurityGroupIds []*string `type:"list"`
23037
23038	// The EC2 subnet IDs for the proxy.
23039	VpcSubnetIds []*string `type:"list"`
23040}
23041
23042// String returns the string representation
23043func (s DBProxy) String() string {
23044	return awsutil.Prettify(s)
23045}
23046
23047// GoString returns the string representation
23048func (s DBProxy) GoString() string {
23049	return s.String()
23050}
23051
23052// SetAuth sets the Auth field's value.
23053func (s *DBProxy) SetAuth(v []*UserAuthConfigInfo) *DBProxy {
23054	s.Auth = v
23055	return s
23056}
23057
23058// SetCreatedDate sets the CreatedDate field's value.
23059func (s *DBProxy) SetCreatedDate(v time.Time) *DBProxy {
23060	s.CreatedDate = &v
23061	return s
23062}
23063
23064// SetDBProxyArn sets the DBProxyArn field's value.
23065func (s *DBProxy) SetDBProxyArn(v string) *DBProxy {
23066	s.DBProxyArn = &v
23067	return s
23068}
23069
23070// SetDBProxyName sets the DBProxyName field's value.
23071func (s *DBProxy) SetDBProxyName(v string) *DBProxy {
23072	s.DBProxyName = &v
23073	return s
23074}
23075
23076// SetDebugLogging sets the DebugLogging field's value.
23077func (s *DBProxy) SetDebugLogging(v bool) *DBProxy {
23078	s.DebugLogging = &v
23079	return s
23080}
23081
23082// SetEndpoint sets the Endpoint field's value.
23083func (s *DBProxy) SetEndpoint(v string) *DBProxy {
23084	s.Endpoint = &v
23085	return s
23086}
23087
23088// SetEngineFamily sets the EngineFamily field's value.
23089func (s *DBProxy) SetEngineFamily(v string) *DBProxy {
23090	s.EngineFamily = &v
23091	return s
23092}
23093
23094// SetIdleClientTimeout sets the IdleClientTimeout field's value.
23095func (s *DBProxy) SetIdleClientTimeout(v int64) *DBProxy {
23096	s.IdleClientTimeout = &v
23097	return s
23098}
23099
23100// SetRequireTLS sets the RequireTLS field's value.
23101func (s *DBProxy) SetRequireTLS(v bool) *DBProxy {
23102	s.RequireTLS = &v
23103	return s
23104}
23105
23106// SetRoleArn sets the RoleArn field's value.
23107func (s *DBProxy) SetRoleArn(v string) *DBProxy {
23108	s.RoleArn = &v
23109	return s
23110}
23111
23112// SetStatus sets the Status field's value.
23113func (s *DBProxy) SetStatus(v string) *DBProxy {
23114	s.Status = &v
23115	return s
23116}
23117
23118// SetUpdatedDate sets the UpdatedDate field's value.
23119func (s *DBProxy) SetUpdatedDate(v time.Time) *DBProxy {
23120	s.UpdatedDate = &v
23121	return s
23122}
23123
23124// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
23125func (s *DBProxy) SetVpcSecurityGroupIds(v []*string) *DBProxy {
23126	s.VpcSecurityGroupIds = v
23127	return s
23128}
23129
23130// SetVpcSubnetIds sets the VpcSubnetIds field's value.
23131func (s *DBProxy) SetVpcSubnetIds(v []*string) *DBProxy {
23132	s.VpcSubnetIds = v
23133	return s
23134}
23135
23136// Contains the details for an RDS Proxy target. It represents an RDS DB instance
23137// or Aurora DB cluster that the proxy can connect to. One or more targets are
23138// associated with an RDS Proxy target group.
23139//
23140// This data type is used as a response element in the DescribeDBProxyTargets
23141// action.
23142type DBProxyTarget struct {
23143	_ struct{} `type:"structure"`
23144
23145	// The writer endpoint for the RDS DB instance or Aurora DB cluster.
23146	Endpoint *string `type:"string"`
23147
23148	// The port that the RDS Proxy uses to connect to the target RDS DB instance
23149	// or Aurora DB cluster.
23150	Port *int64 `type:"integer"`
23151
23152	// The identifier representing the target. It can be the instance identifier
23153	// for an RDS DB instance, or the cluster identifier for an Aurora DB cluster.
23154	RdsResourceId *string `type:"string"`
23155
23156	// The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.
23157	TargetArn *string `type:"string"`
23158
23159	// Information about the connection health of the RDS Proxy target.
23160	TargetHealth *TargetHealth `type:"structure"`
23161
23162	// The DB cluster identifier when the target represents an Aurora DB cluster.
23163	// This field is blank when the target represents an RDS DB instance.
23164	TrackedClusterId *string `type:"string"`
23165
23166	// Specifies the kind of database, such as an RDS DB instance or an Aurora DB
23167	// cluster, that the target represents.
23168	Type *string `type:"string" enum:"TargetType"`
23169}
23170
23171// String returns the string representation
23172func (s DBProxyTarget) String() string {
23173	return awsutil.Prettify(s)
23174}
23175
23176// GoString returns the string representation
23177func (s DBProxyTarget) GoString() string {
23178	return s.String()
23179}
23180
23181// SetEndpoint sets the Endpoint field's value.
23182func (s *DBProxyTarget) SetEndpoint(v string) *DBProxyTarget {
23183	s.Endpoint = &v
23184	return s
23185}
23186
23187// SetPort sets the Port field's value.
23188func (s *DBProxyTarget) SetPort(v int64) *DBProxyTarget {
23189	s.Port = &v
23190	return s
23191}
23192
23193// SetRdsResourceId sets the RdsResourceId field's value.
23194func (s *DBProxyTarget) SetRdsResourceId(v string) *DBProxyTarget {
23195	s.RdsResourceId = &v
23196	return s
23197}
23198
23199// SetTargetArn sets the TargetArn field's value.
23200func (s *DBProxyTarget) SetTargetArn(v string) *DBProxyTarget {
23201	s.TargetArn = &v
23202	return s
23203}
23204
23205// SetTargetHealth sets the TargetHealth field's value.
23206func (s *DBProxyTarget) SetTargetHealth(v *TargetHealth) *DBProxyTarget {
23207	s.TargetHealth = v
23208	return s
23209}
23210
23211// SetTrackedClusterId sets the TrackedClusterId field's value.
23212func (s *DBProxyTarget) SetTrackedClusterId(v string) *DBProxyTarget {
23213	s.TrackedClusterId = &v
23214	return s
23215}
23216
23217// SetType sets the Type field's value.
23218func (s *DBProxyTarget) SetType(v string) *DBProxyTarget {
23219	s.Type = &v
23220	return s
23221}
23222
23223// Represents a set of RDS DB instances, Aurora DB clusters, or both that a
23224// proxy can connect to. Currently, each target group is associated with exactly
23225// one RDS DB instance or Aurora DB cluster.
23226//
23227// This data type is used as a response element in the DescribeDBProxyTargetGroups
23228// action.
23229type DBProxyTargetGroup struct {
23230	_ struct{} `type:"structure"`
23231
23232	// The settings that determine the size and behavior of the connection pool
23233	// for the target group.
23234	ConnectionPoolConfig *ConnectionPoolConfigurationInfo `type:"structure"`
23235
23236	// The date and time when the target group was first created.
23237	CreatedDate *time.Time `type:"timestamp"`
23238
23239	// The identifier for the RDS proxy associated with this target group.
23240	DBProxyName *string `type:"string"`
23241
23242	// Whether this target group is the first one used for connection requests by
23243	// the associated proxy. Because each proxy is currently associated with a single
23244	// target group, currently this setting is always true.
23245	IsDefault *bool `type:"boolean"`
23246
23247	// The current status of this target group. A status of available means the
23248	// target group is correctly associated with a database. Other values indicate
23249	// that you must wait for the target group to be ready, or take some action
23250	// to resolve an issue.
23251	Status *string `type:"string"`
23252
23253	// The Amazon Resource Name (ARN) representing the target group.
23254	TargetGroupArn *string `type:"string"`
23255
23256	// The identifier for the target group. This name must be unique for all target
23257	// groups owned by your AWS account in the specified AWS Region.
23258	TargetGroupName *string `type:"string"`
23259
23260	// The date and time when the target group was last updated.
23261	UpdatedDate *time.Time `type:"timestamp"`
23262}
23263
23264// String returns the string representation
23265func (s DBProxyTargetGroup) String() string {
23266	return awsutil.Prettify(s)
23267}
23268
23269// GoString returns the string representation
23270func (s DBProxyTargetGroup) GoString() string {
23271	return s.String()
23272}
23273
23274// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
23275func (s *DBProxyTargetGroup) SetConnectionPoolConfig(v *ConnectionPoolConfigurationInfo) *DBProxyTargetGroup {
23276	s.ConnectionPoolConfig = v
23277	return s
23278}
23279
23280// SetCreatedDate sets the CreatedDate field's value.
23281func (s *DBProxyTargetGroup) SetCreatedDate(v time.Time) *DBProxyTargetGroup {
23282	s.CreatedDate = &v
23283	return s
23284}
23285
23286// SetDBProxyName sets the DBProxyName field's value.
23287func (s *DBProxyTargetGroup) SetDBProxyName(v string) *DBProxyTargetGroup {
23288	s.DBProxyName = &v
23289	return s
23290}
23291
23292// SetIsDefault sets the IsDefault field's value.
23293func (s *DBProxyTargetGroup) SetIsDefault(v bool) *DBProxyTargetGroup {
23294	s.IsDefault = &v
23295	return s
23296}
23297
23298// SetStatus sets the Status field's value.
23299func (s *DBProxyTargetGroup) SetStatus(v string) *DBProxyTargetGroup {
23300	s.Status = &v
23301	return s
23302}
23303
23304// SetTargetGroupArn sets the TargetGroupArn field's value.
23305func (s *DBProxyTargetGroup) SetTargetGroupArn(v string) *DBProxyTargetGroup {
23306	s.TargetGroupArn = &v
23307	return s
23308}
23309
23310// SetTargetGroupName sets the TargetGroupName field's value.
23311func (s *DBProxyTargetGroup) SetTargetGroupName(v string) *DBProxyTargetGroup {
23312	s.TargetGroupName = &v
23313	return s
23314}
23315
23316// SetUpdatedDate sets the UpdatedDate field's value.
23317func (s *DBProxyTargetGroup) SetUpdatedDate(v time.Time) *DBProxyTargetGroup {
23318	s.UpdatedDate = &v
23319	return s
23320}
23321
23322// Contains the details for an Amazon RDS DB security group.
23323//
23324// This data type is used as a response element in the DescribeDBSecurityGroups
23325// action.
23326type DBSecurityGroup struct {
23327	_ struct{} `type:"structure"`
23328
23329	// The Amazon Resource Name (ARN) for the DB security group.
23330	DBSecurityGroupArn *string `type:"string"`
23331
23332	// Provides the description of the DB security group.
23333	DBSecurityGroupDescription *string `type:"string"`
23334
23335	// Specifies the name of the DB security group.
23336	DBSecurityGroupName *string `type:"string"`
23337
23338	// Contains a list of EC2SecurityGroup elements.
23339	EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
23340
23341	// Contains a list of IPRange elements.
23342	IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
23343
23344	// Provides the AWS ID of the owner of a specific DB security group.
23345	OwnerId *string `type:"string"`
23346
23347	// Provides the VpcId of the DB security group.
23348	VpcId *string `type:"string"`
23349}
23350
23351// String returns the string representation
23352func (s DBSecurityGroup) String() string {
23353	return awsutil.Prettify(s)
23354}
23355
23356// GoString returns the string representation
23357func (s DBSecurityGroup) GoString() string {
23358	return s.String()
23359}
23360
23361// SetDBSecurityGroupArn sets the DBSecurityGroupArn field's value.
23362func (s *DBSecurityGroup) SetDBSecurityGroupArn(v string) *DBSecurityGroup {
23363	s.DBSecurityGroupArn = &v
23364	return s
23365}
23366
23367// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
23368func (s *DBSecurityGroup) SetDBSecurityGroupDescription(v string) *DBSecurityGroup {
23369	s.DBSecurityGroupDescription = &v
23370	return s
23371}
23372
23373// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
23374func (s *DBSecurityGroup) SetDBSecurityGroupName(v string) *DBSecurityGroup {
23375	s.DBSecurityGroupName = &v
23376	return s
23377}
23378
23379// SetEC2SecurityGroups sets the EC2SecurityGroups field's value.
23380func (s *DBSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *DBSecurityGroup {
23381	s.EC2SecurityGroups = v
23382	return s
23383}
23384
23385// SetIPRanges sets the IPRanges field's value.
23386func (s *DBSecurityGroup) SetIPRanges(v []*IPRange) *DBSecurityGroup {
23387	s.IPRanges = v
23388	return s
23389}
23390
23391// SetOwnerId sets the OwnerId field's value.
23392func (s *DBSecurityGroup) SetOwnerId(v string) *DBSecurityGroup {
23393	s.OwnerId = &v
23394	return s
23395}
23396
23397// SetVpcId sets the VpcId field's value.
23398func (s *DBSecurityGroup) SetVpcId(v string) *DBSecurityGroup {
23399	s.VpcId = &v
23400	return s
23401}
23402
23403// This data type is used as a response element in the following actions:
23404//
23405//    * ModifyDBInstance
23406//
23407//    * RebootDBInstance
23408//
23409//    * RestoreDBInstanceFromDBSnapshot
23410//
23411//    * RestoreDBInstanceToPointInTime
23412type DBSecurityGroupMembership struct {
23413	_ struct{} `type:"structure"`
23414
23415	// The name of the DB security group.
23416	DBSecurityGroupName *string `type:"string"`
23417
23418	// The status of the DB security group.
23419	Status *string `type:"string"`
23420}
23421
23422// String returns the string representation
23423func (s DBSecurityGroupMembership) String() string {
23424	return awsutil.Prettify(s)
23425}
23426
23427// GoString returns the string representation
23428func (s DBSecurityGroupMembership) GoString() string {
23429	return s.String()
23430}
23431
23432// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
23433func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
23434	s.DBSecurityGroupName = &v
23435	return s
23436}
23437
23438// SetStatus sets the Status field's value.
23439func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
23440	s.Status = &v
23441	return s
23442}
23443
23444// Contains the details of an Amazon RDS DB snapshot.
23445//
23446// This data type is used as a response element in the DescribeDBSnapshots action.
23447type DBSnapshot struct {
23448	_ struct{} `type:"structure"`
23449
23450	// Specifies the allocated storage size in gibibytes (GiB).
23451	AllocatedStorage *int64 `type:"integer"`
23452
23453	// Specifies the name of the Availability Zone the DB instance was located in
23454	// at the time of the DB snapshot.
23455	AvailabilityZone *string `type:"string"`
23456
23457	// Specifies the DB instance identifier of the DB instance this DB snapshot
23458	// was created from.
23459	DBInstanceIdentifier *string `type:"string"`
23460
23461	// The Amazon Resource Name (ARN) for the DB snapshot.
23462	DBSnapshotArn *string `type:"string"`
23463
23464	// Specifies the identifier for the DB snapshot.
23465	DBSnapshotIdentifier *string `type:"string"`
23466
23467	// The identifier for the source DB instance, which can't be changed and which
23468	// is unique to an AWS Region.
23469	DbiResourceId *string `type:"string"`
23470
23471	// Specifies whether the DB snapshot is encrypted.
23472	Encrypted *bool `type:"boolean"`
23473
23474	// Specifies the name of the database engine.
23475	Engine *string `type:"string"`
23476
23477	// Specifies the version of the database engine.
23478	EngineVersion *string `type:"string"`
23479
23480	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
23481	// accounts is enabled, and otherwise false.
23482	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
23483
23484	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
23485	// from which the snapshot was taken, was created.
23486	InstanceCreateTime *time.Time `type:"timestamp"`
23487
23488	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB
23489	// instance at the time of the snapshot.
23490	Iops *int64 `type:"integer"`
23491
23492	// If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.
23493	KmsKeyId *string `type:"string"`
23494
23495	// License model information for the restored DB instance.
23496	LicenseModel *string `type:"string"`
23497
23498	// Provides the master username for the DB snapshot.
23499	MasterUsername *string `type:"string"`
23500
23501	// Provides the option group name for the DB snapshot.
23502	OptionGroupName *string `type:"string"`
23503
23504	// The percentage of the estimated data that has been transferred.
23505	PercentProgress *int64 `type:"integer"`
23506
23507	// Specifies the port that the database engine was listening on at the time
23508	// of the snapshot.
23509	Port *int64 `type:"integer"`
23510
23511	// The number of CPU cores and the number of threads per core for the DB instance
23512	// class of the DB instance when the DB snapshot was created.
23513	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
23514
23515	// Specifies when the snapshot was taken in Coodinated Universal Time (UTC).
23516	SnapshotCreateTime *time.Time `type:"timestamp"`
23517
23518	// Provides the type of the DB snapshot.
23519	SnapshotType *string `type:"string"`
23520
23521	// The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied
23522	// from. It only has value in case of cross-customer or cross-region copy.
23523	SourceDBSnapshotIdentifier *string `type:"string"`
23524
23525	// The AWS Region that the DB snapshot was created in or copied from.
23526	SourceRegion *string `type:"string"`
23527
23528	// Specifies the status of this DB snapshot.
23529	Status *string `type:"string"`
23530
23531	// Specifies the storage type associated with DB snapshot.
23532	StorageType *string `type:"string"`
23533
23534	// The ARN from the key store with which to associate the instance for TDE encryption.
23535	TdeCredentialArn *string `type:"string"`
23536
23537	// The time zone of the DB snapshot. In most cases, the Timezone element is
23538	// empty. Timezone content appears only for snapshots taken from Microsoft SQL
23539	// Server DB instances that were created with a time zone specified.
23540	Timezone *string `type:"string"`
23541
23542	// Provides the VPC ID associated with the DB snapshot.
23543	VpcId *string `type:"string"`
23544}
23545
23546// String returns the string representation
23547func (s DBSnapshot) String() string {
23548	return awsutil.Prettify(s)
23549}
23550
23551// GoString returns the string representation
23552func (s DBSnapshot) GoString() string {
23553	return s.String()
23554}
23555
23556// SetAllocatedStorage sets the AllocatedStorage field's value.
23557func (s *DBSnapshot) SetAllocatedStorage(v int64) *DBSnapshot {
23558	s.AllocatedStorage = &v
23559	return s
23560}
23561
23562// SetAvailabilityZone sets the AvailabilityZone field's value.
23563func (s *DBSnapshot) SetAvailabilityZone(v string) *DBSnapshot {
23564	s.AvailabilityZone = &v
23565	return s
23566}
23567
23568// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
23569func (s *DBSnapshot) SetDBInstanceIdentifier(v string) *DBSnapshot {
23570	s.DBInstanceIdentifier = &v
23571	return s
23572}
23573
23574// SetDBSnapshotArn sets the DBSnapshotArn field's value.
23575func (s *DBSnapshot) SetDBSnapshotArn(v string) *DBSnapshot {
23576	s.DBSnapshotArn = &v
23577	return s
23578}
23579
23580// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
23581func (s *DBSnapshot) SetDBSnapshotIdentifier(v string) *DBSnapshot {
23582	s.DBSnapshotIdentifier = &v
23583	return s
23584}
23585
23586// SetDbiResourceId sets the DbiResourceId field's value.
23587func (s *DBSnapshot) SetDbiResourceId(v string) *DBSnapshot {
23588	s.DbiResourceId = &v
23589	return s
23590}
23591
23592// SetEncrypted sets the Encrypted field's value.
23593func (s *DBSnapshot) SetEncrypted(v bool) *DBSnapshot {
23594	s.Encrypted = &v
23595	return s
23596}
23597
23598// SetEngine sets the Engine field's value.
23599func (s *DBSnapshot) SetEngine(v string) *DBSnapshot {
23600	s.Engine = &v
23601	return s
23602}
23603
23604// SetEngineVersion sets the EngineVersion field's value.
23605func (s *DBSnapshot) SetEngineVersion(v string) *DBSnapshot {
23606	s.EngineVersion = &v
23607	return s
23608}
23609
23610// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
23611func (s *DBSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBSnapshot {
23612	s.IAMDatabaseAuthenticationEnabled = &v
23613	return s
23614}
23615
23616// SetInstanceCreateTime sets the InstanceCreateTime field's value.
23617func (s *DBSnapshot) SetInstanceCreateTime(v time.Time) *DBSnapshot {
23618	s.InstanceCreateTime = &v
23619	return s
23620}
23621
23622// SetIops sets the Iops field's value.
23623func (s *DBSnapshot) SetIops(v int64) *DBSnapshot {
23624	s.Iops = &v
23625	return s
23626}
23627
23628// SetKmsKeyId sets the KmsKeyId field's value.
23629func (s *DBSnapshot) SetKmsKeyId(v string) *DBSnapshot {
23630	s.KmsKeyId = &v
23631	return s
23632}
23633
23634// SetLicenseModel sets the LicenseModel field's value.
23635func (s *DBSnapshot) SetLicenseModel(v string) *DBSnapshot {
23636	s.LicenseModel = &v
23637	return s
23638}
23639
23640// SetMasterUsername sets the MasterUsername field's value.
23641func (s *DBSnapshot) SetMasterUsername(v string) *DBSnapshot {
23642	s.MasterUsername = &v
23643	return s
23644}
23645
23646// SetOptionGroupName sets the OptionGroupName field's value.
23647func (s *DBSnapshot) SetOptionGroupName(v string) *DBSnapshot {
23648	s.OptionGroupName = &v
23649	return s
23650}
23651
23652// SetPercentProgress sets the PercentProgress field's value.
23653func (s *DBSnapshot) SetPercentProgress(v int64) *DBSnapshot {
23654	s.PercentProgress = &v
23655	return s
23656}
23657
23658// SetPort sets the Port field's value.
23659func (s *DBSnapshot) SetPort(v int64) *DBSnapshot {
23660	s.Port = &v
23661	return s
23662}
23663
23664// SetProcessorFeatures sets the ProcessorFeatures field's value.
23665func (s *DBSnapshot) SetProcessorFeatures(v []*ProcessorFeature) *DBSnapshot {
23666	s.ProcessorFeatures = v
23667	return s
23668}
23669
23670// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
23671func (s *DBSnapshot) SetSnapshotCreateTime(v time.Time) *DBSnapshot {
23672	s.SnapshotCreateTime = &v
23673	return s
23674}
23675
23676// SetSnapshotType sets the SnapshotType field's value.
23677func (s *DBSnapshot) SetSnapshotType(v string) *DBSnapshot {
23678	s.SnapshotType = &v
23679	return s
23680}
23681
23682// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
23683func (s *DBSnapshot) SetSourceDBSnapshotIdentifier(v string) *DBSnapshot {
23684	s.SourceDBSnapshotIdentifier = &v
23685	return s
23686}
23687
23688// SetSourceRegion sets the SourceRegion field's value.
23689func (s *DBSnapshot) SetSourceRegion(v string) *DBSnapshot {
23690	s.SourceRegion = &v
23691	return s
23692}
23693
23694// SetStatus sets the Status field's value.
23695func (s *DBSnapshot) SetStatus(v string) *DBSnapshot {
23696	s.Status = &v
23697	return s
23698}
23699
23700// SetStorageType sets the StorageType field's value.
23701func (s *DBSnapshot) SetStorageType(v string) *DBSnapshot {
23702	s.StorageType = &v
23703	return s
23704}
23705
23706// SetTdeCredentialArn sets the TdeCredentialArn field's value.
23707func (s *DBSnapshot) SetTdeCredentialArn(v string) *DBSnapshot {
23708	s.TdeCredentialArn = &v
23709	return s
23710}
23711
23712// SetTimezone sets the Timezone field's value.
23713func (s *DBSnapshot) SetTimezone(v string) *DBSnapshot {
23714	s.Timezone = &v
23715	return s
23716}
23717
23718// SetVpcId sets the VpcId field's value.
23719func (s *DBSnapshot) SetVpcId(v string) *DBSnapshot {
23720	s.VpcId = &v
23721	return s
23722}
23723
23724// Contains the name and values of a manual DB snapshot attribute
23725//
23726// Manual DB snapshot attributes are used to authorize other AWS accounts to
23727// restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
23728// API.
23729type DBSnapshotAttribute struct {
23730	_ struct{} `type:"structure"`
23731
23732	// The name of the manual DB snapshot attribute.
23733	//
23734	// The attribute named restore refers to the list of AWS accounts that have
23735	// permission to copy or restore the manual DB cluster snapshot. For more information,
23736	// see the ModifyDBSnapshotAttribute API action.
23737	AttributeName *string `type:"string"`
23738
23739	// The value or values for the manual DB snapshot attribute.
23740	//
23741	// If the AttributeName field is set to restore, then this element returns a
23742	// list of IDs of the AWS accounts that are authorized to copy or restore the
23743	// manual DB snapshot. If a value of all is in the list, then the manual DB
23744	// snapshot is public and available for any AWS account to copy or restore.
23745	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
23746}
23747
23748// String returns the string representation
23749func (s DBSnapshotAttribute) String() string {
23750	return awsutil.Prettify(s)
23751}
23752
23753// GoString returns the string representation
23754func (s DBSnapshotAttribute) GoString() string {
23755	return s.String()
23756}
23757
23758// SetAttributeName sets the AttributeName field's value.
23759func (s *DBSnapshotAttribute) SetAttributeName(v string) *DBSnapshotAttribute {
23760	s.AttributeName = &v
23761	return s
23762}
23763
23764// SetAttributeValues sets the AttributeValues field's value.
23765func (s *DBSnapshotAttribute) SetAttributeValues(v []*string) *DBSnapshotAttribute {
23766	s.AttributeValues = v
23767	return s
23768}
23769
23770// Contains the results of a successful call to the DescribeDBSnapshotAttributes
23771// API action.
23772//
23773// Manual DB snapshot attributes are used to authorize other AWS accounts to
23774// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
23775// API action.
23776type DBSnapshotAttributesResult struct {
23777	_ struct{} `type:"structure"`
23778
23779	// The list of attributes and values for the manual DB snapshot.
23780	DBSnapshotAttributes []*DBSnapshotAttribute `locationNameList:"DBSnapshotAttribute" type:"list"`
23781
23782	// The identifier of the manual DB snapshot that the attributes apply to.
23783	DBSnapshotIdentifier *string `type:"string"`
23784}
23785
23786// String returns the string representation
23787func (s DBSnapshotAttributesResult) String() string {
23788	return awsutil.Prettify(s)
23789}
23790
23791// GoString returns the string representation
23792func (s DBSnapshotAttributesResult) GoString() string {
23793	return s.String()
23794}
23795
23796// SetDBSnapshotAttributes sets the DBSnapshotAttributes field's value.
23797func (s *DBSnapshotAttributesResult) SetDBSnapshotAttributes(v []*DBSnapshotAttribute) *DBSnapshotAttributesResult {
23798	s.DBSnapshotAttributes = v
23799	return s
23800}
23801
23802// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
23803func (s *DBSnapshotAttributesResult) SetDBSnapshotIdentifier(v string) *DBSnapshotAttributesResult {
23804	s.DBSnapshotIdentifier = &v
23805	return s
23806}
23807
23808// Contains the details of an Amazon RDS DB subnet group.
23809//
23810// This data type is used as a response element in the DescribeDBSubnetGroups
23811// action.
23812type DBSubnetGroup struct {
23813	_ struct{} `type:"structure"`
23814
23815	// The Amazon Resource Name (ARN) for the DB subnet group.
23816	DBSubnetGroupArn *string `type:"string"`
23817
23818	// Provides the description of the DB subnet group.
23819	DBSubnetGroupDescription *string `type:"string"`
23820
23821	// The name of the DB subnet group.
23822	DBSubnetGroupName *string `type:"string"`
23823
23824	// Provides the status of the DB subnet group.
23825	SubnetGroupStatus *string `type:"string"`
23826
23827	// Contains a list of Subnet elements.
23828	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
23829
23830	// Provides the VpcId of the DB subnet group.
23831	VpcId *string `type:"string"`
23832}
23833
23834// String returns the string representation
23835func (s DBSubnetGroup) String() string {
23836	return awsutil.Prettify(s)
23837}
23838
23839// GoString returns the string representation
23840func (s DBSubnetGroup) GoString() string {
23841	return s.String()
23842}
23843
23844// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
23845func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
23846	s.DBSubnetGroupArn = &v
23847	return s
23848}
23849
23850// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
23851func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
23852	s.DBSubnetGroupDescription = &v
23853	return s
23854}
23855
23856// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
23857func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
23858	s.DBSubnetGroupName = &v
23859	return s
23860}
23861
23862// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
23863func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
23864	s.SubnetGroupStatus = &v
23865	return s
23866}
23867
23868// SetSubnets sets the Subnets field's value.
23869func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
23870	s.Subnets = v
23871	return s
23872}
23873
23874// SetVpcId sets the VpcId field's value.
23875func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
23876	s.VpcId = &v
23877	return s
23878}
23879
23880type DeleteCustomAvailabilityZoneInput struct {
23881	_ struct{} `type:"structure"`
23882
23883	// The custom AZ identifier.
23884	//
23885	// CustomAvailabilityZoneId is a required field
23886	CustomAvailabilityZoneId *string `type:"string" required:"true"`
23887}
23888
23889// String returns the string representation
23890func (s DeleteCustomAvailabilityZoneInput) String() string {
23891	return awsutil.Prettify(s)
23892}
23893
23894// GoString returns the string representation
23895func (s DeleteCustomAvailabilityZoneInput) GoString() string {
23896	return s.String()
23897}
23898
23899// Validate inspects the fields of the type to determine if they are valid.
23900func (s *DeleteCustomAvailabilityZoneInput) Validate() error {
23901	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomAvailabilityZoneInput"}
23902	if s.CustomAvailabilityZoneId == nil {
23903		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
23904	}
23905
23906	if invalidParams.Len() > 0 {
23907		return invalidParams
23908	}
23909	return nil
23910}
23911
23912// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
23913func (s *DeleteCustomAvailabilityZoneInput) SetCustomAvailabilityZoneId(v string) *DeleteCustomAvailabilityZoneInput {
23914	s.CustomAvailabilityZoneId = &v
23915	return s
23916}
23917
23918type DeleteCustomAvailabilityZoneOutput struct {
23919	_ struct{} `type:"structure"`
23920
23921	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
23922	// a VMware vSphere cluster.
23923	//
23924	// For more information about RDS on VMware, see the RDS on VMware User Guide.
23925	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
23926	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
23927}
23928
23929// String returns the string representation
23930func (s DeleteCustomAvailabilityZoneOutput) String() string {
23931	return awsutil.Prettify(s)
23932}
23933
23934// GoString returns the string representation
23935func (s DeleteCustomAvailabilityZoneOutput) GoString() string {
23936	return s.String()
23937}
23938
23939// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
23940func (s *DeleteCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *DeleteCustomAvailabilityZoneOutput {
23941	s.CustomAvailabilityZone = v
23942	return s
23943}
23944
23945type DeleteDBClusterEndpointInput struct {
23946	_ struct{} `type:"structure"`
23947
23948	// The identifier associated with the custom endpoint. This parameter is stored
23949	// as a lowercase string.
23950	//
23951	// DBClusterEndpointIdentifier is a required field
23952	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
23953}
23954
23955// String returns the string representation
23956func (s DeleteDBClusterEndpointInput) String() string {
23957	return awsutil.Prettify(s)
23958}
23959
23960// GoString returns the string representation
23961func (s DeleteDBClusterEndpointInput) GoString() string {
23962	return s.String()
23963}
23964
23965// Validate inspects the fields of the type to determine if they are valid.
23966func (s *DeleteDBClusterEndpointInput) Validate() error {
23967	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterEndpointInput"}
23968	if s.DBClusterEndpointIdentifier == nil {
23969		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
23970	}
23971
23972	if invalidParams.Len() > 0 {
23973		return invalidParams
23974	}
23975	return nil
23976}
23977
23978// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
23979func (s *DeleteDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointInput {
23980	s.DBClusterEndpointIdentifier = &v
23981	return s
23982}
23983
23984// This data type represents the information you need to connect to an Amazon
23985// Aurora DB cluster. This data type is used as a response element in the following
23986// actions:
23987//
23988//    * CreateDBClusterEndpoint
23989//
23990//    * DescribeDBClusterEndpoints
23991//
23992//    * ModifyDBClusterEndpoint
23993//
23994//    * DeleteDBClusterEndpoint
23995//
23996// For the data structure that represents Amazon RDS DB instance endpoints,
23997// see Endpoint.
23998type DeleteDBClusterEndpointOutput struct {
23999	_ struct{} `type:"structure"`
24000
24001	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
24002	CustomEndpointType *string `type:"string"`
24003
24004	// The Amazon Resource Name (ARN) for the endpoint.
24005	DBClusterEndpointArn *string `type:"string"`
24006
24007	// The identifier associated with the endpoint. This parameter is stored as
24008	// a lowercase string.
24009	DBClusterEndpointIdentifier *string `type:"string"`
24010
24011	// A unique system-generated identifier for an endpoint. It remains the same
24012	// for the whole life of the endpoint.
24013	DBClusterEndpointResourceIdentifier *string `type:"string"`
24014
24015	// The DB cluster identifier of the DB cluster associated with the endpoint.
24016	// This parameter is stored as a lowercase string.
24017	DBClusterIdentifier *string `type:"string"`
24018
24019	// The DNS address of the endpoint.
24020	Endpoint *string `type:"string"`
24021
24022	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
24023	EndpointType *string `type:"string"`
24024
24025	// List of DB instance identifiers that aren't part of the custom endpoint group.
24026	// All other eligible instances are reachable through the custom endpoint. Only
24027	// relevant if the list of static members is empty.
24028	ExcludedMembers []*string `type:"list"`
24029
24030	// List of DB instance identifiers that are part of the custom endpoint group.
24031	StaticMembers []*string `type:"list"`
24032
24033	// The current status of the endpoint. One of: creating, available, deleting,
24034	// modifying.
24035	Status *string `type:"string"`
24036}
24037
24038// String returns the string representation
24039func (s DeleteDBClusterEndpointOutput) String() string {
24040	return awsutil.Prettify(s)
24041}
24042
24043// GoString returns the string representation
24044func (s DeleteDBClusterEndpointOutput) GoString() string {
24045	return s.String()
24046}
24047
24048// SetCustomEndpointType sets the CustomEndpointType field's value.
24049func (s *DeleteDBClusterEndpointOutput) SetCustomEndpointType(v string) *DeleteDBClusterEndpointOutput {
24050	s.CustomEndpointType = &v
24051	return s
24052}
24053
24054// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
24055func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *DeleteDBClusterEndpointOutput {
24056	s.DBClusterEndpointArn = &v
24057	return s
24058}
24059
24060// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
24061func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointOutput {
24062	s.DBClusterEndpointIdentifier = &v
24063	return s
24064}
24065
24066// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
24067func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *DeleteDBClusterEndpointOutput {
24068	s.DBClusterEndpointResourceIdentifier = &v
24069	return s
24070}
24071
24072// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
24073func (s *DeleteDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *DeleteDBClusterEndpointOutput {
24074	s.DBClusterIdentifier = &v
24075	return s
24076}
24077
24078// SetEndpoint sets the Endpoint field's value.
24079func (s *DeleteDBClusterEndpointOutput) SetEndpoint(v string) *DeleteDBClusterEndpointOutput {
24080	s.Endpoint = &v
24081	return s
24082}
24083
24084// SetEndpointType sets the EndpointType field's value.
24085func (s *DeleteDBClusterEndpointOutput) SetEndpointType(v string) *DeleteDBClusterEndpointOutput {
24086	s.EndpointType = &v
24087	return s
24088}
24089
24090// SetExcludedMembers sets the ExcludedMembers field's value.
24091func (s *DeleteDBClusterEndpointOutput) SetExcludedMembers(v []*string) *DeleteDBClusterEndpointOutput {
24092	s.ExcludedMembers = v
24093	return s
24094}
24095
24096// SetStaticMembers sets the StaticMembers field's value.
24097func (s *DeleteDBClusterEndpointOutput) SetStaticMembers(v []*string) *DeleteDBClusterEndpointOutput {
24098	s.StaticMembers = v
24099	return s
24100}
24101
24102// SetStatus sets the Status field's value.
24103func (s *DeleteDBClusterEndpointOutput) SetStatus(v string) *DeleteDBClusterEndpointOutput {
24104	s.Status = &v
24105	return s
24106}
24107
24108type DeleteDBClusterInput struct {
24109	_ struct{} `type:"structure"`
24110
24111	// The DB cluster identifier for the DB cluster to be deleted. This parameter
24112	// isn't case-sensitive.
24113	//
24114	// Constraints:
24115	//
24116	//    * Must match an existing DBClusterIdentifier.
24117	//
24118	// DBClusterIdentifier is a required field
24119	DBClusterIdentifier *string `type:"string" required:"true"`
24120
24121	// The DB cluster snapshot identifier of the new DB cluster snapshot created
24122	// when SkipFinalSnapshot is disabled.
24123	//
24124	// Specifying this parameter and also skipping the creation of a final DB cluster
24125	// snapshot with the SkipFinalShapshot parameter results in an error.
24126	//
24127	// Constraints:
24128	//
24129	//    * Must be 1 to 255 letters, numbers, or hyphens.
24130	//
24131	//    * First character must be a letter
24132	//
24133	//    * Can't end with a hyphen or contain two consecutive hyphens
24134	FinalDBSnapshotIdentifier *string `type:"string"`
24135
24136	// A value that indicates whether to skip the creation of a final DB cluster
24137	// snapshot before the DB cluster is deleted. If skip is specified, no DB cluster
24138	// snapshot is created. If skip isn't specified, a DB cluster snapshot is created
24139	// before the DB cluster is deleted. By default, skip isn't specified, and the
24140	// DB cluster snapshot is created. By default, this parameter is disabled.
24141	//
24142	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
24143	// is disabled.
24144	SkipFinalSnapshot *bool `type:"boolean"`
24145}
24146
24147// String returns the string representation
24148func (s DeleteDBClusterInput) String() string {
24149	return awsutil.Prettify(s)
24150}
24151
24152// GoString returns the string representation
24153func (s DeleteDBClusterInput) GoString() string {
24154	return s.String()
24155}
24156
24157// Validate inspects the fields of the type to determine if they are valid.
24158func (s *DeleteDBClusterInput) Validate() error {
24159	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
24160	if s.DBClusterIdentifier == nil {
24161		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
24162	}
24163
24164	if invalidParams.Len() > 0 {
24165		return invalidParams
24166	}
24167	return nil
24168}
24169
24170// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
24171func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
24172	s.DBClusterIdentifier = &v
24173	return s
24174}
24175
24176// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
24177func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
24178	s.FinalDBSnapshotIdentifier = &v
24179	return s
24180}
24181
24182// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
24183func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
24184	s.SkipFinalSnapshot = &v
24185	return s
24186}
24187
24188type DeleteDBClusterOutput struct {
24189	_ struct{} `type:"structure"`
24190
24191	// Contains the details of an Amazon Aurora DB cluster.
24192	//
24193	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
24194	// and StartDBCluster actions.
24195	DBCluster *DBCluster `type:"structure"`
24196}
24197
24198// String returns the string representation
24199func (s DeleteDBClusterOutput) String() string {
24200	return awsutil.Prettify(s)
24201}
24202
24203// GoString returns the string representation
24204func (s DeleteDBClusterOutput) GoString() string {
24205	return s.String()
24206}
24207
24208// SetDBCluster sets the DBCluster field's value.
24209func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
24210	s.DBCluster = v
24211	return s
24212}
24213
24214type DeleteDBClusterParameterGroupInput struct {
24215	_ struct{} `type:"structure"`
24216
24217	// The name of the DB cluster parameter group.
24218	//
24219	// Constraints:
24220	//
24221	//    * Must be the name of an existing DB cluster parameter group.
24222	//
24223	//    * You can't delete a default DB cluster parameter group.
24224	//
24225	//    * Can't be associated with any DB clusters.
24226	//
24227	// DBClusterParameterGroupName is a required field
24228	DBClusterParameterGroupName *string `type:"string" required:"true"`
24229}
24230
24231// String returns the string representation
24232func (s DeleteDBClusterParameterGroupInput) String() string {
24233	return awsutil.Prettify(s)
24234}
24235
24236// GoString returns the string representation
24237func (s DeleteDBClusterParameterGroupInput) GoString() string {
24238	return s.String()
24239}
24240
24241// Validate inspects the fields of the type to determine if they are valid.
24242func (s *DeleteDBClusterParameterGroupInput) Validate() error {
24243	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
24244	if s.DBClusterParameterGroupName == nil {
24245		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
24246	}
24247
24248	if invalidParams.Len() > 0 {
24249		return invalidParams
24250	}
24251	return nil
24252}
24253
24254// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
24255func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
24256	s.DBClusterParameterGroupName = &v
24257	return s
24258}
24259
24260type DeleteDBClusterParameterGroupOutput struct {
24261	_ struct{} `type:"structure"`
24262}
24263
24264// String returns the string representation
24265func (s DeleteDBClusterParameterGroupOutput) String() string {
24266	return awsutil.Prettify(s)
24267}
24268
24269// GoString returns the string representation
24270func (s DeleteDBClusterParameterGroupOutput) GoString() string {
24271	return s.String()
24272}
24273
24274type DeleteDBClusterSnapshotInput struct {
24275	_ struct{} `type:"structure"`
24276
24277	// The identifier of the DB cluster snapshot to delete.
24278	//
24279	// Constraints: Must be the name of an existing DB cluster snapshot in the available
24280	// state.
24281	//
24282	// DBClusterSnapshotIdentifier is a required field
24283	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
24284}
24285
24286// String returns the string representation
24287func (s DeleteDBClusterSnapshotInput) String() string {
24288	return awsutil.Prettify(s)
24289}
24290
24291// GoString returns the string representation
24292func (s DeleteDBClusterSnapshotInput) GoString() string {
24293	return s.String()
24294}
24295
24296// Validate inspects the fields of the type to determine if they are valid.
24297func (s *DeleteDBClusterSnapshotInput) Validate() error {
24298	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
24299	if s.DBClusterSnapshotIdentifier == nil {
24300		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
24301	}
24302
24303	if invalidParams.Len() > 0 {
24304		return invalidParams
24305	}
24306	return nil
24307}
24308
24309// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
24310func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
24311	s.DBClusterSnapshotIdentifier = &v
24312	return s
24313}
24314
24315type DeleteDBClusterSnapshotOutput struct {
24316	_ struct{} `type:"structure"`
24317
24318	// Contains the details for an Amazon RDS DB cluster snapshot
24319	//
24320	// This data type is used as a response element in the DescribeDBClusterSnapshots
24321	// action.
24322	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
24323}
24324
24325// String returns the string representation
24326func (s DeleteDBClusterSnapshotOutput) String() string {
24327	return awsutil.Prettify(s)
24328}
24329
24330// GoString returns the string representation
24331func (s DeleteDBClusterSnapshotOutput) GoString() string {
24332	return s.String()
24333}
24334
24335// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
24336func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
24337	s.DBClusterSnapshot = v
24338	return s
24339}
24340
24341// Parameter input for the DeleteDBInstanceAutomatedBackup operation.
24342type DeleteDBInstanceAutomatedBackupInput struct {
24343	_ struct{} `type:"structure"`
24344
24345	// The identifier for the source DB instance, which can't be changed and which
24346	// is unique to an AWS Region.
24347	//
24348	// DbiResourceId is a required field
24349	DbiResourceId *string `type:"string" required:"true"`
24350}
24351
24352// String returns the string representation
24353func (s DeleteDBInstanceAutomatedBackupInput) String() string {
24354	return awsutil.Prettify(s)
24355}
24356
24357// GoString returns the string representation
24358func (s DeleteDBInstanceAutomatedBackupInput) GoString() string {
24359	return s.String()
24360}
24361
24362// Validate inspects the fields of the type to determine if they are valid.
24363func (s *DeleteDBInstanceAutomatedBackupInput) Validate() error {
24364	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceAutomatedBackupInput"}
24365	if s.DbiResourceId == nil {
24366		invalidParams.Add(request.NewErrParamRequired("DbiResourceId"))
24367	}
24368
24369	if invalidParams.Len() > 0 {
24370		return invalidParams
24371	}
24372	return nil
24373}
24374
24375// SetDbiResourceId sets the DbiResourceId field's value.
24376func (s *DeleteDBInstanceAutomatedBackupInput) SetDbiResourceId(v string) *DeleteDBInstanceAutomatedBackupInput {
24377	s.DbiResourceId = &v
24378	return s
24379}
24380
24381type DeleteDBInstanceAutomatedBackupOutput struct {
24382	_ struct{} `type:"structure"`
24383
24384	// An automated backup of a DB instance. It it consists of system backups, transaction
24385	// logs, and the database instance properties that existed at the time you deleted
24386	// the source instance.
24387	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
24388}
24389
24390// String returns the string representation
24391func (s DeleteDBInstanceAutomatedBackupOutput) String() string {
24392	return awsutil.Prettify(s)
24393}
24394
24395// GoString returns the string representation
24396func (s DeleteDBInstanceAutomatedBackupOutput) GoString() string {
24397	return s.String()
24398}
24399
24400// SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
24401func (s *DeleteDBInstanceAutomatedBackupOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *DeleteDBInstanceAutomatedBackupOutput {
24402	s.DBInstanceAutomatedBackup = v
24403	return s
24404}
24405
24406type DeleteDBInstanceInput struct {
24407	_ struct{} `type:"structure"`
24408
24409	// The DB instance identifier for the DB instance to be deleted. This parameter
24410	// isn't case-sensitive.
24411	//
24412	// Constraints:
24413	//
24414	//    * Must match the name of an existing DB instance.
24415	//
24416	// DBInstanceIdentifier is a required field
24417	DBInstanceIdentifier *string `type:"string" required:"true"`
24418
24419	// A value that indicates whether to remove automated backups immediately after
24420	// the DB instance is deleted. This parameter isn't case-sensitive. The default
24421	// is to remove automated backups immediately after the DB instance is deleted.
24422	DeleteAutomatedBackups *bool `type:"boolean"`
24423
24424	// The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot
24425	// parameter is disabled.
24426	//
24427	// Specifying this parameter and also specifying to skip final DB snapshot creation
24428	// in SkipFinalShapshot results in an error.
24429	//
24430	// Constraints:
24431	//
24432	//    * Must be 1 to 255 letters or numbers.
24433	//
24434	//    * First character must be a letter.
24435	//
24436	//    * Can't end with a hyphen or contain two consecutive hyphens.
24437	//
24438	//    * Can't be specified when deleting a read replica.
24439	FinalDBSnapshotIdentifier *string `type:"string"`
24440
24441	// A value that indicates whether to skip the creation of a final DB snapshot
24442	// before the DB instance is deleted. If skip is specified, no DB snapshot is
24443	// created. If skip isn't specified, a DB snapshot is created before the DB
24444	// instance is deleted. By default, skip isn't specified, and the DB snapshot
24445	// is created.
24446	//
24447	// When a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore',
24448	// or 'incompatible-network', it can only be deleted when skip is specified.
24449	//
24450	// Specify skip when deleting a read replica.
24451	//
24452	// The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified.
24453	SkipFinalSnapshot *bool `type:"boolean"`
24454}
24455
24456// String returns the string representation
24457func (s DeleteDBInstanceInput) String() string {
24458	return awsutil.Prettify(s)
24459}
24460
24461// GoString returns the string representation
24462func (s DeleteDBInstanceInput) GoString() string {
24463	return s.String()
24464}
24465
24466// Validate inspects the fields of the type to determine if they are valid.
24467func (s *DeleteDBInstanceInput) Validate() error {
24468	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
24469	if s.DBInstanceIdentifier == nil {
24470		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
24471	}
24472
24473	if invalidParams.Len() > 0 {
24474		return invalidParams
24475	}
24476	return nil
24477}
24478
24479// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
24480func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
24481	s.DBInstanceIdentifier = &v
24482	return s
24483}
24484
24485// SetDeleteAutomatedBackups sets the DeleteAutomatedBackups field's value.
24486func (s *DeleteDBInstanceInput) SetDeleteAutomatedBackups(v bool) *DeleteDBInstanceInput {
24487	s.DeleteAutomatedBackups = &v
24488	return s
24489}
24490
24491// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
24492func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
24493	s.FinalDBSnapshotIdentifier = &v
24494	return s
24495}
24496
24497// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
24498func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
24499	s.SkipFinalSnapshot = &v
24500	return s
24501}
24502
24503type DeleteDBInstanceOutput struct {
24504	_ struct{} `type:"structure"`
24505
24506	// Contains the details of an Amazon RDS DB instance.
24507	//
24508	// This data type is used as a response element in the DescribeDBInstances action.
24509	DBInstance *DBInstance `type:"structure"`
24510}
24511
24512// String returns the string representation
24513func (s DeleteDBInstanceOutput) String() string {
24514	return awsutil.Prettify(s)
24515}
24516
24517// GoString returns the string representation
24518func (s DeleteDBInstanceOutput) GoString() string {
24519	return s.String()
24520}
24521
24522// SetDBInstance sets the DBInstance field's value.
24523func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
24524	s.DBInstance = v
24525	return s
24526}
24527
24528type DeleteDBParameterGroupInput struct {
24529	_ struct{} `type:"structure"`
24530
24531	// The name of the DB parameter group.
24532	//
24533	// Constraints:
24534	//
24535	//    * Must be the name of an existing DB parameter group
24536	//
24537	//    * You can't delete a default DB parameter group
24538	//
24539	//    * Can't be associated with any DB instances
24540	//
24541	// DBParameterGroupName is a required field
24542	DBParameterGroupName *string `type:"string" required:"true"`
24543}
24544
24545// String returns the string representation
24546func (s DeleteDBParameterGroupInput) String() string {
24547	return awsutil.Prettify(s)
24548}
24549
24550// GoString returns the string representation
24551func (s DeleteDBParameterGroupInput) GoString() string {
24552	return s.String()
24553}
24554
24555// Validate inspects the fields of the type to determine if they are valid.
24556func (s *DeleteDBParameterGroupInput) Validate() error {
24557	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
24558	if s.DBParameterGroupName == nil {
24559		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
24560	}
24561
24562	if invalidParams.Len() > 0 {
24563		return invalidParams
24564	}
24565	return nil
24566}
24567
24568// SetDBParameterGroupName sets the DBParameterGroupName field's value.
24569func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
24570	s.DBParameterGroupName = &v
24571	return s
24572}
24573
24574type DeleteDBParameterGroupOutput struct {
24575	_ struct{} `type:"structure"`
24576}
24577
24578// String returns the string representation
24579func (s DeleteDBParameterGroupOutput) String() string {
24580	return awsutil.Prettify(s)
24581}
24582
24583// GoString returns the string representation
24584func (s DeleteDBParameterGroupOutput) GoString() string {
24585	return s.String()
24586}
24587
24588type DeleteDBProxyInput struct {
24589	_ struct{} `type:"structure"`
24590
24591	// The name of the DB proxy to delete.
24592	//
24593	// DBProxyName is a required field
24594	DBProxyName *string `type:"string" required:"true"`
24595}
24596
24597// String returns the string representation
24598func (s DeleteDBProxyInput) String() string {
24599	return awsutil.Prettify(s)
24600}
24601
24602// GoString returns the string representation
24603func (s DeleteDBProxyInput) GoString() string {
24604	return s.String()
24605}
24606
24607// Validate inspects the fields of the type to determine if they are valid.
24608func (s *DeleteDBProxyInput) Validate() error {
24609	invalidParams := request.ErrInvalidParams{Context: "DeleteDBProxyInput"}
24610	if s.DBProxyName == nil {
24611		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
24612	}
24613
24614	if invalidParams.Len() > 0 {
24615		return invalidParams
24616	}
24617	return nil
24618}
24619
24620// SetDBProxyName sets the DBProxyName field's value.
24621func (s *DeleteDBProxyInput) SetDBProxyName(v string) *DeleteDBProxyInput {
24622	s.DBProxyName = &v
24623	return s
24624}
24625
24626type DeleteDBProxyOutput struct {
24627	_ struct{} `type:"structure"`
24628
24629	// The data structure representing the details of the DB proxy that you delete.
24630	DBProxy *DBProxy `type:"structure"`
24631}
24632
24633// String returns the string representation
24634func (s DeleteDBProxyOutput) String() string {
24635	return awsutil.Prettify(s)
24636}
24637
24638// GoString returns the string representation
24639func (s DeleteDBProxyOutput) GoString() string {
24640	return s.String()
24641}
24642
24643// SetDBProxy sets the DBProxy field's value.
24644func (s *DeleteDBProxyOutput) SetDBProxy(v *DBProxy) *DeleteDBProxyOutput {
24645	s.DBProxy = v
24646	return s
24647}
24648
24649type DeleteDBSecurityGroupInput struct {
24650	_ struct{} `type:"structure"`
24651
24652	// The name of the DB security group to delete.
24653	//
24654	// You can't delete the default DB security group.
24655	//
24656	// Constraints:
24657	//
24658	//    * Must be 1 to 255 letters, numbers, or hyphens.
24659	//
24660	//    * First character must be a letter
24661	//
24662	//    * Can't end with a hyphen or contain two consecutive hyphens
24663	//
24664	//    * Must not be "Default"
24665	//
24666	// DBSecurityGroupName is a required field
24667	DBSecurityGroupName *string `type:"string" required:"true"`
24668}
24669
24670// String returns the string representation
24671func (s DeleteDBSecurityGroupInput) String() string {
24672	return awsutil.Prettify(s)
24673}
24674
24675// GoString returns the string representation
24676func (s DeleteDBSecurityGroupInput) GoString() string {
24677	return s.String()
24678}
24679
24680// Validate inspects the fields of the type to determine if they are valid.
24681func (s *DeleteDBSecurityGroupInput) Validate() error {
24682	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSecurityGroupInput"}
24683	if s.DBSecurityGroupName == nil {
24684		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
24685	}
24686
24687	if invalidParams.Len() > 0 {
24688		return invalidParams
24689	}
24690	return nil
24691}
24692
24693// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
24694func (s *DeleteDBSecurityGroupInput) SetDBSecurityGroupName(v string) *DeleteDBSecurityGroupInput {
24695	s.DBSecurityGroupName = &v
24696	return s
24697}
24698
24699type DeleteDBSecurityGroupOutput struct {
24700	_ struct{} `type:"structure"`
24701}
24702
24703// String returns the string representation
24704func (s DeleteDBSecurityGroupOutput) String() string {
24705	return awsutil.Prettify(s)
24706}
24707
24708// GoString returns the string representation
24709func (s DeleteDBSecurityGroupOutput) GoString() string {
24710	return s.String()
24711}
24712
24713type DeleteDBSnapshotInput struct {
24714	_ struct{} `type:"structure"`
24715
24716	// The DB snapshot identifier.
24717	//
24718	// Constraints: Must be the name of an existing DB snapshot in the available
24719	// state.
24720	//
24721	// DBSnapshotIdentifier is a required field
24722	DBSnapshotIdentifier *string `type:"string" required:"true"`
24723}
24724
24725// String returns the string representation
24726func (s DeleteDBSnapshotInput) String() string {
24727	return awsutil.Prettify(s)
24728}
24729
24730// GoString returns the string representation
24731func (s DeleteDBSnapshotInput) GoString() string {
24732	return s.String()
24733}
24734
24735// Validate inspects the fields of the type to determine if they are valid.
24736func (s *DeleteDBSnapshotInput) Validate() error {
24737	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSnapshotInput"}
24738	if s.DBSnapshotIdentifier == nil {
24739		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
24740	}
24741
24742	if invalidParams.Len() > 0 {
24743		return invalidParams
24744	}
24745	return nil
24746}
24747
24748// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
24749func (s *DeleteDBSnapshotInput) SetDBSnapshotIdentifier(v string) *DeleteDBSnapshotInput {
24750	s.DBSnapshotIdentifier = &v
24751	return s
24752}
24753
24754type DeleteDBSnapshotOutput struct {
24755	_ struct{} `type:"structure"`
24756
24757	// Contains the details of an Amazon RDS DB snapshot.
24758	//
24759	// This data type is used as a response element in the DescribeDBSnapshots action.
24760	DBSnapshot *DBSnapshot `type:"structure"`
24761}
24762
24763// String returns the string representation
24764func (s DeleteDBSnapshotOutput) String() string {
24765	return awsutil.Prettify(s)
24766}
24767
24768// GoString returns the string representation
24769func (s DeleteDBSnapshotOutput) GoString() string {
24770	return s.String()
24771}
24772
24773// SetDBSnapshot sets the DBSnapshot field's value.
24774func (s *DeleteDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *DeleteDBSnapshotOutput {
24775	s.DBSnapshot = v
24776	return s
24777}
24778
24779type DeleteDBSubnetGroupInput struct {
24780	_ struct{} `type:"structure"`
24781
24782	// The name of the database subnet group to delete.
24783	//
24784	// You can't delete the default subnet group.
24785	//
24786	// Constraints:
24787	//
24788	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
24789	// default.
24790	//
24791	// Example: mySubnetgroup
24792	//
24793	// DBSubnetGroupName is a required field
24794	DBSubnetGroupName *string `type:"string" required:"true"`
24795}
24796
24797// String returns the string representation
24798func (s DeleteDBSubnetGroupInput) String() string {
24799	return awsutil.Prettify(s)
24800}
24801
24802// GoString returns the string representation
24803func (s DeleteDBSubnetGroupInput) GoString() string {
24804	return s.String()
24805}
24806
24807// Validate inspects the fields of the type to determine if they are valid.
24808func (s *DeleteDBSubnetGroupInput) Validate() error {
24809	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
24810	if s.DBSubnetGroupName == nil {
24811		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
24812	}
24813
24814	if invalidParams.Len() > 0 {
24815		return invalidParams
24816	}
24817	return nil
24818}
24819
24820// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
24821func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
24822	s.DBSubnetGroupName = &v
24823	return s
24824}
24825
24826type DeleteDBSubnetGroupOutput struct {
24827	_ struct{} `type:"structure"`
24828}
24829
24830// String returns the string representation
24831func (s DeleteDBSubnetGroupOutput) String() string {
24832	return awsutil.Prettify(s)
24833}
24834
24835// GoString returns the string representation
24836func (s DeleteDBSubnetGroupOutput) GoString() string {
24837	return s.String()
24838}
24839
24840type DeleteEventSubscriptionInput struct {
24841	_ struct{} `type:"structure"`
24842
24843	// The name of the RDS event notification subscription you want to delete.
24844	//
24845	// SubscriptionName is a required field
24846	SubscriptionName *string `type:"string" required:"true"`
24847}
24848
24849// String returns the string representation
24850func (s DeleteEventSubscriptionInput) String() string {
24851	return awsutil.Prettify(s)
24852}
24853
24854// GoString returns the string representation
24855func (s DeleteEventSubscriptionInput) GoString() string {
24856	return s.String()
24857}
24858
24859// Validate inspects the fields of the type to determine if they are valid.
24860func (s *DeleteEventSubscriptionInput) Validate() error {
24861	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
24862	if s.SubscriptionName == nil {
24863		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
24864	}
24865
24866	if invalidParams.Len() > 0 {
24867		return invalidParams
24868	}
24869	return nil
24870}
24871
24872// SetSubscriptionName sets the SubscriptionName field's value.
24873func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
24874	s.SubscriptionName = &v
24875	return s
24876}
24877
24878type DeleteEventSubscriptionOutput struct {
24879	_ struct{} `type:"structure"`
24880
24881	// Contains the results of a successful invocation of the DescribeEventSubscriptions
24882	// action.
24883	EventSubscription *EventSubscription `type:"structure"`
24884}
24885
24886// String returns the string representation
24887func (s DeleteEventSubscriptionOutput) String() string {
24888	return awsutil.Prettify(s)
24889}
24890
24891// GoString returns the string representation
24892func (s DeleteEventSubscriptionOutput) GoString() string {
24893	return s.String()
24894}
24895
24896// SetEventSubscription sets the EventSubscription field's value.
24897func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
24898	s.EventSubscription = v
24899	return s
24900}
24901
24902type DeleteGlobalClusterInput struct {
24903	_ struct{} `type:"structure"`
24904
24905	// The cluster identifier of the global database cluster being deleted.
24906	//
24907	// GlobalClusterIdentifier is a required field
24908	GlobalClusterIdentifier *string `type:"string" required:"true"`
24909}
24910
24911// String returns the string representation
24912func (s DeleteGlobalClusterInput) String() string {
24913	return awsutil.Prettify(s)
24914}
24915
24916// GoString returns the string representation
24917func (s DeleteGlobalClusterInput) GoString() string {
24918	return s.String()
24919}
24920
24921// Validate inspects the fields of the type to determine if they are valid.
24922func (s *DeleteGlobalClusterInput) Validate() error {
24923	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalClusterInput"}
24924	if s.GlobalClusterIdentifier == nil {
24925		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
24926	}
24927
24928	if invalidParams.Len() > 0 {
24929		return invalidParams
24930	}
24931	return nil
24932}
24933
24934// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
24935func (s *DeleteGlobalClusterInput) SetGlobalClusterIdentifier(v string) *DeleteGlobalClusterInput {
24936	s.GlobalClusterIdentifier = &v
24937	return s
24938}
24939
24940type DeleteGlobalClusterOutput struct {
24941	_ struct{} `type:"structure"`
24942
24943	// A data type representing an Aurora global database.
24944	GlobalCluster *GlobalCluster `type:"structure"`
24945}
24946
24947// String returns the string representation
24948func (s DeleteGlobalClusterOutput) String() string {
24949	return awsutil.Prettify(s)
24950}
24951
24952// GoString returns the string representation
24953func (s DeleteGlobalClusterOutput) GoString() string {
24954	return s.String()
24955}
24956
24957// SetGlobalCluster sets the GlobalCluster field's value.
24958func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGlobalClusterOutput {
24959	s.GlobalCluster = v
24960	return s
24961}
24962
24963type DeleteInstallationMediaInput struct {
24964	_ struct{} `type:"structure"`
24965
24966	// The installation medium ID.
24967	//
24968	// InstallationMediaId is a required field
24969	InstallationMediaId *string `type:"string" required:"true"`
24970}
24971
24972// String returns the string representation
24973func (s DeleteInstallationMediaInput) String() string {
24974	return awsutil.Prettify(s)
24975}
24976
24977// GoString returns the string representation
24978func (s DeleteInstallationMediaInput) GoString() string {
24979	return s.String()
24980}
24981
24982// Validate inspects the fields of the type to determine if they are valid.
24983func (s *DeleteInstallationMediaInput) Validate() error {
24984	invalidParams := request.ErrInvalidParams{Context: "DeleteInstallationMediaInput"}
24985	if s.InstallationMediaId == nil {
24986		invalidParams.Add(request.NewErrParamRequired("InstallationMediaId"))
24987	}
24988
24989	if invalidParams.Len() > 0 {
24990		return invalidParams
24991	}
24992	return nil
24993}
24994
24995// SetInstallationMediaId sets the InstallationMediaId field's value.
24996func (s *DeleteInstallationMediaInput) SetInstallationMediaId(v string) *DeleteInstallationMediaInput {
24997	s.InstallationMediaId = &v
24998	return s
24999}
25000
25001// Contains the installation media for a DB engine that requires an on-premises
25002// customer provided license, such as Microsoft SQL Server.
25003type DeleteInstallationMediaOutput struct {
25004	_ struct{} `type:"structure"`
25005
25006	// The custom Availability Zone (AZ) that contains the installation media.
25007	CustomAvailabilityZoneId *string `type:"string"`
25008
25009	// The DB engine.
25010	Engine *string `type:"string"`
25011
25012	// The path to the installation medium for the DB engine.
25013	EngineInstallationMediaPath *string `type:"string"`
25014
25015	// The engine version of the DB engine.
25016	EngineVersion *string `type:"string"`
25017
25018	// If an installation media failure occurred, the cause of the failure.
25019	FailureCause *InstallationMediaFailureCause `type:"structure"`
25020
25021	// The installation medium ID.
25022	InstallationMediaId *string `type:"string"`
25023
25024	// The path to the installation medium for the operating system associated with
25025	// the DB engine.
25026	OSInstallationMediaPath *string `type:"string"`
25027
25028	// The status of the installation medium.
25029	Status *string `type:"string"`
25030}
25031
25032// String returns the string representation
25033func (s DeleteInstallationMediaOutput) String() string {
25034	return awsutil.Prettify(s)
25035}
25036
25037// GoString returns the string representation
25038func (s DeleteInstallationMediaOutput) GoString() string {
25039	return s.String()
25040}
25041
25042// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
25043func (s *DeleteInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *DeleteInstallationMediaOutput {
25044	s.CustomAvailabilityZoneId = &v
25045	return s
25046}
25047
25048// SetEngine sets the Engine field's value.
25049func (s *DeleteInstallationMediaOutput) SetEngine(v string) *DeleteInstallationMediaOutput {
25050	s.Engine = &v
25051	return s
25052}
25053
25054// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
25055func (s *DeleteInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
25056	s.EngineInstallationMediaPath = &v
25057	return s
25058}
25059
25060// SetEngineVersion sets the EngineVersion field's value.
25061func (s *DeleteInstallationMediaOutput) SetEngineVersion(v string) *DeleteInstallationMediaOutput {
25062	s.EngineVersion = &v
25063	return s
25064}
25065
25066// SetFailureCause sets the FailureCause field's value.
25067func (s *DeleteInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *DeleteInstallationMediaOutput {
25068	s.FailureCause = v
25069	return s
25070}
25071
25072// SetInstallationMediaId sets the InstallationMediaId field's value.
25073func (s *DeleteInstallationMediaOutput) SetInstallationMediaId(v string) *DeleteInstallationMediaOutput {
25074	s.InstallationMediaId = &v
25075	return s
25076}
25077
25078// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
25079func (s *DeleteInstallationMediaOutput) SetOSInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
25080	s.OSInstallationMediaPath = &v
25081	return s
25082}
25083
25084// SetStatus sets the Status field's value.
25085func (s *DeleteInstallationMediaOutput) SetStatus(v string) *DeleteInstallationMediaOutput {
25086	s.Status = &v
25087	return s
25088}
25089
25090type DeleteOptionGroupInput struct {
25091	_ struct{} `type:"structure"`
25092
25093	// The name of the option group to be deleted.
25094	//
25095	// You can't delete default option groups.
25096	//
25097	// OptionGroupName is a required field
25098	OptionGroupName *string `type:"string" required:"true"`
25099}
25100
25101// String returns the string representation
25102func (s DeleteOptionGroupInput) String() string {
25103	return awsutil.Prettify(s)
25104}
25105
25106// GoString returns the string representation
25107func (s DeleteOptionGroupInput) GoString() string {
25108	return s.String()
25109}
25110
25111// Validate inspects the fields of the type to determine if they are valid.
25112func (s *DeleteOptionGroupInput) Validate() error {
25113	invalidParams := request.ErrInvalidParams{Context: "DeleteOptionGroupInput"}
25114	if s.OptionGroupName == nil {
25115		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
25116	}
25117
25118	if invalidParams.Len() > 0 {
25119		return invalidParams
25120	}
25121	return nil
25122}
25123
25124// SetOptionGroupName sets the OptionGroupName field's value.
25125func (s *DeleteOptionGroupInput) SetOptionGroupName(v string) *DeleteOptionGroupInput {
25126	s.OptionGroupName = &v
25127	return s
25128}
25129
25130type DeleteOptionGroupOutput struct {
25131	_ struct{} `type:"structure"`
25132}
25133
25134// String returns the string representation
25135func (s DeleteOptionGroupOutput) String() string {
25136	return awsutil.Prettify(s)
25137}
25138
25139// GoString returns the string representation
25140func (s DeleteOptionGroupOutput) GoString() string {
25141	return s.String()
25142}
25143
25144type DeregisterDBProxyTargetsInput struct {
25145	_ struct{} `type:"structure"`
25146
25147	// One or more DB cluster identifiers.
25148	DBClusterIdentifiers []*string `type:"list"`
25149
25150	// One or more DB instance identifiers.
25151	DBInstanceIdentifiers []*string `type:"list"`
25152
25153	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
25154	//
25155	// DBProxyName is a required field
25156	DBProxyName *string `type:"string" required:"true"`
25157
25158	// The identifier of the DBProxyTargetGroup.
25159	TargetGroupName *string `type:"string"`
25160}
25161
25162// String returns the string representation
25163func (s DeregisterDBProxyTargetsInput) String() string {
25164	return awsutil.Prettify(s)
25165}
25166
25167// GoString returns the string representation
25168func (s DeregisterDBProxyTargetsInput) GoString() string {
25169	return s.String()
25170}
25171
25172// Validate inspects the fields of the type to determine if they are valid.
25173func (s *DeregisterDBProxyTargetsInput) Validate() error {
25174	invalidParams := request.ErrInvalidParams{Context: "DeregisterDBProxyTargetsInput"}
25175	if s.DBProxyName == nil {
25176		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
25177	}
25178
25179	if invalidParams.Len() > 0 {
25180		return invalidParams
25181	}
25182	return nil
25183}
25184
25185// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
25186func (s *DeregisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
25187	s.DBClusterIdentifiers = v
25188	return s
25189}
25190
25191// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
25192func (s *DeregisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
25193	s.DBInstanceIdentifiers = v
25194	return s
25195}
25196
25197// SetDBProxyName sets the DBProxyName field's value.
25198func (s *DeregisterDBProxyTargetsInput) SetDBProxyName(v string) *DeregisterDBProxyTargetsInput {
25199	s.DBProxyName = &v
25200	return s
25201}
25202
25203// SetTargetGroupName sets the TargetGroupName field's value.
25204func (s *DeregisterDBProxyTargetsInput) SetTargetGroupName(v string) *DeregisterDBProxyTargetsInput {
25205	s.TargetGroupName = &v
25206	return s
25207}
25208
25209type DeregisterDBProxyTargetsOutput struct {
25210	_ struct{} `type:"structure"`
25211}
25212
25213// String returns the string representation
25214func (s DeregisterDBProxyTargetsOutput) String() string {
25215	return awsutil.Prettify(s)
25216}
25217
25218// GoString returns the string representation
25219func (s DeregisterDBProxyTargetsOutput) GoString() string {
25220	return s.String()
25221}
25222
25223type DescribeAccountAttributesInput struct {
25224	_ struct{} `type:"structure"`
25225}
25226
25227// String returns the string representation
25228func (s DescribeAccountAttributesInput) String() string {
25229	return awsutil.Prettify(s)
25230}
25231
25232// GoString returns the string representation
25233func (s DescribeAccountAttributesInput) GoString() string {
25234	return s.String()
25235}
25236
25237// Data returned by the DescribeAccountAttributes action.
25238type DescribeAccountAttributesOutput struct {
25239	_ struct{} `type:"structure"`
25240
25241	// A list of AccountQuota objects. Within this list, each quota has a name,
25242	// a count of usage toward the quota maximum, and a maximum value for the quota.
25243	AccountQuotas []*AccountQuota `locationNameList:"AccountQuota" type:"list"`
25244}
25245
25246// String returns the string representation
25247func (s DescribeAccountAttributesOutput) String() string {
25248	return awsutil.Prettify(s)
25249}
25250
25251// GoString returns the string representation
25252func (s DescribeAccountAttributesOutput) GoString() string {
25253	return s.String()
25254}
25255
25256// SetAccountQuotas sets the AccountQuotas field's value.
25257func (s *DescribeAccountAttributesOutput) SetAccountQuotas(v []*AccountQuota) *DescribeAccountAttributesOutput {
25258	s.AccountQuotas = v
25259	return s
25260}
25261
25262type DescribeCertificatesInput struct {
25263	_ struct{} `type:"structure"`
25264
25265	// The user-supplied certificate identifier. If this parameter is specified,
25266	// information for only the identified certificate is returned. This parameter
25267	// isn't case-sensitive.
25268	//
25269	// Constraints:
25270	//
25271	//    * Must match an existing CertificateIdentifier.
25272	CertificateIdentifier *string `type:"string"`
25273
25274	// This parameter isn't currently supported.
25275	Filters []*Filter `locationNameList:"Filter" type:"list"`
25276
25277	// An optional pagination token provided by a previous DescribeCertificates
25278	// request. If this parameter is specified, the response includes only records
25279	// beyond the marker, up to the value specified by MaxRecords.
25280	Marker *string `type:"string"`
25281
25282	// The maximum number of records to include in the response. If more records
25283	// exist than the specified MaxRecords value, a pagination token called a marker
25284	// is included in the response so you can retrieve the remaining results.
25285	//
25286	// Default: 100
25287	//
25288	// Constraints: Minimum 20, maximum 100.
25289	MaxRecords *int64 `type:"integer"`
25290}
25291
25292// String returns the string representation
25293func (s DescribeCertificatesInput) String() string {
25294	return awsutil.Prettify(s)
25295}
25296
25297// GoString returns the string representation
25298func (s DescribeCertificatesInput) GoString() string {
25299	return s.String()
25300}
25301
25302// Validate inspects the fields of the type to determine if they are valid.
25303func (s *DescribeCertificatesInput) Validate() error {
25304	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
25305	if s.Filters != nil {
25306		for i, v := range s.Filters {
25307			if v == nil {
25308				continue
25309			}
25310			if err := v.Validate(); err != nil {
25311				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25312			}
25313		}
25314	}
25315
25316	if invalidParams.Len() > 0 {
25317		return invalidParams
25318	}
25319	return nil
25320}
25321
25322// SetCertificateIdentifier sets the CertificateIdentifier field's value.
25323func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
25324	s.CertificateIdentifier = &v
25325	return s
25326}
25327
25328// SetFilters sets the Filters field's value.
25329func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
25330	s.Filters = v
25331	return s
25332}
25333
25334// SetMarker sets the Marker field's value.
25335func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
25336	s.Marker = &v
25337	return s
25338}
25339
25340// SetMaxRecords sets the MaxRecords field's value.
25341func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
25342	s.MaxRecords = &v
25343	return s
25344}
25345
25346// Data returned by the DescribeCertificates action.
25347type DescribeCertificatesOutput struct {
25348	_ struct{} `type:"structure"`
25349
25350	// The list of Certificate objects for the AWS account.
25351	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
25352
25353	// An optional pagination token provided by a previous DescribeCertificates
25354	// request. If this parameter is specified, the response includes only records
25355	// beyond the marker, up to the value specified by MaxRecords .
25356	Marker *string `type:"string"`
25357}
25358
25359// String returns the string representation
25360func (s DescribeCertificatesOutput) String() string {
25361	return awsutil.Prettify(s)
25362}
25363
25364// GoString returns the string representation
25365func (s DescribeCertificatesOutput) GoString() string {
25366	return s.String()
25367}
25368
25369// SetCertificates sets the Certificates field's value.
25370func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
25371	s.Certificates = v
25372	return s
25373}
25374
25375// SetMarker sets the Marker field's value.
25376func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
25377	s.Marker = &v
25378	return s
25379}
25380
25381type DescribeCustomAvailabilityZonesInput struct {
25382	_ struct{} `type:"structure"`
25383
25384	// The custom AZ identifier. If this parameter is specified, information from
25385	// only the specific custom AZ is returned.
25386	CustomAvailabilityZoneId *string `type:"string"`
25387
25388	// A filter that specifies one or more custom AZs to describe.
25389	Filters []*Filter `locationNameList:"Filter" type:"list"`
25390
25391	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
25392	// request. If this parameter is specified, the response includes only records
25393	// beyond the marker, up to the value specified by MaxRecords.
25394	Marker *string `type:"string"`
25395
25396	// The maximum number of records to include in the response. If more records
25397	// exist than the specified MaxRecords value, a pagination token called a marker
25398	// is included in the response so you can retrieve the remaining results.
25399	//
25400	// Default: 100
25401	//
25402	// Constraints: Minimum 20, maximum 100.
25403	MaxRecords *int64 `type:"integer"`
25404}
25405
25406// String returns the string representation
25407func (s DescribeCustomAvailabilityZonesInput) String() string {
25408	return awsutil.Prettify(s)
25409}
25410
25411// GoString returns the string representation
25412func (s DescribeCustomAvailabilityZonesInput) GoString() string {
25413	return s.String()
25414}
25415
25416// Validate inspects the fields of the type to determine if they are valid.
25417func (s *DescribeCustomAvailabilityZonesInput) Validate() error {
25418	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomAvailabilityZonesInput"}
25419	if s.Filters != nil {
25420		for i, v := range s.Filters {
25421			if v == nil {
25422				continue
25423			}
25424			if err := v.Validate(); err != nil {
25425				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25426			}
25427		}
25428	}
25429
25430	if invalidParams.Len() > 0 {
25431		return invalidParams
25432	}
25433	return nil
25434}
25435
25436// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
25437func (s *DescribeCustomAvailabilityZonesInput) SetCustomAvailabilityZoneId(v string) *DescribeCustomAvailabilityZonesInput {
25438	s.CustomAvailabilityZoneId = &v
25439	return s
25440}
25441
25442// SetFilters sets the Filters field's value.
25443func (s *DescribeCustomAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeCustomAvailabilityZonesInput {
25444	s.Filters = v
25445	return s
25446}
25447
25448// SetMarker sets the Marker field's value.
25449func (s *DescribeCustomAvailabilityZonesInput) SetMarker(v string) *DescribeCustomAvailabilityZonesInput {
25450	s.Marker = &v
25451	return s
25452}
25453
25454// SetMaxRecords sets the MaxRecords field's value.
25455func (s *DescribeCustomAvailabilityZonesInput) SetMaxRecords(v int64) *DescribeCustomAvailabilityZonesInput {
25456	s.MaxRecords = &v
25457	return s
25458}
25459
25460type DescribeCustomAvailabilityZonesOutput struct {
25461	_ struct{} `type:"structure"`
25462
25463	// The list of CustomAvailabilityZone objects for the AWS account.
25464	CustomAvailabilityZones []*CustomAvailabilityZone `locationNameList:"CustomAvailabilityZone" type:"list"`
25465
25466	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
25467	// request. If this parameter is specified, the response includes only records
25468	// beyond the marker, up to the value specified by MaxRecords.
25469	Marker *string `type:"string"`
25470}
25471
25472// String returns the string representation
25473func (s DescribeCustomAvailabilityZonesOutput) String() string {
25474	return awsutil.Prettify(s)
25475}
25476
25477// GoString returns the string representation
25478func (s DescribeCustomAvailabilityZonesOutput) GoString() string {
25479	return s.String()
25480}
25481
25482// SetCustomAvailabilityZones sets the CustomAvailabilityZones field's value.
25483func (s *DescribeCustomAvailabilityZonesOutput) SetCustomAvailabilityZones(v []*CustomAvailabilityZone) *DescribeCustomAvailabilityZonesOutput {
25484	s.CustomAvailabilityZones = v
25485	return s
25486}
25487
25488// SetMarker sets the Marker field's value.
25489func (s *DescribeCustomAvailabilityZonesOutput) SetMarker(v string) *DescribeCustomAvailabilityZonesOutput {
25490	s.Marker = &v
25491	return s
25492}
25493
25494type DescribeDBClusterBacktracksInput struct {
25495	_ struct{} `type:"structure"`
25496
25497	// If specified, this value is the backtrack identifier of the backtrack to
25498	// be described.
25499	//
25500	// Constraints:
25501	//
25502	//    * Must contain a valid universally unique identifier (UUID). For more
25503	//    information about UUIDs, see A Universally Unique Identifier (UUID) URN
25504	//    Namespace (http://www.ietf.org/rfc/rfc4122.txt).
25505	//
25506	// Example: 123e4567-e89b-12d3-a456-426655440000
25507	BacktrackIdentifier *string `type:"string"`
25508
25509	// The DB cluster identifier of the DB cluster to be described. This parameter
25510	// is stored as a lowercase string.
25511	//
25512	// Constraints:
25513	//
25514	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
25515	//
25516	//    * First character must be a letter.
25517	//
25518	//    * Can't end with a hyphen or contain two consecutive hyphens.
25519	//
25520	// Example: my-cluster1
25521	//
25522	// DBClusterIdentifier is a required field
25523	DBClusterIdentifier *string `type:"string" required:"true"`
25524
25525	// A filter that specifies one or more DB clusters to describe. Supported filters
25526	// include the following:
25527	//
25528	//    * db-cluster-backtrack-id - Accepts backtrack identifiers. The results
25529	//    list includes information about only the backtracks identified by these
25530	//    identifiers.
25531	//
25532	//    * db-cluster-backtrack-status - Accepts any of the following backtrack
25533	//    status values: applying completed failed pending The results list includes
25534	//    information about only the backtracks identified by these values.
25535	Filters []*Filter `locationNameList:"Filter" type:"list"`
25536
25537	// An optional pagination token provided by a previous DescribeDBClusterBacktracks
25538	// request. If this parameter is specified, the response includes only records
25539	// beyond the marker, up to the value specified by MaxRecords.
25540	Marker *string `type:"string"`
25541
25542	// The maximum number of records to include in the response. If more records
25543	// exist than the specified MaxRecords value, a pagination token called a marker
25544	// is included in the response so you can retrieve the remaining results.
25545	//
25546	// Default: 100
25547	//
25548	// Constraints: Minimum 20, maximum 100.
25549	MaxRecords *int64 `type:"integer"`
25550}
25551
25552// String returns the string representation
25553func (s DescribeDBClusterBacktracksInput) String() string {
25554	return awsutil.Prettify(s)
25555}
25556
25557// GoString returns the string representation
25558func (s DescribeDBClusterBacktracksInput) GoString() string {
25559	return s.String()
25560}
25561
25562// Validate inspects the fields of the type to determine if they are valid.
25563func (s *DescribeDBClusterBacktracksInput) Validate() error {
25564	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterBacktracksInput"}
25565	if s.DBClusterIdentifier == nil {
25566		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
25567	}
25568	if s.Filters != nil {
25569		for i, v := range s.Filters {
25570			if v == nil {
25571				continue
25572			}
25573			if err := v.Validate(); err != nil {
25574				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25575			}
25576		}
25577	}
25578
25579	if invalidParams.Len() > 0 {
25580		return invalidParams
25581	}
25582	return nil
25583}
25584
25585// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
25586func (s *DescribeDBClusterBacktracksInput) SetBacktrackIdentifier(v string) *DescribeDBClusterBacktracksInput {
25587	s.BacktrackIdentifier = &v
25588	return s
25589}
25590
25591// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25592func (s *DescribeDBClusterBacktracksInput) SetDBClusterIdentifier(v string) *DescribeDBClusterBacktracksInput {
25593	s.DBClusterIdentifier = &v
25594	return s
25595}
25596
25597// SetFilters sets the Filters field's value.
25598func (s *DescribeDBClusterBacktracksInput) SetFilters(v []*Filter) *DescribeDBClusterBacktracksInput {
25599	s.Filters = v
25600	return s
25601}
25602
25603// SetMarker sets the Marker field's value.
25604func (s *DescribeDBClusterBacktracksInput) SetMarker(v string) *DescribeDBClusterBacktracksInput {
25605	s.Marker = &v
25606	return s
25607}
25608
25609// SetMaxRecords sets the MaxRecords field's value.
25610func (s *DescribeDBClusterBacktracksInput) SetMaxRecords(v int64) *DescribeDBClusterBacktracksInput {
25611	s.MaxRecords = &v
25612	return s
25613}
25614
25615// Contains the result of a successful invocation of the DescribeDBClusterBacktracks
25616// action.
25617type DescribeDBClusterBacktracksOutput struct {
25618	_ struct{} `type:"structure"`
25619
25620	// Contains a list of backtracks for the user.
25621	DBClusterBacktracks []*BacktrackDBClusterOutput `locationNameList:"DBClusterBacktrack" type:"list"`
25622
25623	// A pagination token that can be used in a later DescribeDBClusterBacktracks
25624	// request.
25625	Marker *string `type:"string"`
25626}
25627
25628// String returns the string representation
25629func (s DescribeDBClusterBacktracksOutput) String() string {
25630	return awsutil.Prettify(s)
25631}
25632
25633// GoString returns the string representation
25634func (s DescribeDBClusterBacktracksOutput) GoString() string {
25635	return s.String()
25636}
25637
25638// SetDBClusterBacktracks sets the DBClusterBacktracks field's value.
25639func (s *DescribeDBClusterBacktracksOutput) SetDBClusterBacktracks(v []*BacktrackDBClusterOutput) *DescribeDBClusterBacktracksOutput {
25640	s.DBClusterBacktracks = v
25641	return s
25642}
25643
25644// SetMarker sets the Marker field's value.
25645func (s *DescribeDBClusterBacktracksOutput) SetMarker(v string) *DescribeDBClusterBacktracksOutput {
25646	s.Marker = &v
25647	return s
25648}
25649
25650type DescribeDBClusterEndpointsInput struct {
25651	_ struct{} `type:"structure"`
25652
25653	// The identifier of the endpoint to describe. This parameter is stored as a
25654	// lowercase string.
25655	DBClusterEndpointIdentifier *string `type:"string"`
25656
25657	// The DB cluster identifier of the DB cluster associated with the endpoint.
25658	// This parameter is stored as a lowercase string.
25659	DBClusterIdentifier *string `type:"string"`
25660
25661	// A set of name-value pairs that define which endpoints to include in the output.
25662	// The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,....
25663	// Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type,
25664	// db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type
25665	// filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type
25666	// filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status
25667	// filter can be one or more of: available, creating, deleting, modifying.
25668	Filters []*Filter `locationNameList:"Filter" type:"list"`
25669
25670	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
25671	// request. If this parameter is specified, the response includes only records
25672	// beyond the marker, up to the value specified by MaxRecords.
25673	Marker *string `type:"string"`
25674
25675	// The maximum number of records to include in the response. If more records
25676	// exist than the specified MaxRecords value, a pagination token called a marker
25677	// is included in the response so you can retrieve the remaining results.
25678	//
25679	// Default: 100
25680	//
25681	// Constraints: Minimum 20, maximum 100.
25682	MaxRecords *int64 `type:"integer"`
25683}
25684
25685// String returns the string representation
25686func (s DescribeDBClusterEndpointsInput) String() string {
25687	return awsutil.Prettify(s)
25688}
25689
25690// GoString returns the string representation
25691func (s DescribeDBClusterEndpointsInput) GoString() string {
25692	return s.String()
25693}
25694
25695// Validate inspects the fields of the type to determine if they are valid.
25696func (s *DescribeDBClusterEndpointsInput) Validate() error {
25697	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterEndpointsInput"}
25698	if s.Filters != nil {
25699		for i, v := range s.Filters {
25700			if v == nil {
25701				continue
25702			}
25703			if err := v.Validate(); err != nil {
25704				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25705			}
25706		}
25707	}
25708
25709	if invalidParams.Len() > 0 {
25710		return invalidParams
25711	}
25712	return nil
25713}
25714
25715// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
25716func (s *DescribeDBClusterEndpointsInput) SetDBClusterEndpointIdentifier(v string) *DescribeDBClusterEndpointsInput {
25717	s.DBClusterEndpointIdentifier = &v
25718	return s
25719}
25720
25721// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25722func (s *DescribeDBClusterEndpointsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterEndpointsInput {
25723	s.DBClusterIdentifier = &v
25724	return s
25725}
25726
25727// SetFilters sets the Filters field's value.
25728func (s *DescribeDBClusterEndpointsInput) SetFilters(v []*Filter) *DescribeDBClusterEndpointsInput {
25729	s.Filters = v
25730	return s
25731}
25732
25733// SetMarker sets the Marker field's value.
25734func (s *DescribeDBClusterEndpointsInput) SetMarker(v string) *DescribeDBClusterEndpointsInput {
25735	s.Marker = &v
25736	return s
25737}
25738
25739// SetMaxRecords sets the MaxRecords field's value.
25740func (s *DescribeDBClusterEndpointsInput) SetMaxRecords(v int64) *DescribeDBClusterEndpointsInput {
25741	s.MaxRecords = &v
25742	return s
25743}
25744
25745type DescribeDBClusterEndpointsOutput struct {
25746	_ struct{} `type:"structure"`
25747
25748	// Contains the details of the endpoints associated with the cluster and matching
25749	// any filter conditions.
25750	DBClusterEndpoints []*DBClusterEndpoint `locationNameList:"DBClusterEndpointList" type:"list"`
25751
25752	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
25753	// request. If this parameter is specified, the response includes only records
25754	// beyond the marker, up to the value specified by MaxRecords.
25755	Marker *string `type:"string"`
25756}
25757
25758// String returns the string representation
25759func (s DescribeDBClusterEndpointsOutput) String() string {
25760	return awsutil.Prettify(s)
25761}
25762
25763// GoString returns the string representation
25764func (s DescribeDBClusterEndpointsOutput) GoString() string {
25765	return s.String()
25766}
25767
25768// SetDBClusterEndpoints sets the DBClusterEndpoints field's value.
25769func (s *DescribeDBClusterEndpointsOutput) SetDBClusterEndpoints(v []*DBClusterEndpoint) *DescribeDBClusterEndpointsOutput {
25770	s.DBClusterEndpoints = v
25771	return s
25772}
25773
25774// SetMarker sets the Marker field's value.
25775func (s *DescribeDBClusterEndpointsOutput) SetMarker(v string) *DescribeDBClusterEndpointsOutput {
25776	s.Marker = &v
25777	return s
25778}
25779
25780type DescribeDBClusterParameterGroupsInput struct {
25781	_ struct{} `type:"structure"`
25782
25783	// The name of a specific DB cluster parameter group to return details for.
25784	//
25785	// Constraints:
25786	//
25787	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
25788	DBClusterParameterGroupName *string `type:"string"`
25789
25790	// This parameter isn't currently supported.
25791	Filters []*Filter `locationNameList:"Filter" type:"list"`
25792
25793	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
25794	// request. If this parameter is specified, the response includes only records
25795	// beyond the marker, up to the value specified by MaxRecords.
25796	Marker *string `type:"string"`
25797
25798	// The maximum number of records to include in the response. If more records
25799	// exist than the specified MaxRecords value, a pagination token called a marker
25800	// is included in the response so you can retrieve the remaining results.
25801	//
25802	// Default: 100
25803	//
25804	// Constraints: Minimum 20, maximum 100.
25805	MaxRecords *int64 `type:"integer"`
25806}
25807
25808// String returns the string representation
25809func (s DescribeDBClusterParameterGroupsInput) String() string {
25810	return awsutil.Prettify(s)
25811}
25812
25813// GoString returns the string representation
25814func (s DescribeDBClusterParameterGroupsInput) GoString() string {
25815	return s.String()
25816}
25817
25818// Validate inspects the fields of the type to determine if they are valid.
25819func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
25820	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
25821	if s.Filters != nil {
25822		for i, v := range s.Filters {
25823			if v == nil {
25824				continue
25825			}
25826			if err := v.Validate(); err != nil {
25827				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25828			}
25829		}
25830	}
25831
25832	if invalidParams.Len() > 0 {
25833		return invalidParams
25834	}
25835	return nil
25836}
25837
25838// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
25839func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
25840	s.DBClusterParameterGroupName = &v
25841	return s
25842}
25843
25844// SetFilters sets the Filters field's value.
25845func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
25846	s.Filters = v
25847	return s
25848}
25849
25850// SetMarker sets the Marker field's value.
25851func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
25852	s.Marker = &v
25853	return s
25854}
25855
25856// SetMaxRecords sets the MaxRecords field's value.
25857func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
25858	s.MaxRecords = &v
25859	return s
25860}
25861
25862type DescribeDBClusterParameterGroupsOutput struct {
25863	_ struct{} `type:"structure"`
25864
25865	// A list of DB cluster parameter groups.
25866	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
25867
25868	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
25869	// request. If this parameter is specified, the response includes only records
25870	// beyond the marker, up to the value specified by MaxRecords.
25871	Marker *string `type:"string"`
25872}
25873
25874// String returns the string representation
25875func (s DescribeDBClusterParameterGroupsOutput) String() string {
25876	return awsutil.Prettify(s)
25877}
25878
25879// GoString returns the string representation
25880func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
25881	return s.String()
25882}
25883
25884// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
25885func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
25886	s.DBClusterParameterGroups = v
25887	return s
25888}
25889
25890// SetMarker sets the Marker field's value.
25891func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
25892	s.Marker = &v
25893	return s
25894}
25895
25896type DescribeDBClusterParametersInput struct {
25897	_ struct{} `type:"structure"`
25898
25899	// The name of a specific DB cluster parameter group to return parameter details
25900	// for.
25901	//
25902	// Constraints:
25903	//
25904	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
25905	//
25906	// DBClusterParameterGroupName is a required field
25907	DBClusterParameterGroupName *string `type:"string" required:"true"`
25908
25909	// This parameter isn't currently supported.
25910	Filters []*Filter `locationNameList:"Filter" type:"list"`
25911
25912	// An optional pagination token provided by a previous DescribeDBClusterParameters
25913	// request. If this parameter is specified, the response includes only records
25914	// beyond the marker, up to the value specified by MaxRecords.
25915	Marker *string `type:"string"`
25916
25917	// The maximum number of records to include in the response. If more records
25918	// exist than the specified MaxRecords value, a pagination token called a marker
25919	// is included in the response so you can retrieve the remaining results.
25920	//
25921	// Default: 100
25922	//
25923	// Constraints: Minimum 20, maximum 100.
25924	MaxRecords *int64 `type:"integer"`
25925
25926	// A value that indicates to return only parameters for a specific source. Parameter
25927	// sources can be engine, service, or customer.
25928	Source *string `type:"string"`
25929}
25930
25931// String returns the string representation
25932func (s DescribeDBClusterParametersInput) String() string {
25933	return awsutil.Prettify(s)
25934}
25935
25936// GoString returns the string representation
25937func (s DescribeDBClusterParametersInput) GoString() string {
25938	return s.String()
25939}
25940
25941// Validate inspects the fields of the type to determine if they are valid.
25942func (s *DescribeDBClusterParametersInput) Validate() error {
25943	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
25944	if s.DBClusterParameterGroupName == nil {
25945		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
25946	}
25947	if s.Filters != nil {
25948		for i, v := range s.Filters {
25949			if v == nil {
25950				continue
25951			}
25952			if err := v.Validate(); err != nil {
25953				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25954			}
25955		}
25956	}
25957
25958	if invalidParams.Len() > 0 {
25959		return invalidParams
25960	}
25961	return nil
25962}
25963
25964// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
25965func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
25966	s.DBClusterParameterGroupName = &v
25967	return s
25968}
25969
25970// SetFilters sets the Filters field's value.
25971func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
25972	s.Filters = v
25973	return s
25974}
25975
25976// SetMarker sets the Marker field's value.
25977func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
25978	s.Marker = &v
25979	return s
25980}
25981
25982// SetMaxRecords sets the MaxRecords field's value.
25983func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
25984	s.MaxRecords = &v
25985	return s
25986}
25987
25988// SetSource sets the Source field's value.
25989func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
25990	s.Source = &v
25991	return s
25992}
25993
25994// Provides details about a DB cluster parameter group including the parameters
25995// in the DB cluster parameter group.
25996type DescribeDBClusterParametersOutput struct {
25997	_ struct{} `type:"structure"`
25998
25999	// An optional pagination token provided by a previous DescribeDBClusterParameters
26000	// request. If this parameter is specified, the response includes only records
26001	// beyond the marker, up to the value specified by MaxRecords .
26002	Marker *string `type:"string"`
26003
26004	// Provides a list of parameters for the DB cluster parameter group.
26005	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
26006}
26007
26008// String returns the string representation
26009func (s DescribeDBClusterParametersOutput) String() string {
26010	return awsutil.Prettify(s)
26011}
26012
26013// GoString returns the string representation
26014func (s DescribeDBClusterParametersOutput) GoString() string {
26015	return s.String()
26016}
26017
26018// SetMarker sets the Marker field's value.
26019func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
26020	s.Marker = &v
26021	return s
26022}
26023
26024// SetParameters sets the Parameters field's value.
26025func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
26026	s.Parameters = v
26027	return s
26028}
26029
26030type DescribeDBClusterSnapshotAttributesInput struct {
26031	_ struct{} `type:"structure"`
26032
26033	// The identifier for the DB cluster snapshot to describe the attributes for.
26034	//
26035	// DBClusterSnapshotIdentifier is a required field
26036	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
26037}
26038
26039// String returns the string representation
26040func (s DescribeDBClusterSnapshotAttributesInput) String() string {
26041	return awsutil.Prettify(s)
26042}
26043
26044// GoString returns the string representation
26045func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
26046	return s.String()
26047}
26048
26049// Validate inspects the fields of the type to determine if they are valid.
26050func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
26051	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
26052	if s.DBClusterSnapshotIdentifier == nil {
26053		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
26054	}
26055
26056	if invalidParams.Len() > 0 {
26057		return invalidParams
26058	}
26059	return nil
26060}
26061
26062// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
26063func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
26064	s.DBClusterSnapshotIdentifier = &v
26065	return s
26066}
26067
26068type DescribeDBClusterSnapshotAttributesOutput struct {
26069	_ struct{} `type:"structure"`
26070
26071	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
26072	// API action.
26073	//
26074	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
26075	// to copy or restore a manual DB cluster snapshot. For more information, see
26076	// the ModifyDBClusterSnapshotAttribute API action.
26077	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
26078}
26079
26080// String returns the string representation
26081func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
26082	return awsutil.Prettify(s)
26083}
26084
26085// GoString returns the string representation
26086func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
26087	return s.String()
26088}
26089
26090// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
26091func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
26092	s.DBClusterSnapshotAttributesResult = v
26093	return s
26094}
26095
26096type DescribeDBClusterSnapshotsInput struct {
26097	_ struct{} `type:"structure"`
26098
26099	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
26100	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
26101	// parameter. This parameter isn't case-sensitive.
26102	//
26103	// Constraints:
26104	//
26105	//    * If supplied, must match the identifier of an existing DBCluster.
26106	DBClusterIdentifier *string `type:"string"`
26107
26108	// A specific DB cluster snapshot identifier to describe. This parameter can't
26109	// be used in conjunction with the DBClusterIdentifier parameter. This value
26110	// is stored as a lowercase string.
26111	//
26112	// Constraints:
26113	//
26114	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
26115	//
26116	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
26117	//    must also be specified.
26118	DBClusterSnapshotIdentifier *string `type:"string"`
26119
26120	// A filter that specifies one or more DB cluster snapshots to describe.
26121	//
26122	// Supported filters:
26123	//
26124	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
26125	//    Resource Names (ARNs).
26126	//
26127	//    * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.
26128	//
26129	//    * snapshot-type - Accepts types of DB cluster snapshots.
26130	//
26131	//    * engine - Accepts names of database engines.
26132	Filters []*Filter `locationNameList:"Filter" type:"list"`
26133
26134	// A value that indicates whether to include manual DB cluster snapshots that
26135	// are public and can be copied or restored by any AWS account. By default,
26136	// the public snapshots are not included.
26137	//
26138	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
26139	// API action.
26140	IncludePublic *bool `type:"boolean"`
26141
26142	// A value that indicates whether to include shared manual DB cluster snapshots
26143	// from other AWS accounts that this AWS account has been given permission to
26144	// copy or restore. By default, these snapshots are not included.
26145	//
26146	// You can give an AWS account permission to restore a manual DB cluster snapshot
26147	// from another AWS account by the ModifyDBClusterSnapshotAttribute API action.
26148	IncludeShared *bool `type:"boolean"`
26149
26150	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
26151	// request. If this parameter is specified, the response includes only records
26152	// beyond the marker, up to the value specified by MaxRecords.
26153	Marker *string `type:"string"`
26154
26155	// The maximum number of records to include in the response. If more records
26156	// exist than the specified MaxRecords value, a pagination token called a marker
26157	// is included in the response so you can retrieve the remaining results.
26158	//
26159	// Default: 100
26160	//
26161	// Constraints: Minimum 20, maximum 100.
26162	MaxRecords *int64 `type:"integer"`
26163
26164	// The type of DB cluster snapshots to be returned. You can specify one of the
26165	// following values:
26166	//
26167	//    * automated - Return all DB cluster snapshots that have been automatically
26168	//    taken by Amazon RDS for my AWS account.
26169	//
26170	//    * manual - Return all DB cluster snapshots that have been taken by my
26171	//    AWS account.
26172	//
26173	//    * shared - Return all manual DB cluster snapshots that have been shared
26174	//    to my AWS account.
26175	//
26176	//    * public - Return all DB cluster snapshots that have been marked as public.
26177	//
26178	// If you don't specify a SnapshotType value, then both automated and manual
26179	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
26180	// with these results by enabling the IncludeShared parameter. You can include
26181	// public DB cluster snapshots with these results by enabling the IncludePublic
26182	// parameter.
26183	//
26184	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
26185	// values of manual or automated. The IncludePublic parameter doesn't apply
26186	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
26187	// when SnapshotType is set to public.
26188	SnapshotType *string `type:"string"`
26189}
26190
26191// String returns the string representation
26192func (s DescribeDBClusterSnapshotsInput) String() string {
26193	return awsutil.Prettify(s)
26194}
26195
26196// GoString returns the string representation
26197func (s DescribeDBClusterSnapshotsInput) GoString() string {
26198	return s.String()
26199}
26200
26201// Validate inspects the fields of the type to determine if they are valid.
26202func (s *DescribeDBClusterSnapshotsInput) Validate() error {
26203	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
26204	if s.Filters != nil {
26205		for i, v := range s.Filters {
26206			if v == nil {
26207				continue
26208			}
26209			if err := v.Validate(); err != nil {
26210				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26211			}
26212		}
26213	}
26214
26215	if invalidParams.Len() > 0 {
26216		return invalidParams
26217	}
26218	return nil
26219}
26220
26221// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
26222func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
26223	s.DBClusterIdentifier = &v
26224	return s
26225}
26226
26227// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
26228func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
26229	s.DBClusterSnapshotIdentifier = &v
26230	return s
26231}
26232
26233// SetFilters sets the Filters field's value.
26234func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
26235	s.Filters = v
26236	return s
26237}
26238
26239// SetIncludePublic sets the IncludePublic field's value.
26240func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
26241	s.IncludePublic = &v
26242	return s
26243}
26244
26245// SetIncludeShared sets the IncludeShared field's value.
26246func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
26247	s.IncludeShared = &v
26248	return s
26249}
26250
26251// SetMarker sets the Marker field's value.
26252func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
26253	s.Marker = &v
26254	return s
26255}
26256
26257// SetMaxRecords sets the MaxRecords field's value.
26258func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
26259	s.MaxRecords = &v
26260	return s
26261}
26262
26263// SetSnapshotType sets the SnapshotType field's value.
26264func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
26265	s.SnapshotType = &v
26266	return s
26267}
26268
26269// Provides a list of DB cluster snapshots for the user as the result of a call
26270// to the DescribeDBClusterSnapshots action.
26271type DescribeDBClusterSnapshotsOutput struct {
26272	_ struct{} `type:"structure"`
26273
26274	// Provides a list of DB cluster snapshots for the user.
26275	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
26276
26277	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
26278	// request. If this parameter is specified, the response includes only records
26279	// beyond the marker, up to the value specified by MaxRecords.
26280	Marker *string `type:"string"`
26281}
26282
26283// String returns the string representation
26284func (s DescribeDBClusterSnapshotsOutput) String() string {
26285	return awsutil.Prettify(s)
26286}
26287
26288// GoString returns the string representation
26289func (s DescribeDBClusterSnapshotsOutput) GoString() string {
26290	return s.String()
26291}
26292
26293// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
26294func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
26295	s.DBClusterSnapshots = v
26296	return s
26297}
26298
26299// SetMarker sets the Marker field's value.
26300func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
26301	s.Marker = &v
26302	return s
26303}
26304
26305type DescribeDBClustersInput struct {
26306	_ struct{} `type:"structure"`
26307
26308	// The user-supplied DB cluster identifier. If this parameter is specified,
26309	// information from only the specific DB cluster is returned. This parameter
26310	// isn't case-sensitive.
26311	//
26312	// Constraints:
26313	//
26314	//    * If supplied, must match an existing DBClusterIdentifier.
26315	DBClusterIdentifier *string `type:"string"`
26316
26317	// A filter that specifies one or more DB clusters to describe.
26318	//
26319	// Supported filters:
26320	//
26321	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
26322	//    Resource Names (ARNs). The results list will only include information
26323	//    about the DB clusters identified by these ARNs.
26324	Filters []*Filter `locationNameList:"Filter" type:"list"`
26325
26326	// Optional Boolean parameter that specifies whether the output includes information
26327	// about clusters shared from other AWS accounts.
26328	IncludeShared *bool `type:"boolean"`
26329
26330	// An optional pagination token provided by a previous DescribeDBClusters request.
26331	// If this parameter is specified, the response includes only records beyond
26332	// the marker, up to the value specified by MaxRecords.
26333	Marker *string `type:"string"`
26334
26335	// The maximum number of records to include in the response. If more records
26336	// exist than the specified MaxRecords value, a pagination token called a marker
26337	// is included in the response so you can retrieve the remaining results.
26338	//
26339	// Default: 100
26340	//
26341	// Constraints: Minimum 20, maximum 100.
26342	MaxRecords *int64 `type:"integer"`
26343}
26344
26345// String returns the string representation
26346func (s DescribeDBClustersInput) String() string {
26347	return awsutil.Prettify(s)
26348}
26349
26350// GoString returns the string representation
26351func (s DescribeDBClustersInput) GoString() string {
26352	return s.String()
26353}
26354
26355// Validate inspects the fields of the type to determine if they are valid.
26356func (s *DescribeDBClustersInput) Validate() error {
26357	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
26358	if s.Filters != nil {
26359		for i, v := range s.Filters {
26360			if v == nil {
26361				continue
26362			}
26363			if err := v.Validate(); err != nil {
26364				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26365			}
26366		}
26367	}
26368
26369	if invalidParams.Len() > 0 {
26370		return invalidParams
26371	}
26372	return nil
26373}
26374
26375// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
26376func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
26377	s.DBClusterIdentifier = &v
26378	return s
26379}
26380
26381// SetFilters sets the Filters field's value.
26382func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
26383	s.Filters = v
26384	return s
26385}
26386
26387// SetIncludeShared sets the IncludeShared field's value.
26388func (s *DescribeDBClustersInput) SetIncludeShared(v bool) *DescribeDBClustersInput {
26389	s.IncludeShared = &v
26390	return s
26391}
26392
26393// SetMarker sets the Marker field's value.
26394func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
26395	s.Marker = &v
26396	return s
26397}
26398
26399// SetMaxRecords sets the MaxRecords field's value.
26400func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
26401	s.MaxRecords = &v
26402	return s
26403}
26404
26405// Contains the result of a successful invocation of the DescribeDBClusters
26406// action.
26407type DescribeDBClustersOutput struct {
26408	_ struct{} `type:"structure"`
26409
26410	// Contains a list of DB clusters for the user.
26411	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
26412
26413	// A pagination token that can be used in a later DescribeDBClusters request.
26414	Marker *string `type:"string"`
26415}
26416
26417// String returns the string representation
26418func (s DescribeDBClustersOutput) String() string {
26419	return awsutil.Prettify(s)
26420}
26421
26422// GoString returns the string representation
26423func (s DescribeDBClustersOutput) GoString() string {
26424	return s.String()
26425}
26426
26427// SetDBClusters sets the DBClusters field's value.
26428func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
26429	s.DBClusters = v
26430	return s
26431}
26432
26433// SetMarker sets the Marker field's value.
26434func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
26435	s.Marker = &v
26436	return s
26437}
26438
26439type DescribeDBEngineVersionsInput struct {
26440	_ struct{} `type:"structure"`
26441
26442	// The name of a specific DB parameter group family to return details for.
26443	//
26444	// Constraints:
26445	//
26446	//    * If supplied, must match an existing DBParameterGroupFamily.
26447	DBParameterGroupFamily *string `type:"string"`
26448
26449	// A value that indicates whether only the default version of the specified
26450	// engine or engine and major version combination is returned.
26451	DefaultOnly *bool `type:"boolean"`
26452
26453	// The database engine to return.
26454	Engine *string `type:"string"`
26455
26456	// The database engine version to return.
26457	//
26458	// Example: 5.1.49
26459	EngineVersion *string `type:"string"`
26460
26461	// This parameter isn't currently supported.
26462	Filters []*Filter `locationNameList:"Filter" type:"list"`
26463
26464	// A value that indicates whether to include engine versions that aren't available
26465	// in the list. The default is to list only available engine versions.
26466	IncludeAll *bool `type:"boolean"`
26467
26468	// A value that indicates whether to list the supported character sets for each
26469	// engine version.
26470	//
26471	// If this parameter is enabled and the requested engine supports the CharacterSetName
26472	// parameter for CreateDBInstance, the response includes a list of supported
26473	// character sets for each engine version.
26474	ListSupportedCharacterSets *bool `type:"boolean"`
26475
26476	// A value that indicates whether to list the supported time zones for each
26477	// engine version.
26478	//
26479	// If this parameter is enabled and the requested engine supports the TimeZone
26480	// parameter for CreateDBInstance, the response includes a list of supported
26481	// time zones for each engine version.
26482	ListSupportedTimezones *bool `type:"boolean"`
26483
26484	// An optional pagination token provided by a previous request. If this parameter
26485	// is specified, the response includes only records beyond the marker, up to
26486	// the value specified by MaxRecords.
26487	Marker *string `type:"string"`
26488
26489	// The maximum number of records to include in the response. If more than the
26490	// MaxRecords value is available, a pagination token called a marker is included
26491	// in the response so you can retrieve the remaining results.
26492	//
26493	// Default: 100
26494	//
26495	// Constraints: Minimum 20, maximum 100.
26496	MaxRecords *int64 `type:"integer"`
26497}
26498
26499// String returns the string representation
26500func (s DescribeDBEngineVersionsInput) String() string {
26501	return awsutil.Prettify(s)
26502}
26503
26504// GoString returns the string representation
26505func (s DescribeDBEngineVersionsInput) GoString() string {
26506	return s.String()
26507}
26508
26509// Validate inspects the fields of the type to determine if they are valid.
26510func (s *DescribeDBEngineVersionsInput) Validate() error {
26511	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
26512	if s.Filters != nil {
26513		for i, v := range s.Filters {
26514			if v == nil {
26515				continue
26516			}
26517			if err := v.Validate(); err != nil {
26518				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26519			}
26520		}
26521	}
26522
26523	if invalidParams.Len() > 0 {
26524		return invalidParams
26525	}
26526	return nil
26527}
26528
26529// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
26530func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
26531	s.DBParameterGroupFamily = &v
26532	return s
26533}
26534
26535// SetDefaultOnly sets the DefaultOnly field's value.
26536func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
26537	s.DefaultOnly = &v
26538	return s
26539}
26540
26541// SetEngine sets the Engine field's value.
26542func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
26543	s.Engine = &v
26544	return s
26545}
26546
26547// SetEngineVersion sets the EngineVersion field's value.
26548func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
26549	s.EngineVersion = &v
26550	return s
26551}
26552
26553// SetFilters sets the Filters field's value.
26554func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
26555	s.Filters = v
26556	return s
26557}
26558
26559// SetIncludeAll sets the IncludeAll field's value.
26560func (s *DescribeDBEngineVersionsInput) SetIncludeAll(v bool) *DescribeDBEngineVersionsInput {
26561	s.IncludeAll = &v
26562	return s
26563}
26564
26565// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
26566func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
26567	s.ListSupportedCharacterSets = &v
26568	return s
26569}
26570
26571// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
26572func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
26573	s.ListSupportedTimezones = &v
26574	return s
26575}
26576
26577// SetMarker sets the Marker field's value.
26578func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
26579	s.Marker = &v
26580	return s
26581}
26582
26583// SetMaxRecords sets the MaxRecords field's value.
26584func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
26585	s.MaxRecords = &v
26586	return s
26587}
26588
26589// Contains the result of a successful invocation of the DescribeDBEngineVersions
26590// action.
26591type DescribeDBEngineVersionsOutput struct {
26592	_ struct{} `type:"structure"`
26593
26594	// A list of DBEngineVersion elements.
26595	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
26596
26597	// An optional pagination token provided by a previous request. If this parameter
26598	// is specified, the response includes only records beyond the marker, up to
26599	// the value specified by MaxRecords.
26600	Marker *string `type:"string"`
26601}
26602
26603// String returns the string representation
26604func (s DescribeDBEngineVersionsOutput) String() string {
26605	return awsutil.Prettify(s)
26606}
26607
26608// GoString returns the string representation
26609func (s DescribeDBEngineVersionsOutput) GoString() string {
26610	return s.String()
26611}
26612
26613// SetDBEngineVersions sets the DBEngineVersions field's value.
26614func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
26615	s.DBEngineVersions = v
26616	return s
26617}
26618
26619// SetMarker sets the Marker field's value.
26620func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
26621	s.Marker = &v
26622	return s
26623}
26624
26625// Parameter input for DescribeDBInstanceAutomatedBackups.
26626type DescribeDBInstanceAutomatedBackupsInput struct {
26627	_ struct{} `type:"structure"`
26628
26629	// (Optional) The user-supplied instance identifier. If this parameter is specified,
26630	// it must match the identifier of an existing DB instance. It returns information
26631	// from the specific DB instance' automated backup. This parameter isn't case-sensitive.
26632	DBInstanceIdentifier *string `type:"string"`
26633
26634	// The resource ID of the DB instance that is the source of the automated backup.
26635	// This parameter isn't case-sensitive.
26636	DbiResourceId *string `type:"string"`
26637
26638	// A filter that specifies which resources to return based on status.
26639	//
26640	// Supported filters are the following:
26641	//
26642	//    * status active - automated backups for current instances retained - automated
26643	//    backups for deleted instances creating - automated backups that are waiting
26644	//    for the first automated snapshot to be available
26645	//
26646	//    * db-instance-id - Accepts DB instance identifiers and Amazon Resource
26647	//    Names (ARNs) for DB instances. The results list includes only information
26648	//    about the DB instance automated backupss identified by these ARNs.
26649	//
26650	//    * dbi-resource-id - Accepts DB instance resource identifiers and DB Amazon
26651	//    Resource Names (ARNs) for DB instances. The results list includes only
26652	//    information about the DB instance resources identified by these ARNs.
26653	//
26654	// Returns all resources by default. The status for each resource is specified
26655	// in the response.
26656	Filters []*Filter `locationNameList:"Filter" type:"list"`
26657
26658	// The pagination token provided in the previous request. If this parameter
26659	// is specified the response includes only records beyond the marker, up to
26660	// MaxRecords.
26661	Marker *string `type:"string"`
26662
26663	// The maximum number of records to include in the response. If more records
26664	// exist than the specified MaxRecords value, a pagination token called a marker
26665	// is included in the response so that you can retrieve the remaining results.
26666	MaxRecords *int64 `type:"integer"`
26667}
26668
26669// String returns the string representation
26670func (s DescribeDBInstanceAutomatedBackupsInput) String() string {
26671	return awsutil.Prettify(s)
26672}
26673
26674// GoString returns the string representation
26675func (s DescribeDBInstanceAutomatedBackupsInput) GoString() string {
26676	return s.String()
26677}
26678
26679// Validate inspects the fields of the type to determine if they are valid.
26680func (s *DescribeDBInstanceAutomatedBackupsInput) Validate() error {
26681	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstanceAutomatedBackupsInput"}
26682	if s.Filters != nil {
26683		for i, v := range s.Filters {
26684			if v == nil {
26685				continue
26686			}
26687			if err := v.Validate(); err != nil {
26688				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26689			}
26690		}
26691	}
26692
26693	if invalidParams.Len() > 0 {
26694		return invalidParams
26695	}
26696	return nil
26697}
26698
26699// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
26700func (s *DescribeDBInstanceAutomatedBackupsInput) SetDBInstanceIdentifier(v string) *DescribeDBInstanceAutomatedBackupsInput {
26701	s.DBInstanceIdentifier = &v
26702	return s
26703}
26704
26705// SetDbiResourceId sets the DbiResourceId field's value.
26706func (s *DescribeDBInstanceAutomatedBackupsInput) SetDbiResourceId(v string) *DescribeDBInstanceAutomatedBackupsInput {
26707	s.DbiResourceId = &v
26708	return s
26709}
26710
26711// SetFilters sets the Filters field's value.
26712func (s *DescribeDBInstanceAutomatedBackupsInput) SetFilters(v []*Filter) *DescribeDBInstanceAutomatedBackupsInput {
26713	s.Filters = v
26714	return s
26715}
26716
26717// SetMarker sets the Marker field's value.
26718func (s *DescribeDBInstanceAutomatedBackupsInput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsInput {
26719	s.Marker = &v
26720	return s
26721}
26722
26723// SetMaxRecords sets the MaxRecords field's value.
26724func (s *DescribeDBInstanceAutomatedBackupsInput) SetMaxRecords(v int64) *DescribeDBInstanceAutomatedBackupsInput {
26725	s.MaxRecords = &v
26726	return s
26727}
26728
26729// Contains the result of a successful invocation of the DescribeDBInstanceAutomatedBackups
26730// action.
26731type DescribeDBInstanceAutomatedBackupsOutput struct {
26732	_ struct{} `type:"structure"`
26733
26734	// A list of DBInstanceAutomatedBackup instances.
26735	DBInstanceAutomatedBackups []*DBInstanceAutomatedBackup `locationNameList:"DBInstanceAutomatedBackup" type:"list"`
26736
26737	// An optional pagination token provided by a previous request. If this parameter
26738	// is specified, the response includes only records beyond the marker, up to
26739	// the value specified by MaxRecords .
26740	Marker *string `type:"string"`
26741}
26742
26743// String returns the string representation
26744func (s DescribeDBInstanceAutomatedBackupsOutput) String() string {
26745	return awsutil.Prettify(s)
26746}
26747
26748// GoString returns the string representation
26749func (s DescribeDBInstanceAutomatedBackupsOutput) GoString() string {
26750	return s.String()
26751}
26752
26753// SetDBInstanceAutomatedBackups sets the DBInstanceAutomatedBackups field's value.
26754func (s *DescribeDBInstanceAutomatedBackupsOutput) SetDBInstanceAutomatedBackups(v []*DBInstanceAutomatedBackup) *DescribeDBInstanceAutomatedBackupsOutput {
26755	s.DBInstanceAutomatedBackups = v
26756	return s
26757}
26758
26759// SetMarker sets the Marker field's value.
26760func (s *DescribeDBInstanceAutomatedBackupsOutput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsOutput {
26761	s.Marker = &v
26762	return s
26763}
26764
26765type DescribeDBInstancesInput struct {
26766	_ struct{} `type:"structure"`
26767
26768	// The user-supplied instance identifier. If this parameter is specified, information
26769	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
26770	//
26771	// Constraints:
26772	//
26773	//    * If supplied, must match the identifier of an existing DBInstance.
26774	DBInstanceIdentifier *string `type:"string"`
26775
26776	// A filter that specifies one or more DB instances to describe.
26777	//
26778	// Supported filters:
26779	//
26780	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
26781	//    Resource Names (ARNs). The results list will only include information
26782	//    about the DB instances associated with the DB clusters identified by these
26783	//    ARNs.
26784	//
26785	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
26786	//    Resource Names (ARNs). The results list will only include information
26787	//    about the DB instances identified by these ARNs.
26788	//
26789	//    * dbi-resource-id - Accepts DB instance resource identifiers. The results
26790	//    list will only include information about the DB instances identified by
26791	//    these DB instance resource identifiers.
26792	//
26793	//    * domain - Accepts Active Directory directory IDs. The results list will
26794	//    only include information about the DB instances associated with these
26795	//    domains.
26796	//
26797	//    * engine - Accepts engine names. The results list will only include information
26798	//    about the DB instances for these engines.
26799	Filters []*Filter `locationNameList:"Filter" type:"list"`
26800
26801	// An optional pagination token provided by a previous DescribeDBInstances request.
26802	// If this parameter is specified, the response includes only records beyond
26803	// the marker, up to the value specified by MaxRecords.
26804	Marker *string `type:"string"`
26805
26806	// The maximum number of records to include in the response. If more records
26807	// exist than the specified MaxRecords value, a pagination token called a marker
26808	// is included in the response so that you can retrieve the remaining results.
26809	//
26810	// Default: 100
26811	//
26812	// Constraints: Minimum 20, maximum 100.
26813	MaxRecords *int64 `type:"integer"`
26814}
26815
26816// String returns the string representation
26817func (s DescribeDBInstancesInput) String() string {
26818	return awsutil.Prettify(s)
26819}
26820
26821// GoString returns the string representation
26822func (s DescribeDBInstancesInput) GoString() string {
26823	return s.String()
26824}
26825
26826// Validate inspects the fields of the type to determine if they are valid.
26827func (s *DescribeDBInstancesInput) Validate() error {
26828	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
26829	if s.Filters != nil {
26830		for i, v := range s.Filters {
26831			if v == nil {
26832				continue
26833			}
26834			if err := v.Validate(); err != nil {
26835				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26836			}
26837		}
26838	}
26839
26840	if invalidParams.Len() > 0 {
26841		return invalidParams
26842	}
26843	return nil
26844}
26845
26846// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
26847func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
26848	s.DBInstanceIdentifier = &v
26849	return s
26850}
26851
26852// SetFilters sets the Filters field's value.
26853func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
26854	s.Filters = v
26855	return s
26856}
26857
26858// SetMarker sets the Marker field's value.
26859func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
26860	s.Marker = &v
26861	return s
26862}
26863
26864// SetMaxRecords sets the MaxRecords field's value.
26865func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
26866	s.MaxRecords = &v
26867	return s
26868}
26869
26870// Contains the result of a successful invocation of the DescribeDBInstances
26871// action.
26872type DescribeDBInstancesOutput struct {
26873	_ struct{} `type:"structure"`
26874
26875	// A list of DBInstance instances.
26876	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
26877
26878	// An optional pagination token provided by a previous request. If this parameter
26879	// is specified, the response includes only records beyond the marker, up to
26880	// the value specified by MaxRecords .
26881	Marker *string `type:"string"`
26882}
26883
26884// String returns the string representation
26885func (s DescribeDBInstancesOutput) String() string {
26886	return awsutil.Prettify(s)
26887}
26888
26889// GoString returns the string representation
26890func (s DescribeDBInstancesOutput) GoString() string {
26891	return s.String()
26892}
26893
26894// SetDBInstances sets the DBInstances field's value.
26895func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
26896	s.DBInstances = v
26897	return s
26898}
26899
26900// SetMarker sets the Marker field's value.
26901func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
26902	s.Marker = &v
26903	return s
26904}
26905
26906// This data type is used as a response element to DescribeDBLogFiles.
26907type DescribeDBLogFilesDetails struct {
26908	_ struct{} `type:"structure"`
26909
26910	// A POSIX timestamp when the last log entry was written.
26911	LastWritten *int64 `type:"long"`
26912
26913	// The name of the log file for the specified DB instance.
26914	LogFileName *string `type:"string"`
26915
26916	// The size, in bytes, of the log file for the specified DB instance.
26917	Size *int64 `type:"long"`
26918}
26919
26920// String returns the string representation
26921func (s DescribeDBLogFilesDetails) String() string {
26922	return awsutil.Prettify(s)
26923}
26924
26925// GoString returns the string representation
26926func (s DescribeDBLogFilesDetails) GoString() string {
26927	return s.String()
26928}
26929
26930// SetLastWritten sets the LastWritten field's value.
26931func (s *DescribeDBLogFilesDetails) SetLastWritten(v int64) *DescribeDBLogFilesDetails {
26932	s.LastWritten = &v
26933	return s
26934}
26935
26936// SetLogFileName sets the LogFileName field's value.
26937func (s *DescribeDBLogFilesDetails) SetLogFileName(v string) *DescribeDBLogFilesDetails {
26938	s.LogFileName = &v
26939	return s
26940}
26941
26942// SetSize sets the Size field's value.
26943func (s *DescribeDBLogFilesDetails) SetSize(v int64) *DescribeDBLogFilesDetails {
26944	s.Size = &v
26945	return s
26946}
26947
26948type DescribeDBLogFilesInput struct {
26949	_ struct{} `type:"structure"`
26950
26951	// The customer-assigned name of the DB instance that contains the log files
26952	// you want to list.
26953	//
26954	// Constraints:
26955	//
26956	//    * Must match the identifier of an existing DBInstance.
26957	//
26958	// DBInstanceIdentifier is a required field
26959	DBInstanceIdentifier *string `type:"string" required:"true"`
26960
26961	// Filters the available log files for files written since the specified date,
26962	// in POSIX timestamp format with milliseconds.
26963	FileLastWritten *int64 `type:"long"`
26964
26965	// Filters the available log files for files larger than the specified size.
26966	FileSize *int64 `type:"long"`
26967
26968	// Filters the available log files for log file names that contain the specified
26969	// string.
26970	FilenameContains *string `type:"string"`
26971
26972	// This parameter isn't currently supported.
26973	Filters []*Filter `locationNameList:"Filter" type:"list"`
26974
26975	// The pagination token provided in the previous request. If this parameter
26976	// is specified the response includes only records beyond the marker, up to
26977	// MaxRecords.
26978	Marker *string `type:"string"`
26979
26980	// The maximum number of records to include in the response. If more records
26981	// exist than the specified MaxRecords value, a pagination token called a marker
26982	// is included in the response so you can retrieve the remaining results.
26983	MaxRecords *int64 `type:"integer"`
26984}
26985
26986// String returns the string representation
26987func (s DescribeDBLogFilesInput) String() string {
26988	return awsutil.Prettify(s)
26989}
26990
26991// GoString returns the string representation
26992func (s DescribeDBLogFilesInput) GoString() string {
26993	return s.String()
26994}
26995
26996// Validate inspects the fields of the type to determine if they are valid.
26997func (s *DescribeDBLogFilesInput) Validate() error {
26998	invalidParams := request.ErrInvalidParams{Context: "DescribeDBLogFilesInput"}
26999	if s.DBInstanceIdentifier == nil {
27000		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
27001	}
27002	if s.Filters != nil {
27003		for i, v := range s.Filters {
27004			if v == nil {
27005				continue
27006			}
27007			if err := v.Validate(); err != nil {
27008				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27009			}
27010		}
27011	}
27012
27013	if invalidParams.Len() > 0 {
27014		return invalidParams
27015	}
27016	return nil
27017}
27018
27019// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
27020func (s *DescribeDBLogFilesInput) SetDBInstanceIdentifier(v string) *DescribeDBLogFilesInput {
27021	s.DBInstanceIdentifier = &v
27022	return s
27023}
27024
27025// SetFileLastWritten sets the FileLastWritten field's value.
27026func (s *DescribeDBLogFilesInput) SetFileLastWritten(v int64) *DescribeDBLogFilesInput {
27027	s.FileLastWritten = &v
27028	return s
27029}
27030
27031// SetFileSize sets the FileSize field's value.
27032func (s *DescribeDBLogFilesInput) SetFileSize(v int64) *DescribeDBLogFilesInput {
27033	s.FileSize = &v
27034	return s
27035}
27036
27037// SetFilenameContains sets the FilenameContains field's value.
27038func (s *DescribeDBLogFilesInput) SetFilenameContains(v string) *DescribeDBLogFilesInput {
27039	s.FilenameContains = &v
27040	return s
27041}
27042
27043// SetFilters sets the Filters field's value.
27044func (s *DescribeDBLogFilesInput) SetFilters(v []*Filter) *DescribeDBLogFilesInput {
27045	s.Filters = v
27046	return s
27047}
27048
27049// SetMarker sets the Marker field's value.
27050func (s *DescribeDBLogFilesInput) SetMarker(v string) *DescribeDBLogFilesInput {
27051	s.Marker = &v
27052	return s
27053}
27054
27055// SetMaxRecords sets the MaxRecords field's value.
27056func (s *DescribeDBLogFilesInput) SetMaxRecords(v int64) *DescribeDBLogFilesInput {
27057	s.MaxRecords = &v
27058	return s
27059}
27060
27061// The response from a call to DescribeDBLogFiles.
27062type DescribeDBLogFilesOutput struct {
27063	_ struct{} `type:"structure"`
27064
27065	// The DB log files returned.
27066	DescribeDBLogFiles []*DescribeDBLogFilesDetails `locationNameList:"DescribeDBLogFilesDetails" type:"list"`
27067
27068	// A pagination token that can be used in a later DescribeDBLogFiles request.
27069	Marker *string `type:"string"`
27070}
27071
27072// String returns the string representation
27073func (s DescribeDBLogFilesOutput) String() string {
27074	return awsutil.Prettify(s)
27075}
27076
27077// GoString returns the string representation
27078func (s DescribeDBLogFilesOutput) GoString() string {
27079	return s.String()
27080}
27081
27082// SetDescribeDBLogFiles sets the DescribeDBLogFiles field's value.
27083func (s *DescribeDBLogFilesOutput) SetDescribeDBLogFiles(v []*DescribeDBLogFilesDetails) *DescribeDBLogFilesOutput {
27084	s.DescribeDBLogFiles = v
27085	return s
27086}
27087
27088// SetMarker sets the Marker field's value.
27089func (s *DescribeDBLogFilesOutput) SetMarker(v string) *DescribeDBLogFilesOutput {
27090	s.Marker = &v
27091	return s
27092}
27093
27094type DescribeDBParameterGroupsInput struct {
27095	_ struct{} `type:"structure"`
27096
27097	// The name of a specific DB parameter group to return details for.
27098	//
27099	// Constraints:
27100	//
27101	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
27102	DBParameterGroupName *string `type:"string"`
27103
27104	// This parameter isn't currently supported.
27105	Filters []*Filter `locationNameList:"Filter" type:"list"`
27106
27107	// An optional pagination token provided by a previous DescribeDBParameterGroups
27108	// request. If this parameter is specified, the response includes only records
27109	// beyond the marker, up to the value specified by MaxRecords.
27110	Marker *string `type:"string"`
27111
27112	// The maximum number of records to include in the response. If more records
27113	// exist than the specified MaxRecords value, a pagination token called a marker
27114	// is included in the response so that you can retrieve the remaining results.
27115	//
27116	// Default: 100
27117	//
27118	// Constraints: Minimum 20, maximum 100.
27119	MaxRecords *int64 `type:"integer"`
27120}
27121
27122// String returns the string representation
27123func (s DescribeDBParameterGroupsInput) String() string {
27124	return awsutil.Prettify(s)
27125}
27126
27127// GoString returns the string representation
27128func (s DescribeDBParameterGroupsInput) GoString() string {
27129	return s.String()
27130}
27131
27132// Validate inspects the fields of the type to determine if they are valid.
27133func (s *DescribeDBParameterGroupsInput) Validate() error {
27134	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
27135	if s.Filters != nil {
27136		for i, v := range s.Filters {
27137			if v == nil {
27138				continue
27139			}
27140			if err := v.Validate(); err != nil {
27141				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27142			}
27143		}
27144	}
27145
27146	if invalidParams.Len() > 0 {
27147		return invalidParams
27148	}
27149	return nil
27150}
27151
27152// SetDBParameterGroupName sets the DBParameterGroupName field's value.
27153func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
27154	s.DBParameterGroupName = &v
27155	return s
27156}
27157
27158// SetFilters sets the Filters field's value.
27159func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
27160	s.Filters = v
27161	return s
27162}
27163
27164// SetMarker sets the Marker field's value.
27165func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
27166	s.Marker = &v
27167	return s
27168}
27169
27170// SetMaxRecords sets the MaxRecords field's value.
27171func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
27172	s.MaxRecords = &v
27173	return s
27174}
27175
27176// Contains the result of a successful invocation of the DescribeDBParameterGroups
27177// action.
27178type DescribeDBParameterGroupsOutput struct {
27179	_ struct{} `type:"structure"`
27180
27181	// A list of DBParameterGroup instances.
27182	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
27183
27184	// An optional pagination token provided by a previous request. If this parameter
27185	// is specified, the response includes only records beyond the marker, up to
27186	// the value specified by MaxRecords.
27187	Marker *string `type:"string"`
27188}
27189
27190// String returns the string representation
27191func (s DescribeDBParameterGroupsOutput) String() string {
27192	return awsutil.Prettify(s)
27193}
27194
27195// GoString returns the string representation
27196func (s DescribeDBParameterGroupsOutput) GoString() string {
27197	return s.String()
27198}
27199
27200// SetDBParameterGroups sets the DBParameterGroups field's value.
27201func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
27202	s.DBParameterGroups = v
27203	return s
27204}
27205
27206// SetMarker sets the Marker field's value.
27207func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
27208	s.Marker = &v
27209	return s
27210}
27211
27212type DescribeDBParametersInput struct {
27213	_ struct{} `type:"structure"`
27214
27215	// The name of a specific DB parameter group to return details for.
27216	//
27217	// Constraints:
27218	//
27219	//    * If supplied, must match the name of an existing DBParameterGroup.
27220	//
27221	// DBParameterGroupName is a required field
27222	DBParameterGroupName *string `type:"string" required:"true"`
27223
27224	// This parameter isn't currently supported.
27225	Filters []*Filter `locationNameList:"Filter" type:"list"`
27226
27227	// An optional pagination token provided by a previous DescribeDBParameters
27228	// request. If this parameter is specified, the response includes only records
27229	// beyond the marker, up to the value specified by MaxRecords.
27230	Marker *string `type:"string"`
27231
27232	// The maximum number of records to include in the response. If more records
27233	// exist than the specified MaxRecords value, a pagination token called a marker
27234	// is included in the response so that you can retrieve the remaining results.
27235	//
27236	// Default: 100
27237	//
27238	// Constraints: Minimum 20, maximum 100.
27239	MaxRecords *int64 `type:"integer"`
27240
27241	// The parameter types to return.
27242	//
27243	// Default: All parameter types returned
27244	//
27245	// Valid Values: user | system | engine-default
27246	Source *string `type:"string"`
27247}
27248
27249// String returns the string representation
27250func (s DescribeDBParametersInput) String() string {
27251	return awsutil.Prettify(s)
27252}
27253
27254// GoString returns the string representation
27255func (s DescribeDBParametersInput) GoString() string {
27256	return s.String()
27257}
27258
27259// Validate inspects the fields of the type to determine if they are valid.
27260func (s *DescribeDBParametersInput) Validate() error {
27261	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
27262	if s.DBParameterGroupName == nil {
27263		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
27264	}
27265	if s.Filters != nil {
27266		for i, v := range s.Filters {
27267			if v == nil {
27268				continue
27269			}
27270			if err := v.Validate(); err != nil {
27271				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27272			}
27273		}
27274	}
27275
27276	if invalidParams.Len() > 0 {
27277		return invalidParams
27278	}
27279	return nil
27280}
27281
27282// SetDBParameterGroupName sets the DBParameterGroupName field's value.
27283func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
27284	s.DBParameterGroupName = &v
27285	return s
27286}
27287
27288// SetFilters sets the Filters field's value.
27289func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
27290	s.Filters = v
27291	return s
27292}
27293
27294// SetMarker sets the Marker field's value.
27295func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
27296	s.Marker = &v
27297	return s
27298}
27299
27300// SetMaxRecords sets the MaxRecords field's value.
27301func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
27302	s.MaxRecords = &v
27303	return s
27304}
27305
27306// SetSource sets the Source field's value.
27307func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
27308	s.Source = &v
27309	return s
27310}
27311
27312// Contains the result of a successful invocation of the DescribeDBParameters
27313// action.
27314type DescribeDBParametersOutput struct {
27315	_ struct{} `type:"structure"`
27316
27317	// An optional pagination token provided by a previous request. If this parameter
27318	// is specified, the response includes only records beyond the marker, up to
27319	// the value specified by MaxRecords.
27320	Marker *string `type:"string"`
27321
27322	// A list of Parameter values.
27323	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
27324}
27325
27326// String returns the string representation
27327func (s DescribeDBParametersOutput) String() string {
27328	return awsutil.Prettify(s)
27329}
27330
27331// GoString returns the string representation
27332func (s DescribeDBParametersOutput) GoString() string {
27333	return s.String()
27334}
27335
27336// SetMarker sets the Marker field's value.
27337func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
27338	s.Marker = &v
27339	return s
27340}
27341
27342// SetParameters sets the Parameters field's value.
27343func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
27344	s.Parameters = v
27345	return s
27346}
27347
27348type DescribeDBProxiesInput struct {
27349	_ struct{} `type:"structure"`
27350
27351	// The name of the DB proxy.
27352	DBProxyName *string `type:"string"`
27353
27354	// This parameter is not currently supported.
27355	Filters []*Filter `locationNameList:"Filter" type:"list"`
27356
27357	// An optional pagination token provided by a previous request. If this parameter
27358	// is specified, the response includes only records beyond the marker, up to
27359	// the value specified by MaxRecords.
27360	Marker *string `type:"string"`
27361
27362	// The maximum number of records to include in the response. If more records
27363	// exist than the specified MaxRecords value, a pagination token called a marker
27364	// is included in the response so that the remaining results can be retrieved.
27365	//
27366	// Default: 100
27367	//
27368	// Constraints: Minimum 20, maximum 100.
27369	MaxRecords *int64 `min:"20" type:"integer"`
27370}
27371
27372// String returns the string representation
27373func (s DescribeDBProxiesInput) String() string {
27374	return awsutil.Prettify(s)
27375}
27376
27377// GoString returns the string representation
27378func (s DescribeDBProxiesInput) GoString() string {
27379	return s.String()
27380}
27381
27382// Validate inspects the fields of the type to determine if they are valid.
27383func (s *DescribeDBProxiesInput) Validate() error {
27384	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxiesInput"}
27385	if s.MaxRecords != nil && *s.MaxRecords < 20 {
27386		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
27387	}
27388	if s.Filters != nil {
27389		for i, v := range s.Filters {
27390			if v == nil {
27391				continue
27392			}
27393			if err := v.Validate(); err != nil {
27394				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27395			}
27396		}
27397	}
27398
27399	if invalidParams.Len() > 0 {
27400		return invalidParams
27401	}
27402	return nil
27403}
27404
27405// SetDBProxyName sets the DBProxyName field's value.
27406func (s *DescribeDBProxiesInput) SetDBProxyName(v string) *DescribeDBProxiesInput {
27407	s.DBProxyName = &v
27408	return s
27409}
27410
27411// SetFilters sets the Filters field's value.
27412func (s *DescribeDBProxiesInput) SetFilters(v []*Filter) *DescribeDBProxiesInput {
27413	s.Filters = v
27414	return s
27415}
27416
27417// SetMarker sets the Marker field's value.
27418func (s *DescribeDBProxiesInput) SetMarker(v string) *DescribeDBProxiesInput {
27419	s.Marker = &v
27420	return s
27421}
27422
27423// SetMaxRecords sets the MaxRecords field's value.
27424func (s *DescribeDBProxiesInput) SetMaxRecords(v int64) *DescribeDBProxiesInput {
27425	s.MaxRecords = &v
27426	return s
27427}
27428
27429type DescribeDBProxiesOutput struct {
27430	_ struct{} `type:"structure"`
27431
27432	// A return value representing an arbitrary number of DBProxy data structures.
27433	DBProxies []*DBProxy `type:"list"`
27434
27435	// An optional pagination token provided by a previous request. If this parameter
27436	// is specified, the response includes only records beyond the marker, up to
27437	// the value specified by MaxRecords.
27438	Marker *string `type:"string"`
27439}
27440
27441// String returns the string representation
27442func (s DescribeDBProxiesOutput) String() string {
27443	return awsutil.Prettify(s)
27444}
27445
27446// GoString returns the string representation
27447func (s DescribeDBProxiesOutput) GoString() string {
27448	return s.String()
27449}
27450
27451// SetDBProxies sets the DBProxies field's value.
27452func (s *DescribeDBProxiesOutput) SetDBProxies(v []*DBProxy) *DescribeDBProxiesOutput {
27453	s.DBProxies = v
27454	return s
27455}
27456
27457// SetMarker sets the Marker field's value.
27458func (s *DescribeDBProxiesOutput) SetMarker(v string) *DescribeDBProxiesOutput {
27459	s.Marker = &v
27460	return s
27461}
27462
27463type DescribeDBProxyTargetGroupsInput struct {
27464	_ struct{} `type:"structure"`
27465
27466	// The identifier of the DBProxy associated with the target group.
27467	//
27468	// DBProxyName is a required field
27469	DBProxyName *string `type:"string" required:"true"`
27470
27471	// This parameter is not currently supported.
27472	Filters []*Filter `locationNameList:"Filter" type:"list"`
27473
27474	// An optional pagination token provided by a previous request. If this parameter
27475	// is specified, the response includes only records beyond the marker, up to
27476	// the value specified by MaxRecords.
27477	Marker *string `type:"string"`
27478
27479	// The maximum number of records to include in the response. If more records
27480	// exist than the specified MaxRecords value, a pagination token called a marker
27481	// is included in the response so that the remaining results can be retrieved.
27482	//
27483	// Default: 100
27484	//
27485	// Constraints: Minimum 20, maximum 100.
27486	MaxRecords *int64 `min:"20" type:"integer"`
27487
27488	// The identifier of the DBProxyTargetGroup to describe.
27489	TargetGroupName *string `type:"string"`
27490}
27491
27492// String returns the string representation
27493func (s DescribeDBProxyTargetGroupsInput) String() string {
27494	return awsutil.Prettify(s)
27495}
27496
27497// GoString returns the string representation
27498func (s DescribeDBProxyTargetGroupsInput) GoString() string {
27499	return s.String()
27500}
27501
27502// Validate inspects the fields of the type to determine if they are valid.
27503func (s *DescribeDBProxyTargetGroupsInput) Validate() error {
27504	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetGroupsInput"}
27505	if s.DBProxyName == nil {
27506		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
27507	}
27508	if s.MaxRecords != nil && *s.MaxRecords < 20 {
27509		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
27510	}
27511	if s.Filters != nil {
27512		for i, v := range s.Filters {
27513			if v == nil {
27514				continue
27515			}
27516			if err := v.Validate(); err != nil {
27517				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27518			}
27519		}
27520	}
27521
27522	if invalidParams.Len() > 0 {
27523		return invalidParams
27524	}
27525	return nil
27526}
27527
27528// SetDBProxyName sets the DBProxyName field's value.
27529func (s *DescribeDBProxyTargetGroupsInput) SetDBProxyName(v string) *DescribeDBProxyTargetGroupsInput {
27530	s.DBProxyName = &v
27531	return s
27532}
27533
27534// SetFilters sets the Filters field's value.
27535func (s *DescribeDBProxyTargetGroupsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetGroupsInput {
27536	s.Filters = v
27537	return s
27538}
27539
27540// SetMarker sets the Marker field's value.
27541func (s *DescribeDBProxyTargetGroupsInput) SetMarker(v string) *DescribeDBProxyTargetGroupsInput {
27542	s.Marker = &v
27543	return s
27544}
27545
27546// SetMaxRecords sets the MaxRecords field's value.
27547func (s *DescribeDBProxyTargetGroupsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetGroupsInput {
27548	s.MaxRecords = &v
27549	return s
27550}
27551
27552// SetTargetGroupName sets the TargetGroupName field's value.
27553func (s *DescribeDBProxyTargetGroupsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetGroupsInput {
27554	s.TargetGroupName = &v
27555	return s
27556}
27557
27558type DescribeDBProxyTargetGroupsOutput struct {
27559	_ struct{} `type:"structure"`
27560
27561	// An optional pagination token provided by a previous request. If this parameter
27562	// is specified, the response includes only records beyond the marker, up to
27563	// the value specified by MaxRecords.
27564	Marker *string `type:"string"`
27565
27566	// An arbitrary number of DBProxyTargetGroup objects, containing details of
27567	// the corresponding target groups.
27568	TargetGroups []*DBProxyTargetGroup `type:"list"`
27569}
27570
27571// String returns the string representation
27572func (s DescribeDBProxyTargetGroupsOutput) String() string {
27573	return awsutil.Prettify(s)
27574}
27575
27576// GoString returns the string representation
27577func (s DescribeDBProxyTargetGroupsOutput) GoString() string {
27578	return s.String()
27579}
27580
27581// SetMarker sets the Marker field's value.
27582func (s *DescribeDBProxyTargetGroupsOutput) SetMarker(v string) *DescribeDBProxyTargetGroupsOutput {
27583	s.Marker = &v
27584	return s
27585}
27586
27587// SetTargetGroups sets the TargetGroups field's value.
27588func (s *DescribeDBProxyTargetGroupsOutput) SetTargetGroups(v []*DBProxyTargetGroup) *DescribeDBProxyTargetGroupsOutput {
27589	s.TargetGroups = v
27590	return s
27591}
27592
27593type DescribeDBProxyTargetsInput struct {
27594	_ struct{} `type:"structure"`
27595
27596	// The identifier of the DBProxyTarget to describe.
27597	//
27598	// DBProxyName is a required field
27599	DBProxyName *string `type:"string" required:"true"`
27600
27601	// This parameter is not currently supported.
27602	Filters []*Filter `locationNameList:"Filter" type:"list"`
27603
27604	// An optional pagination token provided by a previous request. If this parameter
27605	// is specified, the response includes only records beyond the marker, up to
27606	// the value specified by MaxRecords.
27607	Marker *string `type:"string"`
27608
27609	// The maximum number of records to include in the response. If more records
27610	// exist than the specified MaxRecords value, a pagination token called a marker
27611	// is included in the response so that the remaining results can be retrieved.
27612	//
27613	// Default: 100
27614	//
27615	// Constraints: Minimum 20, maximum 100.
27616	MaxRecords *int64 `min:"20" type:"integer"`
27617
27618	// The identifier of the DBProxyTargetGroup to describe.
27619	TargetGroupName *string `type:"string"`
27620}
27621
27622// String returns the string representation
27623func (s DescribeDBProxyTargetsInput) String() string {
27624	return awsutil.Prettify(s)
27625}
27626
27627// GoString returns the string representation
27628func (s DescribeDBProxyTargetsInput) GoString() string {
27629	return s.String()
27630}
27631
27632// Validate inspects the fields of the type to determine if they are valid.
27633func (s *DescribeDBProxyTargetsInput) Validate() error {
27634	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetsInput"}
27635	if s.DBProxyName == nil {
27636		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
27637	}
27638	if s.MaxRecords != nil && *s.MaxRecords < 20 {
27639		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
27640	}
27641	if s.Filters != nil {
27642		for i, v := range s.Filters {
27643			if v == nil {
27644				continue
27645			}
27646			if err := v.Validate(); err != nil {
27647				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27648			}
27649		}
27650	}
27651
27652	if invalidParams.Len() > 0 {
27653		return invalidParams
27654	}
27655	return nil
27656}
27657
27658// SetDBProxyName sets the DBProxyName field's value.
27659func (s *DescribeDBProxyTargetsInput) SetDBProxyName(v string) *DescribeDBProxyTargetsInput {
27660	s.DBProxyName = &v
27661	return s
27662}
27663
27664// SetFilters sets the Filters field's value.
27665func (s *DescribeDBProxyTargetsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetsInput {
27666	s.Filters = v
27667	return s
27668}
27669
27670// SetMarker sets the Marker field's value.
27671func (s *DescribeDBProxyTargetsInput) SetMarker(v string) *DescribeDBProxyTargetsInput {
27672	s.Marker = &v
27673	return s
27674}
27675
27676// SetMaxRecords sets the MaxRecords field's value.
27677func (s *DescribeDBProxyTargetsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetsInput {
27678	s.MaxRecords = &v
27679	return s
27680}
27681
27682// SetTargetGroupName sets the TargetGroupName field's value.
27683func (s *DescribeDBProxyTargetsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetsInput {
27684	s.TargetGroupName = &v
27685	return s
27686}
27687
27688type DescribeDBProxyTargetsOutput struct {
27689	_ struct{} `type:"structure"`
27690
27691	// An optional pagination token provided by a previous request. If this parameter
27692	// is specified, the response includes only records beyond the marker, up to
27693	// the value specified by MaxRecords.
27694	Marker *string `type:"string"`
27695
27696	// An arbitrary number of DBProxyTarget objects, containing details of the corresponding
27697	// targets.
27698	Targets []*DBProxyTarget `type:"list"`
27699}
27700
27701// String returns the string representation
27702func (s DescribeDBProxyTargetsOutput) String() string {
27703	return awsutil.Prettify(s)
27704}
27705
27706// GoString returns the string representation
27707func (s DescribeDBProxyTargetsOutput) GoString() string {
27708	return s.String()
27709}
27710
27711// SetMarker sets the Marker field's value.
27712func (s *DescribeDBProxyTargetsOutput) SetMarker(v string) *DescribeDBProxyTargetsOutput {
27713	s.Marker = &v
27714	return s
27715}
27716
27717// SetTargets sets the Targets field's value.
27718func (s *DescribeDBProxyTargetsOutput) SetTargets(v []*DBProxyTarget) *DescribeDBProxyTargetsOutput {
27719	s.Targets = v
27720	return s
27721}
27722
27723type DescribeDBSecurityGroupsInput struct {
27724	_ struct{} `type:"structure"`
27725
27726	// The name of the DB security group to return details for.
27727	DBSecurityGroupName *string `type:"string"`
27728
27729	// This parameter isn't currently supported.
27730	Filters []*Filter `locationNameList:"Filter" type:"list"`
27731
27732	// An optional pagination token provided by a previous DescribeDBSecurityGroups
27733	// request. If this parameter is specified, the response includes only records
27734	// beyond the marker, up to the value specified by MaxRecords.
27735	Marker *string `type:"string"`
27736
27737	// The maximum number of records to include in the response. If more records
27738	// exist than the specified MaxRecords value, a pagination token called a marker
27739	// is included in the response so that you can retrieve the remaining results.
27740	//
27741	// Default: 100
27742	//
27743	// Constraints: Minimum 20, maximum 100.
27744	MaxRecords *int64 `type:"integer"`
27745}
27746
27747// String returns the string representation
27748func (s DescribeDBSecurityGroupsInput) String() string {
27749	return awsutil.Prettify(s)
27750}
27751
27752// GoString returns the string representation
27753func (s DescribeDBSecurityGroupsInput) GoString() string {
27754	return s.String()
27755}
27756
27757// Validate inspects the fields of the type to determine if they are valid.
27758func (s *DescribeDBSecurityGroupsInput) Validate() error {
27759	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSecurityGroupsInput"}
27760	if s.Filters != nil {
27761		for i, v := range s.Filters {
27762			if v == nil {
27763				continue
27764			}
27765			if err := v.Validate(); err != nil {
27766				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27767			}
27768		}
27769	}
27770
27771	if invalidParams.Len() > 0 {
27772		return invalidParams
27773	}
27774	return nil
27775}
27776
27777// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
27778func (s *DescribeDBSecurityGroupsInput) SetDBSecurityGroupName(v string) *DescribeDBSecurityGroupsInput {
27779	s.DBSecurityGroupName = &v
27780	return s
27781}
27782
27783// SetFilters sets the Filters field's value.
27784func (s *DescribeDBSecurityGroupsInput) SetFilters(v []*Filter) *DescribeDBSecurityGroupsInput {
27785	s.Filters = v
27786	return s
27787}
27788
27789// SetMarker sets the Marker field's value.
27790func (s *DescribeDBSecurityGroupsInput) SetMarker(v string) *DescribeDBSecurityGroupsInput {
27791	s.Marker = &v
27792	return s
27793}
27794
27795// SetMaxRecords sets the MaxRecords field's value.
27796func (s *DescribeDBSecurityGroupsInput) SetMaxRecords(v int64) *DescribeDBSecurityGroupsInput {
27797	s.MaxRecords = &v
27798	return s
27799}
27800
27801// Contains the result of a successful invocation of the DescribeDBSecurityGroups
27802// action.
27803type DescribeDBSecurityGroupsOutput struct {
27804	_ struct{} `type:"structure"`
27805
27806	// A list of DBSecurityGroup instances.
27807	DBSecurityGroups []*DBSecurityGroup `locationNameList:"DBSecurityGroup" type:"list"`
27808
27809	// An optional pagination token provided by a previous request. If this parameter
27810	// is specified, the response includes only records beyond the marker, up to
27811	// the value specified by MaxRecords.
27812	Marker *string `type:"string"`
27813}
27814
27815// String returns the string representation
27816func (s DescribeDBSecurityGroupsOutput) String() string {
27817	return awsutil.Prettify(s)
27818}
27819
27820// GoString returns the string representation
27821func (s DescribeDBSecurityGroupsOutput) GoString() string {
27822	return s.String()
27823}
27824
27825// SetDBSecurityGroups sets the DBSecurityGroups field's value.
27826func (s *DescribeDBSecurityGroupsOutput) SetDBSecurityGroups(v []*DBSecurityGroup) *DescribeDBSecurityGroupsOutput {
27827	s.DBSecurityGroups = v
27828	return s
27829}
27830
27831// SetMarker sets the Marker field's value.
27832func (s *DescribeDBSecurityGroupsOutput) SetMarker(v string) *DescribeDBSecurityGroupsOutput {
27833	s.Marker = &v
27834	return s
27835}
27836
27837type DescribeDBSnapshotAttributesInput struct {
27838	_ struct{} `type:"structure"`
27839
27840	// The identifier for the DB snapshot to describe the attributes for.
27841	//
27842	// DBSnapshotIdentifier is a required field
27843	DBSnapshotIdentifier *string `type:"string" required:"true"`
27844}
27845
27846// String returns the string representation
27847func (s DescribeDBSnapshotAttributesInput) String() string {
27848	return awsutil.Prettify(s)
27849}
27850
27851// GoString returns the string representation
27852func (s DescribeDBSnapshotAttributesInput) GoString() string {
27853	return s.String()
27854}
27855
27856// Validate inspects the fields of the type to determine if they are valid.
27857func (s *DescribeDBSnapshotAttributesInput) Validate() error {
27858	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotAttributesInput"}
27859	if s.DBSnapshotIdentifier == nil {
27860		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
27861	}
27862
27863	if invalidParams.Len() > 0 {
27864		return invalidParams
27865	}
27866	return nil
27867}
27868
27869// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
27870func (s *DescribeDBSnapshotAttributesInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotAttributesInput {
27871	s.DBSnapshotIdentifier = &v
27872	return s
27873}
27874
27875type DescribeDBSnapshotAttributesOutput struct {
27876	_ struct{} `type:"structure"`
27877
27878	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
27879	// API action.
27880	//
27881	// Manual DB snapshot attributes are used to authorize other AWS accounts to
27882	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
27883	// API action.
27884	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
27885}
27886
27887// String returns the string representation
27888func (s DescribeDBSnapshotAttributesOutput) String() string {
27889	return awsutil.Prettify(s)
27890}
27891
27892// GoString returns the string representation
27893func (s DescribeDBSnapshotAttributesOutput) GoString() string {
27894	return s.String()
27895}
27896
27897// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
27898func (s *DescribeDBSnapshotAttributesOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *DescribeDBSnapshotAttributesOutput {
27899	s.DBSnapshotAttributesResult = v
27900	return s
27901}
27902
27903type DescribeDBSnapshotsInput struct {
27904	_ struct{} `type:"structure"`
27905
27906	// The ID of the DB instance to retrieve the list of DB snapshots for. This
27907	// parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter
27908	// isn't case-sensitive.
27909	//
27910	// Constraints:
27911	//
27912	//    * If supplied, must match the identifier of an existing DBInstance.
27913	DBInstanceIdentifier *string `type:"string"`
27914
27915	// A specific DB snapshot identifier to describe. This parameter can't be used
27916	// in conjunction with DBInstanceIdentifier. This value is stored as a lowercase
27917	// string.
27918	//
27919	// Constraints:
27920	//
27921	//    * If supplied, must match the identifier of an existing DBSnapshot.
27922	//
27923	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
27924	//    must also be specified.
27925	DBSnapshotIdentifier *string `type:"string"`
27926
27927	// A specific DB resource ID to describe.
27928	DbiResourceId *string `type:"string"`
27929
27930	// A filter that specifies one or more DB snapshots to describe.
27931	//
27932	// Supported filters:
27933	//
27934	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
27935	//    Resource Names (ARNs).
27936	//
27937	//    * db-snapshot-id - Accepts DB snapshot identifiers.
27938	//
27939	//    * dbi-resource-id - Accepts identifiers of source DB instances.
27940	//
27941	//    * snapshot-type - Accepts types of DB snapshots.
27942	//
27943	//    * engine - Accepts names of database engines.
27944	Filters []*Filter `locationNameList:"Filter" type:"list"`
27945
27946	// A value that indicates whether to include manual DB cluster snapshots that
27947	// are public and can be copied or restored by any AWS account. By default,
27948	// the public snapshots are not included.
27949	//
27950	// You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute
27951	// API.
27952	IncludePublic *bool `type:"boolean"`
27953
27954	// A value that indicates whether to include shared manual DB cluster snapshots
27955	// from other AWS accounts that this AWS account has been given permission to
27956	// copy or restore. By default, these snapshots are not included.
27957	//
27958	// You can give an AWS account permission to restore a manual DB snapshot from
27959	// another AWS account by using the ModifyDBSnapshotAttribute API action.
27960	IncludeShared *bool `type:"boolean"`
27961
27962	// An optional pagination token provided by a previous DescribeDBSnapshots request.
27963	// If this parameter is specified, the response includes only records beyond
27964	// the marker, up to the value specified by MaxRecords.
27965	Marker *string `type:"string"`
27966
27967	// The maximum number of records to include in the response. If more records
27968	// exist than the specified MaxRecords value, a pagination token called a marker
27969	// is included in the response so that you can retrieve the remaining results.
27970	//
27971	// Default: 100
27972	//
27973	// Constraints: Minimum 20, maximum 100.
27974	MaxRecords *int64 `type:"integer"`
27975
27976	// The type of snapshots to be returned. You can specify one of the following
27977	// values:
27978	//
27979	//    * automated - Return all DB snapshots that have been automatically taken
27980	//    by Amazon RDS for my AWS account.
27981	//
27982	//    * manual - Return all DB snapshots that have been taken by my AWS account.
27983	//
27984	//    * shared - Return all manual DB snapshots that have been shared to my
27985	//    AWS account.
27986	//
27987	//    * public - Return all DB snapshots that have been marked as public.
27988	//
27989	//    * awsbackup - Return the DB snapshots managed by the AWS Backup service.
27990	//    For information about AWS Backup, see the AWS Backup Developer Guide.
27991	//    (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)
27992	//    The awsbackup type does not apply to Aurora.
27993	//
27994	// If you don't specify a SnapshotType value, then both automated and manual
27995	// snapshots are returned. Shared and public DB snapshots are not included in
27996	// the returned results by default. You can include shared snapshots with these
27997	// results by enabling the IncludeShared parameter. You can include public snapshots
27998	// with these results by enabling the IncludePublic parameter.
27999	//
28000	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
28001	// values of manual or automated. The IncludePublic parameter doesn't apply
28002	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
28003	// when SnapshotType is set to public.
28004	SnapshotType *string `type:"string"`
28005}
28006
28007// String returns the string representation
28008func (s DescribeDBSnapshotsInput) String() string {
28009	return awsutil.Prettify(s)
28010}
28011
28012// GoString returns the string representation
28013func (s DescribeDBSnapshotsInput) GoString() string {
28014	return s.String()
28015}
28016
28017// Validate inspects the fields of the type to determine if they are valid.
28018func (s *DescribeDBSnapshotsInput) Validate() error {
28019	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotsInput"}
28020	if s.Filters != nil {
28021		for i, v := range s.Filters {
28022			if v == nil {
28023				continue
28024			}
28025			if err := v.Validate(); err != nil {
28026				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28027			}
28028		}
28029	}
28030
28031	if invalidParams.Len() > 0 {
28032		return invalidParams
28033	}
28034	return nil
28035}
28036
28037// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
28038func (s *DescribeDBSnapshotsInput) SetDBInstanceIdentifier(v string) *DescribeDBSnapshotsInput {
28039	s.DBInstanceIdentifier = &v
28040	return s
28041}
28042
28043// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
28044func (s *DescribeDBSnapshotsInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotsInput {
28045	s.DBSnapshotIdentifier = &v
28046	return s
28047}
28048
28049// SetDbiResourceId sets the DbiResourceId field's value.
28050func (s *DescribeDBSnapshotsInput) SetDbiResourceId(v string) *DescribeDBSnapshotsInput {
28051	s.DbiResourceId = &v
28052	return s
28053}
28054
28055// SetFilters sets the Filters field's value.
28056func (s *DescribeDBSnapshotsInput) SetFilters(v []*Filter) *DescribeDBSnapshotsInput {
28057	s.Filters = v
28058	return s
28059}
28060
28061// SetIncludePublic sets the IncludePublic field's value.
28062func (s *DescribeDBSnapshotsInput) SetIncludePublic(v bool) *DescribeDBSnapshotsInput {
28063	s.IncludePublic = &v
28064	return s
28065}
28066
28067// SetIncludeShared sets the IncludeShared field's value.
28068func (s *DescribeDBSnapshotsInput) SetIncludeShared(v bool) *DescribeDBSnapshotsInput {
28069	s.IncludeShared = &v
28070	return s
28071}
28072
28073// SetMarker sets the Marker field's value.
28074func (s *DescribeDBSnapshotsInput) SetMarker(v string) *DescribeDBSnapshotsInput {
28075	s.Marker = &v
28076	return s
28077}
28078
28079// SetMaxRecords sets the MaxRecords field's value.
28080func (s *DescribeDBSnapshotsInput) SetMaxRecords(v int64) *DescribeDBSnapshotsInput {
28081	s.MaxRecords = &v
28082	return s
28083}
28084
28085// SetSnapshotType sets the SnapshotType field's value.
28086func (s *DescribeDBSnapshotsInput) SetSnapshotType(v string) *DescribeDBSnapshotsInput {
28087	s.SnapshotType = &v
28088	return s
28089}
28090
28091// Contains the result of a successful invocation of the DescribeDBSnapshots
28092// action.
28093type DescribeDBSnapshotsOutput struct {
28094	_ struct{} `type:"structure"`
28095
28096	// A list of DBSnapshot instances.
28097	DBSnapshots []*DBSnapshot `locationNameList:"DBSnapshot" type:"list"`
28098
28099	// An optional pagination token provided by a previous request. If this parameter
28100	// is specified, the response includes only records beyond the marker, up to
28101	// the value specified by MaxRecords.
28102	Marker *string `type:"string"`
28103}
28104
28105// String returns the string representation
28106func (s DescribeDBSnapshotsOutput) String() string {
28107	return awsutil.Prettify(s)
28108}
28109
28110// GoString returns the string representation
28111func (s DescribeDBSnapshotsOutput) GoString() string {
28112	return s.String()
28113}
28114
28115// SetDBSnapshots sets the DBSnapshots field's value.
28116func (s *DescribeDBSnapshotsOutput) SetDBSnapshots(v []*DBSnapshot) *DescribeDBSnapshotsOutput {
28117	s.DBSnapshots = v
28118	return s
28119}
28120
28121// SetMarker sets the Marker field's value.
28122func (s *DescribeDBSnapshotsOutput) SetMarker(v string) *DescribeDBSnapshotsOutput {
28123	s.Marker = &v
28124	return s
28125}
28126
28127type DescribeDBSubnetGroupsInput struct {
28128	_ struct{} `type:"structure"`
28129
28130	// The name of the DB subnet group to return details for.
28131	DBSubnetGroupName *string `type:"string"`
28132
28133	// This parameter isn't currently supported.
28134	Filters []*Filter `locationNameList:"Filter" type:"list"`
28135
28136	// An optional pagination token provided by a previous DescribeDBSubnetGroups
28137	// request. If this parameter is specified, the response includes only records
28138	// beyond the marker, up to the value specified by MaxRecords.
28139	Marker *string `type:"string"`
28140
28141	// The maximum number of records to include in the response. If more records
28142	// exist than the specified MaxRecords value, a pagination token called a marker
28143	// is included in the response so that you can retrieve the remaining results.
28144	//
28145	// Default: 100
28146	//
28147	// Constraints: Minimum 20, maximum 100.
28148	MaxRecords *int64 `type:"integer"`
28149}
28150
28151// String returns the string representation
28152func (s DescribeDBSubnetGroupsInput) String() string {
28153	return awsutil.Prettify(s)
28154}
28155
28156// GoString returns the string representation
28157func (s DescribeDBSubnetGroupsInput) GoString() string {
28158	return s.String()
28159}
28160
28161// Validate inspects the fields of the type to determine if they are valid.
28162func (s *DescribeDBSubnetGroupsInput) Validate() error {
28163	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
28164	if s.Filters != nil {
28165		for i, v := range s.Filters {
28166			if v == nil {
28167				continue
28168			}
28169			if err := v.Validate(); err != nil {
28170				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28171			}
28172		}
28173	}
28174
28175	if invalidParams.Len() > 0 {
28176		return invalidParams
28177	}
28178	return nil
28179}
28180
28181// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
28182func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
28183	s.DBSubnetGroupName = &v
28184	return s
28185}
28186
28187// SetFilters sets the Filters field's value.
28188func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
28189	s.Filters = v
28190	return s
28191}
28192
28193// SetMarker sets the Marker field's value.
28194func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
28195	s.Marker = &v
28196	return s
28197}
28198
28199// SetMaxRecords sets the MaxRecords field's value.
28200func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
28201	s.MaxRecords = &v
28202	return s
28203}
28204
28205// Contains the result of a successful invocation of the DescribeDBSubnetGroups
28206// action.
28207type DescribeDBSubnetGroupsOutput struct {
28208	_ struct{} `type:"structure"`
28209
28210	// A list of DBSubnetGroup instances.
28211	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
28212
28213	// An optional pagination token provided by a previous request. If this parameter
28214	// is specified, the response includes only records beyond the marker, up to
28215	// the value specified by MaxRecords.
28216	Marker *string `type:"string"`
28217}
28218
28219// String returns the string representation
28220func (s DescribeDBSubnetGroupsOutput) String() string {
28221	return awsutil.Prettify(s)
28222}
28223
28224// GoString returns the string representation
28225func (s DescribeDBSubnetGroupsOutput) GoString() string {
28226	return s.String()
28227}
28228
28229// SetDBSubnetGroups sets the DBSubnetGroups field's value.
28230func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
28231	s.DBSubnetGroups = v
28232	return s
28233}
28234
28235// SetMarker sets the Marker field's value.
28236func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
28237	s.Marker = &v
28238	return s
28239}
28240
28241type DescribeEngineDefaultClusterParametersInput struct {
28242	_ struct{} `type:"structure"`
28243
28244	// The name of the DB cluster parameter group family to return engine parameter
28245	// information for.
28246	//
28247	// DBParameterGroupFamily is a required field
28248	DBParameterGroupFamily *string `type:"string" required:"true"`
28249
28250	// This parameter isn't currently supported.
28251	Filters []*Filter `locationNameList:"Filter" type:"list"`
28252
28253	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
28254	// request. If this parameter is specified, the response includes only records
28255	// beyond the marker, up to the value specified by MaxRecords.
28256	Marker *string `type:"string"`
28257
28258	// The maximum number of records to include in the response. If more records
28259	// exist than the specified MaxRecords value, a pagination token called a marker
28260	// is included in the response so you can retrieve the remaining results.
28261	//
28262	// Default: 100
28263	//
28264	// Constraints: Minimum 20, maximum 100.
28265	MaxRecords *int64 `type:"integer"`
28266}
28267
28268// String returns the string representation
28269func (s DescribeEngineDefaultClusterParametersInput) String() string {
28270	return awsutil.Prettify(s)
28271}
28272
28273// GoString returns the string representation
28274func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
28275	return s.String()
28276}
28277
28278// Validate inspects the fields of the type to determine if they are valid.
28279func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
28280	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
28281	if s.DBParameterGroupFamily == nil {
28282		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
28283	}
28284	if s.Filters != nil {
28285		for i, v := range s.Filters {
28286			if v == nil {
28287				continue
28288			}
28289			if err := v.Validate(); err != nil {
28290				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28291			}
28292		}
28293	}
28294
28295	if invalidParams.Len() > 0 {
28296		return invalidParams
28297	}
28298	return nil
28299}
28300
28301// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
28302func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
28303	s.DBParameterGroupFamily = &v
28304	return s
28305}
28306
28307// SetFilters sets the Filters field's value.
28308func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
28309	s.Filters = v
28310	return s
28311}
28312
28313// SetMarker sets the Marker field's value.
28314func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
28315	s.Marker = &v
28316	return s
28317}
28318
28319// SetMaxRecords sets the MaxRecords field's value.
28320func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
28321	s.MaxRecords = &v
28322	return s
28323}
28324
28325type DescribeEngineDefaultClusterParametersOutput struct {
28326	_ struct{} `type:"structure"`
28327
28328	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
28329	// action.
28330	EngineDefaults *EngineDefaults `type:"structure"`
28331}
28332
28333// String returns the string representation
28334func (s DescribeEngineDefaultClusterParametersOutput) String() string {
28335	return awsutil.Prettify(s)
28336}
28337
28338// GoString returns the string representation
28339func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
28340	return s.String()
28341}
28342
28343// SetEngineDefaults sets the EngineDefaults field's value.
28344func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
28345	s.EngineDefaults = v
28346	return s
28347}
28348
28349type DescribeEngineDefaultParametersInput struct {
28350	_ struct{} `type:"structure"`
28351
28352	// The name of the DB parameter group family.
28353	//
28354	// DBParameterGroupFamily is a required field
28355	DBParameterGroupFamily *string `type:"string" required:"true"`
28356
28357	// This parameter isn't currently supported.
28358	Filters []*Filter `locationNameList:"Filter" type:"list"`
28359
28360	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
28361	// request. If this parameter is specified, the response includes only records
28362	// beyond the marker, up to the value specified by MaxRecords.
28363	Marker *string `type:"string"`
28364
28365	// The maximum number of records to include in the response. If more records
28366	// exist than the specified MaxRecords value, a pagination token called a marker
28367	// is included in the response so you can retrieve the remaining results.
28368	//
28369	// Default: 100
28370	//
28371	// Constraints: Minimum 20, maximum 100.
28372	MaxRecords *int64 `type:"integer"`
28373}
28374
28375// String returns the string representation
28376func (s DescribeEngineDefaultParametersInput) String() string {
28377	return awsutil.Prettify(s)
28378}
28379
28380// GoString returns the string representation
28381func (s DescribeEngineDefaultParametersInput) GoString() string {
28382	return s.String()
28383}
28384
28385// Validate inspects the fields of the type to determine if they are valid.
28386func (s *DescribeEngineDefaultParametersInput) Validate() error {
28387	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
28388	if s.DBParameterGroupFamily == nil {
28389		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
28390	}
28391	if s.Filters != nil {
28392		for i, v := range s.Filters {
28393			if v == nil {
28394				continue
28395			}
28396			if err := v.Validate(); err != nil {
28397				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28398			}
28399		}
28400	}
28401
28402	if invalidParams.Len() > 0 {
28403		return invalidParams
28404	}
28405	return nil
28406}
28407
28408// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
28409func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
28410	s.DBParameterGroupFamily = &v
28411	return s
28412}
28413
28414// SetFilters sets the Filters field's value.
28415func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
28416	s.Filters = v
28417	return s
28418}
28419
28420// SetMarker sets the Marker field's value.
28421func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
28422	s.Marker = &v
28423	return s
28424}
28425
28426// SetMaxRecords sets the MaxRecords field's value.
28427func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
28428	s.MaxRecords = &v
28429	return s
28430}
28431
28432type DescribeEngineDefaultParametersOutput struct {
28433	_ struct{} `type:"structure"`
28434
28435	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
28436	// action.
28437	EngineDefaults *EngineDefaults `type:"structure"`
28438}
28439
28440// String returns the string representation
28441func (s DescribeEngineDefaultParametersOutput) String() string {
28442	return awsutil.Prettify(s)
28443}
28444
28445// GoString returns the string representation
28446func (s DescribeEngineDefaultParametersOutput) GoString() string {
28447	return s.String()
28448}
28449
28450// SetEngineDefaults sets the EngineDefaults field's value.
28451func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
28452	s.EngineDefaults = v
28453	return s
28454}
28455
28456type DescribeEventCategoriesInput struct {
28457	_ struct{} `type:"structure"`
28458
28459	// This parameter isn't currently supported.
28460	Filters []*Filter `locationNameList:"Filter" type:"list"`
28461
28462	// The type of source that is generating the events.
28463	//
28464	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
28465	SourceType *string `type:"string"`
28466}
28467
28468// String returns the string representation
28469func (s DescribeEventCategoriesInput) String() string {
28470	return awsutil.Prettify(s)
28471}
28472
28473// GoString returns the string representation
28474func (s DescribeEventCategoriesInput) GoString() string {
28475	return s.String()
28476}
28477
28478// Validate inspects the fields of the type to determine if they are valid.
28479func (s *DescribeEventCategoriesInput) Validate() error {
28480	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
28481	if s.Filters != nil {
28482		for i, v := range s.Filters {
28483			if v == nil {
28484				continue
28485			}
28486			if err := v.Validate(); err != nil {
28487				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28488			}
28489		}
28490	}
28491
28492	if invalidParams.Len() > 0 {
28493		return invalidParams
28494	}
28495	return nil
28496}
28497
28498// SetFilters sets the Filters field's value.
28499func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
28500	s.Filters = v
28501	return s
28502}
28503
28504// SetSourceType sets the SourceType field's value.
28505func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
28506	s.SourceType = &v
28507	return s
28508}
28509
28510// Data returned from the DescribeEventCategories action.
28511type DescribeEventCategoriesOutput struct {
28512	_ struct{} `type:"structure"`
28513
28514	// A list of EventCategoriesMap data types.
28515	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
28516}
28517
28518// String returns the string representation
28519func (s DescribeEventCategoriesOutput) String() string {
28520	return awsutil.Prettify(s)
28521}
28522
28523// GoString returns the string representation
28524func (s DescribeEventCategoriesOutput) GoString() string {
28525	return s.String()
28526}
28527
28528// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
28529func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
28530	s.EventCategoriesMapList = v
28531	return s
28532}
28533
28534type DescribeEventSubscriptionsInput struct {
28535	_ struct{} `type:"structure"`
28536
28537	// This parameter isn't currently supported.
28538	Filters []*Filter `locationNameList:"Filter" type:"list"`
28539
28540	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
28541	// request. If this parameter is specified, the response includes only records
28542	// beyond the marker, up to the value specified by MaxRecords .
28543	Marker *string `type:"string"`
28544
28545	// The maximum number of records to include in the response. If more records
28546	// exist than the specified MaxRecords value, a pagination token called a marker
28547	// is included in the response so that you can retrieve the remaining results.
28548	//
28549	// Default: 100
28550	//
28551	// Constraints: Minimum 20, maximum 100.
28552	MaxRecords *int64 `type:"integer"`
28553
28554	// The name of the RDS event notification subscription you want to describe.
28555	SubscriptionName *string `type:"string"`
28556}
28557
28558// String returns the string representation
28559func (s DescribeEventSubscriptionsInput) String() string {
28560	return awsutil.Prettify(s)
28561}
28562
28563// GoString returns the string representation
28564func (s DescribeEventSubscriptionsInput) GoString() string {
28565	return s.String()
28566}
28567
28568// Validate inspects the fields of the type to determine if they are valid.
28569func (s *DescribeEventSubscriptionsInput) Validate() error {
28570	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
28571	if s.Filters != nil {
28572		for i, v := range s.Filters {
28573			if v == nil {
28574				continue
28575			}
28576			if err := v.Validate(); err != nil {
28577				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28578			}
28579		}
28580	}
28581
28582	if invalidParams.Len() > 0 {
28583		return invalidParams
28584	}
28585	return nil
28586}
28587
28588// SetFilters sets the Filters field's value.
28589func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
28590	s.Filters = v
28591	return s
28592}
28593
28594// SetMarker sets the Marker field's value.
28595func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
28596	s.Marker = &v
28597	return s
28598}
28599
28600// SetMaxRecords sets the MaxRecords field's value.
28601func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
28602	s.MaxRecords = &v
28603	return s
28604}
28605
28606// SetSubscriptionName sets the SubscriptionName field's value.
28607func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
28608	s.SubscriptionName = &v
28609	return s
28610}
28611
28612// Data returned by the DescribeEventSubscriptions action.
28613type DescribeEventSubscriptionsOutput struct {
28614	_ struct{} `type:"structure"`
28615
28616	// A list of EventSubscriptions data types.
28617	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
28618
28619	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
28620	// request. If this parameter is specified, the response includes only records
28621	// beyond the marker, up to the value specified by MaxRecords.
28622	Marker *string `type:"string"`
28623}
28624
28625// String returns the string representation
28626func (s DescribeEventSubscriptionsOutput) String() string {
28627	return awsutil.Prettify(s)
28628}
28629
28630// GoString returns the string representation
28631func (s DescribeEventSubscriptionsOutput) GoString() string {
28632	return s.String()
28633}
28634
28635// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
28636func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
28637	s.EventSubscriptionsList = v
28638	return s
28639}
28640
28641// SetMarker sets the Marker field's value.
28642func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
28643	s.Marker = &v
28644	return s
28645}
28646
28647type DescribeEventsInput struct {
28648	_ struct{} `type:"structure"`
28649
28650	// The number of minutes to retrieve events for.
28651	//
28652	// Default: 60
28653	Duration *int64 `type:"integer"`
28654
28655	// The end of the time interval for which to retrieve events, specified in ISO
28656	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
28657	// page. (http://en.wikipedia.org/wiki/ISO_8601)
28658	//
28659	// Example: 2009-07-08T18:00Z
28660	EndTime *time.Time `type:"timestamp"`
28661
28662	// A list of event categories that trigger notifications for a event notification
28663	// subscription.
28664	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
28665
28666	// This parameter isn't currently supported.
28667	Filters []*Filter `locationNameList:"Filter" type:"list"`
28668
28669	// An optional pagination token provided by a previous DescribeEvents request.
28670	// If this parameter is specified, the response includes only records beyond
28671	// the marker, up to the value specified by MaxRecords.
28672	Marker *string `type:"string"`
28673
28674	// The maximum number of records to include in the response. If more records
28675	// exist than the specified MaxRecords value, a pagination token called a marker
28676	// is included in the response so that you can retrieve the remaining results.
28677	//
28678	// Default: 100
28679	//
28680	// Constraints: Minimum 20, maximum 100.
28681	MaxRecords *int64 `type:"integer"`
28682
28683	// The identifier of the event source for which events are returned. If not
28684	// specified, then all sources are included in the response.
28685	//
28686	// Constraints:
28687	//
28688	//    * If SourceIdentifier is supplied, SourceType must also be provided.
28689	//
28690	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
28691	//    supplied.
28692	//
28693	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
28694	//    supplied.
28695	//
28696	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
28697	//    be supplied.
28698	//
28699	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
28700	//
28701	//    * Can't end with a hyphen or contain two consecutive hyphens.
28702	SourceIdentifier *string `type:"string"`
28703
28704	// The event source to retrieve events for. If no value is specified, all events
28705	// are returned.
28706	SourceType *string `type:"string" enum:"SourceType"`
28707
28708	// The beginning of the time interval to retrieve events for, specified in ISO
28709	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
28710	// page. (http://en.wikipedia.org/wiki/ISO_8601)
28711	//
28712	// Example: 2009-07-08T18:00Z
28713	StartTime *time.Time `type:"timestamp"`
28714}
28715
28716// String returns the string representation
28717func (s DescribeEventsInput) String() string {
28718	return awsutil.Prettify(s)
28719}
28720
28721// GoString returns the string representation
28722func (s DescribeEventsInput) GoString() string {
28723	return s.String()
28724}
28725
28726// Validate inspects the fields of the type to determine if they are valid.
28727func (s *DescribeEventsInput) Validate() error {
28728	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
28729	if s.Filters != nil {
28730		for i, v := range s.Filters {
28731			if v == nil {
28732				continue
28733			}
28734			if err := v.Validate(); err != nil {
28735				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28736			}
28737		}
28738	}
28739
28740	if invalidParams.Len() > 0 {
28741		return invalidParams
28742	}
28743	return nil
28744}
28745
28746// SetDuration sets the Duration field's value.
28747func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
28748	s.Duration = &v
28749	return s
28750}
28751
28752// SetEndTime sets the EndTime field's value.
28753func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
28754	s.EndTime = &v
28755	return s
28756}
28757
28758// SetEventCategories sets the EventCategories field's value.
28759func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
28760	s.EventCategories = v
28761	return s
28762}
28763
28764// SetFilters sets the Filters field's value.
28765func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
28766	s.Filters = v
28767	return s
28768}
28769
28770// SetMarker sets the Marker field's value.
28771func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
28772	s.Marker = &v
28773	return s
28774}
28775
28776// SetMaxRecords sets the MaxRecords field's value.
28777func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
28778	s.MaxRecords = &v
28779	return s
28780}
28781
28782// SetSourceIdentifier sets the SourceIdentifier field's value.
28783func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
28784	s.SourceIdentifier = &v
28785	return s
28786}
28787
28788// SetSourceType sets the SourceType field's value.
28789func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
28790	s.SourceType = &v
28791	return s
28792}
28793
28794// SetStartTime sets the StartTime field's value.
28795func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
28796	s.StartTime = &v
28797	return s
28798}
28799
28800// Contains the result of a successful invocation of the DescribeEvents action.
28801type DescribeEventsOutput struct {
28802	_ struct{} `type:"structure"`
28803
28804	// A list of Event instances.
28805	Events []*Event `locationNameList:"Event" type:"list"`
28806
28807	// An optional pagination token provided by a previous Events request. If this
28808	// parameter is specified, the response includes only records beyond the marker,
28809	// up to the value specified by MaxRecords .
28810	Marker *string `type:"string"`
28811}
28812
28813// String returns the string representation
28814func (s DescribeEventsOutput) String() string {
28815	return awsutil.Prettify(s)
28816}
28817
28818// GoString returns the string representation
28819func (s DescribeEventsOutput) GoString() string {
28820	return s.String()
28821}
28822
28823// SetEvents sets the Events field's value.
28824func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
28825	s.Events = v
28826	return s
28827}
28828
28829// SetMarker sets the Marker field's value.
28830func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
28831	s.Marker = &v
28832	return s
28833}
28834
28835type DescribeExportTasksInput struct {
28836	_ struct{} `type:"structure"`
28837
28838	// The identifier of the snapshot export task to be described.
28839	ExportTaskIdentifier *string `type:"string"`
28840
28841	// Filters specify one or more snapshot exports to describe. The filters are
28842	// specified as name-value pairs that define what to include in the output.
28843	//
28844	// Supported filters include the following:
28845	//
28846	//    * export-task-identifier - An identifier for the snapshot export task.
28847	//
28848	//    * s3-bucket - The Amazon S3 bucket the snapshot is exported to.
28849	//
28850	//    * source-arn - The Amazon Resource Name (ARN) of the snapshot exported
28851	//    to Amazon S3
28852	//
28853	//    * status - The status of the export task.
28854	Filters []*Filter `locationNameList:"Filter" type:"list"`
28855
28856	// An optional pagination token provided by a previous DescribeExportTasks request.
28857	// If you specify this parameter, the response includes only records beyond
28858	// the marker, up to the value specified by the MaxRecords parameter.
28859	Marker *string `type:"string"`
28860
28861	// The maximum number of records to include in the response. If more records
28862	// exist than the specified value, a pagination token called a marker is included
28863	// in the response. You can use the marker in a later DescribeExportTasks request
28864	// to retrieve the remaining results.
28865	//
28866	// Default: 100
28867	//
28868	// Constraints: Minimum 20, maximum 100.
28869	MaxRecords *int64 `min:"20" type:"integer"`
28870
28871	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
28872	SourceArn *string `type:"string"`
28873}
28874
28875// String returns the string representation
28876func (s DescribeExportTasksInput) String() string {
28877	return awsutil.Prettify(s)
28878}
28879
28880// GoString returns the string representation
28881func (s DescribeExportTasksInput) GoString() string {
28882	return s.String()
28883}
28884
28885// Validate inspects the fields of the type to determine if they are valid.
28886func (s *DescribeExportTasksInput) Validate() error {
28887	invalidParams := request.ErrInvalidParams{Context: "DescribeExportTasksInput"}
28888	if s.MaxRecords != nil && *s.MaxRecords < 20 {
28889		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
28890	}
28891	if s.Filters != nil {
28892		for i, v := range s.Filters {
28893			if v == nil {
28894				continue
28895			}
28896			if err := v.Validate(); err != nil {
28897				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28898			}
28899		}
28900	}
28901
28902	if invalidParams.Len() > 0 {
28903		return invalidParams
28904	}
28905	return nil
28906}
28907
28908// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
28909func (s *DescribeExportTasksInput) SetExportTaskIdentifier(v string) *DescribeExportTasksInput {
28910	s.ExportTaskIdentifier = &v
28911	return s
28912}
28913
28914// SetFilters sets the Filters field's value.
28915func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
28916	s.Filters = v
28917	return s
28918}
28919
28920// SetMarker sets the Marker field's value.
28921func (s *DescribeExportTasksInput) SetMarker(v string) *DescribeExportTasksInput {
28922	s.Marker = &v
28923	return s
28924}
28925
28926// SetMaxRecords sets the MaxRecords field's value.
28927func (s *DescribeExportTasksInput) SetMaxRecords(v int64) *DescribeExportTasksInput {
28928	s.MaxRecords = &v
28929	return s
28930}
28931
28932// SetSourceArn sets the SourceArn field's value.
28933func (s *DescribeExportTasksInput) SetSourceArn(v string) *DescribeExportTasksInput {
28934	s.SourceArn = &v
28935	return s
28936}
28937
28938type DescribeExportTasksOutput struct {
28939	_ struct{} `type:"structure"`
28940
28941	// Information about an export of a snapshot to Amazon S3.
28942	ExportTasks []*ExportTask `locationNameList:"ExportTask" type:"list"`
28943
28944	// A pagination token that can be used in a later DescribeExportTasks request.
28945	// A marker is used for pagination to identify the location to begin output
28946	// for the next response of DescribeExportTasks.
28947	Marker *string `type:"string"`
28948}
28949
28950// String returns the string representation
28951func (s DescribeExportTasksOutput) String() string {
28952	return awsutil.Prettify(s)
28953}
28954
28955// GoString returns the string representation
28956func (s DescribeExportTasksOutput) GoString() string {
28957	return s.String()
28958}
28959
28960// SetExportTasks sets the ExportTasks field's value.
28961func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
28962	s.ExportTasks = v
28963	return s
28964}
28965
28966// SetMarker sets the Marker field's value.
28967func (s *DescribeExportTasksOutput) SetMarker(v string) *DescribeExportTasksOutput {
28968	s.Marker = &v
28969	return s
28970}
28971
28972type DescribeGlobalClustersInput struct {
28973	_ struct{} `type:"structure"`
28974
28975	// A filter that specifies one or more global DB clusters to describe.
28976	//
28977	// Supported filters:
28978	//
28979	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
28980	//    Resource Names (ARNs). The results list will only include information
28981	//    about the DB clusters identified by these ARNs.
28982	Filters []*Filter `locationNameList:"Filter" type:"list"`
28983
28984	// The user-supplied DB cluster identifier. If this parameter is specified,
28985	// information from only the specific DB cluster is returned. This parameter
28986	// isn't case-sensitive.
28987	//
28988	// Constraints:
28989	//
28990	//    * If supplied, must match an existing DBClusterIdentifier.
28991	GlobalClusterIdentifier *string `type:"string"`
28992
28993	// An optional pagination token provided by a previous DescribeGlobalClusters
28994	// request. If this parameter is specified, the response includes only records
28995	// beyond the marker, up to the value specified by MaxRecords.
28996	Marker *string `type:"string"`
28997
28998	// The maximum number of records to include in the response. If more records
28999	// exist than the specified MaxRecords value, a pagination token called a marker
29000	// is included in the response so that you can retrieve the remaining results.
29001	//
29002	// Default: 100
29003	//
29004	// Constraints: Minimum 20, maximum 100.
29005	MaxRecords *int64 `type:"integer"`
29006}
29007
29008// String returns the string representation
29009func (s DescribeGlobalClustersInput) String() string {
29010	return awsutil.Prettify(s)
29011}
29012
29013// GoString returns the string representation
29014func (s DescribeGlobalClustersInput) GoString() string {
29015	return s.String()
29016}
29017
29018// Validate inspects the fields of the type to determine if they are valid.
29019func (s *DescribeGlobalClustersInput) Validate() error {
29020	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalClustersInput"}
29021	if s.Filters != nil {
29022		for i, v := range s.Filters {
29023			if v == nil {
29024				continue
29025			}
29026			if err := v.Validate(); err != nil {
29027				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29028			}
29029		}
29030	}
29031
29032	if invalidParams.Len() > 0 {
29033		return invalidParams
29034	}
29035	return nil
29036}
29037
29038// SetFilters sets the Filters field's value.
29039func (s *DescribeGlobalClustersInput) SetFilters(v []*Filter) *DescribeGlobalClustersInput {
29040	s.Filters = v
29041	return s
29042}
29043
29044// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
29045func (s *DescribeGlobalClustersInput) SetGlobalClusterIdentifier(v string) *DescribeGlobalClustersInput {
29046	s.GlobalClusterIdentifier = &v
29047	return s
29048}
29049
29050// SetMarker sets the Marker field's value.
29051func (s *DescribeGlobalClustersInput) SetMarker(v string) *DescribeGlobalClustersInput {
29052	s.Marker = &v
29053	return s
29054}
29055
29056// SetMaxRecords sets the MaxRecords field's value.
29057func (s *DescribeGlobalClustersInput) SetMaxRecords(v int64) *DescribeGlobalClustersInput {
29058	s.MaxRecords = &v
29059	return s
29060}
29061
29062type DescribeGlobalClustersOutput struct {
29063	_ struct{} `type:"structure"`
29064
29065	// The list of global clusters returned by this request.
29066	GlobalClusters []*GlobalCluster `locationNameList:"GlobalClusterMember" type:"list"`
29067
29068	// An optional pagination token provided by a previous DescribeGlobalClusters
29069	// request. If this parameter is specified, the response includes only records
29070	// beyond the marker, up to the value specified by MaxRecords.
29071	Marker *string `type:"string"`
29072}
29073
29074// String returns the string representation
29075func (s DescribeGlobalClustersOutput) String() string {
29076	return awsutil.Prettify(s)
29077}
29078
29079// GoString returns the string representation
29080func (s DescribeGlobalClustersOutput) GoString() string {
29081	return s.String()
29082}
29083
29084// SetGlobalClusters sets the GlobalClusters field's value.
29085func (s *DescribeGlobalClustersOutput) SetGlobalClusters(v []*GlobalCluster) *DescribeGlobalClustersOutput {
29086	s.GlobalClusters = v
29087	return s
29088}
29089
29090// SetMarker sets the Marker field's value.
29091func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalClustersOutput {
29092	s.Marker = &v
29093	return s
29094}
29095
29096type DescribeInstallationMediaInput struct {
29097	_ struct{} `type:"structure"`
29098
29099	// A filter that specifies one or more installation media to describe. Supported
29100	// filters include the following:
29101	//
29102	//    * custom-availability-zone-id - Accepts custom Availability Zone (AZ)
29103	//    identifiers. The results list includes information about only the custom
29104	//    AZs identified by these identifiers.
29105	//
29106	//    * engine - Accepts database engines. The results list includes information
29107	//    about only the database engines identified by these identifiers. For more
29108	//    information about the valid engines for installation media, see ImportInstallationMedia.
29109	Filters []*Filter `locationNameList:"Filter" type:"list"`
29110
29111	// The installation medium ID.
29112	InstallationMediaId *string `type:"string"`
29113
29114	// An optional pagination token provided by a previous request. If this parameter
29115	// is specified, the response includes only records beyond the marker, up to
29116	// the value specified by MaxRecords.
29117	Marker *string `type:"string"`
29118
29119	// An optional pagination token provided by a previous DescribeInstallationMedia
29120	// request. If this parameter is specified, the response includes only records
29121	// beyond the marker, up to the value specified by MaxRecords.
29122	MaxRecords *int64 `type:"integer"`
29123}
29124
29125// String returns the string representation
29126func (s DescribeInstallationMediaInput) String() string {
29127	return awsutil.Prettify(s)
29128}
29129
29130// GoString returns the string representation
29131func (s DescribeInstallationMediaInput) GoString() string {
29132	return s.String()
29133}
29134
29135// Validate inspects the fields of the type to determine if they are valid.
29136func (s *DescribeInstallationMediaInput) Validate() error {
29137	invalidParams := request.ErrInvalidParams{Context: "DescribeInstallationMediaInput"}
29138	if s.Filters != nil {
29139		for i, v := range s.Filters {
29140			if v == nil {
29141				continue
29142			}
29143			if err := v.Validate(); err != nil {
29144				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29145			}
29146		}
29147	}
29148
29149	if invalidParams.Len() > 0 {
29150		return invalidParams
29151	}
29152	return nil
29153}
29154
29155// SetFilters sets the Filters field's value.
29156func (s *DescribeInstallationMediaInput) SetFilters(v []*Filter) *DescribeInstallationMediaInput {
29157	s.Filters = v
29158	return s
29159}
29160
29161// SetInstallationMediaId sets the InstallationMediaId field's value.
29162func (s *DescribeInstallationMediaInput) SetInstallationMediaId(v string) *DescribeInstallationMediaInput {
29163	s.InstallationMediaId = &v
29164	return s
29165}
29166
29167// SetMarker sets the Marker field's value.
29168func (s *DescribeInstallationMediaInput) SetMarker(v string) *DescribeInstallationMediaInput {
29169	s.Marker = &v
29170	return s
29171}
29172
29173// SetMaxRecords sets the MaxRecords field's value.
29174func (s *DescribeInstallationMediaInput) SetMaxRecords(v int64) *DescribeInstallationMediaInput {
29175	s.MaxRecords = &v
29176	return s
29177}
29178
29179type DescribeInstallationMediaOutput struct {
29180	_ struct{} `type:"structure"`
29181
29182	// The list of InstallationMedia objects for the AWS account.
29183	InstallationMedia []*InstallationMedia `locationNameList:"InstallationMedia" type:"list"`
29184
29185	// An optional pagination token provided by a previous DescribeInstallationMedia
29186	// request. If this parameter is specified, the response includes only records
29187	// beyond the marker, up to the value specified by MaxRecords.
29188	Marker *string `type:"string"`
29189}
29190
29191// String returns the string representation
29192func (s DescribeInstallationMediaOutput) String() string {
29193	return awsutil.Prettify(s)
29194}
29195
29196// GoString returns the string representation
29197func (s DescribeInstallationMediaOutput) GoString() string {
29198	return s.String()
29199}
29200
29201// SetInstallationMedia sets the InstallationMedia field's value.
29202func (s *DescribeInstallationMediaOutput) SetInstallationMedia(v []*InstallationMedia) *DescribeInstallationMediaOutput {
29203	s.InstallationMedia = v
29204	return s
29205}
29206
29207// SetMarker sets the Marker field's value.
29208func (s *DescribeInstallationMediaOutput) SetMarker(v string) *DescribeInstallationMediaOutput {
29209	s.Marker = &v
29210	return s
29211}
29212
29213type DescribeOptionGroupOptionsInput struct {
29214	_ struct{} `type:"structure"`
29215
29216	// A required parameter. Options available for the given engine name are described.
29217	//
29218	// EngineName is a required field
29219	EngineName *string `type:"string" required:"true"`
29220
29221	// This parameter isn't currently supported.
29222	Filters []*Filter `locationNameList:"Filter" type:"list"`
29223
29224	// If specified, filters the results to include only options for the specified
29225	// major engine version.
29226	MajorEngineVersion *string `type:"string"`
29227
29228	// An optional pagination token provided by a previous request. If this parameter
29229	// is specified, the response includes only records beyond the marker, up to
29230	// the value specified by MaxRecords.
29231	Marker *string `type:"string"`
29232
29233	// The maximum number of records to include in the response. If more records
29234	// exist than the specified MaxRecords value, a pagination token called a marker
29235	// is included in the response so that you can retrieve the remaining results.
29236	//
29237	// Default: 100
29238	//
29239	// Constraints: Minimum 20, maximum 100.
29240	MaxRecords *int64 `type:"integer"`
29241}
29242
29243// String returns the string representation
29244func (s DescribeOptionGroupOptionsInput) String() string {
29245	return awsutil.Prettify(s)
29246}
29247
29248// GoString returns the string representation
29249func (s DescribeOptionGroupOptionsInput) GoString() string {
29250	return s.String()
29251}
29252
29253// Validate inspects the fields of the type to determine if they are valid.
29254func (s *DescribeOptionGroupOptionsInput) Validate() error {
29255	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupOptionsInput"}
29256	if s.EngineName == nil {
29257		invalidParams.Add(request.NewErrParamRequired("EngineName"))
29258	}
29259	if s.Filters != nil {
29260		for i, v := range s.Filters {
29261			if v == nil {
29262				continue
29263			}
29264			if err := v.Validate(); err != nil {
29265				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29266			}
29267		}
29268	}
29269
29270	if invalidParams.Len() > 0 {
29271		return invalidParams
29272	}
29273	return nil
29274}
29275
29276// SetEngineName sets the EngineName field's value.
29277func (s *DescribeOptionGroupOptionsInput) SetEngineName(v string) *DescribeOptionGroupOptionsInput {
29278	s.EngineName = &v
29279	return s
29280}
29281
29282// SetFilters sets the Filters field's value.
29283func (s *DescribeOptionGroupOptionsInput) SetFilters(v []*Filter) *DescribeOptionGroupOptionsInput {
29284	s.Filters = v
29285	return s
29286}
29287
29288// SetMajorEngineVersion sets the MajorEngineVersion field's value.
29289func (s *DescribeOptionGroupOptionsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupOptionsInput {
29290	s.MajorEngineVersion = &v
29291	return s
29292}
29293
29294// SetMarker sets the Marker field's value.
29295func (s *DescribeOptionGroupOptionsInput) SetMarker(v string) *DescribeOptionGroupOptionsInput {
29296	s.Marker = &v
29297	return s
29298}
29299
29300// SetMaxRecords sets the MaxRecords field's value.
29301func (s *DescribeOptionGroupOptionsInput) SetMaxRecords(v int64) *DescribeOptionGroupOptionsInput {
29302	s.MaxRecords = &v
29303	return s
29304}
29305
29306type DescribeOptionGroupOptionsOutput struct {
29307	_ struct{} `type:"structure"`
29308
29309	// An optional pagination token provided by a previous request. If this parameter
29310	// is specified, the response includes only records beyond the marker, up to
29311	// the value specified by MaxRecords.
29312	Marker *string `type:"string"`
29313
29314	// List of available option group options.
29315	OptionGroupOptions []*OptionGroupOption `locationNameList:"OptionGroupOption" type:"list"`
29316}
29317
29318// String returns the string representation
29319func (s DescribeOptionGroupOptionsOutput) String() string {
29320	return awsutil.Prettify(s)
29321}
29322
29323// GoString returns the string representation
29324func (s DescribeOptionGroupOptionsOutput) GoString() string {
29325	return s.String()
29326}
29327
29328// SetMarker sets the Marker field's value.
29329func (s *DescribeOptionGroupOptionsOutput) SetMarker(v string) *DescribeOptionGroupOptionsOutput {
29330	s.Marker = &v
29331	return s
29332}
29333
29334// SetOptionGroupOptions sets the OptionGroupOptions field's value.
29335func (s *DescribeOptionGroupOptionsOutput) SetOptionGroupOptions(v []*OptionGroupOption) *DescribeOptionGroupOptionsOutput {
29336	s.OptionGroupOptions = v
29337	return s
29338}
29339
29340type DescribeOptionGroupsInput struct {
29341	_ struct{} `type:"structure"`
29342
29343	// Filters the list of option groups to only include groups associated with
29344	// a specific database engine.
29345	EngineName *string `type:"string"`
29346
29347	// This parameter isn't currently supported.
29348	Filters []*Filter `locationNameList:"Filter" type:"list"`
29349
29350	// Filters the list of option groups to only include groups associated with
29351	// a specific database engine version. If specified, then EngineName must also
29352	// be specified.
29353	MajorEngineVersion *string `type:"string"`
29354
29355	// An optional pagination token provided by a previous DescribeOptionGroups
29356	// request. If this parameter is specified, the response includes only records
29357	// beyond the marker, up to the value specified by MaxRecords.
29358	Marker *string `type:"string"`
29359
29360	// The maximum number of records to include in the response. If more records
29361	// exist than the specified MaxRecords value, a pagination token called a marker
29362	// is included in the response so that you can retrieve the remaining results.
29363	//
29364	// Default: 100
29365	//
29366	// Constraints: Minimum 20, maximum 100.
29367	MaxRecords *int64 `type:"integer"`
29368
29369	// The name of the option group to describe. Can't be supplied together with
29370	// EngineName or MajorEngineVersion.
29371	OptionGroupName *string `type:"string"`
29372}
29373
29374// String returns the string representation
29375func (s DescribeOptionGroupsInput) String() string {
29376	return awsutil.Prettify(s)
29377}
29378
29379// GoString returns the string representation
29380func (s DescribeOptionGroupsInput) GoString() string {
29381	return s.String()
29382}
29383
29384// Validate inspects the fields of the type to determine if they are valid.
29385func (s *DescribeOptionGroupsInput) Validate() error {
29386	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupsInput"}
29387	if s.Filters != nil {
29388		for i, v := range s.Filters {
29389			if v == nil {
29390				continue
29391			}
29392			if err := v.Validate(); err != nil {
29393				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29394			}
29395		}
29396	}
29397
29398	if invalidParams.Len() > 0 {
29399		return invalidParams
29400	}
29401	return nil
29402}
29403
29404// SetEngineName sets the EngineName field's value.
29405func (s *DescribeOptionGroupsInput) SetEngineName(v string) *DescribeOptionGroupsInput {
29406	s.EngineName = &v
29407	return s
29408}
29409
29410// SetFilters sets the Filters field's value.
29411func (s *DescribeOptionGroupsInput) SetFilters(v []*Filter) *DescribeOptionGroupsInput {
29412	s.Filters = v
29413	return s
29414}
29415
29416// SetMajorEngineVersion sets the MajorEngineVersion field's value.
29417func (s *DescribeOptionGroupsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupsInput {
29418	s.MajorEngineVersion = &v
29419	return s
29420}
29421
29422// SetMarker sets the Marker field's value.
29423func (s *DescribeOptionGroupsInput) SetMarker(v string) *DescribeOptionGroupsInput {
29424	s.Marker = &v
29425	return s
29426}
29427
29428// SetMaxRecords sets the MaxRecords field's value.
29429func (s *DescribeOptionGroupsInput) SetMaxRecords(v int64) *DescribeOptionGroupsInput {
29430	s.MaxRecords = &v
29431	return s
29432}
29433
29434// SetOptionGroupName sets the OptionGroupName field's value.
29435func (s *DescribeOptionGroupsInput) SetOptionGroupName(v string) *DescribeOptionGroupsInput {
29436	s.OptionGroupName = &v
29437	return s
29438}
29439
29440// List of option groups.
29441type DescribeOptionGroupsOutput struct {
29442	_ struct{} `type:"structure"`
29443
29444	// An optional pagination token provided by a previous request. If this parameter
29445	// is specified, the response includes only records beyond the marker, up to
29446	// the value specified by MaxRecords.
29447	Marker *string `type:"string"`
29448
29449	// List of option groups.
29450	OptionGroupsList []*OptionGroup `locationNameList:"OptionGroup" type:"list"`
29451}
29452
29453// String returns the string representation
29454func (s DescribeOptionGroupsOutput) String() string {
29455	return awsutil.Prettify(s)
29456}
29457
29458// GoString returns the string representation
29459func (s DescribeOptionGroupsOutput) GoString() string {
29460	return s.String()
29461}
29462
29463// SetMarker sets the Marker field's value.
29464func (s *DescribeOptionGroupsOutput) SetMarker(v string) *DescribeOptionGroupsOutput {
29465	s.Marker = &v
29466	return s
29467}
29468
29469// SetOptionGroupsList sets the OptionGroupsList field's value.
29470func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *DescribeOptionGroupsOutput {
29471	s.OptionGroupsList = v
29472	return s
29473}
29474
29475type DescribeOrderableDBInstanceOptionsInput struct {
29476	_ struct{} `type:"structure"`
29477
29478	// The Availability Zone group associated with a Local Zone. Specify this parameter
29479	// to retrieve available offerings for the Local Zones in the group.
29480	//
29481	// Omit this parameter to show the available offerings in the specified AWS
29482	// Region.
29483	AvailabilityZoneGroup *string `type:"string"`
29484
29485	// The DB instance class filter value. Specify this parameter to show only the
29486	// available offerings matching the specified DB instance class.
29487	DBInstanceClass *string `type:"string"`
29488
29489	// The name of the engine to retrieve DB instance options for.
29490	//
29491	// Engine is a required field
29492	Engine *string `type:"string" required:"true"`
29493
29494	// The engine version filter value. Specify this parameter to show only the
29495	// available offerings matching the specified engine version.
29496	EngineVersion *string `type:"string"`
29497
29498	// This parameter isn't currently supported.
29499	Filters []*Filter `locationNameList:"Filter" type:"list"`
29500
29501	// The license model filter value. Specify this parameter to show only the available
29502	// offerings matching the specified license model.
29503	LicenseModel *string `type:"string"`
29504
29505	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
29506	// request. If this parameter is specified, the response includes only records
29507	// beyond the marker, up to the value specified by MaxRecords .
29508	Marker *string `type:"string"`
29509
29510	// The maximum number of records to include in the response. If more records
29511	// exist than the specified MaxRecords value, a pagination token called a marker
29512	// is included in the response so that you can retrieve the remaining results.
29513	//
29514	// Default: 100
29515	//
29516	// Constraints: Minimum 20, maximum 100.
29517	MaxRecords *int64 `type:"integer"`
29518
29519	// A value that indicates whether to show only VPC or non-VPC offerings.
29520	Vpc *bool `type:"boolean"`
29521}
29522
29523// String returns the string representation
29524func (s DescribeOrderableDBInstanceOptionsInput) String() string {
29525	return awsutil.Prettify(s)
29526}
29527
29528// GoString returns the string representation
29529func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
29530	return s.String()
29531}
29532
29533// Validate inspects the fields of the type to determine if they are valid.
29534func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
29535	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
29536	if s.Engine == nil {
29537		invalidParams.Add(request.NewErrParamRequired("Engine"))
29538	}
29539	if s.Filters != nil {
29540		for i, v := range s.Filters {
29541			if v == nil {
29542				continue
29543			}
29544			if err := v.Validate(); err != nil {
29545				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29546			}
29547		}
29548	}
29549
29550	if invalidParams.Len() > 0 {
29551		return invalidParams
29552	}
29553	return nil
29554}
29555
29556// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
29557func (s *DescribeOrderableDBInstanceOptionsInput) SetAvailabilityZoneGroup(v string) *DescribeOrderableDBInstanceOptionsInput {
29558	s.AvailabilityZoneGroup = &v
29559	return s
29560}
29561
29562// SetDBInstanceClass sets the DBInstanceClass field's value.
29563func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
29564	s.DBInstanceClass = &v
29565	return s
29566}
29567
29568// SetEngine sets the Engine field's value.
29569func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
29570	s.Engine = &v
29571	return s
29572}
29573
29574// SetEngineVersion sets the EngineVersion field's value.
29575func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
29576	s.EngineVersion = &v
29577	return s
29578}
29579
29580// SetFilters sets the Filters field's value.
29581func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
29582	s.Filters = v
29583	return s
29584}
29585
29586// SetLicenseModel sets the LicenseModel field's value.
29587func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
29588	s.LicenseModel = &v
29589	return s
29590}
29591
29592// SetMarker sets the Marker field's value.
29593func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
29594	s.Marker = &v
29595	return s
29596}
29597
29598// SetMaxRecords sets the MaxRecords field's value.
29599func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
29600	s.MaxRecords = &v
29601	return s
29602}
29603
29604// SetVpc sets the Vpc field's value.
29605func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
29606	s.Vpc = &v
29607	return s
29608}
29609
29610// Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions
29611// action.
29612type DescribeOrderableDBInstanceOptionsOutput struct {
29613	_ struct{} `type:"structure"`
29614
29615	// An optional pagination token provided by a previous OrderableDBInstanceOptions
29616	// request. If this parameter is specified, the response includes only records
29617	// beyond the marker, up to the value specified by MaxRecords .
29618	Marker *string `type:"string"`
29619
29620	// An OrderableDBInstanceOption structure containing information about orderable
29621	// options for the DB instance.
29622	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
29623}
29624
29625// String returns the string representation
29626func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
29627	return awsutil.Prettify(s)
29628}
29629
29630// GoString returns the string representation
29631func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
29632	return s.String()
29633}
29634
29635// SetMarker sets the Marker field's value.
29636func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
29637	s.Marker = &v
29638	return s
29639}
29640
29641// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
29642func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
29643	s.OrderableDBInstanceOptions = v
29644	return s
29645}
29646
29647type DescribePendingMaintenanceActionsInput struct {
29648	_ struct{} `type:"structure"`
29649
29650	// A filter that specifies one or more resources to return pending maintenance
29651	// actions for.
29652	//
29653	// Supported filters:
29654	//
29655	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
29656	//    Resource Names (ARNs). The results list will only include pending maintenance
29657	//    actions for the DB clusters identified by these ARNs.
29658	//
29659	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
29660	//    The results list will only include pending maintenance actions for the
29661	//    DB instances identified by these ARNs.
29662	Filters []*Filter `locationNameList:"Filter" type:"list"`
29663
29664	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
29665	// request. If this parameter is specified, the response includes only records
29666	// beyond the marker, up to a number of records specified by MaxRecords.
29667	Marker *string `type:"string"`
29668
29669	// The maximum number of records to include in the response. If more records
29670	// exist than the specified MaxRecords value, a pagination token called a marker
29671	// is included in the response so that you can retrieve the remaining results.
29672	//
29673	// Default: 100
29674	//
29675	// Constraints: Minimum 20, maximum 100.
29676	MaxRecords *int64 `type:"integer"`
29677
29678	// The ARN of a resource to return pending maintenance actions for.
29679	ResourceIdentifier *string `type:"string"`
29680}
29681
29682// String returns the string representation
29683func (s DescribePendingMaintenanceActionsInput) String() string {
29684	return awsutil.Prettify(s)
29685}
29686
29687// GoString returns the string representation
29688func (s DescribePendingMaintenanceActionsInput) GoString() string {
29689	return s.String()
29690}
29691
29692// Validate inspects the fields of the type to determine if they are valid.
29693func (s *DescribePendingMaintenanceActionsInput) Validate() error {
29694	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
29695	if s.Filters != nil {
29696		for i, v := range s.Filters {
29697			if v == nil {
29698				continue
29699			}
29700			if err := v.Validate(); err != nil {
29701				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29702			}
29703		}
29704	}
29705
29706	if invalidParams.Len() > 0 {
29707		return invalidParams
29708	}
29709	return nil
29710}
29711
29712// SetFilters sets the Filters field's value.
29713func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
29714	s.Filters = v
29715	return s
29716}
29717
29718// SetMarker sets the Marker field's value.
29719func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
29720	s.Marker = &v
29721	return s
29722}
29723
29724// SetMaxRecords sets the MaxRecords field's value.
29725func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
29726	s.MaxRecords = &v
29727	return s
29728}
29729
29730// SetResourceIdentifier sets the ResourceIdentifier field's value.
29731func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
29732	s.ResourceIdentifier = &v
29733	return s
29734}
29735
29736// Data returned from the DescribePendingMaintenanceActions action.
29737type DescribePendingMaintenanceActionsOutput struct {
29738	_ struct{} `type:"structure"`
29739
29740	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
29741	// request. If this parameter is specified, the response includes only records
29742	// beyond the marker, up to a number of records specified by MaxRecords.
29743	Marker *string `type:"string"`
29744
29745	// A list of the pending maintenance actions for the resource.
29746	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
29747}
29748
29749// String returns the string representation
29750func (s DescribePendingMaintenanceActionsOutput) String() string {
29751	return awsutil.Prettify(s)
29752}
29753
29754// GoString returns the string representation
29755func (s DescribePendingMaintenanceActionsOutput) GoString() string {
29756	return s.String()
29757}
29758
29759// SetMarker sets the Marker field's value.
29760func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
29761	s.Marker = &v
29762	return s
29763}
29764
29765// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
29766func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
29767	s.PendingMaintenanceActions = v
29768	return s
29769}
29770
29771type DescribeReservedDBInstancesInput struct {
29772	_ struct{} `type:"structure"`
29773
29774	// The DB instance class filter value. Specify this parameter to show only those
29775	// reservations matching the specified DB instances class.
29776	DBInstanceClass *string `type:"string"`
29777
29778	// The duration filter value, specified in years or seconds. Specify this parameter
29779	// to show only reservations for this duration.
29780	//
29781	// Valid Values: 1 | 3 | 31536000 | 94608000
29782	Duration *string `type:"string"`
29783
29784	// This parameter isn't currently supported.
29785	Filters []*Filter `locationNameList:"Filter" type:"list"`
29786
29787	// The lease identifier filter value. Specify this parameter to show only the
29788	// reservation that matches the specified lease ID.
29789	//
29790	// AWS Support might request the lease ID for an issue related to a reserved
29791	// DB instance.
29792	LeaseId *string `type:"string"`
29793
29794	// An optional pagination token provided by a previous request. If this parameter
29795	// is specified, the response includes only records beyond the marker, up to
29796	// the value specified by MaxRecords.
29797	Marker *string `type:"string"`
29798
29799	// The maximum number of records to include in the response. If more than the
29800	// MaxRecords value is available, a pagination token called a marker is included
29801	// in the response so you can retrieve the remaining results.
29802	//
29803	// Default: 100
29804	//
29805	// Constraints: Minimum 20, maximum 100.
29806	MaxRecords *int64 `type:"integer"`
29807
29808	// A value that indicates whether to show only those reservations that support
29809	// Multi-AZ.
29810	MultiAZ *bool `type:"boolean"`
29811
29812	// The offering type filter value. Specify this parameter to show only the available
29813	// offerings matching the specified offering type.
29814	//
29815	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
29816	OfferingType *string `type:"string"`
29817
29818	// The product description filter value. Specify this parameter to show only
29819	// those reservations matching the specified product description.
29820	ProductDescription *string `type:"string"`
29821
29822	// The reserved DB instance identifier filter value. Specify this parameter
29823	// to show only the reservation that matches the specified reservation ID.
29824	ReservedDBInstanceId *string `type:"string"`
29825
29826	// The offering identifier filter value. Specify this parameter to show only
29827	// purchased reservations matching the specified offering identifier.
29828	ReservedDBInstancesOfferingId *string `type:"string"`
29829}
29830
29831// String returns the string representation
29832func (s DescribeReservedDBInstancesInput) String() string {
29833	return awsutil.Prettify(s)
29834}
29835
29836// GoString returns the string representation
29837func (s DescribeReservedDBInstancesInput) GoString() string {
29838	return s.String()
29839}
29840
29841// Validate inspects the fields of the type to determine if they are valid.
29842func (s *DescribeReservedDBInstancesInput) Validate() error {
29843	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesInput"}
29844	if s.Filters != nil {
29845		for i, v := range s.Filters {
29846			if v == nil {
29847				continue
29848			}
29849			if err := v.Validate(); err != nil {
29850				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29851			}
29852		}
29853	}
29854
29855	if invalidParams.Len() > 0 {
29856		return invalidParams
29857	}
29858	return nil
29859}
29860
29861// SetDBInstanceClass sets the DBInstanceClass field's value.
29862func (s *DescribeReservedDBInstancesInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesInput {
29863	s.DBInstanceClass = &v
29864	return s
29865}
29866
29867// SetDuration sets the Duration field's value.
29868func (s *DescribeReservedDBInstancesInput) SetDuration(v string) *DescribeReservedDBInstancesInput {
29869	s.Duration = &v
29870	return s
29871}
29872
29873// SetFilters sets the Filters field's value.
29874func (s *DescribeReservedDBInstancesInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesInput {
29875	s.Filters = v
29876	return s
29877}
29878
29879// SetLeaseId sets the LeaseId field's value.
29880func (s *DescribeReservedDBInstancesInput) SetLeaseId(v string) *DescribeReservedDBInstancesInput {
29881	s.LeaseId = &v
29882	return s
29883}
29884
29885// SetMarker sets the Marker field's value.
29886func (s *DescribeReservedDBInstancesInput) SetMarker(v string) *DescribeReservedDBInstancesInput {
29887	s.Marker = &v
29888	return s
29889}
29890
29891// SetMaxRecords sets the MaxRecords field's value.
29892func (s *DescribeReservedDBInstancesInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesInput {
29893	s.MaxRecords = &v
29894	return s
29895}
29896
29897// SetMultiAZ sets the MultiAZ field's value.
29898func (s *DescribeReservedDBInstancesInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesInput {
29899	s.MultiAZ = &v
29900	return s
29901}
29902
29903// SetOfferingType sets the OfferingType field's value.
29904func (s *DescribeReservedDBInstancesInput) SetOfferingType(v string) *DescribeReservedDBInstancesInput {
29905	s.OfferingType = &v
29906	return s
29907}
29908
29909// SetProductDescription sets the ProductDescription field's value.
29910func (s *DescribeReservedDBInstancesInput) SetProductDescription(v string) *DescribeReservedDBInstancesInput {
29911	s.ProductDescription = &v
29912	return s
29913}
29914
29915// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
29916func (s *DescribeReservedDBInstancesInput) SetReservedDBInstanceId(v string) *DescribeReservedDBInstancesInput {
29917	s.ReservedDBInstanceId = &v
29918	return s
29919}
29920
29921// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
29922func (s *DescribeReservedDBInstancesInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesInput {
29923	s.ReservedDBInstancesOfferingId = &v
29924	return s
29925}
29926
29927type DescribeReservedDBInstancesOfferingsInput struct {
29928	_ struct{} `type:"structure"`
29929
29930	// The DB instance class filter value. Specify this parameter to show only the
29931	// available offerings matching the specified DB instance class.
29932	DBInstanceClass *string `type:"string"`
29933
29934	// Duration filter value, specified in years or seconds. Specify this parameter
29935	// to show only reservations for this duration.
29936	//
29937	// Valid Values: 1 | 3 | 31536000 | 94608000
29938	Duration *string `type:"string"`
29939
29940	// This parameter isn't currently supported.
29941	Filters []*Filter `locationNameList:"Filter" type:"list"`
29942
29943	// An optional pagination token provided by a previous request. If this parameter
29944	// is specified, the response includes only records beyond the marker, up to
29945	// the value specified by MaxRecords.
29946	Marker *string `type:"string"`
29947
29948	// The maximum number of records to include in the response. If more than the
29949	// MaxRecords value is available, a pagination token called a marker is included
29950	// in the response so you can retrieve the remaining results.
29951	//
29952	// Default: 100
29953	//
29954	// Constraints: Minimum 20, maximum 100.
29955	MaxRecords *int64 `type:"integer"`
29956
29957	// A value that indicates whether to show only those reservations that support
29958	// Multi-AZ.
29959	MultiAZ *bool `type:"boolean"`
29960
29961	// The offering type filter value. Specify this parameter to show only the available
29962	// offerings matching the specified offering type.
29963	//
29964	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
29965	OfferingType *string `type:"string"`
29966
29967	// Product description filter value. Specify this parameter to show only the
29968	// available offerings that contain the specified product description.
29969	//
29970	// The results show offerings that partially match the filter value.
29971	ProductDescription *string `type:"string"`
29972
29973	// The offering identifier filter value. Specify this parameter to show only
29974	// the available offering that matches the specified reservation identifier.
29975	//
29976	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
29977	ReservedDBInstancesOfferingId *string `type:"string"`
29978}
29979
29980// String returns the string representation
29981func (s DescribeReservedDBInstancesOfferingsInput) String() string {
29982	return awsutil.Prettify(s)
29983}
29984
29985// GoString returns the string representation
29986func (s DescribeReservedDBInstancesOfferingsInput) GoString() string {
29987	return s.String()
29988}
29989
29990// Validate inspects the fields of the type to determine if they are valid.
29991func (s *DescribeReservedDBInstancesOfferingsInput) Validate() error {
29992	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesOfferingsInput"}
29993	if s.Filters != nil {
29994		for i, v := range s.Filters {
29995			if v == nil {
29996				continue
29997			}
29998			if err := v.Validate(); err != nil {
29999				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30000			}
30001		}
30002	}
30003
30004	if invalidParams.Len() > 0 {
30005		return invalidParams
30006	}
30007	return nil
30008}
30009
30010// SetDBInstanceClass sets the DBInstanceClass field's value.
30011func (s *DescribeReservedDBInstancesOfferingsInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesOfferingsInput {
30012	s.DBInstanceClass = &v
30013	return s
30014}
30015
30016// SetDuration sets the Duration field's value.
30017func (s *DescribeReservedDBInstancesOfferingsInput) SetDuration(v string) *DescribeReservedDBInstancesOfferingsInput {
30018	s.Duration = &v
30019	return s
30020}
30021
30022// SetFilters sets the Filters field's value.
30023func (s *DescribeReservedDBInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesOfferingsInput {
30024	s.Filters = v
30025	return s
30026}
30027
30028// SetMarker sets the Marker field's value.
30029func (s *DescribeReservedDBInstancesOfferingsInput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsInput {
30030	s.Marker = &v
30031	return s
30032}
30033
30034// SetMaxRecords sets the MaxRecords field's value.
30035func (s *DescribeReservedDBInstancesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesOfferingsInput {
30036	s.MaxRecords = &v
30037	return s
30038}
30039
30040// SetMultiAZ sets the MultiAZ field's value.
30041func (s *DescribeReservedDBInstancesOfferingsInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesOfferingsInput {
30042	s.MultiAZ = &v
30043	return s
30044}
30045
30046// SetOfferingType sets the OfferingType field's value.
30047func (s *DescribeReservedDBInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedDBInstancesOfferingsInput {
30048	s.OfferingType = &v
30049	return s
30050}
30051
30052// SetProductDescription sets the ProductDescription field's value.
30053func (s *DescribeReservedDBInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedDBInstancesOfferingsInput {
30054	s.ProductDescription = &v
30055	return s
30056}
30057
30058// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
30059func (s *DescribeReservedDBInstancesOfferingsInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesOfferingsInput {
30060	s.ReservedDBInstancesOfferingId = &v
30061	return s
30062}
30063
30064// Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings
30065// action.
30066type DescribeReservedDBInstancesOfferingsOutput struct {
30067	_ struct{} `type:"structure"`
30068
30069	// An optional pagination token provided by a previous request. If this parameter
30070	// is specified, the response includes only records beyond the marker, up to
30071	// the value specified by MaxRecords.
30072	Marker *string `type:"string"`
30073
30074	// A list of reserved DB instance offerings.
30075	ReservedDBInstancesOfferings []*ReservedDBInstancesOffering `locationNameList:"ReservedDBInstancesOffering" type:"list"`
30076}
30077
30078// String returns the string representation
30079func (s DescribeReservedDBInstancesOfferingsOutput) String() string {
30080	return awsutil.Prettify(s)
30081}
30082
30083// GoString returns the string representation
30084func (s DescribeReservedDBInstancesOfferingsOutput) GoString() string {
30085	return s.String()
30086}
30087
30088// SetMarker sets the Marker field's value.
30089func (s *DescribeReservedDBInstancesOfferingsOutput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsOutput {
30090	s.Marker = &v
30091	return s
30092}
30093
30094// SetReservedDBInstancesOfferings sets the ReservedDBInstancesOfferings field's value.
30095func (s *DescribeReservedDBInstancesOfferingsOutput) SetReservedDBInstancesOfferings(v []*ReservedDBInstancesOffering) *DescribeReservedDBInstancesOfferingsOutput {
30096	s.ReservedDBInstancesOfferings = v
30097	return s
30098}
30099
30100// Contains the result of a successful invocation of the DescribeReservedDBInstances
30101// action.
30102type DescribeReservedDBInstancesOutput struct {
30103	_ struct{} `type:"structure"`
30104
30105	// An optional pagination token provided by a previous request. If this parameter
30106	// is specified, the response includes only records beyond the marker, up to
30107	// the value specified by MaxRecords.
30108	Marker *string `type:"string"`
30109
30110	// A list of reserved DB instances.
30111	ReservedDBInstances []*ReservedDBInstance `locationNameList:"ReservedDBInstance" type:"list"`
30112}
30113
30114// String returns the string representation
30115func (s DescribeReservedDBInstancesOutput) String() string {
30116	return awsutil.Prettify(s)
30117}
30118
30119// GoString returns the string representation
30120func (s DescribeReservedDBInstancesOutput) GoString() string {
30121	return s.String()
30122}
30123
30124// SetMarker sets the Marker field's value.
30125func (s *DescribeReservedDBInstancesOutput) SetMarker(v string) *DescribeReservedDBInstancesOutput {
30126	s.Marker = &v
30127	return s
30128}
30129
30130// SetReservedDBInstances sets the ReservedDBInstances field's value.
30131func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*ReservedDBInstance) *DescribeReservedDBInstancesOutput {
30132	s.ReservedDBInstances = v
30133	return s
30134}
30135
30136type DescribeSourceRegionsInput struct {
30137	_ struct{} `type:"structure"`
30138
30139	// This parameter isn't currently supported.
30140	Filters []*Filter `locationNameList:"Filter" type:"list"`
30141
30142	// An optional pagination token provided by a previous DescribeSourceRegions
30143	// request. If this parameter is specified, the response includes only records
30144	// beyond the marker, up to the value specified by MaxRecords.
30145	Marker *string `type:"string"`
30146
30147	// The maximum number of records to include in the response. If more records
30148	// exist than the specified MaxRecords value, a pagination token called a marker
30149	// is included in the response so you can retrieve the remaining results.
30150	//
30151	// Default: 100
30152	//
30153	// Constraints: Minimum 20, maximum 100.
30154	MaxRecords *int64 `type:"integer"`
30155
30156	// The source AWS Region name. For example, us-east-1.
30157	//
30158	// Constraints:
30159	//
30160	//    * Must specify a valid AWS Region name.
30161	RegionName *string `type:"string"`
30162}
30163
30164// String returns the string representation
30165func (s DescribeSourceRegionsInput) String() string {
30166	return awsutil.Prettify(s)
30167}
30168
30169// GoString returns the string representation
30170func (s DescribeSourceRegionsInput) GoString() string {
30171	return s.String()
30172}
30173
30174// Validate inspects the fields of the type to determine if they are valid.
30175func (s *DescribeSourceRegionsInput) Validate() error {
30176	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"}
30177	if s.Filters != nil {
30178		for i, v := range s.Filters {
30179			if v == nil {
30180				continue
30181			}
30182			if err := v.Validate(); err != nil {
30183				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30184			}
30185		}
30186	}
30187
30188	if invalidParams.Len() > 0 {
30189		return invalidParams
30190	}
30191	return nil
30192}
30193
30194// SetFilters sets the Filters field's value.
30195func (s *DescribeSourceRegionsInput) SetFilters(v []*Filter) *DescribeSourceRegionsInput {
30196	s.Filters = v
30197	return s
30198}
30199
30200// SetMarker sets the Marker field's value.
30201func (s *DescribeSourceRegionsInput) SetMarker(v string) *DescribeSourceRegionsInput {
30202	s.Marker = &v
30203	return s
30204}
30205
30206// SetMaxRecords sets the MaxRecords field's value.
30207func (s *DescribeSourceRegionsInput) SetMaxRecords(v int64) *DescribeSourceRegionsInput {
30208	s.MaxRecords = &v
30209	return s
30210}
30211
30212// SetRegionName sets the RegionName field's value.
30213func (s *DescribeSourceRegionsInput) SetRegionName(v string) *DescribeSourceRegionsInput {
30214	s.RegionName = &v
30215	return s
30216}
30217
30218// Contains the result of a successful invocation of the DescribeSourceRegions
30219// action.
30220type DescribeSourceRegionsOutput struct {
30221	_ struct{} `type:"structure"`
30222
30223	// An optional pagination token provided by a previous request. If this parameter
30224	// is specified, the response includes only records beyond the marker, up to
30225	// the value specified by MaxRecords.
30226	Marker *string `type:"string"`
30227
30228	// A list of SourceRegion instances that contains each source AWS Region that
30229	// the current AWS Region can get a read replica or a DB snapshot from.
30230	SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"`
30231}
30232
30233// String returns the string representation
30234func (s DescribeSourceRegionsOutput) String() string {
30235	return awsutil.Prettify(s)
30236}
30237
30238// GoString returns the string representation
30239func (s DescribeSourceRegionsOutput) GoString() string {
30240	return s.String()
30241}
30242
30243// SetMarker sets the Marker field's value.
30244func (s *DescribeSourceRegionsOutput) SetMarker(v string) *DescribeSourceRegionsOutput {
30245	s.Marker = &v
30246	return s
30247}
30248
30249// SetSourceRegions sets the SourceRegions field's value.
30250func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *DescribeSourceRegionsOutput {
30251	s.SourceRegions = v
30252	return s
30253}
30254
30255type DescribeValidDBInstanceModificationsInput struct {
30256	_ struct{} `type:"structure"`
30257
30258	// The customer identifier or the ARN of your DB instance.
30259	//
30260	// DBInstanceIdentifier is a required field
30261	DBInstanceIdentifier *string `type:"string" required:"true"`
30262}
30263
30264// String returns the string representation
30265func (s DescribeValidDBInstanceModificationsInput) String() string {
30266	return awsutil.Prettify(s)
30267}
30268
30269// GoString returns the string representation
30270func (s DescribeValidDBInstanceModificationsInput) GoString() string {
30271	return s.String()
30272}
30273
30274// Validate inspects the fields of the type to determine if they are valid.
30275func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
30276	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
30277	if s.DBInstanceIdentifier == nil {
30278		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
30279	}
30280
30281	if invalidParams.Len() > 0 {
30282		return invalidParams
30283	}
30284	return nil
30285}
30286
30287// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
30288func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
30289	s.DBInstanceIdentifier = &v
30290	return s
30291}
30292
30293type DescribeValidDBInstanceModificationsOutput struct {
30294	_ struct{} `type:"structure"`
30295
30296	// Information about valid modifications that you can make to your DB instance.
30297	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
30298	// action. You can use this information when you call ModifyDBInstance.
30299	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
30300}
30301
30302// String returns the string representation
30303func (s DescribeValidDBInstanceModificationsOutput) String() string {
30304	return awsutil.Prettify(s)
30305}
30306
30307// GoString returns the string representation
30308func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
30309	return s.String()
30310}
30311
30312// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
30313func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
30314	s.ValidDBInstanceModificationsMessage = v
30315	return s
30316}
30317
30318// An Active Directory Domain membership record associated with the DB instance
30319// or cluster.
30320type DomainMembership struct {
30321	_ struct{} `type:"structure"`
30322
30323	// The identifier of the Active Directory Domain.
30324	Domain *string `type:"string"`
30325
30326	// The fully qualified domain name of the Active Directory Domain.
30327	FQDN *string `type:"string"`
30328
30329	// The name of the IAM role to be used when making API calls to the Directory
30330	// Service.
30331	IAMRoleName *string `type:"string"`
30332
30333	// The status of the Active Directory Domain membership for the DB instance
30334	// or cluster. Values include joined, pending-join, failed, and so on.
30335	Status *string `type:"string"`
30336}
30337
30338// String returns the string representation
30339func (s DomainMembership) String() string {
30340	return awsutil.Prettify(s)
30341}
30342
30343// GoString returns the string representation
30344func (s DomainMembership) GoString() string {
30345	return s.String()
30346}
30347
30348// SetDomain sets the Domain field's value.
30349func (s *DomainMembership) SetDomain(v string) *DomainMembership {
30350	s.Domain = &v
30351	return s
30352}
30353
30354// SetFQDN sets the FQDN field's value.
30355func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
30356	s.FQDN = &v
30357	return s
30358}
30359
30360// SetIAMRoleName sets the IAMRoleName field's value.
30361func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
30362	s.IAMRoleName = &v
30363	return s
30364}
30365
30366// SetStatus sets the Status field's value.
30367func (s *DomainMembership) SetStatus(v string) *DomainMembership {
30368	s.Status = &v
30369	return s
30370}
30371
30372// A range of double values.
30373type DoubleRange struct {
30374	_ struct{} `type:"structure"`
30375
30376	// The minimum value in the range.
30377	From *float64 `type:"double"`
30378
30379	// The maximum value in the range.
30380	To *float64 `type:"double"`
30381}
30382
30383// String returns the string representation
30384func (s DoubleRange) String() string {
30385	return awsutil.Prettify(s)
30386}
30387
30388// GoString returns the string representation
30389func (s DoubleRange) GoString() string {
30390	return s.String()
30391}
30392
30393// SetFrom sets the From field's value.
30394func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
30395	s.From = &v
30396	return s
30397}
30398
30399// SetTo sets the To field's value.
30400func (s *DoubleRange) SetTo(v float64) *DoubleRange {
30401	s.To = &v
30402	return s
30403}
30404
30405type DownloadDBLogFilePortionInput struct {
30406	_ struct{} `type:"structure"`
30407
30408	// The customer-assigned name of the DB instance that contains the log files
30409	// you want to list.
30410	//
30411	// Constraints:
30412	//
30413	//    * Must match the identifier of an existing DBInstance.
30414	//
30415	// DBInstanceIdentifier is a required field
30416	DBInstanceIdentifier *string `type:"string" required:"true"`
30417
30418	// The name of the log file to be downloaded.
30419	//
30420	// LogFileName is a required field
30421	LogFileName *string `type:"string" required:"true"`
30422
30423	// The pagination token provided in the previous request or "0". If the Marker
30424	// parameter is specified the response includes only records beyond the marker
30425	// until the end of the file or up to NumberOfLines.
30426	Marker *string `type:"string"`
30427
30428	// The number of lines to download. If the number of lines specified results
30429	// in a file over 1 MB in size, the file is truncated at 1 MB in size.
30430	//
30431	// If the NumberOfLines parameter is specified, then the block of lines returned
30432	// can be from the beginning or the end of the log file, depending on the value
30433	// of the Marker parameter.
30434	//
30435	//    * If neither Marker or NumberOfLines are specified, the entire log file
30436	//    is returned up to a maximum of 10000 lines, starting with the most recent
30437	//    log entries first.
30438	//
30439	//    * If NumberOfLines is specified and Marker isn't specified, then the most
30440	//    recent lines from the end of the log file are returned.
30441	//
30442	//    * If Marker is specified as "0", then the specified number of lines from
30443	//    the beginning of the log file are returned.
30444	//
30445	//    * You can download the log file in blocks of lines by specifying the size
30446	//    of the block using the NumberOfLines parameter, and by specifying a value
30447	//    of "0" for the Marker parameter in your first request. Include the Marker
30448	//    value returned in the response as the Marker value for the next request,
30449	//    continuing until the AdditionalDataPending response element returns false.
30450	NumberOfLines *int64 `type:"integer"`
30451}
30452
30453// String returns the string representation
30454func (s DownloadDBLogFilePortionInput) String() string {
30455	return awsutil.Prettify(s)
30456}
30457
30458// GoString returns the string representation
30459func (s DownloadDBLogFilePortionInput) GoString() string {
30460	return s.String()
30461}
30462
30463// Validate inspects the fields of the type to determine if they are valid.
30464func (s *DownloadDBLogFilePortionInput) Validate() error {
30465	invalidParams := request.ErrInvalidParams{Context: "DownloadDBLogFilePortionInput"}
30466	if s.DBInstanceIdentifier == nil {
30467		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
30468	}
30469	if s.LogFileName == nil {
30470		invalidParams.Add(request.NewErrParamRequired("LogFileName"))
30471	}
30472
30473	if invalidParams.Len() > 0 {
30474		return invalidParams
30475	}
30476	return nil
30477}
30478
30479// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
30480func (s *DownloadDBLogFilePortionInput) SetDBInstanceIdentifier(v string) *DownloadDBLogFilePortionInput {
30481	s.DBInstanceIdentifier = &v
30482	return s
30483}
30484
30485// SetLogFileName sets the LogFileName field's value.
30486func (s *DownloadDBLogFilePortionInput) SetLogFileName(v string) *DownloadDBLogFilePortionInput {
30487	s.LogFileName = &v
30488	return s
30489}
30490
30491// SetMarker sets the Marker field's value.
30492func (s *DownloadDBLogFilePortionInput) SetMarker(v string) *DownloadDBLogFilePortionInput {
30493	s.Marker = &v
30494	return s
30495}
30496
30497// SetNumberOfLines sets the NumberOfLines field's value.
30498func (s *DownloadDBLogFilePortionInput) SetNumberOfLines(v int64) *DownloadDBLogFilePortionInput {
30499	s.NumberOfLines = &v
30500	return s
30501}
30502
30503// This data type is used as a response element to DownloadDBLogFilePortion.
30504type DownloadDBLogFilePortionOutput struct {
30505	_ struct{} `type:"structure"`
30506
30507	// Boolean value that if true, indicates there is more data to be downloaded.
30508	AdditionalDataPending *bool `type:"boolean"`
30509
30510	// Entries from the specified log file.
30511	LogFileData *string `type:"string"`
30512
30513	// A pagination token that can be used in a later DownloadDBLogFilePortion request.
30514	Marker *string `type:"string"`
30515}
30516
30517// String returns the string representation
30518func (s DownloadDBLogFilePortionOutput) String() string {
30519	return awsutil.Prettify(s)
30520}
30521
30522// GoString returns the string representation
30523func (s DownloadDBLogFilePortionOutput) GoString() string {
30524	return s.String()
30525}
30526
30527// SetAdditionalDataPending sets the AdditionalDataPending field's value.
30528func (s *DownloadDBLogFilePortionOutput) SetAdditionalDataPending(v bool) *DownloadDBLogFilePortionOutput {
30529	s.AdditionalDataPending = &v
30530	return s
30531}
30532
30533// SetLogFileData sets the LogFileData field's value.
30534func (s *DownloadDBLogFilePortionOutput) SetLogFileData(v string) *DownloadDBLogFilePortionOutput {
30535	s.LogFileData = &v
30536	return s
30537}
30538
30539// SetMarker sets the Marker field's value.
30540func (s *DownloadDBLogFilePortionOutput) SetMarker(v string) *DownloadDBLogFilePortionOutput {
30541	s.Marker = &v
30542	return s
30543}
30544
30545// This data type is used as a response element in the following actions:
30546//
30547//    * AuthorizeDBSecurityGroupIngress
30548//
30549//    * DescribeDBSecurityGroups
30550//
30551//    * RevokeDBSecurityGroupIngress
30552type EC2SecurityGroup struct {
30553	_ struct{} `type:"structure"`
30554
30555	// Specifies the id of the EC2 security group.
30556	EC2SecurityGroupId *string `type:"string"`
30557
30558	// Specifies the name of the EC2 security group.
30559	EC2SecurityGroupName *string `type:"string"`
30560
30561	// Specifies the AWS ID of the owner of the EC2 security group specified in
30562	// the EC2SecurityGroupName field.
30563	EC2SecurityGroupOwnerId *string `type:"string"`
30564
30565	// Provides the status of the EC2 security group. Status can be "authorizing",
30566	// "authorized", "revoking", and "revoked".
30567	Status *string `type:"string"`
30568}
30569
30570// String returns the string representation
30571func (s EC2SecurityGroup) String() string {
30572	return awsutil.Prettify(s)
30573}
30574
30575// GoString returns the string representation
30576func (s EC2SecurityGroup) GoString() string {
30577	return s.String()
30578}
30579
30580// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
30581func (s *EC2SecurityGroup) SetEC2SecurityGroupId(v string) *EC2SecurityGroup {
30582	s.EC2SecurityGroupId = &v
30583	return s
30584}
30585
30586// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
30587func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
30588	s.EC2SecurityGroupName = &v
30589	return s
30590}
30591
30592// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
30593func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
30594	s.EC2SecurityGroupOwnerId = &v
30595	return s
30596}
30597
30598// SetStatus sets the Status field's value.
30599func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
30600	s.Status = &v
30601	return s
30602}
30603
30604// This data type represents the information you need to connect to an Amazon
30605// RDS DB instance. This data type is used as a response element in the following
30606// actions:
30607//
30608//    * CreateDBInstance
30609//
30610//    * DescribeDBInstances
30611//
30612//    * DeleteDBInstance
30613//
30614// For the data structure that represents Amazon Aurora DB cluster endpoints,
30615// see DBClusterEndpoint.
30616type Endpoint struct {
30617	_ struct{} `type:"structure"`
30618
30619	// Specifies the DNS address of the DB instance.
30620	Address *string `type:"string"`
30621
30622	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
30623	HostedZoneId *string `type:"string"`
30624
30625	// Specifies the port that the database engine is listening on.
30626	Port *int64 `type:"integer"`
30627}
30628
30629// String returns the string representation
30630func (s Endpoint) String() string {
30631	return awsutil.Prettify(s)
30632}
30633
30634// GoString returns the string representation
30635func (s Endpoint) GoString() string {
30636	return s.String()
30637}
30638
30639// SetAddress sets the Address field's value.
30640func (s *Endpoint) SetAddress(v string) *Endpoint {
30641	s.Address = &v
30642	return s
30643}
30644
30645// SetHostedZoneId sets the HostedZoneId field's value.
30646func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
30647	s.HostedZoneId = &v
30648	return s
30649}
30650
30651// SetPort sets the Port field's value.
30652func (s *Endpoint) SetPort(v int64) *Endpoint {
30653	s.Port = &v
30654	return s
30655}
30656
30657// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
30658// action.
30659type EngineDefaults struct {
30660	_ struct{} `type:"structure"`
30661
30662	// Specifies the name of the DB parameter group family that the engine default
30663	// parameters apply to.
30664	DBParameterGroupFamily *string `type:"string"`
30665
30666	// An optional pagination token provided by a previous EngineDefaults request.
30667	// If this parameter is specified, the response includes only records beyond
30668	// the marker, up to the value specified by MaxRecords .
30669	Marker *string `type:"string"`
30670
30671	// Contains a list of engine default parameters.
30672	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
30673}
30674
30675// String returns the string representation
30676func (s EngineDefaults) String() string {
30677	return awsutil.Prettify(s)
30678}
30679
30680// GoString returns the string representation
30681func (s EngineDefaults) GoString() string {
30682	return s.String()
30683}
30684
30685// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
30686func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
30687	s.DBParameterGroupFamily = &v
30688	return s
30689}
30690
30691// SetMarker sets the Marker field's value.
30692func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
30693	s.Marker = &v
30694	return s
30695}
30696
30697// SetParameters sets the Parameters field's value.
30698func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
30699	s.Parameters = v
30700	return s
30701}
30702
30703// This data type is used as a response element in the DescribeEvents action.
30704type Event struct {
30705	_ struct{} `type:"structure"`
30706
30707	// Specifies the date and time of the event.
30708	Date *time.Time `type:"timestamp"`
30709
30710	// Specifies the category for the event.
30711	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
30712
30713	// Provides the text of this event.
30714	Message *string `type:"string"`
30715
30716	// The Amazon Resource Name (ARN) for the event.
30717	SourceArn *string `type:"string"`
30718
30719	// Provides the identifier for the source of the event.
30720	SourceIdentifier *string `type:"string"`
30721
30722	// Specifies the source type for this event.
30723	SourceType *string `type:"string" enum:"SourceType"`
30724}
30725
30726// String returns the string representation
30727func (s Event) String() string {
30728	return awsutil.Prettify(s)
30729}
30730
30731// GoString returns the string representation
30732func (s Event) GoString() string {
30733	return s.String()
30734}
30735
30736// SetDate sets the Date field's value.
30737func (s *Event) SetDate(v time.Time) *Event {
30738	s.Date = &v
30739	return s
30740}
30741
30742// SetEventCategories sets the EventCategories field's value.
30743func (s *Event) SetEventCategories(v []*string) *Event {
30744	s.EventCategories = v
30745	return s
30746}
30747
30748// SetMessage sets the Message field's value.
30749func (s *Event) SetMessage(v string) *Event {
30750	s.Message = &v
30751	return s
30752}
30753
30754// SetSourceArn sets the SourceArn field's value.
30755func (s *Event) SetSourceArn(v string) *Event {
30756	s.SourceArn = &v
30757	return s
30758}
30759
30760// SetSourceIdentifier sets the SourceIdentifier field's value.
30761func (s *Event) SetSourceIdentifier(v string) *Event {
30762	s.SourceIdentifier = &v
30763	return s
30764}
30765
30766// SetSourceType sets the SourceType field's value.
30767func (s *Event) SetSourceType(v string) *Event {
30768	s.SourceType = &v
30769	return s
30770}
30771
30772// Contains the results of a successful invocation of the DescribeEventCategories
30773// action.
30774type EventCategoriesMap struct {
30775	_ struct{} `type:"structure"`
30776
30777	// The event categories for the specified source type
30778	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
30779
30780	// The source type that the returned categories belong to
30781	SourceType *string `type:"string"`
30782}
30783
30784// String returns the string representation
30785func (s EventCategoriesMap) String() string {
30786	return awsutil.Prettify(s)
30787}
30788
30789// GoString returns the string representation
30790func (s EventCategoriesMap) GoString() string {
30791	return s.String()
30792}
30793
30794// SetEventCategories sets the EventCategories field's value.
30795func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
30796	s.EventCategories = v
30797	return s
30798}
30799
30800// SetSourceType sets the SourceType field's value.
30801func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
30802	s.SourceType = &v
30803	return s
30804}
30805
30806// Contains the results of a successful invocation of the DescribeEventSubscriptions
30807// action.
30808type EventSubscription struct {
30809	_ struct{} `type:"structure"`
30810
30811	// The RDS event notification subscription Id.
30812	CustSubscriptionId *string `type:"string"`
30813
30814	// The AWS customer account associated with the RDS event notification subscription.
30815	CustomerAwsId *string `type:"string"`
30816
30817	// A Boolean value indicating if the subscription is enabled. True indicates
30818	// the subscription is enabled.
30819	Enabled *bool `type:"boolean"`
30820
30821	// A list of event categories for the RDS event notification subscription.
30822	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
30823
30824	// The Amazon Resource Name (ARN) for the event subscription.
30825	EventSubscriptionArn *string `type:"string"`
30826
30827	// The topic ARN of the RDS event notification subscription.
30828	SnsTopicArn *string `type:"string"`
30829
30830	// A list of source IDs for the RDS event notification subscription.
30831	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
30832
30833	// The source type for the RDS event notification subscription.
30834	SourceType *string `type:"string"`
30835
30836	// The status of the RDS event notification subscription.
30837	//
30838	// Constraints:
30839	//
30840	// Can be one of the following: creating | modifying | deleting | active | no-permission
30841	// | topic-not-exist
30842	//
30843	// The status "no-permission" indicates that RDS no longer has permission to
30844	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
30845	// was deleted after the subscription was created.
30846	Status *string `type:"string"`
30847
30848	// The time the RDS event notification subscription was created.
30849	SubscriptionCreationTime *string `type:"string"`
30850}
30851
30852// String returns the string representation
30853func (s EventSubscription) String() string {
30854	return awsutil.Prettify(s)
30855}
30856
30857// GoString returns the string representation
30858func (s EventSubscription) GoString() string {
30859	return s.String()
30860}
30861
30862// SetCustSubscriptionId sets the CustSubscriptionId field's value.
30863func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
30864	s.CustSubscriptionId = &v
30865	return s
30866}
30867
30868// SetCustomerAwsId sets the CustomerAwsId field's value.
30869func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
30870	s.CustomerAwsId = &v
30871	return s
30872}
30873
30874// SetEnabled sets the Enabled field's value.
30875func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
30876	s.Enabled = &v
30877	return s
30878}
30879
30880// SetEventCategoriesList sets the EventCategoriesList field's value.
30881func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
30882	s.EventCategoriesList = v
30883	return s
30884}
30885
30886// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
30887func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
30888	s.EventSubscriptionArn = &v
30889	return s
30890}
30891
30892// SetSnsTopicArn sets the SnsTopicArn field's value.
30893func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
30894	s.SnsTopicArn = &v
30895	return s
30896}
30897
30898// SetSourceIdsList sets the SourceIdsList field's value.
30899func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
30900	s.SourceIdsList = v
30901	return s
30902}
30903
30904// SetSourceType sets the SourceType field's value.
30905func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
30906	s.SourceType = &v
30907	return s
30908}
30909
30910// SetStatus sets the Status field's value.
30911func (s *EventSubscription) SetStatus(v string) *EventSubscription {
30912	s.Status = &v
30913	return s
30914}
30915
30916// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
30917func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
30918	s.SubscriptionCreationTime = &v
30919	return s
30920}
30921
30922// Contains the details of a snapshot export to Amazon S3.
30923//
30924// This data type is used as a response element in the DescribeExportTasks action.
30925type ExportTask struct {
30926	_ struct{} `type:"structure"`
30927
30928	// The data exported from the snapshot. Valid values are the following:
30929	//
30930	//    * database - Export all the data from a specified database.
30931	//
30932	//    * database.table table-name - Export a table of the snapshot. This format
30933	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
30934	//
30935	//    * database.schema schema-name - Export a database schema of the snapshot.
30936	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
30937	//
30938	//    * database.schema.table table-name - Export a table of the database schema.
30939	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
30940	ExportOnly []*string `type:"list"`
30941
30942	// A unique identifier for the snapshot export task. This ID isn't an identifier
30943	// for the Amazon S3 bucket where the snapshot is exported to.
30944	ExportTaskIdentifier *string `type:"string"`
30945
30946	// The reason the export failed, if it failed.
30947	FailureCause *string `type:"string"`
30948
30949	// The name of the IAM role that is used to write to Amazon S3 when exporting
30950	// a snapshot.
30951	IamRoleArn *string `type:"string"`
30952
30953	// The ID of the AWS KMS key that is used to encrypt the snapshot when it's
30954	// exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN),
30955	// the KMS key identifier, or the KMS key alias for the KMS encryption key.
30956	// The IAM role used for the snapshot export must have encryption and decryption
30957	// permissions to use this KMS key.
30958	KmsKeyId *string `type:"string"`
30959
30960	// The progress of the snapshot export task as a percentage.
30961	PercentProgress *int64 `type:"integer"`
30962
30963	// The Amazon S3 bucket that the snapshot is exported to.
30964	S3Bucket *string `type:"string"`
30965
30966	// The Amazon S3 bucket prefix that is the file name and path of the exported
30967	// snapshot.
30968	S3Prefix *string `type:"string"`
30969
30970	// The time that the snapshot was created.
30971	SnapshotTime *time.Time `type:"timestamp"`
30972
30973	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
30974	SourceArn *string `type:"string"`
30975
30976	// The progress status of the export task.
30977	Status *string `type:"string"`
30978
30979	// The time that the snapshot export task completed.
30980	TaskEndTime *time.Time `type:"timestamp"`
30981
30982	// The time that the snapshot export task started.
30983	TaskStartTime *time.Time `type:"timestamp"`
30984
30985	// The total amount of data exported, in gigabytes.
30986	TotalExtractedDataInGB *int64 `type:"integer"`
30987
30988	// A warning about the snapshot export task.
30989	WarningMessage *string `type:"string"`
30990}
30991
30992// String returns the string representation
30993func (s ExportTask) String() string {
30994	return awsutil.Prettify(s)
30995}
30996
30997// GoString returns the string representation
30998func (s ExportTask) GoString() string {
30999	return s.String()
31000}
31001
31002// SetExportOnly sets the ExportOnly field's value.
31003func (s *ExportTask) SetExportOnly(v []*string) *ExportTask {
31004	s.ExportOnly = v
31005	return s
31006}
31007
31008// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
31009func (s *ExportTask) SetExportTaskIdentifier(v string) *ExportTask {
31010	s.ExportTaskIdentifier = &v
31011	return s
31012}
31013
31014// SetFailureCause sets the FailureCause field's value.
31015func (s *ExportTask) SetFailureCause(v string) *ExportTask {
31016	s.FailureCause = &v
31017	return s
31018}
31019
31020// SetIamRoleArn sets the IamRoleArn field's value.
31021func (s *ExportTask) SetIamRoleArn(v string) *ExportTask {
31022	s.IamRoleArn = &v
31023	return s
31024}
31025
31026// SetKmsKeyId sets the KmsKeyId field's value.
31027func (s *ExportTask) SetKmsKeyId(v string) *ExportTask {
31028	s.KmsKeyId = &v
31029	return s
31030}
31031
31032// SetPercentProgress sets the PercentProgress field's value.
31033func (s *ExportTask) SetPercentProgress(v int64) *ExportTask {
31034	s.PercentProgress = &v
31035	return s
31036}
31037
31038// SetS3Bucket sets the S3Bucket field's value.
31039func (s *ExportTask) SetS3Bucket(v string) *ExportTask {
31040	s.S3Bucket = &v
31041	return s
31042}
31043
31044// SetS3Prefix sets the S3Prefix field's value.
31045func (s *ExportTask) SetS3Prefix(v string) *ExportTask {
31046	s.S3Prefix = &v
31047	return s
31048}
31049
31050// SetSnapshotTime sets the SnapshotTime field's value.
31051func (s *ExportTask) SetSnapshotTime(v time.Time) *ExportTask {
31052	s.SnapshotTime = &v
31053	return s
31054}
31055
31056// SetSourceArn sets the SourceArn field's value.
31057func (s *ExportTask) SetSourceArn(v string) *ExportTask {
31058	s.SourceArn = &v
31059	return s
31060}
31061
31062// SetStatus sets the Status field's value.
31063func (s *ExportTask) SetStatus(v string) *ExportTask {
31064	s.Status = &v
31065	return s
31066}
31067
31068// SetTaskEndTime sets the TaskEndTime field's value.
31069func (s *ExportTask) SetTaskEndTime(v time.Time) *ExportTask {
31070	s.TaskEndTime = &v
31071	return s
31072}
31073
31074// SetTaskStartTime sets the TaskStartTime field's value.
31075func (s *ExportTask) SetTaskStartTime(v time.Time) *ExportTask {
31076	s.TaskStartTime = &v
31077	return s
31078}
31079
31080// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
31081func (s *ExportTask) SetTotalExtractedDataInGB(v int64) *ExportTask {
31082	s.TotalExtractedDataInGB = &v
31083	return s
31084}
31085
31086// SetWarningMessage sets the WarningMessage field's value.
31087func (s *ExportTask) SetWarningMessage(v string) *ExportTask {
31088	s.WarningMessage = &v
31089	return s
31090}
31091
31092type FailoverDBClusterInput struct {
31093	_ struct{} `type:"structure"`
31094
31095	// A DB cluster identifier to force a failover for. This parameter isn't case-sensitive.
31096	//
31097	// Constraints:
31098	//
31099	//    * Must match the identifier of an existing DBCluster.
31100	//
31101	// DBClusterIdentifier is a required field
31102	DBClusterIdentifier *string `type:"string" required:"true"`
31103
31104	// The name of the instance to promote to the primary instance.
31105	//
31106	// You must specify the instance identifier for an Aurora Replica in the DB
31107	// cluster. For example, mydbcluster-replica1.
31108	TargetDBInstanceIdentifier *string `type:"string"`
31109}
31110
31111// String returns the string representation
31112func (s FailoverDBClusterInput) String() string {
31113	return awsutil.Prettify(s)
31114}
31115
31116// GoString returns the string representation
31117func (s FailoverDBClusterInput) GoString() string {
31118	return s.String()
31119}
31120
31121// Validate inspects the fields of the type to determine if they are valid.
31122func (s *FailoverDBClusterInput) Validate() error {
31123	invalidParams := request.ErrInvalidParams{Context: "FailoverDBClusterInput"}
31124	if s.DBClusterIdentifier == nil {
31125		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
31126	}
31127
31128	if invalidParams.Len() > 0 {
31129		return invalidParams
31130	}
31131	return nil
31132}
31133
31134// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31135func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
31136	s.DBClusterIdentifier = &v
31137	return s
31138}
31139
31140// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
31141func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
31142	s.TargetDBInstanceIdentifier = &v
31143	return s
31144}
31145
31146type FailoverDBClusterOutput struct {
31147	_ struct{} `type:"structure"`
31148
31149	// Contains the details of an Amazon Aurora DB cluster.
31150	//
31151	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
31152	// and StartDBCluster actions.
31153	DBCluster *DBCluster `type:"structure"`
31154}
31155
31156// String returns the string representation
31157func (s FailoverDBClusterOutput) String() string {
31158	return awsutil.Prettify(s)
31159}
31160
31161// GoString returns the string representation
31162func (s FailoverDBClusterOutput) GoString() string {
31163	return s.String()
31164}
31165
31166// SetDBCluster sets the DBCluster field's value.
31167func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
31168	s.DBCluster = v
31169	return s
31170}
31171
31172// A filter name and value pair that is used to return a more specific list
31173// of results from a describe operation. Filters can be used to match a set
31174// of resources by specific criteria, such as IDs. The filters supported by
31175// a describe operation are documented with the describe operation.
31176//
31177// Currently, wildcards are not supported in filters.
31178//
31179// The following actions can be filtered:
31180//
31181//    * DescribeDBClusterBacktracks
31182//
31183//    * DescribeDBClusterEndpoints
31184//
31185//    * DescribeDBClusters
31186//
31187//    * DescribeDBInstances
31188//
31189//    * DescribePendingMaintenanceActions
31190type Filter struct {
31191	_ struct{} `type:"structure"`
31192
31193	// The name of the filter. Filter names are case-sensitive.
31194	//
31195	// Name is a required field
31196	Name *string `type:"string" required:"true"`
31197
31198	// One or more filter values. Filter values are case-sensitive.
31199	//
31200	// Values is a required field
31201	Values []*string `locationNameList:"Value" type:"list" required:"true"`
31202}
31203
31204// String returns the string representation
31205func (s Filter) String() string {
31206	return awsutil.Prettify(s)
31207}
31208
31209// GoString returns the string representation
31210func (s Filter) GoString() string {
31211	return s.String()
31212}
31213
31214// Validate inspects the fields of the type to determine if they are valid.
31215func (s *Filter) Validate() error {
31216	invalidParams := request.ErrInvalidParams{Context: "Filter"}
31217	if s.Name == nil {
31218		invalidParams.Add(request.NewErrParamRequired("Name"))
31219	}
31220	if s.Values == nil {
31221		invalidParams.Add(request.NewErrParamRequired("Values"))
31222	}
31223
31224	if invalidParams.Len() > 0 {
31225		return invalidParams
31226	}
31227	return nil
31228}
31229
31230// SetName sets the Name field's value.
31231func (s *Filter) SetName(v string) *Filter {
31232	s.Name = &v
31233	return s
31234}
31235
31236// SetValues sets the Values field's value.
31237func (s *Filter) SetValues(v []*string) *Filter {
31238	s.Values = v
31239	return s
31240}
31241
31242// A data type representing an Aurora global database.
31243type GlobalCluster struct {
31244	_ struct{} `type:"structure"`
31245
31246	// The default database name within the new global database cluster.
31247	DatabaseName *string `type:"string"`
31248
31249	// The deletion protection setting for the new global database cluster.
31250	DeletionProtection *bool `type:"boolean"`
31251
31252	// The Aurora database engine used by the global database cluster.
31253	Engine *string `type:"string"`
31254
31255	// Indicates the database engine version.
31256	EngineVersion *string `type:"string"`
31257
31258	// The Amazon Resource Name (ARN) for the global database cluster.
31259	GlobalClusterArn *string `type:"string"`
31260
31261	// Contains a user-supplied global database cluster identifier. This identifier
31262	// is the unique key that identifies a global database cluster.
31263	GlobalClusterIdentifier *string `type:"string"`
31264
31265	// The list of cluster IDs for secondary clusters within the global database
31266	// cluster. Currently limited to 1 item.
31267	GlobalClusterMembers []*GlobalClusterMember `locationNameList:"GlobalClusterMember" type:"list"`
31268
31269	// The AWS Region-unique, immutable identifier for the global database cluster.
31270	// This identifier is found in AWS CloudTrail log entries whenever the AWS KMS
31271	// key for the DB cluster is accessed.
31272	GlobalClusterResourceId *string `type:"string"`
31273
31274	// Specifies the current state of this global database cluster.
31275	Status *string `type:"string"`
31276
31277	// The storage encryption setting for the global database cluster.
31278	StorageEncrypted *bool `type:"boolean"`
31279}
31280
31281// String returns the string representation
31282func (s GlobalCluster) String() string {
31283	return awsutil.Prettify(s)
31284}
31285
31286// GoString returns the string representation
31287func (s GlobalCluster) GoString() string {
31288	return s.String()
31289}
31290
31291// SetDatabaseName sets the DatabaseName field's value.
31292func (s *GlobalCluster) SetDatabaseName(v string) *GlobalCluster {
31293	s.DatabaseName = &v
31294	return s
31295}
31296
31297// SetDeletionProtection sets the DeletionProtection field's value.
31298func (s *GlobalCluster) SetDeletionProtection(v bool) *GlobalCluster {
31299	s.DeletionProtection = &v
31300	return s
31301}
31302
31303// SetEngine sets the Engine field's value.
31304func (s *GlobalCluster) SetEngine(v string) *GlobalCluster {
31305	s.Engine = &v
31306	return s
31307}
31308
31309// SetEngineVersion sets the EngineVersion field's value.
31310func (s *GlobalCluster) SetEngineVersion(v string) *GlobalCluster {
31311	s.EngineVersion = &v
31312	return s
31313}
31314
31315// SetGlobalClusterArn sets the GlobalClusterArn field's value.
31316func (s *GlobalCluster) SetGlobalClusterArn(v string) *GlobalCluster {
31317	s.GlobalClusterArn = &v
31318	return s
31319}
31320
31321// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
31322func (s *GlobalCluster) SetGlobalClusterIdentifier(v string) *GlobalCluster {
31323	s.GlobalClusterIdentifier = &v
31324	return s
31325}
31326
31327// SetGlobalClusterMembers sets the GlobalClusterMembers field's value.
31328func (s *GlobalCluster) SetGlobalClusterMembers(v []*GlobalClusterMember) *GlobalCluster {
31329	s.GlobalClusterMembers = v
31330	return s
31331}
31332
31333// SetGlobalClusterResourceId sets the GlobalClusterResourceId field's value.
31334func (s *GlobalCluster) SetGlobalClusterResourceId(v string) *GlobalCluster {
31335	s.GlobalClusterResourceId = &v
31336	return s
31337}
31338
31339// SetStatus sets the Status field's value.
31340func (s *GlobalCluster) SetStatus(v string) *GlobalCluster {
31341	s.Status = &v
31342	return s
31343}
31344
31345// SetStorageEncrypted sets the StorageEncrypted field's value.
31346func (s *GlobalCluster) SetStorageEncrypted(v bool) *GlobalCluster {
31347	s.StorageEncrypted = &v
31348	return s
31349}
31350
31351// A data structure with information about any primary and secondary clusters
31352// associated with an Aurora global database.
31353type GlobalClusterMember struct {
31354	_ struct{} `type:"structure"`
31355
31356	// The Amazon Resource Name (ARN) for each Aurora cluster.
31357	DBClusterArn *string `type:"string"`
31358
31359	// Specifies whether a secondary cluster in an Aurora global database has write
31360	// forwarding enabled, not enabled, or is in the process of enabling it.
31361	GlobalWriteForwardingStatus *string `type:"string" enum:"WriteForwardingStatus"`
31362
31363	// Specifies whether the Aurora cluster is the primary cluster (that is, has
31364	// read-write capability) for the Aurora global database with which it is associated.
31365	IsWriter *bool `type:"boolean"`
31366
31367	// The Amazon Resource Name (ARN) for each read-only secondary cluster associated
31368	// with the Aurora global database.
31369	Readers []*string `type:"list"`
31370}
31371
31372// String returns the string representation
31373func (s GlobalClusterMember) String() string {
31374	return awsutil.Prettify(s)
31375}
31376
31377// GoString returns the string representation
31378func (s GlobalClusterMember) GoString() string {
31379	return s.String()
31380}
31381
31382// SetDBClusterArn sets the DBClusterArn field's value.
31383func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember {
31384	s.DBClusterArn = &v
31385	return s
31386}
31387
31388// SetGlobalWriteForwardingStatus sets the GlobalWriteForwardingStatus field's value.
31389func (s *GlobalClusterMember) SetGlobalWriteForwardingStatus(v string) *GlobalClusterMember {
31390	s.GlobalWriteForwardingStatus = &v
31391	return s
31392}
31393
31394// SetIsWriter sets the IsWriter field's value.
31395func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember {
31396	s.IsWriter = &v
31397	return s
31398}
31399
31400// SetReaders sets the Readers field's value.
31401func (s *GlobalClusterMember) SetReaders(v []*string) *GlobalClusterMember {
31402	s.Readers = v
31403	return s
31404}
31405
31406// This data type is used as a response element in the DescribeDBSecurityGroups
31407// action.
31408type IPRange struct {
31409	_ struct{} `type:"structure"`
31410
31411	// Specifies the IP range.
31412	CIDRIP *string `type:"string"`
31413
31414	// Specifies the status of the IP range. Status can be "authorizing", "authorized",
31415	// "revoking", and "revoked".
31416	Status *string `type:"string"`
31417}
31418
31419// String returns the string representation
31420func (s IPRange) String() string {
31421	return awsutil.Prettify(s)
31422}
31423
31424// GoString returns the string representation
31425func (s IPRange) GoString() string {
31426	return s.String()
31427}
31428
31429// SetCIDRIP sets the CIDRIP field's value.
31430func (s *IPRange) SetCIDRIP(v string) *IPRange {
31431	s.CIDRIP = &v
31432	return s
31433}
31434
31435// SetStatus sets the Status field's value.
31436func (s *IPRange) SetStatus(v string) *IPRange {
31437	s.Status = &v
31438	return s
31439}
31440
31441type ImportInstallationMediaInput struct {
31442	_ struct{} `type:"structure"`
31443
31444	// The identifier of the custom Availability Zone (AZ) to import the installation
31445	// media to.
31446	//
31447	// CustomAvailabilityZoneId is a required field
31448	CustomAvailabilityZoneId *string `type:"string" required:"true"`
31449
31450	// The name of the database engine to be used for this instance.
31451	//
31452	// The list only includes supported DB engines that require an on-premises customer
31453	// provided license.
31454	//
31455	// Valid Values:
31456	//
31457	//    * sqlserver-ee
31458	//
31459	//    * sqlserver-se
31460	//
31461	//    * sqlserver-ex
31462	//
31463	//    * sqlserver-web
31464	//
31465	// Engine is a required field
31466	Engine *string `type:"string" required:"true"`
31467
31468	// The path to the installation medium for the specified DB engine.
31469	//
31470	// Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso
31471	//
31472	// EngineInstallationMediaPath is a required field
31473	EngineInstallationMediaPath *string `type:"string" required:"true"`
31474
31475	// The version number of the database engine to use.
31476	//
31477	// For a list of valid engine versions, call DescribeDBEngineVersions.
31478	//
31479	// The following are the database engines and links to information about the
31480	// major and minor versions. The list only includes DB engines that require
31481	// an on-premises customer provided license.
31482	//
31483	// Microsoft SQL Server
31484	//
31485	// See Version and Feature Support on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport)
31486	// in the Amazon RDS User Guide.
31487	//
31488	// EngineVersion is a required field
31489	EngineVersion *string `type:"string" required:"true"`
31490
31491	// The path to the installation medium for the operating system associated with
31492	// the specified DB engine.
31493	//
31494	// Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso
31495	//
31496	// OSInstallationMediaPath is a required field
31497	OSInstallationMediaPath *string `type:"string" required:"true"`
31498}
31499
31500// String returns the string representation
31501func (s ImportInstallationMediaInput) String() string {
31502	return awsutil.Prettify(s)
31503}
31504
31505// GoString returns the string representation
31506func (s ImportInstallationMediaInput) GoString() string {
31507	return s.String()
31508}
31509
31510// Validate inspects the fields of the type to determine if they are valid.
31511func (s *ImportInstallationMediaInput) Validate() error {
31512	invalidParams := request.ErrInvalidParams{Context: "ImportInstallationMediaInput"}
31513	if s.CustomAvailabilityZoneId == nil {
31514		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
31515	}
31516	if s.Engine == nil {
31517		invalidParams.Add(request.NewErrParamRequired("Engine"))
31518	}
31519	if s.EngineInstallationMediaPath == nil {
31520		invalidParams.Add(request.NewErrParamRequired("EngineInstallationMediaPath"))
31521	}
31522	if s.EngineVersion == nil {
31523		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
31524	}
31525	if s.OSInstallationMediaPath == nil {
31526		invalidParams.Add(request.NewErrParamRequired("OSInstallationMediaPath"))
31527	}
31528
31529	if invalidParams.Len() > 0 {
31530		return invalidParams
31531	}
31532	return nil
31533}
31534
31535// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
31536func (s *ImportInstallationMediaInput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaInput {
31537	s.CustomAvailabilityZoneId = &v
31538	return s
31539}
31540
31541// SetEngine sets the Engine field's value.
31542func (s *ImportInstallationMediaInput) SetEngine(v string) *ImportInstallationMediaInput {
31543	s.Engine = &v
31544	return s
31545}
31546
31547// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
31548func (s *ImportInstallationMediaInput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaInput {
31549	s.EngineInstallationMediaPath = &v
31550	return s
31551}
31552
31553// SetEngineVersion sets the EngineVersion field's value.
31554func (s *ImportInstallationMediaInput) SetEngineVersion(v string) *ImportInstallationMediaInput {
31555	s.EngineVersion = &v
31556	return s
31557}
31558
31559// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
31560func (s *ImportInstallationMediaInput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaInput {
31561	s.OSInstallationMediaPath = &v
31562	return s
31563}
31564
31565// Contains the installation media for a DB engine that requires an on-premises
31566// customer provided license, such as Microsoft SQL Server.
31567type ImportInstallationMediaOutput struct {
31568	_ struct{} `type:"structure"`
31569
31570	// The custom Availability Zone (AZ) that contains the installation media.
31571	CustomAvailabilityZoneId *string `type:"string"`
31572
31573	// The DB engine.
31574	Engine *string `type:"string"`
31575
31576	// The path to the installation medium for the DB engine.
31577	EngineInstallationMediaPath *string `type:"string"`
31578
31579	// The engine version of the DB engine.
31580	EngineVersion *string `type:"string"`
31581
31582	// If an installation media failure occurred, the cause of the failure.
31583	FailureCause *InstallationMediaFailureCause `type:"structure"`
31584
31585	// The installation medium ID.
31586	InstallationMediaId *string `type:"string"`
31587
31588	// The path to the installation medium for the operating system associated with
31589	// the DB engine.
31590	OSInstallationMediaPath *string `type:"string"`
31591
31592	// The status of the installation medium.
31593	Status *string `type:"string"`
31594}
31595
31596// String returns the string representation
31597func (s ImportInstallationMediaOutput) String() string {
31598	return awsutil.Prettify(s)
31599}
31600
31601// GoString returns the string representation
31602func (s ImportInstallationMediaOutput) GoString() string {
31603	return s.String()
31604}
31605
31606// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
31607func (s *ImportInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaOutput {
31608	s.CustomAvailabilityZoneId = &v
31609	return s
31610}
31611
31612// SetEngine sets the Engine field's value.
31613func (s *ImportInstallationMediaOutput) SetEngine(v string) *ImportInstallationMediaOutput {
31614	s.Engine = &v
31615	return s
31616}
31617
31618// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
31619func (s *ImportInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaOutput {
31620	s.EngineInstallationMediaPath = &v
31621	return s
31622}
31623
31624// SetEngineVersion sets the EngineVersion field's value.
31625func (s *ImportInstallationMediaOutput) SetEngineVersion(v string) *ImportInstallationMediaOutput {
31626	s.EngineVersion = &v
31627	return s
31628}
31629
31630// SetFailureCause sets the FailureCause field's value.
31631func (s *ImportInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *ImportInstallationMediaOutput {
31632	s.FailureCause = v
31633	return s
31634}
31635
31636// SetInstallationMediaId sets the InstallationMediaId field's value.
31637func (s *ImportInstallationMediaOutput) SetInstallationMediaId(v string) *ImportInstallationMediaOutput {
31638	s.InstallationMediaId = &v
31639	return s
31640}
31641
31642// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
31643func (s *ImportInstallationMediaOutput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaOutput {
31644	s.OSInstallationMediaPath = &v
31645	return s
31646}
31647
31648// SetStatus sets the Status field's value.
31649func (s *ImportInstallationMediaOutput) SetStatus(v string) *ImportInstallationMediaOutput {
31650	s.Status = &v
31651	return s
31652}
31653
31654// Contains the installation media for a DB engine that requires an on-premises
31655// customer provided license, such as Microsoft SQL Server.
31656type InstallationMedia struct {
31657	_ struct{} `type:"structure"`
31658
31659	// The custom Availability Zone (AZ) that contains the installation media.
31660	CustomAvailabilityZoneId *string `type:"string"`
31661
31662	// The DB engine.
31663	Engine *string `type:"string"`
31664
31665	// The path to the installation medium for the DB engine.
31666	EngineInstallationMediaPath *string `type:"string"`
31667
31668	// The engine version of the DB engine.
31669	EngineVersion *string `type:"string"`
31670
31671	// If an installation media failure occurred, the cause of the failure.
31672	FailureCause *InstallationMediaFailureCause `type:"structure"`
31673
31674	// The installation medium ID.
31675	InstallationMediaId *string `type:"string"`
31676
31677	// The path to the installation medium for the operating system associated with
31678	// the DB engine.
31679	OSInstallationMediaPath *string `type:"string"`
31680
31681	// The status of the installation medium.
31682	Status *string `type:"string"`
31683}
31684
31685// String returns the string representation
31686func (s InstallationMedia) String() string {
31687	return awsutil.Prettify(s)
31688}
31689
31690// GoString returns the string representation
31691func (s InstallationMedia) GoString() string {
31692	return s.String()
31693}
31694
31695// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
31696func (s *InstallationMedia) SetCustomAvailabilityZoneId(v string) *InstallationMedia {
31697	s.CustomAvailabilityZoneId = &v
31698	return s
31699}
31700
31701// SetEngine sets the Engine field's value.
31702func (s *InstallationMedia) SetEngine(v string) *InstallationMedia {
31703	s.Engine = &v
31704	return s
31705}
31706
31707// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
31708func (s *InstallationMedia) SetEngineInstallationMediaPath(v string) *InstallationMedia {
31709	s.EngineInstallationMediaPath = &v
31710	return s
31711}
31712
31713// SetEngineVersion sets the EngineVersion field's value.
31714func (s *InstallationMedia) SetEngineVersion(v string) *InstallationMedia {
31715	s.EngineVersion = &v
31716	return s
31717}
31718
31719// SetFailureCause sets the FailureCause field's value.
31720func (s *InstallationMedia) SetFailureCause(v *InstallationMediaFailureCause) *InstallationMedia {
31721	s.FailureCause = v
31722	return s
31723}
31724
31725// SetInstallationMediaId sets the InstallationMediaId field's value.
31726func (s *InstallationMedia) SetInstallationMediaId(v string) *InstallationMedia {
31727	s.InstallationMediaId = &v
31728	return s
31729}
31730
31731// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
31732func (s *InstallationMedia) SetOSInstallationMediaPath(v string) *InstallationMedia {
31733	s.OSInstallationMediaPath = &v
31734	return s
31735}
31736
31737// SetStatus sets the Status field's value.
31738func (s *InstallationMedia) SetStatus(v string) *InstallationMedia {
31739	s.Status = &v
31740	return s
31741}
31742
31743// Contains the cause of an installation media failure. Installation media is
31744// used for a DB engine that requires an on-premises customer provided license,
31745// such as Microsoft SQL Server.
31746type InstallationMediaFailureCause struct {
31747	_ struct{} `type:"structure"`
31748
31749	// The reason that an installation media import failed.
31750	Message *string `type:"string"`
31751}
31752
31753// String returns the string representation
31754func (s InstallationMediaFailureCause) String() string {
31755	return awsutil.Prettify(s)
31756}
31757
31758// GoString returns the string representation
31759func (s InstallationMediaFailureCause) GoString() string {
31760	return s.String()
31761}
31762
31763// SetMessage sets the Message field's value.
31764func (s *InstallationMediaFailureCause) SetMessage(v string) *InstallationMediaFailureCause {
31765	s.Message = &v
31766	return s
31767}
31768
31769type ListTagsForResourceInput struct {
31770	_ struct{} `type:"structure"`
31771
31772	// This parameter isn't currently supported.
31773	Filters []*Filter `locationNameList:"Filter" type:"list"`
31774
31775	// The Amazon RDS resource with tags to be listed. This value is an Amazon Resource
31776	// Name (ARN). For information about creating an ARN, see Constructing an ARN
31777	// for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
31778	// in the Amazon RDS User Guide.
31779	//
31780	// ResourceName is a required field
31781	ResourceName *string `type:"string" required:"true"`
31782}
31783
31784// String returns the string representation
31785func (s ListTagsForResourceInput) String() string {
31786	return awsutil.Prettify(s)
31787}
31788
31789// GoString returns the string representation
31790func (s ListTagsForResourceInput) GoString() string {
31791	return s.String()
31792}
31793
31794// Validate inspects the fields of the type to determine if they are valid.
31795func (s *ListTagsForResourceInput) Validate() error {
31796	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
31797	if s.ResourceName == nil {
31798		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
31799	}
31800	if s.Filters != nil {
31801		for i, v := range s.Filters {
31802			if v == nil {
31803				continue
31804			}
31805			if err := v.Validate(); err != nil {
31806				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31807			}
31808		}
31809	}
31810
31811	if invalidParams.Len() > 0 {
31812		return invalidParams
31813	}
31814	return nil
31815}
31816
31817// SetFilters sets the Filters field's value.
31818func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
31819	s.Filters = v
31820	return s
31821}
31822
31823// SetResourceName sets the ResourceName field's value.
31824func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
31825	s.ResourceName = &v
31826	return s
31827}
31828
31829type ListTagsForResourceOutput struct {
31830	_ struct{} `type:"structure"`
31831
31832	// List of tags returned by the ListTagsForResource operation.
31833	TagList []*Tag `locationNameList:"Tag" type:"list"`
31834}
31835
31836// String returns the string representation
31837func (s ListTagsForResourceOutput) String() string {
31838	return awsutil.Prettify(s)
31839}
31840
31841// GoString returns the string representation
31842func (s ListTagsForResourceOutput) GoString() string {
31843	return s.String()
31844}
31845
31846// SetTagList sets the TagList field's value.
31847func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
31848	s.TagList = v
31849	return s
31850}
31851
31852// The minimum DB engine version required for each corresponding allowed value
31853// for an option setting.
31854type MinimumEngineVersionPerAllowedValue struct {
31855	_ struct{} `type:"structure"`
31856
31857	// The allowed value for an option setting.
31858	AllowedValue *string `type:"string"`
31859
31860	// The minimum DB engine version required for the allowed value.
31861	MinimumEngineVersion *string `type:"string"`
31862}
31863
31864// String returns the string representation
31865func (s MinimumEngineVersionPerAllowedValue) String() string {
31866	return awsutil.Prettify(s)
31867}
31868
31869// GoString returns the string representation
31870func (s MinimumEngineVersionPerAllowedValue) GoString() string {
31871	return s.String()
31872}
31873
31874// SetAllowedValue sets the AllowedValue field's value.
31875func (s *MinimumEngineVersionPerAllowedValue) SetAllowedValue(v string) *MinimumEngineVersionPerAllowedValue {
31876	s.AllowedValue = &v
31877	return s
31878}
31879
31880// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
31881func (s *MinimumEngineVersionPerAllowedValue) SetMinimumEngineVersion(v string) *MinimumEngineVersionPerAllowedValue {
31882	s.MinimumEngineVersion = &v
31883	return s
31884}
31885
31886type ModifyCertificatesInput struct {
31887	_ struct{} `type:"structure"`
31888
31889	// The new default certificate identifier to override the current one with.
31890	//
31891	// To determine the valid values, use the describe-certificates AWS CLI command
31892	// or the DescribeCertificates API operation.
31893	CertificateIdentifier *string `type:"string"`
31894
31895	// A value that indicates whether to remove the override for the default certificate.
31896	// If the override is removed, the default certificate is the system default.
31897	RemoveCustomerOverride *bool `type:"boolean"`
31898}
31899
31900// String returns the string representation
31901func (s ModifyCertificatesInput) String() string {
31902	return awsutil.Prettify(s)
31903}
31904
31905// GoString returns the string representation
31906func (s ModifyCertificatesInput) GoString() string {
31907	return s.String()
31908}
31909
31910// SetCertificateIdentifier sets the CertificateIdentifier field's value.
31911func (s *ModifyCertificatesInput) SetCertificateIdentifier(v string) *ModifyCertificatesInput {
31912	s.CertificateIdentifier = &v
31913	return s
31914}
31915
31916// SetRemoveCustomerOverride sets the RemoveCustomerOverride field's value.
31917func (s *ModifyCertificatesInput) SetRemoveCustomerOverride(v bool) *ModifyCertificatesInput {
31918	s.RemoveCustomerOverride = &v
31919	return s
31920}
31921
31922type ModifyCertificatesOutput struct {
31923	_ struct{} `type:"structure"`
31924
31925	// A CA certificate for an AWS account.
31926	Certificate *Certificate `type:"structure"`
31927}
31928
31929// String returns the string representation
31930func (s ModifyCertificatesOutput) String() string {
31931	return awsutil.Prettify(s)
31932}
31933
31934// GoString returns the string representation
31935func (s ModifyCertificatesOutput) GoString() string {
31936	return s.String()
31937}
31938
31939// SetCertificate sets the Certificate field's value.
31940func (s *ModifyCertificatesOutput) SetCertificate(v *Certificate) *ModifyCertificatesOutput {
31941	s.Certificate = v
31942	return s
31943}
31944
31945type ModifyCurrentDBClusterCapacityInput struct {
31946	_ struct{} `type:"structure"`
31947
31948	// The DB cluster capacity.
31949	//
31950	// When you change the capacity of a paused Aurora Serverless DB cluster, it
31951	// automatically resumes.
31952	//
31953	// Constraints:
31954	//
31955	//    * For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64,
31956	//    128, and 256.
31957	//
31958	//    * For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64,
31959	//    192, and 384.
31960	Capacity *int64 `type:"integer"`
31961
31962	// The DB cluster identifier for the cluster being modified. This parameter
31963	// isn't case-sensitive.
31964	//
31965	// Constraints:
31966	//
31967	//    * Must match the identifier of an existing DB cluster.
31968	//
31969	// DBClusterIdentifier is a required field
31970	DBClusterIdentifier *string `type:"string" required:"true"`
31971
31972	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
31973	// point to perform seamless scaling before enforcing the timeout action. The
31974	// default is 300.
31975	//
31976	//    * Value must be from 10 through 600.
31977	SecondsBeforeTimeout *int64 `type:"integer"`
31978
31979	// The action to take when the timeout is reached, either ForceApplyCapacityChange
31980	// or RollbackCapacityChange.
31981	//
31982	// ForceApplyCapacityChange, the default, sets the capacity to the specified
31983	// value as soon as possible.
31984	//
31985	// RollbackCapacityChange ignores the capacity change if a scaling point isn't
31986	// found in the timeout period.
31987	TimeoutAction *string `type:"string"`
31988}
31989
31990// String returns the string representation
31991func (s ModifyCurrentDBClusterCapacityInput) String() string {
31992	return awsutil.Prettify(s)
31993}
31994
31995// GoString returns the string representation
31996func (s ModifyCurrentDBClusterCapacityInput) GoString() string {
31997	return s.String()
31998}
31999
32000// Validate inspects the fields of the type to determine if they are valid.
32001func (s *ModifyCurrentDBClusterCapacityInput) Validate() error {
32002	invalidParams := request.ErrInvalidParams{Context: "ModifyCurrentDBClusterCapacityInput"}
32003	if s.DBClusterIdentifier == nil {
32004		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
32005	}
32006
32007	if invalidParams.Len() > 0 {
32008		return invalidParams
32009	}
32010	return nil
32011}
32012
32013// SetCapacity sets the Capacity field's value.
32014func (s *ModifyCurrentDBClusterCapacityInput) SetCapacity(v int64) *ModifyCurrentDBClusterCapacityInput {
32015	s.Capacity = &v
32016	return s
32017}
32018
32019// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
32020func (s *ModifyCurrentDBClusterCapacityInput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityInput {
32021	s.DBClusterIdentifier = &v
32022	return s
32023}
32024
32025// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
32026func (s *ModifyCurrentDBClusterCapacityInput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityInput {
32027	s.SecondsBeforeTimeout = &v
32028	return s
32029}
32030
32031// SetTimeoutAction sets the TimeoutAction field's value.
32032func (s *ModifyCurrentDBClusterCapacityInput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityInput {
32033	s.TimeoutAction = &v
32034	return s
32035}
32036
32037type ModifyCurrentDBClusterCapacityOutput struct {
32038	_ struct{} `type:"structure"`
32039
32040	// The current capacity of the DB cluster.
32041	CurrentCapacity *int64 `type:"integer"`
32042
32043	// A user-supplied DB cluster identifier. This identifier is the unique key
32044	// that identifies a DB cluster.
32045	DBClusterIdentifier *string `type:"string"`
32046
32047	// A value that specifies the capacity that the DB cluster scales to next.
32048	PendingCapacity *int64 `type:"integer"`
32049
32050	// The number of seconds before a call to ModifyCurrentDBClusterCapacity times
32051	// out.
32052	SecondsBeforeTimeout *int64 `type:"integer"`
32053
32054	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
32055	// or RollbackCapacityChange.
32056	TimeoutAction *string `type:"string"`
32057}
32058
32059// String returns the string representation
32060func (s ModifyCurrentDBClusterCapacityOutput) String() string {
32061	return awsutil.Prettify(s)
32062}
32063
32064// GoString returns the string representation
32065func (s ModifyCurrentDBClusterCapacityOutput) GoString() string {
32066	return s.String()
32067}
32068
32069// SetCurrentCapacity sets the CurrentCapacity field's value.
32070func (s *ModifyCurrentDBClusterCapacityOutput) SetCurrentCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
32071	s.CurrentCapacity = &v
32072	return s
32073}
32074
32075// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
32076func (s *ModifyCurrentDBClusterCapacityOutput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityOutput {
32077	s.DBClusterIdentifier = &v
32078	return s
32079}
32080
32081// SetPendingCapacity sets the PendingCapacity field's value.
32082func (s *ModifyCurrentDBClusterCapacityOutput) SetPendingCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
32083	s.PendingCapacity = &v
32084	return s
32085}
32086
32087// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
32088func (s *ModifyCurrentDBClusterCapacityOutput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityOutput {
32089	s.SecondsBeforeTimeout = &v
32090	return s
32091}
32092
32093// SetTimeoutAction sets the TimeoutAction field's value.
32094func (s *ModifyCurrentDBClusterCapacityOutput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityOutput {
32095	s.TimeoutAction = &v
32096	return s
32097}
32098
32099type ModifyDBClusterEndpointInput struct {
32100	_ struct{} `type:"structure"`
32101
32102	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
32103	// string.
32104	//
32105	// DBClusterEndpointIdentifier is a required field
32106	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
32107
32108	// The type of the endpoint. One of: READER, WRITER, ANY.
32109	EndpointType *string `type:"string"`
32110
32111	// List of DB instance identifiers that aren't part of the custom endpoint group.
32112	// All other eligible instances are reachable through the custom endpoint. Only
32113	// relevant if the list of static members is empty.
32114	ExcludedMembers []*string `type:"list"`
32115
32116	// List of DB instance identifiers that are part of the custom endpoint group.
32117	StaticMembers []*string `type:"list"`
32118}
32119
32120// String returns the string representation
32121func (s ModifyDBClusterEndpointInput) String() string {
32122	return awsutil.Prettify(s)
32123}
32124
32125// GoString returns the string representation
32126func (s ModifyDBClusterEndpointInput) GoString() string {
32127	return s.String()
32128}
32129
32130// Validate inspects the fields of the type to determine if they are valid.
32131func (s *ModifyDBClusterEndpointInput) Validate() error {
32132	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
32133	if s.DBClusterEndpointIdentifier == nil {
32134		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
32135	}
32136
32137	if invalidParams.Len() > 0 {
32138		return invalidParams
32139	}
32140	return nil
32141}
32142
32143// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
32144func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
32145	s.DBClusterEndpointIdentifier = &v
32146	return s
32147}
32148
32149// SetEndpointType sets the EndpointType field's value.
32150func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
32151	s.EndpointType = &v
32152	return s
32153}
32154
32155// SetExcludedMembers sets the ExcludedMembers field's value.
32156func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
32157	s.ExcludedMembers = v
32158	return s
32159}
32160
32161// SetStaticMembers sets the StaticMembers field's value.
32162func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
32163	s.StaticMembers = v
32164	return s
32165}
32166
32167// This data type represents the information you need to connect to an Amazon
32168// Aurora DB cluster. This data type is used as a response element in the following
32169// actions:
32170//
32171//    * CreateDBClusterEndpoint
32172//
32173//    * DescribeDBClusterEndpoints
32174//
32175//    * ModifyDBClusterEndpoint
32176//
32177//    * DeleteDBClusterEndpoint
32178//
32179// For the data structure that represents Amazon RDS DB instance endpoints,
32180// see Endpoint.
32181type ModifyDBClusterEndpointOutput struct {
32182	_ struct{} `type:"structure"`
32183
32184	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
32185	CustomEndpointType *string `type:"string"`
32186
32187	// The Amazon Resource Name (ARN) for the endpoint.
32188	DBClusterEndpointArn *string `type:"string"`
32189
32190	// The identifier associated with the endpoint. This parameter is stored as
32191	// a lowercase string.
32192	DBClusterEndpointIdentifier *string `type:"string"`
32193
32194	// A unique system-generated identifier for an endpoint. It remains the same
32195	// for the whole life of the endpoint.
32196	DBClusterEndpointResourceIdentifier *string `type:"string"`
32197
32198	// The DB cluster identifier of the DB cluster associated with the endpoint.
32199	// This parameter is stored as a lowercase string.
32200	DBClusterIdentifier *string `type:"string"`
32201
32202	// The DNS address of the endpoint.
32203	Endpoint *string `type:"string"`
32204
32205	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
32206	EndpointType *string `type:"string"`
32207
32208	// List of DB instance identifiers that aren't part of the custom endpoint group.
32209	// All other eligible instances are reachable through the custom endpoint. Only
32210	// relevant if the list of static members is empty.
32211	ExcludedMembers []*string `type:"list"`
32212
32213	// List of DB instance identifiers that are part of the custom endpoint group.
32214	StaticMembers []*string `type:"list"`
32215
32216	// The current status of the endpoint. One of: creating, available, deleting,
32217	// modifying.
32218	Status *string `type:"string"`
32219}
32220
32221// String returns the string representation
32222func (s ModifyDBClusterEndpointOutput) String() string {
32223	return awsutil.Prettify(s)
32224}
32225
32226// GoString returns the string representation
32227func (s ModifyDBClusterEndpointOutput) GoString() string {
32228	return s.String()
32229}
32230
32231// SetCustomEndpointType sets the CustomEndpointType field's value.
32232func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
32233	s.CustomEndpointType = &v
32234	return s
32235}
32236
32237// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
32238func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
32239	s.DBClusterEndpointArn = &v
32240	return s
32241}
32242
32243// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
32244func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
32245	s.DBClusterEndpointIdentifier = &v
32246	return s
32247}
32248
32249// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
32250func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
32251	s.DBClusterEndpointResourceIdentifier = &v
32252	return s
32253}
32254
32255// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
32256func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
32257	s.DBClusterIdentifier = &v
32258	return s
32259}
32260
32261// SetEndpoint sets the Endpoint field's value.
32262func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
32263	s.Endpoint = &v
32264	return s
32265}
32266
32267// SetEndpointType sets the EndpointType field's value.
32268func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
32269	s.EndpointType = &v
32270	return s
32271}
32272
32273// SetExcludedMembers sets the ExcludedMembers field's value.
32274func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
32275	s.ExcludedMembers = v
32276	return s
32277}
32278
32279// SetStaticMembers sets the StaticMembers field's value.
32280func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
32281	s.StaticMembers = v
32282	return s
32283}
32284
32285// SetStatus sets the Status field's value.
32286func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
32287	s.Status = &v
32288	return s
32289}
32290
32291type ModifyDBClusterInput struct {
32292	_ struct{} `type:"structure"`
32293
32294	// A value that indicates whether major version upgrades are allowed.
32295	//
32296	// Constraints: You must allow major version upgrades when specifying a value
32297	// for the EngineVersion parameter that is a different major version than the
32298	// DB cluster's current version.
32299	AllowMajorVersionUpgrade *bool `type:"boolean"`
32300
32301	// A value that indicates whether the modifications in this request and any
32302	// pending modifications are asynchronously applied as soon as possible, regardless
32303	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
32304	// is disabled, changes to the DB cluster are applied during the next maintenance
32305	// window.
32306	//
32307	// The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication,
32308	// MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately
32309	// parameter is disabled, then changes to the EnableIAMDatabaseAuthentication,
32310	// MasterUserPassword, and NewDBClusterIdentifier values are applied during
32311	// the next maintenance window. All other changes are applied immediately, regardless
32312	// of the value of the ApplyImmediately parameter.
32313	//
32314	// By default, this parameter is disabled.
32315	ApplyImmediately *bool `type:"boolean"`
32316
32317	// The target backtrack window, in seconds. To disable backtracking, set this
32318	// value to 0.
32319	//
32320	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
32321	//
32322	// Default: 0
32323	//
32324	// Constraints:
32325	//
32326	//    * If specified, this value must be set to a number from 0 to 259,200 (72
32327	//    hours).
32328	BacktrackWindow *int64 `type:"long"`
32329
32330	// The number of days for which automated backups are retained. You must specify
32331	// a minimum value of 1.
32332	//
32333	// Default: 1
32334	//
32335	// Constraints:
32336	//
32337	//    * Must be a value from 1 to 35
32338	BackupRetentionPeriod *int64 `type:"integer"`
32339
32340	// The configuration setting for the log types to be enabled for export to CloudWatch
32341	// Logs for a specific DB cluster.
32342	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
32343
32344	// A value that indicates whether to copy all tags from the DB cluster to snapshots
32345	// of the DB cluster. The default is not to copy them.
32346	CopyTagsToSnapshot *bool `type:"boolean"`
32347
32348	// The DB cluster identifier for the cluster being modified. This parameter
32349	// isn't case-sensitive.
32350	//
32351	// Constraints: This identifier must match the identifier of an existing DB
32352	// cluster.
32353	//
32354	// DBClusterIdentifier is a required field
32355	DBClusterIdentifier *string `type:"string" required:"true"`
32356
32357	// The name of the DB cluster parameter group to use for the DB cluster.
32358	DBClusterParameterGroupName *string `type:"string"`
32359
32360	// The name of the DB parameter group to apply to all instances of the DB cluster.
32361	//
32362	// When you apply a parameter group using the DBInstanceParameterGroupName parameter,
32363	// the DB cluster isn't rebooted automatically. Also, parameter changes aren't
32364	// applied during the next maintenance window but instead are applied immediately.
32365	//
32366	// Default: The existing name setting
32367	//
32368	// Constraints:
32369	//
32370	//    * The DB parameter group must be in the same DB parameter group family
32371	//    as this DB cluster.
32372	//
32373	//    * The DBInstanceParameterGroupName parameter is only valid in combination
32374	//    with the AllowMajorVersionUpgrade parameter.
32375	DBInstanceParameterGroupName *string `type:"string"`
32376
32377	// A value that indicates whether the DB cluster has deletion protection enabled.
32378	// The database can't be deleted when deletion protection is enabled. By default,
32379	// deletion protection is disabled.
32380	DeletionProtection *bool `type:"boolean"`
32381
32382	// The Active Directory directory ID to move the DB cluster to. Specify none
32383	// to remove the cluster from its current domain. The domain must be created
32384	// prior to this operation.
32385	Domain *string `type:"string"`
32386
32387	// Specify the name of the IAM role to be used when making API calls to the
32388	// Directory Service.
32389	DomainIAMRoleName *string `type:"string"`
32390
32391	// A value that indicates whether to enable write operations to be forwarded
32392	// from this cluster to the primary cluster in an Aurora global database. The
32393	// resulting changes are replicated back to this cluster. This parameter only
32394	// applies to DB clusters that are secondary clusters in an Aurora global database.
32395	// By default, Aurora disallows write operations for secondary clusters.
32396	EnableGlobalWriteForwarding *bool `type:"boolean"`
32397
32398	// A value that indicates whether to enable the HTTP endpoint for an Aurora
32399	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
32400	//
32401	// When enabled, the HTTP endpoint provides a connectionless web service API
32402	// for running SQL queries on the Aurora Serverless DB cluster. You can also
32403	// query your database from inside the RDS console with the query editor.
32404	//
32405	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
32406	// in the Amazon Aurora User Guide.
32407	EnableHttpEndpoint *bool `type:"boolean"`
32408
32409	// A value that indicates whether to enable mapping of AWS Identity and Access
32410	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
32411	//
32412	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
32413	// in the Amazon Aurora User Guide.
32414	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
32415
32416	// The version number of the database engine to which you want to upgrade. Changing
32417	// this parameter results in an outage. The change is applied during the next
32418	// maintenance window unless ApplyImmediately is enabled.
32419	//
32420	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
32421	// Aurora), use the following command:
32422	//
32423	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
32424	//
32425	// To list all of the available engine versions for aurora-mysql (for MySQL
32426	// 5.7-compatible Aurora), use the following command:
32427	//
32428	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
32429	//
32430	// To list all of the available engine versions for aurora-postgresql, use the
32431	// following command:
32432	//
32433	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
32434	EngineVersion *string `type:"string"`
32435
32436	// The new password for the master database user. This password can contain
32437	// any printable ASCII character except "/", """, or "@".
32438	//
32439	// Constraints: Must contain from 8 to 41 characters.
32440	MasterUserPassword *string `type:"string"`
32441
32442	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
32443	// This value is stored as a lowercase string.
32444	//
32445	// Constraints:
32446	//
32447	//    * Must contain from 1 to 63 letters, numbers, or hyphens
32448	//
32449	//    * The first character must be a letter
32450	//
32451	//    * Can't end with a hyphen or contain two consecutive hyphens
32452	//
32453	// Example: my-cluster2
32454	NewDBClusterIdentifier *string `type:"string"`
32455
32456	// A value that indicates that the DB cluster should be associated with the
32457	// specified option group. Changing this parameter doesn't result in an outage
32458	// except in the following case, and the change is applied during the next maintenance
32459	// window unless the ApplyImmediately is enabled for this request. If the parameter
32460	// change results in an option group that enables OEM, this change can cause
32461	// a brief (sub-second) period during which new connections are rejected but
32462	// existing connections are not interrupted.
32463	//
32464	// Permanent options can't be removed from an option group. The option group
32465	// can't be removed from a DB cluster once it is associated with a DB cluster.
32466	OptionGroupName *string `type:"string"`
32467
32468	// The port number on which the DB cluster accepts connections.
32469	//
32470	// Constraints: Value must be 1150-65535
32471	//
32472	// Default: The same port as the original DB cluster.
32473	Port *int64 `type:"integer"`
32474
32475	// The daily time range during which automated backups are created if automated
32476	// backups are enabled, using the BackupRetentionPeriod parameter.
32477	//
32478	// The default is a 30-minute window selected at random from an 8-hour block
32479	// of time for each AWS Region. To see the time blocks available, see Adjusting
32480	// the Preferred DB Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
32481	// in the Amazon Aurora User Guide.
32482	//
32483	// Constraints:
32484	//
32485	//    * Must be in the format hh24:mi-hh24:mi.
32486	//
32487	//    * Must be in Universal Coordinated Time (UTC).
32488	//
32489	//    * Must not conflict with the preferred maintenance window.
32490	//
32491	//    * Must be at least 30 minutes.
32492	PreferredBackupWindow *string `type:"string"`
32493
32494	// The weekly time range during which system maintenance can occur, in Universal
32495	// Coordinated Time (UTC).
32496	//
32497	// Format: ddd:hh24:mi-ddd:hh24:mi
32498	//
32499	// The default is a 30-minute window selected at random from an 8-hour block
32500	// of time for each AWS Region, occurring on a random day of the week. To see
32501	// the time blocks available, see Adjusting the Preferred DB Cluster Maintenance
32502	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
32503	// in the Amazon Aurora User Guide.
32504	//
32505	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
32506	//
32507	// Constraints: Minimum 30-minute window.
32508	PreferredMaintenanceWindow *string `type:"string"`
32509
32510	// The scaling properties of the DB cluster. You can only modify scaling properties
32511	// for DB clusters in serverless DB engine mode.
32512	ScalingConfiguration *ScalingConfiguration `type:"structure"`
32513
32514	// A list of VPC security groups that the DB cluster will belong to.
32515	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
32516}
32517
32518// String returns the string representation
32519func (s ModifyDBClusterInput) String() string {
32520	return awsutil.Prettify(s)
32521}
32522
32523// GoString returns the string representation
32524func (s ModifyDBClusterInput) GoString() string {
32525	return s.String()
32526}
32527
32528// Validate inspects the fields of the type to determine if they are valid.
32529func (s *ModifyDBClusterInput) Validate() error {
32530	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
32531	if s.DBClusterIdentifier == nil {
32532		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
32533	}
32534
32535	if invalidParams.Len() > 0 {
32536		return invalidParams
32537	}
32538	return nil
32539}
32540
32541// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
32542func (s *ModifyDBClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBClusterInput {
32543	s.AllowMajorVersionUpgrade = &v
32544	return s
32545}
32546
32547// SetApplyImmediately sets the ApplyImmediately field's value.
32548func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
32549	s.ApplyImmediately = &v
32550	return s
32551}
32552
32553// SetBacktrackWindow sets the BacktrackWindow field's value.
32554func (s *ModifyDBClusterInput) SetBacktrackWindow(v int64) *ModifyDBClusterInput {
32555	s.BacktrackWindow = &v
32556	return s
32557}
32558
32559// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
32560func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
32561	s.BackupRetentionPeriod = &v
32562	return s
32563}
32564
32565// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
32566func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
32567	s.CloudwatchLogsExportConfiguration = v
32568	return s
32569}
32570
32571// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
32572func (s *ModifyDBClusterInput) SetCopyTagsToSnapshot(v bool) *ModifyDBClusterInput {
32573	s.CopyTagsToSnapshot = &v
32574	return s
32575}
32576
32577// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
32578func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
32579	s.DBClusterIdentifier = &v
32580	return s
32581}
32582
32583// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
32584func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
32585	s.DBClusterParameterGroupName = &v
32586	return s
32587}
32588
32589// SetDBInstanceParameterGroupName sets the DBInstanceParameterGroupName field's value.
32590func (s *ModifyDBClusterInput) SetDBInstanceParameterGroupName(v string) *ModifyDBClusterInput {
32591	s.DBInstanceParameterGroupName = &v
32592	return s
32593}
32594
32595// SetDeletionProtection sets the DeletionProtection field's value.
32596func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
32597	s.DeletionProtection = &v
32598	return s
32599}
32600
32601// SetDomain sets the Domain field's value.
32602func (s *ModifyDBClusterInput) SetDomain(v string) *ModifyDBClusterInput {
32603	s.Domain = &v
32604	return s
32605}
32606
32607// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
32608func (s *ModifyDBClusterInput) SetDomainIAMRoleName(v string) *ModifyDBClusterInput {
32609	s.DomainIAMRoleName = &v
32610	return s
32611}
32612
32613// SetEnableGlobalWriteForwarding sets the EnableGlobalWriteForwarding field's value.
32614func (s *ModifyDBClusterInput) SetEnableGlobalWriteForwarding(v bool) *ModifyDBClusterInput {
32615	s.EnableGlobalWriteForwarding = &v
32616	return s
32617}
32618
32619// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
32620func (s *ModifyDBClusterInput) SetEnableHttpEndpoint(v bool) *ModifyDBClusterInput {
32621	s.EnableHttpEndpoint = &v
32622	return s
32623}
32624
32625// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
32626func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
32627	s.EnableIAMDatabaseAuthentication = &v
32628	return s
32629}
32630
32631// SetEngineVersion sets the EngineVersion field's value.
32632func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
32633	s.EngineVersion = &v
32634	return s
32635}
32636
32637// SetMasterUserPassword sets the MasterUserPassword field's value.
32638func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
32639	s.MasterUserPassword = &v
32640	return s
32641}
32642
32643// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
32644func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
32645	s.NewDBClusterIdentifier = &v
32646	return s
32647}
32648
32649// SetOptionGroupName sets the OptionGroupName field's value.
32650func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
32651	s.OptionGroupName = &v
32652	return s
32653}
32654
32655// SetPort sets the Port field's value.
32656func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
32657	s.Port = &v
32658	return s
32659}
32660
32661// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
32662func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
32663	s.PreferredBackupWindow = &v
32664	return s
32665}
32666
32667// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
32668func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
32669	s.PreferredMaintenanceWindow = &v
32670	return s
32671}
32672
32673// SetScalingConfiguration sets the ScalingConfiguration field's value.
32674func (s *ModifyDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *ModifyDBClusterInput {
32675	s.ScalingConfiguration = v
32676	return s
32677}
32678
32679// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
32680func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
32681	s.VpcSecurityGroupIds = v
32682	return s
32683}
32684
32685type ModifyDBClusterOutput struct {
32686	_ struct{} `type:"structure"`
32687
32688	// Contains the details of an Amazon Aurora DB cluster.
32689	//
32690	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
32691	// and StartDBCluster actions.
32692	DBCluster *DBCluster `type:"structure"`
32693}
32694
32695// String returns the string representation
32696func (s ModifyDBClusterOutput) String() string {
32697	return awsutil.Prettify(s)
32698}
32699
32700// GoString returns the string representation
32701func (s ModifyDBClusterOutput) GoString() string {
32702	return s.String()
32703}
32704
32705// SetDBCluster sets the DBCluster field's value.
32706func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
32707	s.DBCluster = v
32708	return s
32709}
32710
32711type ModifyDBClusterParameterGroupInput struct {
32712	_ struct{} `type:"structure"`
32713
32714	// The name of the DB cluster parameter group to modify.
32715	//
32716	// DBClusterParameterGroupName is a required field
32717	DBClusterParameterGroupName *string `type:"string" required:"true"`
32718
32719	// A list of parameters in the DB cluster parameter group to modify.
32720	//
32721	// Parameters is a required field
32722	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
32723}
32724
32725// String returns the string representation
32726func (s ModifyDBClusterParameterGroupInput) String() string {
32727	return awsutil.Prettify(s)
32728}
32729
32730// GoString returns the string representation
32731func (s ModifyDBClusterParameterGroupInput) GoString() string {
32732	return s.String()
32733}
32734
32735// Validate inspects the fields of the type to determine if they are valid.
32736func (s *ModifyDBClusterParameterGroupInput) Validate() error {
32737	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
32738	if s.DBClusterParameterGroupName == nil {
32739		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
32740	}
32741	if s.Parameters == nil {
32742		invalidParams.Add(request.NewErrParamRequired("Parameters"))
32743	}
32744
32745	if invalidParams.Len() > 0 {
32746		return invalidParams
32747	}
32748	return nil
32749}
32750
32751// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
32752func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
32753	s.DBClusterParameterGroupName = &v
32754	return s
32755}
32756
32757// SetParameters sets the Parameters field's value.
32758func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
32759	s.Parameters = v
32760	return s
32761}
32762
32763type ModifyDBClusterSnapshotAttributeInput struct {
32764	_ struct{} `type:"structure"`
32765
32766	// The name of the DB cluster snapshot attribute to modify.
32767	//
32768	// To manage authorization for other AWS accounts to copy or restore a manual
32769	// DB cluster snapshot, set this value to restore.
32770	//
32771	// To view the list of attributes available to modify, use the DescribeDBClusterSnapshotAttributes
32772	// API action.
32773	//
32774	// AttributeName is a required field
32775	AttributeName *string `type:"string" required:"true"`
32776
32777	// The identifier for the DB cluster snapshot to modify the attributes for.
32778	//
32779	// DBClusterSnapshotIdentifier is a required field
32780	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
32781
32782	// A list of DB cluster snapshot attributes to add to the attribute specified
32783	// by AttributeName.
32784	//
32785	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
32786	// set this list to include one or more AWS account IDs, or all to make the
32787	// manual DB cluster snapshot restorable by any AWS account. Do not add the
32788	// all value for any manual DB cluster snapshots that contain private information
32789	// that you don't want available to all AWS accounts.
32790	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
32791
32792	// A list of DB cluster snapshot attributes to remove from the attribute specified
32793	// by AttributeName.
32794	//
32795	// To remove authorization for other AWS accounts to copy or restore a manual
32796	// DB cluster snapshot, set this list to include one or more AWS account identifiers,
32797	// or all to remove authorization for any AWS account to copy or restore the
32798	// DB cluster snapshot. If you specify all, an AWS account whose account ID
32799	// is explicitly added to the restore attribute can still copy or restore a
32800	// manual DB cluster snapshot.
32801	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
32802}
32803
32804// String returns the string representation
32805func (s ModifyDBClusterSnapshotAttributeInput) String() string {
32806	return awsutil.Prettify(s)
32807}
32808
32809// GoString returns the string representation
32810func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
32811	return s.String()
32812}
32813
32814// Validate inspects the fields of the type to determine if they are valid.
32815func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
32816	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
32817	if s.AttributeName == nil {
32818		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
32819	}
32820	if s.DBClusterSnapshotIdentifier == nil {
32821		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
32822	}
32823
32824	if invalidParams.Len() > 0 {
32825		return invalidParams
32826	}
32827	return nil
32828}
32829
32830// SetAttributeName sets the AttributeName field's value.
32831func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
32832	s.AttributeName = &v
32833	return s
32834}
32835
32836// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
32837func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
32838	s.DBClusterSnapshotIdentifier = &v
32839	return s
32840}
32841
32842// SetValuesToAdd sets the ValuesToAdd field's value.
32843func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
32844	s.ValuesToAdd = v
32845	return s
32846}
32847
32848// SetValuesToRemove sets the ValuesToRemove field's value.
32849func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
32850	s.ValuesToRemove = v
32851	return s
32852}
32853
32854type ModifyDBClusterSnapshotAttributeOutput struct {
32855	_ struct{} `type:"structure"`
32856
32857	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
32858	// API action.
32859	//
32860	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
32861	// to copy or restore a manual DB cluster snapshot. For more information, see
32862	// the ModifyDBClusterSnapshotAttribute API action.
32863	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
32864}
32865
32866// String returns the string representation
32867func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
32868	return awsutil.Prettify(s)
32869}
32870
32871// GoString returns the string representation
32872func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
32873	return s.String()
32874}
32875
32876// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
32877func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
32878	s.DBClusterSnapshotAttributesResult = v
32879	return s
32880}
32881
32882type ModifyDBInstanceInput struct {
32883	_ struct{} `type:"structure"`
32884
32885	// The new amount of storage (in gibibytes) to allocate for the DB instance.
32886	//
32887	// For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at
32888	// least 10% greater than the current value. Values that are not at least 10%
32889	// greater than the existing value are rounded up so that they are 10% greater
32890	// than the current value.
32891	//
32892	// For the valid values for allocated storage for each engine, see CreateDBInstance.
32893	AllocatedStorage *int64 `type:"integer"`
32894
32895	// A value that indicates whether major version upgrades are allowed. Changing
32896	// this parameter doesn't result in an outage and the change is asynchronously
32897	// applied as soon as possible.
32898	//
32899	// Constraints: Major version upgrades must be allowed when specifying a value
32900	// for the EngineVersion parameter that is a different major version than the
32901	// DB instance's current version.
32902	AllowMajorVersionUpgrade *bool `type:"boolean"`
32903
32904	// A value that indicates whether the modifications in this request and any
32905	// pending modifications are asynchronously applied as soon as possible, regardless
32906	// of the PreferredMaintenanceWindow setting for the DB instance. By default,
32907	// this parameter is disabled.
32908	//
32909	// If this parameter is disabled, changes to the DB instance are applied during
32910	// the next maintenance window. Some parameter changes can cause an outage and
32911	// are applied on the next call to RebootDBInstance, or the next failure reboot.
32912	// Review the table of parameters in Modifying a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
32913	// in the Amazon RDS User Guide. to see the impact of enabling or disabling
32914	// ApplyImmediately for each modified parameter and to determine when the changes
32915	// are applied.
32916	ApplyImmediately *bool `type:"boolean"`
32917
32918	// A value that indicates whether minor version upgrades are applied automatically
32919	// to the DB instance during the maintenance window. Changing this parameter
32920	// doesn't result in an outage except in the following case and the change is
32921	// asynchronously applied as soon as possible. An outage results if this parameter
32922	// is enabled during the maintenance window, and a newer minor version is available,
32923	// and RDS has enabled auto patching for that engine version.
32924	AutoMinorVersionUpgrade *bool `type:"boolean"`
32925
32926	// The number of days to retain automated backups. Setting this parameter to
32927	// a positive number enables backups. Setting this parameter to 0 disables automated
32928	// backups.
32929	//
32930	// Changing this parameter can result in an outage if you change from 0 to a
32931	// non-zero value or from a non-zero value to 0. These changes are applied during
32932	// the next maintenance window unless the ApplyImmediately parameter is enabled
32933	// for this request. If you change the parameter from one non-zero value to
32934	// another non-zero value, the change is asynchronously applied as soon as possible.
32935	//
32936	// Amazon Aurora
32937	//
32938	// Not applicable. The retention period for automated backups is managed by
32939	// the DB cluster. For more information, see ModifyDBCluster.
32940	//
32941	// Default: Uses existing setting
32942	//
32943	// Constraints:
32944	//
32945	//    * Must be a value from 0 to 35
32946	//
32947	//    * Can be specified for a MySQL read replica only if the source is running
32948	//    MySQL 5.6 or later
32949	//
32950	//    * Can be specified for a PostgreSQL read replica only if the source is
32951	//    running PostgreSQL 9.3.5
32952	//
32953	//    * Can't be set to 0 if the DB instance is a source to read replicas
32954	BackupRetentionPeriod *int64 `type:"integer"`
32955
32956	// Indicates the certificate that needs to be associated with the instance.
32957	CACertificateIdentifier *string `type:"string"`
32958
32959	// A value that indicates whether the DB instance is restarted when you rotate
32960	// your SSL/TLS certificate.
32961	//
32962	// By default, the DB instance is restarted when you rotate your SSL/TLS certificate.
32963	// The certificate is not updated until the DB instance is restarted.
32964	//
32965	// Set this parameter only if you are not using SSL/TLS to connect to the DB
32966	// instance.
32967	//
32968	// If you are using SSL/TLS to connect to the DB instance, follow the appropriate
32969	// instructions for your DB engine to rotate your SSL/TLS certificate:
32970	//
32971	//    * For more information about rotating your SSL/TLS certificate for RDS
32972	//    DB engines, see Rotating Your SSL/TLS Certificate. (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
32973	//    in the Amazon RDS User Guide.
32974	//
32975	//    * For more information about rotating your SSL/TLS certificate for Aurora
32976	//    DB engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
32977	//    in the Amazon Aurora User Guide.
32978	CertificateRotationRestart *bool `type:"boolean"`
32979
32980	// The configuration setting for the log types to be enabled for export to CloudWatch
32981	// Logs for a specific DB instance.
32982	//
32983	// A change to the CloudwatchLogsExportConfiguration parameter is always applied
32984	// to the DB instance immediately. Therefore, the ApplyImmediately parameter
32985	// has no effect.
32986	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
32987
32988	// A value that indicates whether to copy all tags from the DB instance to snapshots
32989	// of the DB instance. By default, tags are not copied.
32990	//
32991	// Amazon Aurora
32992	//
32993	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
32994	// this value for an Aurora DB instance has no effect on the DB cluster setting.
32995	// For more information, see ModifyDBCluster.
32996	CopyTagsToSnapshot *bool `type:"boolean"`
32997
32998	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
32999	// Not all DB instance classes are available in all AWS Regions, or for all
33000	// database engines. For the full list of DB instance classes, and availability
33001	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
33002	// in the Amazon RDS User Guide.
33003	//
33004	// If you modify the DB instance class, an outage occurs during the change.
33005	// The change is applied during the next maintenance window, unless ApplyImmediately
33006	// is enabled for this request.
33007	//
33008	// Default: Uses existing setting
33009	DBInstanceClass *string `type:"string"`
33010
33011	// The DB instance identifier. This value is stored as a lowercase string.
33012	//
33013	// Constraints:
33014	//
33015	//    * Must match the identifier of an existing DBInstance.
33016	//
33017	// DBInstanceIdentifier is a required field
33018	DBInstanceIdentifier *string `type:"string" required:"true"`
33019
33020	// The name of the DB parameter group to apply to the DB instance. Changing
33021	// this setting doesn't result in an outage. The parameter group name itself
33022	// is changed immediately, but the actual parameter changes are not applied
33023	// until you reboot the instance without failover. In this case, the DB instance
33024	// isn't rebooted automatically and the parameter changes isn't applied during
33025	// the next maintenance window.
33026	//
33027	// Default: Uses existing setting
33028	//
33029	// Constraints: The DB parameter group must be in the same DB parameter group
33030	// family as this DB instance.
33031	DBParameterGroupName *string `type:"string"`
33032
33033	// The port number on which the database accepts connections.
33034	//
33035	// The value of the DBPortNumber parameter must not match any of the port values
33036	// specified for options in the option group for the DB instance.
33037	//
33038	// Your database will restart when you change the DBPortNumber value regardless
33039	// of the value of the ApplyImmediately parameter.
33040	//
33041	// MySQL
33042	//
33043	// Default: 3306
33044	//
33045	// Valid values: 1150-65535
33046	//
33047	// MariaDB
33048	//
33049	// Default: 3306
33050	//
33051	// Valid values: 1150-65535
33052	//
33053	// PostgreSQL
33054	//
33055	// Default: 5432
33056	//
33057	// Valid values: 1150-65535
33058	//
33059	// Type: Integer
33060	//
33061	// Oracle
33062	//
33063	// Default: 1521
33064	//
33065	// Valid values: 1150-65535
33066	//
33067	// SQL Server
33068	//
33069	// Default: 1433
33070	//
33071	// Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and
33072	// 49152-49156.
33073	//
33074	// Amazon Aurora
33075	//
33076	// Default: 3306
33077	//
33078	// Valid values: 1150-65535
33079	DBPortNumber *int64 `type:"integer"`
33080
33081	// A list of DB security groups to authorize on this DB instance. Changing this
33082	// setting doesn't result in an outage and the change is asynchronously applied
33083	// as soon as possible.
33084	//
33085	// Constraints:
33086	//
33087	//    * If supplied, must match existing DBSecurityGroups.
33088	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
33089
33090	// The new DB subnet group for the DB instance. You can use this parameter to
33091	// move your DB instance to a different VPC. If your DB instance isn't in a
33092	// VPC, you can also use this parameter to move your DB instance into a VPC.
33093	// 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)
33094	// in the Amazon RDS User Guide.
33095	//
33096	// Changing the subnet group causes an outage during the change. The change
33097	// is applied during the next maintenance window, unless you enable ApplyImmediately.
33098	//
33099	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
33100	//
33101	// Example: mySubnetGroup
33102	DBSubnetGroupName *string `type:"string"`
33103
33104	// A value that indicates whether the DB instance has deletion protection enabled.
33105	// The database can't be deleted when deletion protection is enabled. By default,
33106	// deletion protection is disabled. For more information, see Deleting a DB
33107	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
33108	DeletionProtection *bool `type:"boolean"`
33109
33110	// The Active Directory directory ID to move the DB instance to. Specify none
33111	// to remove the instance from its current domain. The domain must be created
33112	// prior to this operation. Currently, only Microsoft SQL Server and Oracle
33113	// DB instances can be created in an Active Directory Domain.
33114	//
33115	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
33116	// to authenticate users that connect to the DB instance. For more information,
33117	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
33118	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
33119	// in the Amazon RDS User Guide.
33120	//
33121	// For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate
33122	// users that connect to the DB instance. For more information, see Using Kerberos
33123	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
33124	// in the Amazon RDS User Guide.
33125	Domain *string `type:"string"`
33126
33127	// The name of the IAM role to use when making API calls to the Directory Service.
33128	DomainIAMRoleName *string `type:"string"`
33129
33130	// A value that indicates whether to enable mapping of AWS Identity and Access
33131	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
33132	// For information about the supported DB engines, see CreateDBInstance.
33133	//
33134	// For more information about IAM database authentication, see IAM Database
33135	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
33136	// in the Amazon RDS User Guide.
33137	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
33138
33139	// A value that indicates whether to enable Performance Insights for the DB
33140	// instance.
33141	//
33142	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
33143	// in the Amazon Relational Database Service User Guide.
33144	EnablePerformanceInsights *bool `type:"boolean"`
33145
33146	// The version number of the database engine to upgrade to. Changing this parameter
33147	// results in an outage and the change is applied during the next maintenance
33148	// window unless the ApplyImmediately parameter is eanbled for this request.
33149	//
33150	// For major version upgrades, if a nondefault DB parameter group is currently
33151	// in use, a new DB parameter group in the DB parameter group family for the
33152	// new engine version must be specified. The new DB parameter group can be the
33153	// default for that DB parameter group family.
33154	//
33155	// For information about valid engine versions, see CreateDBInstance, or call
33156	// DescribeDBEngineVersions.
33157	EngineVersion *string `type:"string"`
33158
33159	// The new Provisioned IOPS (I/O operations per second) value for the RDS instance.
33160	//
33161	// Changing this setting doesn't result in an outage and the change is applied
33162	// during the next maintenance window unless the ApplyImmediately parameter
33163	// is enabled for this request. If you are migrating from Provisioned IOPS to
33164	// standard storage, set this value to 0. The DB instance will require a reboot
33165	// for the change in storage type to take effect.
33166	//
33167	// If you choose to migrate your DB instance from using standard storage to
33168	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
33169	// storage, the process can take time. The duration of the migration depends
33170	// on several factors such as database load, storage size, storage type (standard
33171	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
33172	// of prior scale storage operations. Typical migration times are under 24 hours,
33173	// but the process can take up to several days in some cases. During the migration,
33174	// the DB instance is available for use, but might experience performance degradation.
33175	// While the migration takes place, nightly backups for the instance are suspended.
33176	// No other Amazon RDS operations can take place for the instance, including
33177	// modifying the instance, rebooting the instance, deleting the instance, creating
33178	// a read replica for the instance, and creating a DB snapshot of the instance.
33179	//
33180	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied
33181	// must be at least 10% greater than the current value. Values that are not
33182	// at least 10% greater than the existing value are rounded up so that they
33183	// are 10% greater than the current value.
33184	//
33185	// Default: Uses existing setting
33186	Iops *int64 `type:"integer"`
33187
33188	// The license model for the DB instance.
33189	//
33190	// Valid values: license-included | bring-your-own-license | general-public-license
33191	LicenseModel *string `type:"string"`
33192
33193	// The new password for the master user. The password can include any printable
33194	// ASCII character except "/", """, or "@".
33195	//
33196	// Changing this parameter doesn't result in an outage and the change is asynchronously
33197	// applied as soon as possible. Between the time of the request and the completion
33198	// of the request, the MasterUserPassword element exists in the PendingModifiedValues
33199	// element of the operation response.
33200	//
33201	// Amazon Aurora
33202	//
33203	// Not applicable. The password for the master user is managed by the DB cluster.
33204	// For more information, see ModifyDBCluster.
33205	//
33206	// Default: Uses existing setting
33207	//
33208	// MariaDB
33209	//
33210	// Constraints: Must contain from 8 to 41 characters.
33211	//
33212	// Microsoft SQL Server
33213	//
33214	// Constraints: Must contain from 8 to 128 characters.
33215	//
33216	// MySQL
33217	//
33218	// Constraints: Must contain from 8 to 41 characters.
33219	//
33220	// Oracle
33221	//
33222	// Constraints: Must contain from 8 to 30 characters.
33223	//
33224	// PostgreSQL
33225	//
33226	// Constraints: Must contain from 8 to 128 characters.
33227	//
33228	// Amazon RDS API actions never return the password, so this action provides
33229	// a way to regain access to a primary instance user if the password is lost.
33230	// This includes restoring privileges that might have been accidentally revoked.
33231	MasterUserPassword *string `type:"string"`
33232
33233	// The upper limit to which Amazon RDS can automatically scale the storage of
33234	// the DB instance.
33235	MaxAllocatedStorage *int64 `type:"integer"`
33236
33237	// The interval, in seconds, between points when Enhanced Monitoring metrics
33238	// are collected for the DB instance. To disable collecting Enhanced Monitoring
33239	// metrics, specify 0. The default is 0.
33240	//
33241	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
33242	// to a value other than 0.
33243	//
33244	// Valid Values: 0, 1, 5, 10, 15, 30, 60
33245	MonitoringInterval *int64 `type:"integer"`
33246
33247	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
33248	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
33249	// For information on creating a monitoring role, go to To create an IAM role
33250	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
33251	// in the Amazon RDS User Guide.
33252	//
33253	// If MonitoringInterval is set to a value other than 0, then you must supply
33254	// a MonitoringRoleArn value.
33255	MonitoringRoleArn *string `type:"string"`
33256
33257	// A value that indicates whether the DB instance is a Multi-AZ deployment.
33258	// Changing this parameter doesn't result in an outage and the change is applied
33259	// during the next maintenance window unless the ApplyImmediately parameter
33260	// is enabled for this request.
33261	MultiAZ *bool `type:"boolean"`
33262
33263	// The new DB instance identifier for the DB instance when renaming a DB instance.
33264	// When you change the DB instance identifier, an instance reboot occurs immediately
33265	// if you enable ApplyImmediately, or will occur during the next maintenance
33266	// window if you disable Apply Immediately. This value is stored as a lowercase
33267	// string.
33268	//
33269	// Constraints:
33270	//
33271	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
33272	//
33273	//    * The first character must be a letter.
33274	//
33275	//    * Can't end with a hyphen or contain two consecutive hyphens.
33276	//
33277	// Example: mydbinstance
33278	NewDBInstanceIdentifier *string `type:"string"`
33279
33280	// Indicates that the DB instance should be associated with the specified option
33281	// group. Changing this parameter doesn't result in an outage except in the
33282	// following case and the change is applied during the next maintenance window
33283	// unless the ApplyImmediately parameter is enabled for this request. If the
33284	// parameter change results in an option group that enables OEM, this change
33285	// can cause a brief (sub-second) period during which new connections are rejected
33286	// but existing connections are not interrupted.
33287	//
33288	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
33289	// can't be removed from an option group, and that option group can't be removed
33290	// from a DB instance once it is associated with a DB instance
33291	OptionGroupName *string `type:"string"`
33292
33293	// The AWS KMS key identifier for encryption of Performance Insights data. The
33294	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
33295	// KMS key alias for the KMS encryption key.
33296	//
33297	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
33298	// RDS uses your default encryption key. AWS KMS creates the default encryption
33299	// key for your AWS account. Your AWS account has a different default encryption
33300	// key for each AWS Region.
33301	PerformanceInsightsKMSKeyId *string `type:"string"`
33302
33303	// The amount of time, in days, to retain Performance Insights data. Valid values
33304	// are 7 or 731 (2 years).
33305	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
33306
33307	// The daily time range during which automated backups are created if automated
33308	// backups are enabled, as determined by the BackupRetentionPeriod parameter.
33309	// Changing this parameter doesn't result in an outage and the change is asynchronously
33310	// applied as soon as possible.
33311	//
33312	// Amazon Aurora
33313	//
33314	// Not applicable. The daily time range for creating automated backups is managed
33315	// by the DB cluster. For more information, see ModifyDBCluster.
33316	//
33317	// Constraints:
33318	//
33319	//    * Must be in the format hh24:mi-hh24:mi
33320	//
33321	//    * Must be in Universal Time Coordinated (UTC)
33322	//
33323	//    * Must not conflict with the preferred maintenance window
33324	//
33325	//    * Must be at least 30 minutes
33326	PreferredBackupWindow *string `type:"string"`
33327
33328	// The weekly time range (in UTC) during which system maintenance can occur,
33329	// which might result in an outage. Changing this parameter doesn't result in
33330	// an outage, except in the following situation, and the change is asynchronously
33331	// applied as soon as possible. If there are pending actions that cause a reboot,
33332	// and the maintenance window is changed to include the current time, then changing
33333	// this parameter will cause a reboot of the DB instance. If moving this window
33334	// to the current time, there must be at least 30 minutes between the current
33335	// time and end of the window to ensure pending changes are applied.
33336	//
33337	// Default: Uses existing setting
33338	//
33339	// Format: ddd:hh24:mi-ddd:hh24:mi
33340	//
33341	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
33342	//
33343	// Constraints: Must be at least 30 minutes
33344	PreferredMaintenanceWindow *string `type:"string"`
33345
33346	// The number of CPU cores and the number of threads per core for the DB instance
33347	// class of the DB instance.
33348	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
33349
33350	// A value that specifies the order in which an Aurora Replica is promoted to
33351	// the primary instance after a failure of the existing primary instance. For
33352	// more information, see Fault Tolerance for an Aurora DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance)
33353	// in the Amazon Aurora User Guide.
33354	//
33355	// Default: 1
33356	//
33357	// Valid Values: 0 - 15
33358	PromotionTier *int64 `type:"integer"`
33359
33360	// A value that indicates whether the DB instance is publicly accessible.
33361	//
33362	// When the DB instance is publicly accessible, its DNS endpoint resolves to
33363	// the private IP address from within the DB instance's VPC, and to the public
33364	// IP address from outside of the DB instance's VPC. Access to the DB instance
33365	// is ultimately controlled by the security group it uses, and that public access
33366	// is not permitted if the security group assigned to the DB instance doesn't
33367	// permit it.
33368	//
33369	// When the DB instance isn't publicly accessible, it is an internal DB instance
33370	// with a DNS name that resolves to a private IP address.
33371	//
33372	// PubliclyAccessible only applies to DB instances in a VPC. The DB instance
33373	// must be part of a public subnet and PubliclyAccessible must be enabled for
33374	// it to be publicly accessible.
33375	//
33376	// Changes to the PubliclyAccessible parameter are applied immediately regardless
33377	// of the value of the ApplyImmediately parameter.
33378	PubliclyAccessible *bool `type:"boolean"`
33379
33380	// Specifies the storage type to be associated with the DB instance.
33381	//
33382	// If you specify Provisioned IOPS (io1), you must also include a value for
33383	// the Iops parameter.
33384	//
33385	// If you choose to migrate your DB instance from using standard storage to
33386	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
33387	// storage, the process can take time. The duration of the migration depends
33388	// on several factors such as database load, storage size, storage type (standard
33389	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
33390	// of prior scale storage operations. Typical migration times are under 24 hours,
33391	// but the process can take up to several days in some cases. During the migration,
33392	// the DB instance is available for use, but might experience performance degradation.
33393	// While the migration takes place, nightly backups for the instance are suspended.
33394	// No other Amazon RDS operations can take place for the instance, including
33395	// modifying the instance, rebooting the instance, deleting the instance, creating
33396	// a read replica for the instance, and creating a DB snapshot of the instance.
33397	//
33398	// Valid values: standard | gp2 | io1
33399	//
33400	// Default: io1 if the Iops parameter is specified, otherwise gp2
33401	StorageType *string `type:"string"`
33402
33403	// The ARN from the key store with which to associate the instance for TDE encryption.
33404	TdeCredentialArn *string `type:"string"`
33405
33406	// The password for the given ARN from the key store in order to access the
33407	// device.
33408	TdeCredentialPassword *string `type:"string"`
33409
33410	// A value that indicates whether the DB instance class of the DB instance uses
33411	// its default processor features.
33412	UseDefaultProcessorFeatures *bool `type:"boolean"`
33413
33414	// A list of EC2 VPC security groups to authorize on this DB instance. This
33415	// change is asynchronously applied as soon as possible.
33416	//
33417	// Amazon Aurora
33418	//
33419	// Not applicable. The associated list of EC2 VPC security groups is managed
33420	// by the DB cluster. For more information, see ModifyDBCluster.
33421	//
33422	// Constraints:
33423	//
33424	//    * If supplied, must match existing VpcSecurityGroupIds.
33425	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
33426}
33427
33428// String returns the string representation
33429func (s ModifyDBInstanceInput) String() string {
33430	return awsutil.Prettify(s)
33431}
33432
33433// GoString returns the string representation
33434func (s ModifyDBInstanceInput) GoString() string {
33435	return s.String()
33436}
33437
33438// Validate inspects the fields of the type to determine if they are valid.
33439func (s *ModifyDBInstanceInput) Validate() error {
33440	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
33441	if s.DBInstanceIdentifier == nil {
33442		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
33443	}
33444
33445	if invalidParams.Len() > 0 {
33446		return invalidParams
33447	}
33448	return nil
33449}
33450
33451// SetAllocatedStorage sets the AllocatedStorage field's value.
33452func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
33453	s.AllocatedStorage = &v
33454	return s
33455}
33456
33457// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
33458func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
33459	s.AllowMajorVersionUpgrade = &v
33460	return s
33461}
33462
33463// SetApplyImmediately sets the ApplyImmediately field's value.
33464func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
33465	s.ApplyImmediately = &v
33466	return s
33467}
33468
33469// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
33470func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
33471	s.AutoMinorVersionUpgrade = &v
33472	return s
33473}
33474
33475// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
33476func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
33477	s.BackupRetentionPeriod = &v
33478	return s
33479}
33480
33481// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
33482func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
33483	s.CACertificateIdentifier = &v
33484	return s
33485}
33486
33487// SetCertificateRotationRestart sets the CertificateRotationRestart field's value.
33488func (s *ModifyDBInstanceInput) SetCertificateRotationRestart(v bool) *ModifyDBInstanceInput {
33489	s.CertificateRotationRestart = &v
33490	return s
33491}
33492
33493// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
33494func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
33495	s.CloudwatchLogsExportConfiguration = v
33496	return s
33497}
33498
33499// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
33500func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
33501	s.CopyTagsToSnapshot = &v
33502	return s
33503}
33504
33505// SetDBInstanceClass sets the DBInstanceClass field's value.
33506func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
33507	s.DBInstanceClass = &v
33508	return s
33509}
33510
33511// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
33512func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
33513	s.DBInstanceIdentifier = &v
33514	return s
33515}
33516
33517// SetDBParameterGroupName sets the DBParameterGroupName field's value.
33518func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
33519	s.DBParameterGroupName = &v
33520	return s
33521}
33522
33523// SetDBPortNumber sets the DBPortNumber field's value.
33524func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
33525	s.DBPortNumber = &v
33526	return s
33527}
33528
33529// SetDBSecurityGroups sets the DBSecurityGroups field's value.
33530func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
33531	s.DBSecurityGroups = v
33532	return s
33533}
33534
33535// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
33536func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
33537	s.DBSubnetGroupName = &v
33538	return s
33539}
33540
33541// SetDeletionProtection sets the DeletionProtection field's value.
33542func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
33543	s.DeletionProtection = &v
33544	return s
33545}
33546
33547// SetDomain sets the Domain field's value.
33548func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
33549	s.Domain = &v
33550	return s
33551}
33552
33553// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
33554func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
33555	s.DomainIAMRoleName = &v
33556	return s
33557}
33558
33559// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
33560func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
33561	s.EnableIAMDatabaseAuthentication = &v
33562	return s
33563}
33564
33565// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
33566func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
33567	s.EnablePerformanceInsights = &v
33568	return s
33569}
33570
33571// SetEngineVersion sets the EngineVersion field's value.
33572func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
33573	s.EngineVersion = &v
33574	return s
33575}
33576
33577// SetIops sets the Iops field's value.
33578func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
33579	s.Iops = &v
33580	return s
33581}
33582
33583// SetLicenseModel sets the LicenseModel field's value.
33584func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
33585	s.LicenseModel = &v
33586	return s
33587}
33588
33589// SetMasterUserPassword sets the MasterUserPassword field's value.
33590func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
33591	s.MasterUserPassword = &v
33592	return s
33593}
33594
33595// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
33596func (s *ModifyDBInstanceInput) SetMaxAllocatedStorage(v int64) *ModifyDBInstanceInput {
33597	s.MaxAllocatedStorage = &v
33598	return s
33599}
33600
33601// SetMonitoringInterval sets the MonitoringInterval field's value.
33602func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
33603	s.MonitoringInterval = &v
33604	return s
33605}
33606
33607// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
33608func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
33609	s.MonitoringRoleArn = &v
33610	return s
33611}
33612
33613// SetMultiAZ sets the MultiAZ field's value.
33614func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
33615	s.MultiAZ = &v
33616	return s
33617}
33618
33619// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
33620func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
33621	s.NewDBInstanceIdentifier = &v
33622	return s
33623}
33624
33625// SetOptionGroupName sets the OptionGroupName field's value.
33626func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
33627	s.OptionGroupName = &v
33628	return s
33629}
33630
33631// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
33632func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
33633	s.PerformanceInsightsKMSKeyId = &v
33634	return s
33635}
33636
33637// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
33638func (s *ModifyDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *ModifyDBInstanceInput {
33639	s.PerformanceInsightsRetentionPeriod = &v
33640	return s
33641}
33642
33643// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
33644func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
33645	s.PreferredBackupWindow = &v
33646	return s
33647}
33648
33649// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
33650func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
33651	s.PreferredMaintenanceWindow = &v
33652	return s
33653}
33654
33655// SetProcessorFeatures sets the ProcessorFeatures field's value.
33656func (s *ModifyDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *ModifyDBInstanceInput {
33657	s.ProcessorFeatures = v
33658	return s
33659}
33660
33661// SetPromotionTier sets the PromotionTier field's value.
33662func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
33663	s.PromotionTier = &v
33664	return s
33665}
33666
33667// SetPubliclyAccessible sets the PubliclyAccessible field's value.
33668func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
33669	s.PubliclyAccessible = &v
33670	return s
33671}
33672
33673// SetStorageType sets the StorageType field's value.
33674func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
33675	s.StorageType = &v
33676	return s
33677}
33678
33679// SetTdeCredentialArn sets the TdeCredentialArn field's value.
33680func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
33681	s.TdeCredentialArn = &v
33682	return s
33683}
33684
33685// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
33686func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
33687	s.TdeCredentialPassword = &v
33688	return s
33689}
33690
33691// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
33692func (s *ModifyDBInstanceInput) SetUseDefaultProcessorFeatures(v bool) *ModifyDBInstanceInput {
33693	s.UseDefaultProcessorFeatures = &v
33694	return s
33695}
33696
33697// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
33698func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
33699	s.VpcSecurityGroupIds = v
33700	return s
33701}
33702
33703type ModifyDBInstanceOutput struct {
33704	_ struct{} `type:"structure"`
33705
33706	// Contains the details of an Amazon RDS DB instance.
33707	//
33708	// This data type is used as a response element in the DescribeDBInstances action.
33709	DBInstance *DBInstance `type:"structure"`
33710}
33711
33712// String returns the string representation
33713func (s ModifyDBInstanceOutput) String() string {
33714	return awsutil.Prettify(s)
33715}
33716
33717// GoString returns the string representation
33718func (s ModifyDBInstanceOutput) GoString() string {
33719	return s.String()
33720}
33721
33722// SetDBInstance sets the DBInstance field's value.
33723func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
33724	s.DBInstance = v
33725	return s
33726}
33727
33728type ModifyDBParameterGroupInput struct {
33729	_ struct{} `type:"structure"`
33730
33731	// The name of the DB parameter group.
33732	//
33733	// Constraints:
33734	//
33735	//    * If supplied, must match the name of an existing DBParameterGroup.
33736	//
33737	// DBParameterGroupName is a required field
33738	DBParameterGroupName *string `type:"string" required:"true"`
33739
33740	// An array of parameter names, values, and the apply method for the parameter
33741	// update. At least one parameter name, value, and apply method must be supplied;
33742	// later arguments are optional. A maximum of 20 parameters can be modified
33743	// in a single request.
33744	//
33745	// Valid Values (for the application method): immediate | pending-reboot
33746	//
33747	// You can use the immediate value with dynamic parameters only. You can use
33748	// the pending-reboot value for both dynamic and static parameters, and changes
33749	// are applied when you reboot the DB instance without failover.
33750	//
33751	// Parameters is a required field
33752	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
33753}
33754
33755// String returns the string representation
33756func (s ModifyDBParameterGroupInput) String() string {
33757	return awsutil.Prettify(s)
33758}
33759
33760// GoString returns the string representation
33761func (s ModifyDBParameterGroupInput) GoString() string {
33762	return s.String()
33763}
33764
33765// Validate inspects the fields of the type to determine if they are valid.
33766func (s *ModifyDBParameterGroupInput) Validate() error {
33767	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
33768	if s.DBParameterGroupName == nil {
33769		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
33770	}
33771	if s.Parameters == nil {
33772		invalidParams.Add(request.NewErrParamRequired("Parameters"))
33773	}
33774
33775	if invalidParams.Len() > 0 {
33776		return invalidParams
33777	}
33778	return nil
33779}
33780
33781// SetDBParameterGroupName sets the DBParameterGroupName field's value.
33782func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
33783	s.DBParameterGroupName = &v
33784	return s
33785}
33786
33787// SetParameters sets the Parameters field's value.
33788func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
33789	s.Parameters = v
33790	return s
33791}
33792
33793type ModifyDBProxyInput struct {
33794	_ struct{} `type:"structure"`
33795
33796	// The new authentication settings for the DBProxy.
33797	Auth []*UserAuthConfig `type:"list"`
33798
33799	// The identifier for the DBProxy to modify.
33800	//
33801	// DBProxyName is a required field
33802	DBProxyName *string `type:"string" required:"true"`
33803
33804	// Whether the proxy includes detailed information about SQL statements in its
33805	// logs. This information helps you to debug issues involving SQL behavior or
33806	// the performance and scalability of the proxy connections. The debug information
33807	// includes the text of SQL statements that you submit through the proxy. Thus,
33808	// only enable this setting when needed for debugging, and only when you have
33809	// security measures in place to safeguard any sensitive information that appears
33810	// in the logs.
33811	DebugLogging *bool `type:"boolean"`
33812
33813	// The number of seconds that a connection to the proxy can be inactive before
33814	// the proxy disconnects it. You can set this value higher or lower than the
33815	// connection timeout limit for the associated database.
33816	IdleClientTimeout *int64 `type:"integer"`
33817
33818	// The new identifier for the DBProxy. An identifier must begin with a letter
33819	// and must contain only ASCII letters, digits, and hyphens; it can't end with
33820	// a hyphen or contain two consecutive hyphens.
33821	NewDBProxyName *string `type:"string"`
33822
33823	// Whether Transport Layer Security (TLS) encryption is required for connections
33824	// to the proxy. By enabling this setting, you can enforce encrypted TLS connections
33825	// to the proxy, even if the associated database doesn't use TLS.
33826	RequireTLS *bool `type:"boolean"`
33827
33828	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
33829	// secrets in AWS Secrets Manager.
33830	RoleArn *string `type:"string"`
33831
33832	// The new list of security groups for the DBProxy.
33833	SecurityGroups []*string `type:"list"`
33834}
33835
33836// String returns the string representation
33837func (s ModifyDBProxyInput) String() string {
33838	return awsutil.Prettify(s)
33839}
33840
33841// GoString returns the string representation
33842func (s ModifyDBProxyInput) GoString() string {
33843	return s.String()
33844}
33845
33846// Validate inspects the fields of the type to determine if they are valid.
33847func (s *ModifyDBProxyInput) Validate() error {
33848	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyInput"}
33849	if s.DBProxyName == nil {
33850		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
33851	}
33852
33853	if invalidParams.Len() > 0 {
33854		return invalidParams
33855	}
33856	return nil
33857}
33858
33859// SetAuth sets the Auth field's value.
33860func (s *ModifyDBProxyInput) SetAuth(v []*UserAuthConfig) *ModifyDBProxyInput {
33861	s.Auth = v
33862	return s
33863}
33864
33865// SetDBProxyName sets the DBProxyName field's value.
33866func (s *ModifyDBProxyInput) SetDBProxyName(v string) *ModifyDBProxyInput {
33867	s.DBProxyName = &v
33868	return s
33869}
33870
33871// SetDebugLogging sets the DebugLogging field's value.
33872func (s *ModifyDBProxyInput) SetDebugLogging(v bool) *ModifyDBProxyInput {
33873	s.DebugLogging = &v
33874	return s
33875}
33876
33877// SetIdleClientTimeout sets the IdleClientTimeout field's value.
33878func (s *ModifyDBProxyInput) SetIdleClientTimeout(v int64) *ModifyDBProxyInput {
33879	s.IdleClientTimeout = &v
33880	return s
33881}
33882
33883// SetNewDBProxyName sets the NewDBProxyName field's value.
33884func (s *ModifyDBProxyInput) SetNewDBProxyName(v string) *ModifyDBProxyInput {
33885	s.NewDBProxyName = &v
33886	return s
33887}
33888
33889// SetRequireTLS sets the RequireTLS field's value.
33890func (s *ModifyDBProxyInput) SetRequireTLS(v bool) *ModifyDBProxyInput {
33891	s.RequireTLS = &v
33892	return s
33893}
33894
33895// SetRoleArn sets the RoleArn field's value.
33896func (s *ModifyDBProxyInput) SetRoleArn(v string) *ModifyDBProxyInput {
33897	s.RoleArn = &v
33898	return s
33899}
33900
33901// SetSecurityGroups sets the SecurityGroups field's value.
33902func (s *ModifyDBProxyInput) SetSecurityGroups(v []*string) *ModifyDBProxyInput {
33903	s.SecurityGroups = v
33904	return s
33905}
33906
33907type ModifyDBProxyOutput struct {
33908	_ struct{} `type:"structure"`
33909
33910	// The DBProxy object representing the new settings for the proxy.
33911	DBProxy *DBProxy `type:"structure"`
33912}
33913
33914// String returns the string representation
33915func (s ModifyDBProxyOutput) String() string {
33916	return awsutil.Prettify(s)
33917}
33918
33919// GoString returns the string representation
33920func (s ModifyDBProxyOutput) GoString() string {
33921	return s.String()
33922}
33923
33924// SetDBProxy sets the DBProxy field's value.
33925func (s *ModifyDBProxyOutput) SetDBProxy(v *DBProxy) *ModifyDBProxyOutput {
33926	s.DBProxy = v
33927	return s
33928}
33929
33930type ModifyDBProxyTargetGroupInput struct {
33931	_ struct{} `type:"structure"`
33932
33933	// The settings that determine the size and behavior of the connection pool
33934	// for the target group.
33935	ConnectionPoolConfig *ConnectionPoolConfiguration `type:"structure"`
33936
33937	// The name of the new proxy to which to assign the target group.
33938	//
33939	// DBProxyName is a required field
33940	DBProxyName *string `type:"string" required:"true"`
33941
33942	// The new name for the modified DBProxyTarget. An identifier must begin with
33943	// a letter and must contain only ASCII letters, digits, and hyphens; it can't
33944	// end with a hyphen or contain two consecutive hyphens.
33945	NewName *string `type:"string"`
33946
33947	// The name of the new target group to assign to the proxy.
33948	//
33949	// TargetGroupName is a required field
33950	TargetGroupName *string `type:"string" required:"true"`
33951}
33952
33953// String returns the string representation
33954func (s ModifyDBProxyTargetGroupInput) String() string {
33955	return awsutil.Prettify(s)
33956}
33957
33958// GoString returns the string representation
33959func (s ModifyDBProxyTargetGroupInput) GoString() string {
33960	return s.String()
33961}
33962
33963// Validate inspects the fields of the type to determine if they are valid.
33964func (s *ModifyDBProxyTargetGroupInput) Validate() error {
33965	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyTargetGroupInput"}
33966	if s.DBProxyName == nil {
33967		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
33968	}
33969	if s.TargetGroupName == nil {
33970		invalidParams.Add(request.NewErrParamRequired("TargetGroupName"))
33971	}
33972
33973	if invalidParams.Len() > 0 {
33974		return invalidParams
33975	}
33976	return nil
33977}
33978
33979// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
33980func (s *ModifyDBProxyTargetGroupInput) SetConnectionPoolConfig(v *ConnectionPoolConfiguration) *ModifyDBProxyTargetGroupInput {
33981	s.ConnectionPoolConfig = v
33982	return s
33983}
33984
33985// SetDBProxyName sets the DBProxyName field's value.
33986func (s *ModifyDBProxyTargetGroupInput) SetDBProxyName(v string) *ModifyDBProxyTargetGroupInput {
33987	s.DBProxyName = &v
33988	return s
33989}
33990
33991// SetNewName sets the NewName field's value.
33992func (s *ModifyDBProxyTargetGroupInput) SetNewName(v string) *ModifyDBProxyTargetGroupInput {
33993	s.NewName = &v
33994	return s
33995}
33996
33997// SetTargetGroupName sets the TargetGroupName field's value.
33998func (s *ModifyDBProxyTargetGroupInput) SetTargetGroupName(v string) *ModifyDBProxyTargetGroupInput {
33999	s.TargetGroupName = &v
34000	return s
34001}
34002
34003type ModifyDBProxyTargetGroupOutput struct {
34004	_ struct{} `type:"structure"`
34005
34006	// The settings of the modified DBProxyTarget.
34007	DBProxyTargetGroup *DBProxyTargetGroup `type:"structure"`
34008}
34009
34010// String returns the string representation
34011func (s ModifyDBProxyTargetGroupOutput) String() string {
34012	return awsutil.Prettify(s)
34013}
34014
34015// GoString returns the string representation
34016func (s ModifyDBProxyTargetGroupOutput) GoString() string {
34017	return s.String()
34018}
34019
34020// SetDBProxyTargetGroup sets the DBProxyTargetGroup field's value.
34021func (s *ModifyDBProxyTargetGroupOutput) SetDBProxyTargetGroup(v *DBProxyTargetGroup) *ModifyDBProxyTargetGroupOutput {
34022	s.DBProxyTargetGroup = v
34023	return s
34024}
34025
34026type ModifyDBSnapshotAttributeInput struct {
34027	_ struct{} `type:"structure"`
34028
34029	// The name of the DB snapshot attribute to modify.
34030	//
34031	// To manage authorization for other AWS accounts to copy or restore a manual
34032	// DB snapshot, set this value to restore.
34033	//
34034	// To view the list of attributes available to modify, use the DescribeDBSnapshotAttributes
34035	// API action.
34036	//
34037	// AttributeName is a required field
34038	AttributeName *string `type:"string" required:"true"`
34039
34040	// The identifier for the DB snapshot to modify the attributes for.
34041	//
34042	// DBSnapshotIdentifier is a required field
34043	DBSnapshotIdentifier *string `type:"string" required:"true"`
34044
34045	// A list of DB snapshot attributes to add to the attribute specified by AttributeName.
34046	//
34047	// To authorize other AWS accounts to copy or restore a manual snapshot, set
34048	// this list to include one or more AWS account IDs, or all to make the manual
34049	// DB snapshot restorable by any AWS account. Do not add the all value for any
34050	// manual DB snapshots that contain private information that you don't want
34051	// available to all AWS accounts.
34052	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
34053
34054	// A list of DB snapshot attributes to remove from the attribute specified by
34055	// AttributeName.
34056	//
34057	// To remove authorization for other AWS accounts to copy or restore a manual
34058	// snapshot, set this list to include one or more AWS account identifiers, or
34059	// all to remove authorization for any AWS account to copy or restore the DB
34060	// snapshot. If you specify all, an AWS account whose account ID is explicitly
34061	// added to the restore attribute can still copy or restore the manual DB snapshot.
34062	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
34063}
34064
34065// String returns the string representation
34066func (s ModifyDBSnapshotAttributeInput) String() string {
34067	return awsutil.Prettify(s)
34068}
34069
34070// GoString returns the string representation
34071func (s ModifyDBSnapshotAttributeInput) GoString() string {
34072	return s.String()
34073}
34074
34075// Validate inspects the fields of the type to determine if they are valid.
34076func (s *ModifyDBSnapshotAttributeInput) Validate() error {
34077	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"}
34078	if s.AttributeName == nil {
34079		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
34080	}
34081	if s.DBSnapshotIdentifier == nil {
34082		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
34083	}
34084
34085	if invalidParams.Len() > 0 {
34086		return invalidParams
34087	}
34088	return nil
34089}
34090
34091// SetAttributeName sets the AttributeName field's value.
34092func (s *ModifyDBSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBSnapshotAttributeInput {
34093	s.AttributeName = &v
34094	return s
34095}
34096
34097// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
34098func (s *ModifyDBSnapshotAttributeInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotAttributeInput {
34099	s.DBSnapshotIdentifier = &v
34100	return s
34101}
34102
34103// SetValuesToAdd sets the ValuesToAdd field's value.
34104func (s *ModifyDBSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBSnapshotAttributeInput {
34105	s.ValuesToAdd = v
34106	return s
34107}
34108
34109// SetValuesToRemove sets the ValuesToRemove field's value.
34110func (s *ModifyDBSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBSnapshotAttributeInput {
34111	s.ValuesToRemove = v
34112	return s
34113}
34114
34115type ModifyDBSnapshotAttributeOutput struct {
34116	_ struct{} `type:"structure"`
34117
34118	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
34119	// API action.
34120	//
34121	// Manual DB snapshot attributes are used to authorize other AWS accounts to
34122	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
34123	// API action.
34124	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
34125}
34126
34127// String returns the string representation
34128func (s ModifyDBSnapshotAttributeOutput) String() string {
34129	return awsutil.Prettify(s)
34130}
34131
34132// GoString returns the string representation
34133func (s ModifyDBSnapshotAttributeOutput) GoString() string {
34134	return s.String()
34135}
34136
34137// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
34138func (s *ModifyDBSnapshotAttributeOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *ModifyDBSnapshotAttributeOutput {
34139	s.DBSnapshotAttributesResult = v
34140	return s
34141}
34142
34143type ModifyDBSnapshotInput struct {
34144	_ struct{} `type:"structure"`
34145
34146	// The identifier of the DB snapshot to modify.
34147	//
34148	// DBSnapshotIdentifier is a required field
34149	DBSnapshotIdentifier *string `type:"string" required:"true"`
34150
34151	// The engine version to upgrade the DB snapshot to.
34152	//
34153	// The following are the database engines and engine versions that are available
34154	// when you upgrade a DB snapshot.
34155	//
34156	// MySQL
34157	//
34158	//    * 5.5.46 (supported for 5.1 DB snapshots)
34159	//
34160	// Oracle
34161	//
34162	//    * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
34163	//
34164	//    * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
34165	//
34166	//    * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
34167	//
34168	// PostgreSQL
34169	//
34170	// For the list of engine versions that are available for upgrading a DB snapshot,
34171	// see Upgrading the PostgreSQL DB Engine for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.PostgreSQL.html#USER_UpgradeDBInstance.PostgreSQL.MajorVersion).
34172	EngineVersion *string `type:"string"`
34173
34174	// The option group to identify with the upgraded DB snapshot.
34175	//
34176	// You can specify this parameter when you upgrade an Oracle DB snapshot. The
34177	// same option group considerations apply when upgrading a DB snapshot as when
34178	// upgrading a DB instance. For more information, see Option Group Considerations
34179	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG)
34180	// in the Amazon RDS User Guide.
34181	OptionGroupName *string `type:"string"`
34182}
34183
34184// String returns the string representation
34185func (s ModifyDBSnapshotInput) String() string {
34186	return awsutil.Prettify(s)
34187}
34188
34189// GoString returns the string representation
34190func (s ModifyDBSnapshotInput) GoString() string {
34191	return s.String()
34192}
34193
34194// Validate inspects the fields of the type to determine if they are valid.
34195func (s *ModifyDBSnapshotInput) Validate() error {
34196	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotInput"}
34197	if s.DBSnapshotIdentifier == nil {
34198		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
34199	}
34200
34201	if invalidParams.Len() > 0 {
34202		return invalidParams
34203	}
34204	return nil
34205}
34206
34207// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
34208func (s *ModifyDBSnapshotInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotInput {
34209	s.DBSnapshotIdentifier = &v
34210	return s
34211}
34212
34213// SetEngineVersion sets the EngineVersion field's value.
34214func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInput {
34215	s.EngineVersion = &v
34216	return s
34217}
34218
34219// SetOptionGroupName sets the OptionGroupName field's value.
34220func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput {
34221	s.OptionGroupName = &v
34222	return s
34223}
34224
34225type ModifyDBSnapshotOutput struct {
34226	_ struct{} `type:"structure"`
34227
34228	// Contains the details of an Amazon RDS DB snapshot.
34229	//
34230	// This data type is used as a response element in the DescribeDBSnapshots action.
34231	DBSnapshot *DBSnapshot `type:"structure"`
34232}
34233
34234// String returns the string representation
34235func (s ModifyDBSnapshotOutput) String() string {
34236	return awsutil.Prettify(s)
34237}
34238
34239// GoString returns the string representation
34240func (s ModifyDBSnapshotOutput) GoString() string {
34241	return s.String()
34242}
34243
34244// SetDBSnapshot sets the DBSnapshot field's value.
34245func (s *ModifyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *ModifyDBSnapshotOutput {
34246	s.DBSnapshot = v
34247	return s
34248}
34249
34250type ModifyDBSubnetGroupInput struct {
34251	_ struct{} `type:"structure"`
34252
34253	// The description for the DB subnet group.
34254	DBSubnetGroupDescription *string `type:"string"`
34255
34256	// The name for the DB subnet group. This value is stored as a lowercase string.
34257	// You can't modify the default subnet group.
34258	//
34259	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
34260	// default.
34261	//
34262	// Example: mySubnetgroup
34263	//
34264	// DBSubnetGroupName is a required field
34265	DBSubnetGroupName *string `type:"string" required:"true"`
34266
34267	// The EC2 subnet IDs for the DB subnet group.
34268	//
34269	// SubnetIds is a required field
34270	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
34271}
34272
34273// String returns the string representation
34274func (s ModifyDBSubnetGroupInput) String() string {
34275	return awsutil.Prettify(s)
34276}
34277
34278// GoString returns the string representation
34279func (s ModifyDBSubnetGroupInput) GoString() string {
34280	return s.String()
34281}
34282
34283// Validate inspects the fields of the type to determine if they are valid.
34284func (s *ModifyDBSubnetGroupInput) Validate() error {
34285	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
34286	if s.DBSubnetGroupName == nil {
34287		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
34288	}
34289	if s.SubnetIds == nil {
34290		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
34291	}
34292
34293	if invalidParams.Len() > 0 {
34294		return invalidParams
34295	}
34296	return nil
34297}
34298
34299// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
34300func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
34301	s.DBSubnetGroupDescription = &v
34302	return s
34303}
34304
34305// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
34306func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
34307	s.DBSubnetGroupName = &v
34308	return s
34309}
34310
34311// SetSubnetIds sets the SubnetIds field's value.
34312func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
34313	s.SubnetIds = v
34314	return s
34315}
34316
34317type ModifyDBSubnetGroupOutput struct {
34318	_ struct{} `type:"structure"`
34319
34320	// Contains the details of an Amazon RDS DB subnet group.
34321	//
34322	// This data type is used as a response element in the DescribeDBSubnetGroups
34323	// action.
34324	DBSubnetGroup *DBSubnetGroup `type:"structure"`
34325}
34326
34327// String returns the string representation
34328func (s ModifyDBSubnetGroupOutput) String() string {
34329	return awsutil.Prettify(s)
34330}
34331
34332// GoString returns the string representation
34333func (s ModifyDBSubnetGroupOutput) GoString() string {
34334	return s.String()
34335}
34336
34337// SetDBSubnetGroup sets the DBSubnetGroup field's value.
34338func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
34339	s.DBSubnetGroup = v
34340	return s
34341}
34342
34343type ModifyEventSubscriptionInput struct {
34344	_ struct{} `type:"structure"`
34345
34346	// A value that indicates whether to activate the subscription.
34347	Enabled *bool `type:"boolean"`
34348
34349	// A list of event categories for a SourceType that you want to subscribe to.
34350	// You can see a list of the categories for a given SourceType in the Events
34351	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
34352	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
34353	// action.
34354	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
34355
34356	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
34357	// The ARN is created by Amazon SNS when you create a topic and subscribe to
34358	// it.
34359	SnsTopicArn *string `type:"string"`
34360
34361	// The type of source that is generating the events. For example, if you want
34362	// to be notified of events generated by a DB instance, you would set this parameter
34363	// to db-instance. If this value isn't specified, all events are returned.
34364	//
34365	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
34366	SourceType *string `type:"string"`
34367
34368	// The name of the RDS event notification subscription.
34369	//
34370	// SubscriptionName is a required field
34371	SubscriptionName *string `type:"string" required:"true"`
34372}
34373
34374// String returns the string representation
34375func (s ModifyEventSubscriptionInput) String() string {
34376	return awsutil.Prettify(s)
34377}
34378
34379// GoString returns the string representation
34380func (s ModifyEventSubscriptionInput) GoString() string {
34381	return s.String()
34382}
34383
34384// Validate inspects the fields of the type to determine if they are valid.
34385func (s *ModifyEventSubscriptionInput) Validate() error {
34386	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
34387	if s.SubscriptionName == nil {
34388		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
34389	}
34390
34391	if invalidParams.Len() > 0 {
34392		return invalidParams
34393	}
34394	return nil
34395}
34396
34397// SetEnabled sets the Enabled field's value.
34398func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
34399	s.Enabled = &v
34400	return s
34401}
34402
34403// SetEventCategories sets the EventCategories field's value.
34404func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
34405	s.EventCategories = v
34406	return s
34407}
34408
34409// SetSnsTopicArn sets the SnsTopicArn field's value.
34410func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
34411	s.SnsTopicArn = &v
34412	return s
34413}
34414
34415// SetSourceType sets the SourceType field's value.
34416func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
34417	s.SourceType = &v
34418	return s
34419}
34420
34421// SetSubscriptionName sets the SubscriptionName field's value.
34422func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
34423	s.SubscriptionName = &v
34424	return s
34425}
34426
34427type ModifyEventSubscriptionOutput struct {
34428	_ struct{} `type:"structure"`
34429
34430	// Contains the results of a successful invocation of the DescribeEventSubscriptions
34431	// action.
34432	EventSubscription *EventSubscription `type:"structure"`
34433}
34434
34435// String returns the string representation
34436func (s ModifyEventSubscriptionOutput) String() string {
34437	return awsutil.Prettify(s)
34438}
34439
34440// GoString returns the string representation
34441func (s ModifyEventSubscriptionOutput) GoString() string {
34442	return s.String()
34443}
34444
34445// SetEventSubscription sets the EventSubscription field's value.
34446func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
34447	s.EventSubscription = v
34448	return s
34449}
34450
34451type ModifyGlobalClusterInput struct {
34452	_ struct{} `type:"structure"`
34453
34454	// Indicates if the global database cluster has deletion protection enabled.
34455	// The global database cluster can't be deleted when deletion protection is
34456	// enabled.
34457	DeletionProtection *bool `type:"boolean"`
34458
34459	// The DB cluster identifier for the global cluster being modified. This parameter
34460	// isn't case-sensitive.
34461	//
34462	// Constraints:
34463	//
34464	//    * Must match the identifier of an existing global database cluster.
34465	GlobalClusterIdentifier *string `type:"string"`
34466
34467	// The new cluster identifier for the global database cluster when modifying
34468	// a global database cluster. This value is stored as a lowercase string.
34469	//
34470	// Constraints:
34471	//
34472	//    * Must contain from 1 to 63 letters, numbers, or hyphens
34473	//
34474	//    * The first character must be a letter
34475	//
34476	//    * Can't end with a hyphen or contain two consecutive hyphens
34477	//
34478	// Example: my-cluster2
34479	NewGlobalClusterIdentifier *string `type:"string"`
34480}
34481
34482// String returns the string representation
34483func (s ModifyGlobalClusterInput) String() string {
34484	return awsutil.Prettify(s)
34485}
34486
34487// GoString returns the string representation
34488func (s ModifyGlobalClusterInput) GoString() string {
34489	return s.String()
34490}
34491
34492// SetDeletionProtection sets the DeletionProtection field's value.
34493func (s *ModifyGlobalClusterInput) SetDeletionProtection(v bool) *ModifyGlobalClusterInput {
34494	s.DeletionProtection = &v
34495	return s
34496}
34497
34498// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
34499func (s *ModifyGlobalClusterInput) SetGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
34500	s.GlobalClusterIdentifier = &v
34501	return s
34502}
34503
34504// SetNewGlobalClusterIdentifier sets the NewGlobalClusterIdentifier field's value.
34505func (s *ModifyGlobalClusterInput) SetNewGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
34506	s.NewGlobalClusterIdentifier = &v
34507	return s
34508}
34509
34510type ModifyGlobalClusterOutput struct {
34511	_ struct{} `type:"structure"`
34512
34513	// A data type representing an Aurora global database.
34514	GlobalCluster *GlobalCluster `type:"structure"`
34515}
34516
34517// String returns the string representation
34518func (s ModifyGlobalClusterOutput) String() string {
34519	return awsutil.Prettify(s)
34520}
34521
34522// GoString returns the string representation
34523func (s ModifyGlobalClusterOutput) GoString() string {
34524	return s.String()
34525}
34526
34527// SetGlobalCluster sets the GlobalCluster field's value.
34528func (s *ModifyGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *ModifyGlobalClusterOutput {
34529	s.GlobalCluster = v
34530	return s
34531}
34532
34533type ModifyOptionGroupInput struct {
34534	_ struct{} `type:"structure"`
34535
34536	// A value that indicates whether to apply the change immediately or during
34537	// the next maintenance window for each instance associated with the option
34538	// group.
34539	ApplyImmediately *bool `type:"boolean"`
34540
34541	// The name of the option group to be modified.
34542	//
34543	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
34544	// can't be removed from an option group, and that option group can't be removed
34545	// from a DB instance once it is associated with a DB instance
34546	//
34547	// OptionGroupName is a required field
34548	OptionGroupName *string `type:"string" required:"true"`
34549
34550	// Options in this list are added to the option group or, if already present,
34551	// the specified configuration is used to update the existing configuration.
34552	OptionsToInclude []*OptionConfiguration `locationNameList:"OptionConfiguration" type:"list"`
34553
34554	// Options in this list are removed from the option group.
34555	OptionsToRemove []*string `type:"list"`
34556}
34557
34558// String returns the string representation
34559func (s ModifyOptionGroupInput) String() string {
34560	return awsutil.Prettify(s)
34561}
34562
34563// GoString returns the string representation
34564func (s ModifyOptionGroupInput) GoString() string {
34565	return s.String()
34566}
34567
34568// Validate inspects the fields of the type to determine if they are valid.
34569func (s *ModifyOptionGroupInput) Validate() error {
34570	invalidParams := request.ErrInvalidParams{Context: "ModifyOptionGroupInput"}
34571	if s.OptionGroupName == nil {
34572		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
34573	}
34574	if s.OptionsToInclude != nil {
34575		for i, v := range s.OptionsToInclude {
34576			if v == nil {
34577				continue
34578			}
34579			if err := v.Validate(); err != nil {
34580				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToInclude", i), err.(request.ErrInvalidParams))
34581			}
34582		}
34583	}
34584
34585	if invalidParams.Len() > 0 {
34586		return invalidParams
34587	}
34588	return nil
34589}
34590
34591// SetApplyImmediately sets the ApplyImmediately field's value.
34592func (s *ModifyOptionGroupInput) SetApplyImmediately(v bool) *ModifyOptionGroupInput {
34593	s.ApplyImmediately = &v
34594	return s
34595}
34596
34597// SetOptionGroupName sets the OptionGroupName field's value.
34598func (s *ModifyOptionGroupInput) SetOptionGroupName(v string) *ModifyOptionGroupInput {
34599	s.OptionGroupName = &v
34600	return s
34601}
34602
34603// SetOptionsToInclude sets the OptionsToInclude field's value.
34604func (s *ModifyOptionGroupInput) SetOptionsToInclude(v []*OptionConfiguration) *ModifyOptionGroupInput {
34605	s.OptionsToInclude = v
34606	return s
34607}
34608
34609// SetOptionsToRemove sets the OptionsToRemove field's value.
34610func (s *ModifyOptionGroupInput) SetOptionsToRemove(v []*string) *ModifyOptionGroupInput {
34611	s.OptionsToRemove = v
34612	return s
34613}
34614
34615type ModifyOptionGroupOutput struct {
34616	_ struct{} `type:"structure"`
34617
34618	OptionGroup *OptionGroup `type:"structure"`
34619}
34620
34621// String returns the string representation
34622func (s ModifyOptionGroupOutput) String() string {
34623	return awsutil.Prettify(s)
34624}
34625
34626// GoString returns the string representation
34627func (s ModifyOptionGroupOutput) GoString() string {
34628	return s.String()
34629}
34630
34631// SetOptionGroup sets the OptionGroup field's value.
34632func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGroupOutput {
34633	s.OptionGroup = v
34634	return s
34635}
34636
34637// Option details.
34638type Option struct {
34639	_ struct{} `type:"structure"`
34640
34641	// If the option requires access to a port, then this DB security group allows
34642	// access to the port.
34643	DBSecurityGroupMemberships []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
34644
34645	// The description of the option.
34646	OptionDescription *string `type:"string"`
34647
34648	// The name of the option.
34649	OptionName *string `type:"string"`
34650
34651	// The option settings for this option.
34652	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
34653
34654	// The version of the option.
34655	OptionVersion *string `type:"string"`
34656
34657	// Indicate if this option is permanent.
34658	Permanent *bool `type:"boolean"`
34659
34660	// Indicate if this option is persistent.
34661	Persistent *bool `type:"boolean"`
34662
34663	// If required, the port configured for this option to use.
34664	Port *int64 `type:"integer"`
34665
34666	// If the option requires access to a port, then this VPC security group allows
34667	// access to the port.
34668	VpcSecurityGroupMemberships []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
34669}
34670
34671// String returns the string representation
34672func (s Option) String() string {
34673	return awsutil.Prettify(s)
34674}
34675
34676// GoString returns the string representation
34677func (s Option) GoString() string {
34678	return s.String()
34679}
34680
34681// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
34682func (s *Option) SetDBSecurityGroupMemberships(v []*DBSecurityGroupMembership) *Option {
34683	s.DBSecurityGroupMemberships = v
34684	return s
34685}
34686
34687// SetOptionDescription sets the OptionDescription field's value.
34688func (s *Option) SetOptionDescription(v string) *Option {
34689	s.OptionDescription = &v
34690	return s
34691}
34692
34693// SetOptionName sets the OptionName field's value.
34694func (s *Option) SetOptionName(v string) *Option {
34695	s.OptionName = &v
34696	return s
34697}
34698
34699// SetOptionSettings sets the OptionSettings field's value.
34700func (s *Option) SetOptionSettings(v []*OptionSetting) *Option {
34701	s.OptionSettings = v
34702	return s
34703}
34704
34705// SetOptionVersion sets the OptionVersion field's value.
34706func (s *Option) SetOptionVersion(v string) *Option {
34707	s.OptionVersion = &v
34708	return s
34709}
34710
34711// SetPermanent sets the Permanent field's value.
34712func (s *Option) SetPermanent(v bool) *Option {
34713	s.Permanent = &v
34714	return s
34715}
34716
34717// SetPersistent sets the Persistent field's value.
34718func (s *Option) SetPersistent(v bool) *Option {
34719	s.Persistent = &v
34720	return s
34721}
34722
34723// SetPort sets the Port field's value.
34724func (s *Option) SetPort(v int64) *Option {
34725	s.Port = &v
34726	return s
34727}
34728
34729// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
34730func (s *Option) SetVpcSecurityGroupMemberships(v []*VpcSecurityGroupMembership) *Option {
34731	s.VpcSecurityGroupMemberships = v
34732	return s
34733}
34734
34735// A list of all available options
34736type OptionConfiguration struct {
34737	_ struct{} `type:"structure"`
34738
34739	// A list of DBSecurityGroupMembership name strings used for this option.
34740	DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"`
34741
34742	// The configuration of options to include in a group.
34743	//
34744	// OptionName is a required field
34745	OptionName *string `type:"string" required:"true"`
34746
34747	// The option settings to include in an option group.
34748	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
34749
34750	// The version for the option.
34751	OptionVersion *string `type:"string"`
34752
34753	// The optional port for the option.
34754	Port *int64 `type:"integer"`
34755
34756	// A list of VpcSecurityGroupMembership name strings used for this option.
34757	VpcSecurityGroupMemberships []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
34758}
34759
34760// String returns the string representation
34761func (s OptionConfiguration) String() string {
34762	return awsutil.Prettify(s)
34763}
34764
34765// GoString returns the string representation
34766func (s OptionConfiguration) GoString() string {
34767	return s.String()
34768}
34769
34770// Validate inspects the fields of the type to determine if they are valid.
34771func (s *OptionConfiguration) Validate() error {
34772	invalidParams := request.ErrInvalidParams{Context: "OptionConfiguration"}
34773	if s.OptionName == nil {
34774		invalidParams.Add(request.NewErrParamRequired("OptionName"))
34775	}
34776
34777	if invalidParams.Len() > 0 {
34778		return invalidParams
34779	}
34780	return nil
34781}
34782
34783// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
34784func (s *OptionConfiguration) SetDBSecurityGroupMemberships(v []*string) *OptionConfiguration {
34785	s.DBSecurityGroupMemberships = v
34786	return s
34787}
34788
34789// SetOptionName sets the OptionName field's value.
34790func (s *OptionConfiguration) SetOptionName(v string) *OptionConfiguration {
34791	s.OptionName = &v
34792	return s
34793}
34794
34795// SetOptionSettings sets the OptionSettings field's value.
34796func (s *OptionConfiguration) SetOptionSettings(v []*OptionSetting) *OptionConfiguration {
34797	s.OptionSettings = v
34798	return s
34799}
34800
34801// SetOptionVersion sets the OptionVersion field's value.
34802func (s *OptionConfiguration) SetOptionVersion(v string) *OptionConfiguration {
34803	s.OptionVersion = &v
34804	return s
34805}
34806
34807// SetPort sets the Port field's value.
34808func (s *OptionConfiguration) SetPort(v int64) *OptionConfiguration {
34809	s.Port = &v
34810	return s
34811}
34812
34813// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
34814func (s *OptionConfiguration) SetVpcSecurityGroupMemberships(v []*string) *OptionConfiguration {
34815	s.VpcSecurityGroupMemberships = v
34816	return s
34817}
34818
34819type OptionGroup struct {
34820	_ struct{} `type:"structure"`
34821
34822	// Indicates whether this option group can be applied to both VPC and non-VPC
34823	// instances. The value true indicates the option group can be applied to both
34824	// VPC and non-VPC instances.
34825	AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"`
34826
34827	// Indicates the name of the engine that this option group can be applied to.
34828	EngineName *string `type:"string"`
34829
34830	// Indicates the major engine version associated with this option group.
34831	MajorEngineVersion *string `type:"string"`
34832
34833	// The Amazon Resource Name (ARN) for the option group.
34834	OptionGroupArn *string `type:"string"`
34835
34836	// Provides a description of the option group.
34837	OptionGroupDescription *string `type:"string"`
34838
34839	// Specifies the name of the option group.
34840	OptionGroupName *string `type:"string"`
34841
34842	// Indicates what options are available in the option group.
34843	Options []*Option `locationNameList:"Option" type:"list"`
34844
34845	// If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If
34846	// AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then
34847	// this option group can be applied to both VPC and non-VPC instances. If this
34848	// field contains a value, then this option group can only be applied to instances
34849	// that are in the VPC indicated by this field.
34850	VpcId *string `type:"string"`
34851}
34852
34853// String returns the string representation
34854func (s OptionGroup) String() string {
34855	return awsutil.Prettify(s)
34856}
34857
34858// GoString returns the string representation
34859func (s OptionGroup) GoString() string {
34860	return s.String()
34861}
34862
34863// SetAllowsVpcAndNonVpcInstanceMemberships sets the AllowsVpcAndNonVpcInstanceMemberships field's value.
34864func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGroup {
34865	s.AllowsVpcAndNonVpcInstanceMemberships = &v
34866	return s
34867}
34868
34869// SetEngineName sets the EngineName field's value.
34870func (s *OptionGroup) SetEngineName(v string) *OptionGroup {
34871	s.EngineName = &v
34872	return s
34873}
34874
34875// SetMajorEngineVersion sets the MajorEngineVersion field's value.
34876func (s *OptionGroup) SetMajorEngineVersion(v string) *OptionGroup {
34877	s.MajorEngineVersion = &v
34878	return s
34879}
34880
34881// SetOptionGroupArn sets the OptionGroupArn field's value.
34882func (s *OptionGroup) SetOptionGroupArn(v string) *OptionGroup {
34883	s.OptionGroupArn = &v
34884	return s
34885}
34886
34887// SetOptionGroupDescription sets the OptionGroupDescription field's value.
34888func (s *OptionGroup) SetOptionGroupDescription(v string) *OptionGroup {
34889	s.OptionGroupDescription = &v
34890	return s
34891}
34892
34893// SetOptionGroupName sets the OptionGroupName field's value.
34894func (s *OptionGroup) SetOptionGroupName(v string) *OptionGroup {
34895	s.OptionGroupName = &v
34896	return s
34897}
34898
34899// SetOptions sets the Options field's value.
34900func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup {
34901	s.Options = v
34902	return s
34903}
34904
34905// SetVpcId sets the VpcId field's value.
34906func (s *OptionGroup) SetVpcId(v string) *OptionGroup {
34907	s.VpcId = &v
34908	return s
34909}
34910
34911// Provides information on the option groups the DB instance is a member of.
34912type OptionGroupMembership struct {
34913	_ struct{} `type:"structure"`
34914
34915	// The name of the option group that the instance belongs to.
34916	OptionGroupName *string `type:"string"`
34917
34918	// The status of the DB instance's option group membership. Valid values are:
34919	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
34920	// applying, removing, and failed.
34921	Status *string `type:"string"`
34922}
34923
34924// String returns the string representation
34925func (s OptionGroupMembership) String() string {
34926	return awsutil.Prettify(s)
34927}
34928
34929// GoString returns the string representation
34930func (s OptionGroupMembership) GoString() string {
34931	return s.String()
34932}
34933
34934// SetOptionGroupName sets the OptionGroupName field's value.
34935func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
34936	s.OptionGroupName = &v
34937	return s
34938}
34939
34940// SetStatus sets the Status field's value.
34941func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
34942	s.Status = &v
34943	return s
34944}
34945
34946// Available option.
34947type OptionGroupOption struct {
34948	_ struct{} `type:"structure"`
34949
34950	// If the option requires a port, specifies the default port for the option.
34951	DefaultPort *int64 `type:"integer"`
34952
34953	// The description of the option.
34954	Description *string `type:"string"`
34955
34956	// The name of the engine that this option can be applied to.
34957	EngineName *string `type:"string"`
34958
34959	// Indicates the major engine version that the option is available for.
34960	MajorEngineVersion *string `type:"string"`
34961
34962	// The minimum required engine version for the option to be applied.
34963	MinimumRequiredMinorEngineVersion *string `type:"string"`
34964
34965	// The name of the option.
34966	Name *string `type:"string"`
34967
34968	// The option settings that are available (and the default value) for each option
34969	// in an option group.
34970	OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"`
34971
34972	// The versions that are available for the option.
34973	OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"`
34974
34975	// The options that conflict with this option.
34976	OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"`
34977
34978	// The options that are prerequisites for this option.
34979	OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"`
34980
34981	// Permanent options can never be removed from an option group. An option group
34982	// containing a permanent option can't be removed from a DB instance.
34983	Permanent *bool `type:"boolean"`
34984
34985	// Persistent options can't be removed from an option group while DB instances
34986	// are associated with the option group. If you disassociate all DB instances
34987	// from the option group, your can remove the persistent option from the option
34988	// group.
34989	Persistent *bool `type:"boolean"`
34990
34991	// Specifies whether the option requires a port.
34992	PortRequired *bool `type:"boolean"`
34993
34994	// If true, you must enable the Auto Minor Version Upgrade setting for your
34995	// DB instance before you can use this option. You can enable Auto Minor Version
34996	// Upgrade when you first create your DB instance, or by modifying your DB instance
34997	// later.
34998	RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"`
34999
35000	// If true, you can change the option to an earlier version of the option. This
35001	// only applies to options that have different versions available.
35002	SupportsOptionVersionDowngrade *bool `type:"boolean"`
35003
35004	// If true, you can only use this option with a DB instance that is in a VPC.
35005	VpcOnly *bool `type:"boolean"`
35006}
35007
35008// String returns the string representation
35009func (s OptionGroupOption) String() string {
35010	return awsutil.Prettify(s)
35011}
35012
35013// GoString returns the string representation
35014func (s OptionGroupOption) GoString() string {
35015	return s.String()
35016}
35017
35018// SetDefaultPort sets the DefaultPort field's value.
35019func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption {
35020	s.DefaultPort = &v
35021	return s
35022}
35023
35024// SetDescription sets the Description field's value.
35025func (s *OptionGroupOption) SetDescription(v string) *OptionGroupOption {
35026	s.Description = &v
35027	return s
35028}
35029
35030// SetEngineName sets the EngineName field's value.
35031func (s *OptionGroupOption) SetEngineName(v string) *OptionGroupOption {
35032	s.EngineName = &v
35033	return s
35034}
35035
35036// SetMajorEngineVersion sets the MajorEngineVersion field's value.
35037func (s *OptionGroupOption) SetMajorEngineVersion(v string) *OptionGroupOption {
35038	s.MajorEngineVersion = &v
35039	return s
35040}
35041
35042// SetMinimumRequiredMinorEngineVersion sets the MinimumRequiredMinorEngineVersion field's value.
35043func (s *OptionGroupOption) SetMinimumRequiredMinorEngineVersion(v string) *OptionGroupOption {
35044	s.MinimumRequiredMinorEngineVersion = &v
35045	return s
35046}
35047
35048// SetName sets the Name field's value.
35049func (s *OptionGroupOption) SetName(v string) *OptionGroupOption {
35050	s.Name = &v
35051	return s
35052}
35053
35054// SetOptionGroupOptionSettings sets the OptionGroupOptionSettings field's value.
35055func (s *OptionGroupOption) SetOptionGroupOptionSettings(v []*OptionGroupOptionSetting) *OptionGroupOption {
35056	s.OptionGroupOptionSettings = v
35057	return s
35058}
35059
35060// SetOptionGroupOptionVersions sets the OptionGroupOptionVersions field's value.
35061func (s *OptionGroupOption) SetOptionGroupOptionVersions(v []*OptionVersion) *OptionGroupOption {
35062	s.OptionGroupOptionVersions = v
35063	return s
35064}
35065
35066// SetOptionsConflictsWith sets the OptionsConflictsWith field's value.
35067func (s *OptionGroupOption) SetOptionsConflictsWith(v []*string) *OptionGroupOption {
35068	s.OptionsConflictsWith = v
35069	return s
35070}
35071
35072// SetOptionsDependedOn sets the OptionsDependedOn field's value.
35073func (s *OptionGroupOption) SetOptionsDependedOn(v []*string) *OptionGroupOption {
35074	s.OptionsDependedOn = v
35075	return s
35076}
35077
35078// SetPermanent sets the Permanent field's value.
35079func (s *OptionGroupOption) SetPermanent(v bool) *OptionGroupOption {
35080	s.Permanent = &v
35081	return s
35082}
35083
35084// SetPersistent sets the Persistent field's value.
35085func (s *OptionGroupOption) SetPersistent(v bool) *OptionGroupOption {
35086	s.Persistent = &v
35087	return s
35088}
35089
35090// SetPortRequired sets the PortRequired field's value.
35091func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption {
35092	s.PortRequired = &v
35093	return s
35094}
35095
35096// SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value.
35097func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption {
35098	s.RequiresAutoMinorEngineVersionUpgrade = &v
35099	return s
35100}
35101
35102// SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value.
35103func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption {
35104	s.SupportsOptionVersionDowngrade = &v
35105	return s
35106}
35107
35108// SetVpcOnly sets the VpcOnly field's value.
35109func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption {
35110	s.VpcOnly = &v
35111	return s
35112}
35113
35114// Option group option settings are used to display settings available for each
35115// option with their default values and other information. These values are
35116// used with the DescribeOptionGroupOptions action.
35117type OptionGroupOptionSetting struct {
35118	_ struct{} `type:"structure"`
35119
35120	// Indicates the acceptable values for the option group option.
35121	AllowedValues *string `type:"string"`
35122
35123	// The DB engine specific parameter type for the option group option.
35124	ApplyType *string `type:"string"`
35125
35126	// The default value for the option group option.
35127	DefaultValue *string `type:"string"`
35128
35129	// Boolean value where true indicates that this option group option can be changed
35130	// from the default value.
35131	IsModifiable *bool `type:"boolean"`
35132
35133	// Boolean value where true indicates that a value must be specified for this
35134	// option setting of the option group option.
35135	IsRequired *bool `type:"boolean"`
35136
35137	// The minimum DB engine version required for the corresponding allowed value
35138	// for this option setting.
35139	MinimumEngineVersionPerAllowedValue []*MinimumEngineVersionPerAllowedValue `locationNameList:"MinimumEngineVersionPerAllowedValue" type:"list"`
35140
35141	// The description of the option group option.
35142	SettingDescription *string `type:"string"`
35143
35144	// The name of the option group option.
35145	SettingName *string `type:"string"`
35146}
35147
35148// String returns the string representation
35149func (s OptionGroupOptionSetting) String() string {
35150	return awsutil.Prettify(s)
35151}
35152
35153// GoString returns the string representation
35154func (s OptionGroupOptionSetting) GoString() string {
35155	return s.String()
35156}
35157
35158// SetAllowedValues sets the AllowedValues field's value.
35159func (s *OptionGroupOptionSetting) SetAllowedValues(v string) *OptionGroupOptionSetting {
35160	s.AllowedValues = &v
35161	return s
35162}
35163
35164// SetApplyType sets the ApplyType field's value.
35165func (s *OptionGroupOptionSetting) SetApplyType(v string) *OptionGroupOptionSetting {
35166	s.ApplyType = &v
35167	return s
35168}
35169
35170// SetDefaultValue sets the DefaultValue field's value.
35171func (s *OptionGroupOptionSetting) SetDefaultValue(v string) *OptionGroupOptionSetting {
35172	s.DefaultValue = &v
35173	return s
35174}
35175
35176// SetIsModifiable sets the IsModifiable field's value.
35177func (s *OptionGroupOptionSetting) SetIsModifiable(v bool) *OptionGroupOptionSetting {
35178	s.IsModifiable = &v
35179	return s
35180}
35181
35182// SetIsRequired sets the IsRequired field's value.
35183func (s *OptionGroupOptionSetting) SetIsRequired(v bool) *OptionGroupOptionSetting {
35184	s.IsRequired = &v
35185	return s
35186}
35187
35188// SetMinimumEngineVersionPerAllowedValue sets the MinimumEngineVersionPerAllowedValue field's value.
35189func (s *OptionGroupOptionSetting) SetMinimumEngineVersionPerAllowedValue(v []*MinimumEngineVersionPerAllowedValue) *OptionGroupOptionSetting {
35190	s.MinimumEngineVersionPerAllowedValue = v
35191	return s
35192}
35193
35194// SetSettingDescription sets the SettingDescription field's value.
35195func (s *OptionGroupOptionSetting) SetSettingDescription(v string) *OptionGroupOptionSetting {
35196	s.SettingDescription = &v
35197	return s
35198}
35199
35200// SetSettingName sets the SettingName field's value.
35201func (s *OptionGroupOptionSetting) SetSettingName(v string) *OptionGroupOptionSetting {
35202	s.SettingName = &v
35203	return s
35204}
35205
35206// Option settings are the actual settings being applied or configured for that
35207// option. It is used when you modify an option group or describe option groups.
35208// For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER
35209// that can have several different values.
35210type OptionSetting struct {
35211	_ struct{} `type:"structure"`
35212
35213	// The allowed values of the option setting.
35214	AllowedValues *string `type:"string"`
35215
35216	// The DB engine specific parameter type.
35217	ApplyType *string `type:"string"`
35218
35219	// The data type of the option setting.
35220	DataType *string `type:"string"`
35221
35222	// The default value of the option setting.
35223	DefaultValue *string `type:"string"`
35224
35225	// The description of the option setting.
35226	Description *string `type:"string"`
35227
35228	// Indicates if the option setting is part of a collection.
35229	IsCollection *bool `type:"boolean"`
35230
35231	// A Boolean value that, when true, indicates the option setting can be modified
35232	// from the default.
35233	IsModifiable *bool `type:"boolean"`
35234
35235	// The name of the option that has settings that you can set.
35236	Name *string `type:"string"`
35237
35238	// The current value of the option setting.
35239	Value *string `type:"string"`
35240}
35241
35242// String returns the string representation
35243func (s OptionSetting) String() string {
35244	return awsutil.Prettify(s)
35245}
35246
35247// GoString returns the string representation
35248func (s OptionSetting) GoString() string {
35249	return s.String()
35250}
35251
35252// SetAllowedValues sets the AllowedValues field's value.
35253func (s *OptionSetting) SetAllowedValues(v string) *OptionSetting {
35254	s.AllowedValues = &v
35255	return s
35256}
35257
35258// SetApplyType sets the ApplyType field's value.
35259func (s *OptionSetting) SetApplyType(v string) *OptionSetting {
35260	s.ApplyType = &v
35261	return s
35262}
35263
35264// SetDataType sets the DataType field's value.
35265func (s *OptionSetting) SetDataType(v string) *OptionSetting {
35266	s.DataType = &v
35267	return s
35268}
35269
35270// SetDefaultValue sets the DefaultValue field's value.
35271func (s *OptionSetting) SetDefaultValue(v string) *OptionSetting {
35272	s.DefaultValue = &v
35273	return s
35274}
35275
35276// SetDescription sets the Description field's value.
35277func (s *OptionSetting) SetDescription(v string) *OptionSetting {
35278	s.Description = &v
35279	return s
35280}
35281
35282// SetIsCollection sets the IsCollection field's value.
35283func (s *OptionSetting) SetIsCollection(v bool) *OptionSetting {
35284	s.IsCollection = &v
35285	return s
35286}
35287
35288// SetIsModifiable sets the IsModifiable field's value.
35289func (s *OptionSetting) SetIsModifiable(v bool) *OptionSetting {
35290	s.IsModifiable = &v
35291	return s
35292}
35293
35294// SetName sets the Name field's value.
35295func (s *OptionSetting) SetName(v string) *OptionSetting {
35296	s.Name = &v
35297	return s
35298}
35299
35300// SetValue sets the Value field's value.
35301func (s *OptionSetting) SetValue(v string) *OptionSetting {
35302	s.Value = &v
35303	return s
35304}
35305
35306// The version for an option. Option group option versions are returned by the
35307// DescribeOptionGroupOptions action.
35308type OptionVersion struct {
35309	_ struct{} `type:"structure"`
35310
35311	// True if the version is the default version of the option, and otherwise false.
35312	IsDefault *bool `type:"boolean"`
35313
35314	// The version of the option.
35315	Version *string `type:"string"`
35316}
35317
35318// String returns the string representation
35319func (s OptionVersion) String() string {
35320	return awsutil.Prettify(s)
35321}
35322
35323// GoString returns the string representation
35324func (s OptionVersion) GoString() string {
35325	return s.String()
35326}
35327
35328// SetIsDefault sets the IsDefault field's value.
35329func (s *OptionVersion) SetIsDefault(v bool) *OptionVersion {
35330	s.IsDefault = &v
35331	return s
35332}
35333
35334// SetVersion sets the Version field's value.
35335func (s *OptionVersion) SetVersion(v string) *OptionVersion {
35336	s.Version = &v
35337	return s
35338}
35339
35340// Contains a list of available options for a DB instance.
35341//
35342// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
35343// action.
35344type OrderableDBInstanceOption struct {
35345	_ struct{} `type:"structure"`
35346
35347	// The Availability Zone group for a DB instance.
35348	AvailabilityZoneGroup *string `type:"string"`
35349
35350	// A list of Availability Zones for a DB instance.
35351	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
35352
35353	// A list of the available processor features for the DB instance class of a
35354	// DB instance.
35355	AvailableProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
35356
35357	// The DB instance class for a DB instance.
35358	DBInstanceClass *string `type:"string"`
35359
35360	// The engine type of a DB instance.
35361	Engine *string `type:"string"`
35362
35363	// The engine version of a DB instance.
35364	EngineVersion *string `type:"string"`
35365
35366	// The license model for a DB instance.
35367	LicenseModel *string `type:"string"`
35368
35369	// Maximum total provisioned IOPS for a DB instance.
35370	MaxIopsPerDbInstance *int64 `type:"integer"`
35371
35372	// Maximum provisioned IOPS per GiB for a DB instance.
35373	MaxIopsPerGib *float64 `type:"double"`
35374
35375	// Maximum storage size for a DB instance.
35376	MaxStorageSize *int64 `type:"integer"`
35377
35378	// Minimum total provisioned IOPS for a DB instance.
35379	MinIopsPerDbInstance *int64 `type:"integer"`
35380
35381	// Minimum provisioned IOPS per GiB for a DB instance.
35382	MinIopsPerGib *float64 `type:"double"`
35383
35384	// Minimum storage size for a DB instance.
35385	MinStorageSize *int64 `type:"integer"`
35386
35387	// Indicates whether a DB instance is Multi-AZ capable.
35388	MultiAZCapable *bool `type:"boolean"`
35389
35390	// Whether a DB instance supports RDS on Outposts.
35391	//
35392	// For more information about RDS on Outposts, see Amazon RDS on AWS Outposts
35393	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
35394	// in the Amazon RDS User Guide.
35395	OutpostCapable *bool `type:"boolean"`
35396
35397	// Indicates whether a DB instance can have a read replica.
35398	ReadReplicaCapable *bool `type:"boolean"`
35399
35400	// Indicates the storage type for a DB instance.
35401	StorageType *string `type:"string"`
35402
35403	// A list of the supported DB engine modes.
35404	//
35405	// global engine mode only applies for global database clusters created with
35406	// Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters
35407	// in a global database use provisioned engine mode.
35408	SupportedEngineModes []*string `type:"list"`
35409
35410	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
35411	// from 1 to 60 seconds.
35412	SupportsEnhancedMonitoring *bool `type:"boolean"`
35413
35414	// A value that indicates whether you can use Aurora global databases with a
35415	// specific combination of other DB engine attributes.
35416	SupportsGlobalDatabases *bool `type:"boolean"`
35417
35418	// Indicates whether a DB instance supports IAM database authentication.
35419	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
35420
35421	// Indicates whether a DB instance supports provisioned IOPS.
35422	SupportsIops *bool `type:"boolean"`
35423
35424	// Whether a DB instance supports Kerberos Authentication.
35425	SupportsKerberosAuthentication *bool `type:"boolean"`
35426
35427	// True if a DB instance supports Performance Insights, otherwise false.
35428	SupportsPerformanceInsights *bool `type:"boolean"`
35429
35430	// Whether Amazon RDS can automatically scale storage for DB instances that
35431	// use the specified DB instance class.
35432	SupportsStorageAutoscaling *bool `type:"boolean"`
35433
35434	// Indicates whether a DB instance supports encrypted storage.
35435	SupportsStorageEncryption *bool `type:"boolean"`
35436
35437	// Indicates whether a DB instance is in a VPC.
35438	Vpc *bool `type:"boolean"`
35439}
35440
35441// String returns the string representation
35442func (s OrderableDBInstanceOption) String() string {
35443	return awsutil.Prettify(s)
35444}
35445
35446// GoString returns the string representation
35447func (s OrderableDBInstanceOption) GoString() string {
35448	return s.String()
35449}
35450
35451// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
35452func (s *OrderableDBInstanceOption) SetAvailabilityZoneGroup(v string) *OrderableDBInstanceOption {
35453	s.AvailabilityZoneGroup = &v
35454	return s
35455}
35456
35457// SetAvailabilityZones sets the AvailabilityZones field's value.
35458func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
35459	s.AvailabilityZones = v
35460	return s
35461}
35462
35463// SetAvailableProcessorFeatures sets the AvailableProcessorFeatures field's value.
35464func (s *OrderableDBInstanceOption) SetAvailableProcessorFeatures(v []*AvailableProcessorFeature) *OrderableDBInstanceOption {
35465	s.AvailableProcessorFeatures = v
35466	return s
35467}
35468
35469// SetDBInstanceClass sets the DBInstanceClass field's value.
35470func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
35471	s.DBInstanceClass = &v
35472	return s
35473}
35474
35475// SetEngine sets the Engine field's value.
35476func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
35477	s.Engine = &v
35478	return s
35479}
35480
35481// SetEngineVersion sets the EngineVersion field's value.
35482func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
35483	s.EngineVersion = &v
35484	return s
35485}
35486
35487// SetLicenseModel sets the LicenseModel field's value.
35488func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
35489	s.LicenseModel = &v
35490	return s
35491}
35492
35493// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
35494func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
35495	s.MaxIopsPerDbInstance = &v
35496	return s
35497}
35498
35499// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
35500func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
35501	s.MaxIopsPerGib = &v
35502	return s
35503}
35504
35505// SetMaxStorageSize sets the MaxStorageSize field's value.
35506func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
35507	s.MaxStorageSize = &v
35508	return s
35509}
35510
35511// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
35512func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
35513	s.MinIopsPerDbInstance = &v
35514	return s
35515}
35516
35517// SetMinIopsPerGib sets the MinIopsPerGib field's value.
35518func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
35519	s.MinIopsPerGib = &v
35520	return s
35521}
35522
35523// SetMinStorageSize sets the MinStorageSize field's value.
35524func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
35525	s.MinStorageSize = &v
35526	return s
35527}
35528
35529// SetMultiAZCapable sets the MultiAZCapable field's value.
35530func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
35531	s.MultiAZCapable = &v
35532	return s
35533}
35534
35535// SetOutpostCapable sets the OutpostCapable field's value.
35536func (s *OrderableDBInstanceOption) SetOutpostCapable(v bool) *OrderableDBInstanceOption {
35537	s.OutpostCapable = &v
35538	return s
35539}
35540
35541// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
35542func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
35543	s.ReadReplicaCapable = &v
35544	return s
35545}
35546
35547// SetStorageType sets the StorageType field's value.
35548func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
35549	s.StorageType = &v
35550	return s
35551}
35552
35553// SetSupportedEngineModes sets the SupportedEngineModes field's value.
35554func (s *OrderableDBInstanceOption) SetSupportedEngineModes(v []*string) *OrderableDBInstanceOption {
35555	s.SupportedEngineModes = v
35556	return s
35557}
35558
35559// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
35560func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
35561	s.SupportsEnhancedMonitoring = &v
35562	return s
35563}
35564
35565// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
35566func (s *OrderableDBInstanceOption) SetSupportsGlobalDatabases(v bool) *OrderableDBInstanceOption {
35567	s.SupportsGlobalDatabases = &v
35568	return s
35569}
35570
35571// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
35572func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
35573	s.SupportsIAMDatabaseAuthentication = &v
35574	return s
35575}
35576
35577// SetSupportsIops sets the SupportsIops field's value.
35578func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
35579	s.SupportsIops = &v
35580	return s
35581}
35582
35583// SetSupportsKerberosAuthentication sets the SupportsKerberosAuthentication field's value.
35584func (s *OrderableDBInstanceOption) SetSupportsKerberosAuthentication(v bool) *OrderableDBInstanceOption {
35585	s.SupportsKerberosAuthentication = &v
35586	return s
35587}
35588
35589// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
35590func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
35591	s.SupportsPerformanceInsights = &v
35592	return s
35593}
35594
35595// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
35596func (s *OrderableDBInstanceOption) SetSupportsStorageAutoscaling(v bool) *OrderableDBInstanceOption {
35597	s.SupportsStorageAutoscaling = &v
35598	return s
35599}
35600
35601// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
35602func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
35603	s.SupportsStorageEncryption = &v
35604	return s
35605}
35606
35607// SetVpc sets the Vpc field's value.
35608func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
35609	s.Vpc = &v
35610	return s
35611}
35612
35613// A data type that represents an Outpost.
35614//
35615// For more information about RDS on Outposts, see Amazon RDS on AWS Outposts
35616// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
35617// in the Amazon RDS User Guide.
35618type Outpost struct {
35619	_ struct{} `type:"structure"`
35620
35621	// The Amazon Resource Name (ARN) of the Outpost.
35622	Arn *string `type:"string"`
35623}
35624
35625// String returns the string representation
35626func (s Outpost) String() string {
35627	return awsutil.Prettify(s)
35628}
35629
35630// GoString returns the string representation
35631func (s Outpost) GoString() string {
35632	return s.String()
35633}
35634
35635// SetArn sets the Arn field's value.
35636func (s *Outpost) SetArn(v string) *Outpost {
35637	s.Arn = &v
35638	return s
35639}
35640
35641// This data type is used as a request parameter in the ModifyDBParameterGroup
35642// and ResetDBParameterGroup actions.
35643//
35644// This data type is used as a response element in the DescribeEngineDefaultParameters
35645// and DescribeDBParameters actions.
35646type Parameter struct {
35647	_ struct{} `type:"structure"`
35648
35649	// Specifies the valid range of values for the parameter.
35650	AllowedValues *string `type:"string"`
35651
35652	// Indicates when to apply parameter updates.
35653	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
35654
35655	// Specifies the engine specific parameters type.
35656	ApplyType *string `type:"string"`
35657
35658	// Specifies the valid data type for the parameter.
35659	DataType *string `type:"string"`
35660
35661	// Provides a description of the parameter.
35662	Description *string `type:"string"`
35663
35664	// Indicates whether (true) or not (false) the parameter can be modified. Some
35665	// parameters have security or operational implications that prevent them from
35666	// being changed.
35667	IsModifiable *bool `type:"boolean"`
35668
35669	// The earliest engine version to which the parameter can apply.
35670	MinimumEngineVersion *string `type:"string"`
35671
35672	// Specifies the name of the parameter.
35673	ParameterName *string `type:"string"`
35674
35675	// Specifies the value of the parameter.
35676	ParameterValue *string `type:"string"`
35677
35678	// Indicates the source of the parameter value.
35679	Source *string `type:"string"`
35680
35681	// The valid DB engine modes.
35682	SupportedEngineModes []*string `type:"list"`
35683}
35684
35685// String returns the string representation
35686func (s Parameter) String() string {
35687	return awsutil.Prettify(s)
35688}
35689
35690// GoString returns the string representation
35691func (s Parameter) GoString() string {
35692	return s.String()
35693}
35694
35695// SetAllowedValues sets the AllowedValues field's value.
35696func (s *Parameter) SetAllowedValues(v string) *Parameter {
35697	s.AllowedValues = &v
35698	return s
35699}
35700
35701// SetApplyMethod sets the ApplyMethod field's value.
35702func (s *Parameter) SetApplyMethod(v string) *Parameter {
35703	s.ApplyMethod = &v
35704	return s
35705}
35706
35707// SetApplyType sets the ApplyType field's value.
35708func (s *Parameter) SetApplyType(v string) *Parameter {
35709	s.ApplyType = &v
35710	return s
35711}
35712
35713// SetDataType sets the DataType field's value.
35714func (s *Parameter) SetDataType(v string) *Parameter {
35715	s.DataType = &v
35716	return s
35717}
35718
35719// SetDescription sets the Description field's value.
35720func (s *Parameter) SetDescription(v string) *Parameter {
35721	s.Description = &v
35722	return s
35723}
35724
35725// SetIsModifiable sets the IsModifiable field's value.
35726func (s *Parameter) SetIsModifiable(v bool) *Parameter {
35727	s.IsModifiable = &v
35728	return s
35729}
35730
35731// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
35732func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
35733	s.MinimumEngineVersion = &v
35734	return s
35735}
35736
35737// SetParameterName sets the ParameterName field's value.
35738func (s *Parameter) SetParameterName(v string) *Parameter {
35739	s.ParameterName = &v
35740	return s
35741}
35742
35743// SetParameterValue sets the ParameterValue field's value.
35744func (s *Parameter) SetParameterValue(v string) *Parameter {
35745	s.ParameterValue = &v
35746	return s
35747}
35748
35749// SetSource sets the Source field's value.
35750func (s *Parameter) SetSource(v string) *Parameter {
35751	s.Source = &v
35752	return s
35753}
35754
35755// SetSupportedEngineModes sets the SupportedEngineModes field's value.
35756func (s *Parameter) SetSupportedEngineModes(v []*string) *Parameter {
35757	s.SupportedEngineModes = v
35758	return s
35759}
35760
35761// A list of the log types whose configuration is still pending. In other words,
35762// these log types are in the process of being activated or deactivated.
35763type PendingCloudwatchLogsExports struct {
35764	_ struct{} `type:"structure"`
35765
35766	// Log types that are in the process of being enabled. After they are enabled,
35767	// these log types are exported to CloudWatch Logs.
35768	LogTypesToDisable []*string `type:"list"`
35769
35770	// Log types that are in the process of being deactivated. After they are deactivated,
35771	// these log types aren't exported to CloudWatch Logs.
35772	LogTypesToEnable []*string `type:"list"`
35773}
35774
35775// String returns the string representation
35776func (s PendingCloudwatchLogsExports) String() string {
35777	return awsutil.Prettify(s)
35778}
35779
35780// GoString returns the string representation
35781func (s PendingCloudwatchLogsExports) GoString() string {
35782	return s.String()
35783}
35784
35785// SetLogTypesToDisable sets the LogTypesToDisable field's value.
35786func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
35787	s.LogTypesToDisable = v
35788	return s
35789}
35790
35791// SetLogTypesToEnable sets the LogTypesToEnable field's value.
35792func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
35793	s.LogTypesToEnable = v
35794	return s
35795}
35796
35797// Provides information about a pending maintenance action for a resource.
35798type PendingMaintenanceAction struct {
35799	_ struct{} `type:"structure"`
35800
35801	// The type of pending maintenance action that is available for the resource.
35802	// Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation.
35803	Action *string `type:"string"`
35804
35805	// The date of the maintenance window when the action is applied. The maintenance
35806	// action is applied to the resource during its first maintenance window after
35807	// this date.
35808	AutoAppliedAfterDate *time.Time `type:"timestamp"`
35809
35810	// The effective date when the pending maintenance action is applied to the
35811	// resource. This date takes into account opt-in requests received from the
35812	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
35813	// This value is blank if an opt-in request has not been received and nothing
35814	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
35815	CurrentApplyDate *time.Time `type:"timestamp"`
35816
35817	// A description providing more detail about the maintenance action.
35818	Description *string `type:"string"`
35819
35820	// The date when the maintenance action is automatically applied. The maintenance
35821	// action is applied to the resource on this date regardless of the maintenance
35822	// window for the resource.
35823	ForcedApplyDate *time.Time `type:"timestamp"`
35824
35825	// Indicates the type of opt-in request that has been received for the resource.
35826	OptInStatus *string `type:"string"`
35827}
35828
35829// String returns the string representation
35830func (s PendingMaintenanceAction) String() string {
35831	return awsutil.Prettify(s)
35832}
35833
35834// GoString returns the string representation
35835func (s PendingMaintenanceAction) GoString() string {
35836	return s.String()
35837}
35838
35839// SetAction sets the Action field's value.
35840func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
35841	s.Action = &v
35842	return s
35843}
35844
35845// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
35846func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
35847	s.AutoAppliedAfterDate = &v
35848	return s
35849}
35850
35851// SetCurrentApplyDate sets the CurrentApplyDate field's value.
35852func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
35853	s.CurrentApplyDate = &v
35854	return s
35855}
35856
35857// SetDescription sets the Description field's value.
35858func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
35859	s.Description = &v
35860	return s
35861}
35862
35863// SetForcedApplyDate sets the ForcedApplyDate field's value.
35864func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
35865	s.ForcedApplyDate = &v
35866	return s
35867}
35868
35869// SetOptInStatus sets the OptInStatus field's value.
35870func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
35871	s.OptInStatus = &v
35872	return s
35873}
35874
35875// This data type is used as a response element in the ModifyDBInstance action.
35876type PendingModifiedValues struct {
35877	_ struct{} `type:"structure"`
35878
35879	// Contains the new AllocatedStorage size for the DB instance that will be applied
35880	// or is currently being applied.
35881	AllocatedStorage *int64 `type:"integer"`
35882
35883	// Specifies the pending number of days for which automated backups are retained.
35884	BackupRetentionPeriod *int64 `type:"integer"`
35885
35886	// Specifies the identifier of the CA certificate for the DB instance.
35887	CACertificateIdentifier *string `type:"string"`
35888
35889	// Contains the new DBInstanceClass for the DB instance that will be applied
35890	// or is currently being applied.
35891	DBInstanceClass *string `type:"string"`
35892
35893	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
35894	// or is currently being applied.
35895	DBInstanceIdentifier *string `type:"string"`
35896
35897	// The new DB subnet group for the DB instance.
35898	DBSubnetGroupName *string `type:"string"`
35899
35900	// Indicates the database engine version.
35901	EngineVersion *string `type:"string"`
35902
35903	// Specifies the new Provisioned IOPS value for the DB instance that will be
35904	// applied or is currently being applied.
35905	Iops *int64 `type:"integer"`
35906
35907	// The license model for the DB instance.
35908	//
35909	// Valid values: license-included | bring-your-own-license | general-public-license
35910	LicenseModel *string `type:"string"`
35911
35912	// Contains the pending or currently-in-progress change of the master credentials
35913	// for the DB instance.
35914	MasterUserPassword *string `type:"string"`
35915
35916	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
35917	MultiAZ *bool `type:"boolean"`
35918
35919	// A list of the log types whose configuration is still pending. In other words,
35920	// these log types are in the process of being activated or deactivated.
35921	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
35922
35923	// Specifies the pending port for the DB instance.
35924	Port *int64 `type:"integer"`
35925
35926	// The number of CPU cores and the number of threads per core for the DB instance
35927	// class of the DB instance.
35928	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
35929
35930	// Specifies the storage type to be associated with the DB instance.
35931	StorageType *string `type:"string"`
35932}
35933
35934// String returns the string representation
35935func (s PendingModifiedValues) String() string {
35936	return awsutil.Prettify(s)
35937}
35938
35939// GoString returns the string representation
35940func (s PendingModifiedValues) GoString() string {
35941	return s.String()
35942}
35943
35944// SetAllocatedStorage sets the AllocatedStorage field's value.
35945func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
35946	s.AllocatedStorage = &v
35947	return s
35948}
35949
35950// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
35951func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
35952	s.BackupRetentionPeriod = &v
35953	return s
35954}
35955
35956// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
35957func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
35958	s.CACertificateIdentifier = &v
35959	return s
35960}
35961
35962// SetDBInstanceClass sets the DBInstanceClass field's value.
35963func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
35964	s.DBInstanceClass = &v
35965	return s
35966}
35967
35968// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35969func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
35970	s.DBInstanceIdentifier = &v
35971	return s
35972}
35973
35974// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
35975func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
35976	s.DBSubnetGroupName = &v
35977	return s
35978}
35979
35980// SetEngineVersion sets the EngineVersion field's value.
35981func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
35982	s.EngineVersion = &v
35983	return s
35984}
35985
35986// SetIops sets the Iops field's value.
35987func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
35988	s.Iops = &v
35989	return s
35990}
35991
35992// SetLicenseModel sets the LicenseModel field's value.
35993func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
35994	s.LicenseModel = &v
35995	return s
35996}
35997
35998// SetMasterUserPassword sets the MasterUserPassword field's value.
35999func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
36000	s.MasterUserPassword = &v
36001	return s
36002}
36003
36004// SetMultiAZ sets the MultiAZ field's value.
36005func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
36006	s.MultiAZ = &v
36007	return s
36008}
36009
36010// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
36011func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
36012	s.PendingCloudwatchLogsExports = v
36013	return s
36014}
36015
36016// SetPort sets the Port field's value.
36017func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
36018	s.Port = &v
36019	return s
36020}
36021
36022// SetProcessorFeatures sets the ProcessorFeatures field's value.
36023func (s *PendingModifiedValues) SetProcessorFeatures(v []*ProcessorFeature) *PendingModifiedValues {
36024	s.ProcessorFeatures = v
36025	return s
36026}
36027
36028// SetStorageType sets the StorageType field's value.
36029func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
36030	s.StorageType = &v
36031	return s
36032}
36033
36034// Contains the processor features of a DB instance class.
36035//
36036// To specify the number of CPU cores, use the coreCount feature name for the
36037// Name parameter. To specify the number of threads per core, use the threadsPerCore
36038// feature name for the Name parameter.
36039//
36040// You can set the processor features of the DB instance class for a DB instance
36041// when you call one of the following actions:
36042//
36043//    * CreateDBInstance
36044//
36045//    * ModifyDBInstance
36046//
36047//    * RestoreDBInstanceFromDBSnapshot
36048//
36049//    * RestoreDBInstanceFromS3
36050//
36051//    * RestoreDBInstanceToPointInTime
36052//
36053// You can view the valid processor values for a particular instance class by
36054// calling the DescribeOrderableDBInstanceOptions action and specifying the
36055// instance class for the DBInstanceClass parameter.
36056//
36057// In addition, you can use the following actions for DB instance class processor
36058// information:
36059//
36060//    * DescribeDBInstances
36061//
36062//    * DescribeDBSnapshots
36063//
36064//    * DescribeValidDBInstanceModifications
36065//
36066// For more information, see Configuring the Processor of the DB Instance Class
36067// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
36068// in the Amazon RDS User Guide.
36069type ProcessorFeature struct {
36070	_ struct{} `type:"structure"`
36071
36072	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
36073	Name *string `type:"string"`
36074
36075	// The value of a processor feature name.
36076	Value *string `type:"string"`
36077}
36078
36079// String returns the string representation
36080func (s ProcessorFeature) String() string {
36081	return awsutil.Prettify(s)
36082}
36083
36084// GoString returns the string representation
36085func (s ProcessorFeature) GoString() string {
36086	return s.String()
36087}
36088
36089// SetName sets the Name field's value.
36090func (s *ProcessorFeature) SetName(v string) *ProcessorFeature {
36091	s.Name = &v
36092	return s
36093}
36094
36095// SetValue sets the Value field's value.
36096func (s *ProcessorFeature) SetValue(v string) *ProcessorFeature {
36097	s.Value = &v
36098	return s
36099}
36100
36101type PromoteReadReplicaDBClusterInput struct {
36102	_ struct{} `type:"structure"`
36103
36104	// The identifier of the DB cluster read replica to promote. This parameter
36105	// isn't case-sensitive.
36106	//
36107	// Constraints:
36108	//
36109	//    * Must match the identifier of an existing DB cluster read replica.
36110	//
36111	// Example: my-cluster-replica1
36112	//
36113	// DBClusterIdentifier is a required field
36114	DBClusterIdentifier *string `type:"string" required:"true"`
36115}
36116
36117// String returns the string representation
36118func (s PromoteReadReplicaDBClusterInput) String() string {
36119	return awsutil.Prettify(s)
36120}
36121
36122// GoString returns the string representation
36123func (s PromoteReadReplicaDBClusterInput) GoString() string {
36124	return s.String()
36125}
36126
36127// Validate inspects the fields of the type to determine if they are valid.
36128func (s *PromoteReadReplicaDBClusterInput) Validate() error {
36129	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
36130	if s.DBClusterIdentifier == nil {
36131		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
36132	}
36133
36134	if invalidParams.Len() > 0 {
36135		return invalidParams
36136	}
36137	return nil
36138}
36139
36140// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
36141func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
36142	s.DBClusterIdentifier = &v
36143	return s
36144}
36145
36146type PromoteReadReplicaDBClusterOutput struct {
36147	_ struct{} `type:"structure"`
36148
36149	// Contains the details of an Amazon Aurora DB cluster.
36150	//
36151	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
36152	// and StartDBCluster actions.
36153	DBCluster *DBCluster `type:"structure"`
36154}
36155
36156// String returns the string representation
36157func (s PromoteReadReplicaDBClusterOutput) String() string {
36158	return awsutil.Prettify(s)
36159}
36160
36161// GoString returns the string representation
36162func (s PromoteReadReplicaDBClusterOutput) GoString() string {
36163	return s.String()
36164}
36165
36166// SetDBCluster sets the DBCluster field's value.
36167func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
36168	s.DBCluster = v
36169	return s
36170}
36171
36172type PromoteReadReplicaInput struct {
36173	_ struct{} `type:"structure"`
36174
36175	// The number of days for which automated backups are retained. Setting this
36176	// parameter to a positive number enables backups. Setting this parameter to
36177	// 0 disables automated backups.
36178	//
36179	// Default: 1
36180	//
36181	// Constraints:
36182	//
36183	//    * Must be a value from 0 to 35.
36184	//
36185	//    * Can't be set to 0 if the DB instance is a source to read replicas.
36186	BackupRetentionPeriod *int64 `type:"integer"`
36187
36188	// The DB instance identifier. This value is stored as a lowercase string.
36189	//
36190	// Constraints:
36191	//
36192	//    * Must match the identifier of an existing read replica DB instance.
36193	//
36194	// Example: mydbinstance
36195	//
36196	// DBInstanceIdentifier is a required field
36197	DBInstanceIdentifier *string `type:"string" required:"true"`
36198
36199	// The daily time range during which automated backups are created if automated
36200	// backups are enabled, using the BackupRetentionPeriod parameter.
36201	//
36202	// The default is a 30-minute window selected at random from an 8-hour block
36203	// of time for each AWS Region. To see the time blocks available, see Adjusting
36204	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
36205	// in the Amazon RDS User Guide.
36206	//
36207	// Constraints:
36208	//
36209	//    * Must be in the format hh24:mi-hh24:mi.
36210	//
36211	//    * Must be in Universal Coordinated Time (UTC).
36212	//
36213	//    * Must not conflict with the preferred maintenance window.
36214	//
36215	//    * Must be at least 30 minutes.
36216	PreferredBackupWindow *string `type:"string"`
36217}
36218
36219// String returns the string representation
36220func (s PromoteReadReplicaInput) String() string {
36221	return awsutil.Prettify(s)
36222}
36223
36224// GoString returns the string representation
36225func (s PromoteReadReplicaInput) GoString() string {
36226	return s.String()
36227}
36228
36229// Validate inspects the fields of the type to determine if they are valid.
36230func (s *PromoteReadReplicaInput) Validate() error {
36231	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaInput"}
36232	if s.DBInstanceIdentifier == nil {
36233		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
36234	}
36235
36236	if invalidParams.Len() > 0 {
36237		return invalidParams
36238	}
36239	return nil
36240}
36241
36242// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
36243func (s *PromoteReadReplicaInput) SetBackupRetentionPeriod(v int64) *PromoteReadReplicaInput {
36244	s.BackupRetentionPeriod = &v
36245	return s
36246}
36247
36248// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
36249func (s *PromoteReadReplicaInput) SetDBInstanceIdentifier(v string) *PromoteReadReplicaInput {
36250	s.DBInstanceIdentifier = &v
36251	return s
36252}
36253
36254// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
36255func (s *PromoteReadReplicaInput) SetPreferredBackupWindow(v string) *PromoteReadReplicaInput {
36256	s.PreferredBackupWindow = &v
36257	return s
36258}
36259
36260type PromoteReadReplicaOutput struct {
36261	_ struct{} `type:"structure"`
36262
36263	// Contains the details of an Amazon RDS DB instance.
36264	//
36265	// This data type is used as a response element in the DescribeDBInstances action.
36266	DBInstance *DBInstance `type:"structure"`
36267}
36268
36269// String returns the string representation
36270func (s PromoteReadReplicaOutput) String() string {
36271	return awsutil.Prettify(s)
36272}
36273
36274// GoString returns the string representation
36275func (s PromoteReadReplicaOutput) GoString() string {
36276	return s.String()
36277}
36278
36279// SetDBInstance sets the DBInstance field's value.
36280func (s *PromoteReadReplicaOutput) SetDBInstance(v *DBInstance) *PromoteReadReplicaOutput {
36281	s.DBInstance = v
36282	return s
36283}
36284
36285type PurchaseReservedDBInstancesOfferingInput struct {
36286	_ struct{} `type:"structure"`
36287
36288	// The number of instances to reserve.
36289	//
36290	// Default: 1
36291	DBInstanceCount *int64 `type:"integer"`
36292
36293	// Customer-specified identifier to track this reservation.
36294	//
36295	// Example: myreservationID
36296	ReservedDBInstanceId *string `type:"string"`
36297
36298	// The ID of the Reserved DB instance offering to purchase.
36299	//
36300	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
36301	//
36302	// ReservedDBInstancesOfferingId is a required field
36303	ReservedDBInstancesOfferingId *string `type:"string" required:"true"`
36304
36305	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
36306	// in the Amazon RDS User Guide.
36307	Tags []*Tag `locationNameList:"Tag" type:"list"`
36308}
36309
36310// String returns the string representation
36311func (s PurchaseReservedDBInstancesOfferingInput) String() string {
36312	return awsutil.Prettify(s)
36313}
36314
36315// GoString returns the string representation
36316func (s PurchaseReservedDBInstancesOfferingInput) GoString() string {
36317	return s.String()
36318}
36319
36320// Validate inspects the fields of the type to determine if they are valid.
36321func (s *PurchaseReservedDBInstancesOfferingInput) Validate() error {
36322	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedDBInstancesOfferingInput"}
36323	if s.ReservedDBInstancesOfferingId == nil {
36324		invalidParams.Add(request.NewErrParamRequired("ReservedDBInstancesOfferingId"))
36325	}
36326
36327	if invalidParams.Len() > 0 {
36328		return invalidParams
36329	}
36330	return nil
36331}
36332
36333// SetDBInstanceCount sets the DBInstanceCount field's value.
36334func (s *PurchaseReservedDBInstancesOfferingInput) SetDBInstanceCount(v int64) *PurchaseReservedDBInstancesOfferingInput {
36335	s.DBInstanceCount = &v
36336	return s
36337}
36338
36339// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
36340func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstanceId(v string) *PurchaseReservedDBInstancesOfferingInput {
36341	s.ReservedDBInstanceId = &v
36342	return s
36343}
36344
36345// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
36346func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstancesOfferingId(v string) *PurchaseReservedDBInstancesOfferingInput {
36347	s.ReservedDBInstancesOfferingId = &v
36348	return s
36349}
36350
36351// SetTags sets the Tags field's value.
36352func (s *PurchaseReservedDBInstancesOfferingInput) SetTags(v []*Tag) *PurchaseReservedDBInstancesOfferingInput {
36353	s.Tags = v
36354	return s
36355}
36356
36357type PurchaseReservedDBInstancesOfferingOutput struct {
36358	_ struct{} `type:"structure"`
36359
36360	// This data type is used as a response element in the DescribeReservedDBInstances
36361	// and PurchaseReservedDBInstancesOffering actions.
36362	ReservedDBInstance *ReservedDBInstance `type:"structure"`
36363}
36364
36365// String returns the string representation
36366func (s PurchaseReservedDBInstancesOfferingOutput) String() string {
36367	return awsutil.Prettify(s)
36368}
36369
36370// GoString returns the string representation
36371func (s PurchaseReservedDBInstancesOfferingOutput) GoString() string {
36372	return s.String()
36373}
36374
36375// SetReservedDBInstance sets the ReservedDBInstance field's value.
36376func (s *PurchaseReservedDBInstancesOfferingOutput) SetReservedDBInstance(v *ReservedDBInstance) *PurchaseReservedDBInstancesOfferingOutput {
36377	s.ReservedDBInstance = v
36378	return s
36379}
36380
36381// A range of integer values.
36382type Range struct {
36383	_ struct{} `type:"structure"`
36384
36385	// The minimum value in the range.
36386	From *int64 `type:"integer"`
36387
36388	// The step value for the range. For example, if you have a range of 5,000 to
36389	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
36390	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
36391	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
36392	Step *int64 `type:"integer"`
36393
36394	// The maximum value in the range.
36395	To *int64 `type:"integer"`
36396}
36397
36398// String returns the string representation
36399func (s Range) String() string {
36400	return awsutil.Prettify(s)
36401}
36402
36403// GoString returns the string representation
36404func (s Range) GoString() string {
36405	return s.String()
36406}
36407
36408// SetFrom sets the From field's value.
36409func (s *Range) SetFrom(v int64) *Range {
36410	s.From = &v
36411	return s
36412}
36413
36414// SetStep sets the Step field's value.
36415func (s *Range) SetStep(v int64) *Range {
36416	s.Step = &v
36417	return s
36418}
36419
36420// SetTo sets the To field's value.
36421func (s *Range) SetTo(v int64) *Range {
36422	s.To = &v
36423	return s
36424}
36425
36426type RebootDBInstanceInput struct {
36427	_ struct{} `type:"structure"`
36428
36429	// The DB instance identifier. This parameter is stored as a lowercase string.
36430	//
36431	// Constraints:
36432	//
36433	//    * Must match the identifier of an existing DBInstance.
36434	//
36435	// DBInstanceIdentifier is a required field
36436	DBInstanceIdentifier *string `type:"string" required:"true"`
36437
36438	// A value that indicates whether the reboot is conducted through a Multi-AZ
36439	// failover.
36440	//
36441	// Constraint: You can't enable force failover if the instance isn't configured
36442	// for Multi-AZ.
36443	ForceFailover *bool `type:"boolean"`
36444}
36445
36446// String returns the string representation
36447func (s RebootDBInstanceInput) String() string {
36448	return awsutil.Prettify(s)
36449}
36450
36451// GoString returns the string representation
36452func (s RebootDBInstanceInput) GoString() string {
36453	return s.String()
36454}
36455
36456// Validate inspects the fields of the type to determine if they are valid.
36457func (s *RebootDBInstanceInput) Validate() error {
36458	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
36459	if s.DBInstanceIdentifier == nil {
36460		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
36461	}
36462
36463	if invalidParams.Len() > 0 {
36464		return invalidParams
36465	}
36466	return nil
36467}
36468
36469// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
36470func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
36471	s.DBInstanceIdentifier = &v
36472	return s
36473}
36474
36475// SetForceFailover sets the ForceFailover field's value.
36476func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
36477	s.ForceFailover = &v
36478	return s
36479}
36480
36481type RebootDBInstanceOutput struct {
36482	_ struct{} `type:"structure"`
36483
36484	// Contains the details of an Amazon RDS DB instance.
36485	//
36486	// This data type is used as a response element in the DescribeDBInstances action.
36487	DBInstance *DBInstance `type:"structure"`
36488}
36489
36490// String returns the string representation
36491func (s RebootDBInstanceOutput) String() string {
36492	return awsutil.Prettify(s)
36493}
36494
36495// GoString returns the string representation
36496func (s RebootDBInstanceOutput) GoString() string {
36497	return s.String()
36498}
36499
36500// SetDBInstance sets the DBInstance field's value.
36501func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
36502	s.DBInstance = v
36503	return s
36504}
36505
36506// This data type is used as a response element in the DescribeReservedDBInstances
36507// and DescribeReservedDBInstancesOfferings actions.
36508type RecurringCharge struct {
36509	_ struct{} `type:"structure"`
36510
36511	// The amount of the recurring charge.
36512	RecurringChargeAmount *float64 `type:"double"`
36513
36514	// The frequency of the recurring charge.
36515	RecurringChargeFrequency *string `type:"string"`
36516}
36517
36518// String returns the string representation
36519func (s RecurringCharge) String() string {
36520	return awsutil.Prettify(s)
36521}
36522
36523// GoString returns the string representation
36524func (s RecurringCharge) GoString() string {
36525	return s.String()
36526}
36527
36528// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
36529func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
36530	s.RecurringChargeAmount = &v
36531	return s
36532}
36533
36534// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
36535func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
36536	s.RecurringChargeFrequency = &v
36537	return s
36538}
36539
36540type RegisterDBProxyTargetsInput struct {
36541	_ struct{} `type:"structure"`
36542
36543	// One or more DB cluster identifiers.
36544	DBClusterIdentifiers []*string `type:"list"`
36545
36546	// One or more DB instance identifiers.
36547	DBInstanceIdentifiers []*string `type:"list"`
36548
36549	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
36550	//
36551	// DBProxyName is a required field
36552	DBProxyName *string `type:"string" required:"true"`
36553
36554	// The identifier of the DBProxyTargetGroup.
36555	TargetGroupName *string `type:"string"`
36556}
36557
36558// String returns the string representation
36559func (s RegisterDBProxyTargetsInput) String() string {
36560	return awsutil.Prettify(s)
36561}
36562
36563// GoString returns the string representation
36564func (s RegisterDBProxyTargetsInput) GoString() string {
36565	return s.String()
36566}
36567
36568// Validate inspects the fields of the type to determine if they are valid.
36569func (s *RegisterDBProxyTargetsInput) Validate() error {
36570	invalidParams := request.ErrInvalidParams{Context: "RegisterDBProxyTargetsInput"}
36571	if s.DBProxyName == nil {
36572		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
36573	}
36574
36575	if invalidParams.Len() > 0 {
36576		return invalidParams
36577	}
36578	return nil
36579}
36580
36581// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
36582func (s *RegisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
36583	s.DBClusterIdentifiers = v
36584	return s
36585}
36586
36587// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
36588func (s *RegisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
36589	s.DBInstanceIdentifiers = v
36590	return s
36591}
36592
36593// SetDBProxyName sets the DBProxyName field's value.
36594func (s *RegisterDBProxyTargetsInput) SetDBProxyName(v string) *RegisterDBProxyTargetsInput {
36595	s.DBProxyName = &v
36596	return s
36597}
36598
36599// SetTargetGroupName sets the TargetGroupName field's value.
36600func (s *RegisterDBProxyTargetsInput) SetTargetGroupName(v string) *RegisterDBProxyTargetsInput {
36601	s.TargetGroupName = &v
36602	return s
36603}
36604
36605type RegisterDBProxyTargetsOutput struct {
36606	_ struct{} `type:"structure"`
36607
36608	// One or more DBProxyTarget objects that are created when you register targets
36609	// with a target group.
36610	DBProxyTargets []*DBProxyTarget `type:"list"`
36611}
36612
36613// String returns the string representation
36614func (s RegisterDBProxyTargetsOutput) String() string {
36615	return awsutil.Prettify(s)
36616}
36617
36618// GoString returns the string representation
36619func (s RegisterDBProxyTargetsOutput) GoString() string {
36620	return s.String()
36621}
36622
36623// SetDBProxyTargets sets the DBProxyTargets field's value.
36624func (s *RegisterDBProxyTargetsOutput) SetDBProxyTargets(v []*DBProxyTarget) *RegisterDBProxyTargetsOutput {
36625	s.DBProxyTargets = v
36626	return s
36627}
36628
36629type RemoveFromGlobalClusterInput struct {
36630	_ struct{} `type:"structure"`
36631
36632	// The Amazon Resource Name (ARN) identifying the cluster that was detached
36633	// from the Aurora global database cluster.
36634	DbClusterIdentifier *string `type:"string"`
36635
36636	// The cluster identifier to detach from the Aurora global database cluster.
36637	GlobalClusterIdentifier *string `type:"string"`
36638}
36639
36640// String returns the string representation
36641func (s RemoveFromGlobalClusterInput) String() string {
36642	return awsutil.Prettify(s)
36643}
36644
36645// GoString returns the string representation
36646func (s RemoveFromGlobalClusterInput) GoString() string {
36647	return s.String()
36648}
36649
36650// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
36651func (s *RemoveFromGlobalClusterInput) SetDbClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
36652	s.DbClusterIdentifier = &v
36653	return s
36654}
36655
36656// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
36657func (s *RemoveFromGlobalClusterInput) SetGlobalClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
36658	s.GlobalClusterIdentifier = &v
36659	return s
36660}
36661
36662type RemoveFromGlobalClusterOutput struct {
36663	_ struct{} `type:"structure"`
36664
36665	// A data type representing an Aurora global database.
36666	GlobalCluster *GlobalCluster `type:"structure"`
36667}
36668
36669// String returns the string representation
36670func (s RemoveFromGlobalClusterOutput) String() string {
36671	return awsutil.Prettify(s)
36672}
36673
36674// GoString returns the string representation
36675func (s RemoveFromGlobalClusterOutput) GoString() string {
36676	return s.String()
36677}
36678
36679// SetGlobalCluster sets the GlobalCluster field's value.
36680func (s *RemoveFromGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *RemoveFromGlobalClusterOutput {
36681	s.GlobalCluster = v
36682	return s
36683}
36684
36685type RemoveRoleFromDBClusterInput struct {
36686	_ struct{} `type:"structure"`
36687
36688	// The name of the DB cluster to disassociate the IAM role from.
36689	//
36690	// DBClusterIdentifier is a required field
36691	DBClusterIdentifier *string `type:"string" required:"true"`
36692
36693	// The name of the feature for the DB cluster that the IAM role is to be disassociated
36694	// from. For the list of supported feature names, see DBEngineVersion.
36695	FeatureName *string `type:"string"`
36696
36697	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora
36698	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
36699	//
36700	// RoleArn is a required field
36701	RoleArn *string `type:"string" required:"true"`
36702}
36703
36704// String returns the string representation
36705func (s RemoveRoleFromDBClusterInput) String() string {
36706	return awsutil.Prettify(s)
36707}
36708
36709// GoString returns the string representation
36710func (s RemoveRoleFromDBClusterInput) GoString() string {
36711	return s.String()
36712}
36713
36714// Validate inspects the fields of the type to determine if they are valid.
36715func (s *RemoveRoleFromDBClusterInput) Validate() error {
36716	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
36717	if s.DBClusterIdentifier == nil {
36718		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
36719	}
36720	if s.RoleArn == nil {
36721		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
36722	}
36723
36724	if invalidParams.Len() > 0 {
36725		return invalidParams
36726	}
36727	return nil
36728}
36729
36730// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
36731func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
36732	s.DBClusterIdentifier = &v
36733	return s
36734}
36735
36736// SetFeatureName sets the FeatureName field's value.
36737func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
36738	s.FeatureName = &v
36739	return s
36740}
36741
36742// SetRoleArn sets the RoleArn field's value.
36743func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
36744	s.RoleArn = &v
36745	return s
36746}
36747
36748type RemoveRoleFromDBClusterOutput struct {
36749	_ struct{} `type:"structure"`
36750}
36751
36752// String returns the string representation
36753func (s RemoveRoleFromDBClusterOutput) String() string {
36754	return awsutil.Prettify(s)
36755}
36756
36757// GoString returns the string representation
36758func (s RemoveRoleFromDBClusterOutput) GoString() string {
36759	return s.String()
36760}
36761
36762type RemoveRoleFromDBInstanceInput struct {
36763	_ struct{} `type:"structure"`
36764
36765	// The name of the DB instance to disassociate the IAM role from.
36766	//
36767	// DBInstanceIdentifier is a required field
36768	DBInstanceIdentifier *string `type:"string" required:"true"`
36769
36770	// The name of the feature for the DB instance that the IAM role is to be disassociated
36771	// from. For the list of supported feature names, see DBEngineVersion.
36772	//
36773	// FeatureName is a required field
36774	FeatureName *string `type:"string" required:"true"`
36775
36776	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
36777	// instance, for example arn:aws:iam::123456789012:role/AccessRole.
36778	//
36779	// RoleArn is a required field
36780	RoleArn *string `type:"string" required:"true"`
36781}
36782
36783// String returns the string representation
36784func (s RemoveRoleFromDBInstanceInput) String() string {
36785	return awsutil.Prettify(s)
36786}
36787
36788// GoString returns the string representation
36789func (s RemoveRoleFromDBInstanceInput) GoString() string {
36790	return s.String()
36791}
36792
36793// Validate inspects the fields of the type to determine if they are valid.
36794func (s *RemoveRoleFromDBInstanceInput) Validate() error {
36795	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBInstanceInput"}
36796	if s.DBInstanceIdentifier == nil {
36797		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
36798	}
36799	if s.FeatureName == nil {
36800		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
36801	}
36802	if s.RoleArn == nil {
36803		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
36804	}
36805
36806	if invalidParams.Len() > 0 {
36807		return invalidParams
36808	}
36809	return nil
36810}
36811
36812// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
36813func (s *RemoveRoleFromDBInstanceInput) SetDBInstanceIdentifier(v string) *RemoveRoleFromDBInstanceInput {
36814	s.DBInstanceIdentifier = &v
36815	return s
36816}
36817
36818// SetFeatureName sets the FeatureName field's value.
36819func (s *RemoveRoleFromDBInstanceInput) SetFeatureName(v string) *RemoveRoleFromDBInstanceInput {
36820	s.FeatureName = &v
36821	return s
36822}
36823
36824// SetRoleArn sets the RoleArn field's value.
36825func (s *RemoveRoleFromDBInstanceInput) SetRoleArn(v string) *RemoveRoleFromDBInstanceInput {
36826	s.RoleArn = &v
36827	return s
36828}
36829
36830type RemoveRoleFromDBInstanceOutput struct {
36831	_ struct{} `type:"structure"`
36832}
36833
36834// String returns the string representation
36835func (s RemoveRoleFromDBInstanceOutput) String() string {
36836	return awsutil.Prettify(s)
36837}
36838
36839// GoString returns the string representation
36840func (s RemoveRoleFromDBInstanceOutput) GoString() string {
36841	return s.String()
36842}
36843
36844type RemoveSourceIdentifierFromSubscriptionInput struct {
36845	_ struct{} `type:"structure"`
36846
36847	// The source identifier to be removed from the subscription, such as the DB
36848	// instance identifier for a DB instance or the name of a security group.
36849	//
36850	// SourceIdentifier is a required field
36851	SourceIdentifier *string `type:"string" required:"true"`
36852
36853	// The name of the RDS event notification subscription you want to remove a
36854	// source identifier from.
36855	//
36856	// SubscriptionName is a required field
36857	SubscriptionName *string `type:"string" required:"true"`
36858}
36859
36860// String returns the string representation
36861func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
36862	return awsutil.Prettify(s)
36863}
36864
36865// GoString returns the string representation
36866func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
36867	return s.String()
36868}
36869
36870// Validate inspects the fields of the type to determine if they are valid.
36871func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
36872	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
36873	if s.SourceIdentifier == nil {
36874		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
36875	}
36876	if s.SubscriptionName == nil {
36877		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
36878	}
36879
36880	if invalidParams.Len() > 0 {
36881		return invalidParams
36882	}
36883	return nil
36884}
36885
36886// SetSourceIdentifier sets the SourceIdentifier field's value.
36887func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
36888	s.SourceIdentifier = &v
36889	return s
36890}
36891
36892// SetSubscriptionName sets the SubscriptionName field's value.
36893func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
36894	s.SubscriptionName = &v
36895	return s
36896}
36897
36898type RemoveSourceIdentifierFromSubscriptionOutput struct {
36899	_ struct{} `type:"structure"`
36900
36901	// Contains the results of a successful invocation of the DescribeEventSubscriptions
36902	// action.
36903	EventSubscription *EventSubscription `type:"structure"`
36904}
36905
36906// String returns the string representation
36907func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
36908	return awsutil.Prettify(s)
36909}
36910
36911// GoString returns the string representation
36912func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
36913	return s.String()
36914}
36915
36916// SetEventSubscription sets the EventSubscription field's value.
36917func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
36918	s.EventSubscription = v
36919	return s
36920}
36921
36922type RemoveTagsFromResourceInput struct {
36923	_ struct{} `type:"structure"`
36924
36925	// The Amazon RDS resource that the tags are removed from. This value is an
36926	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
36927	// an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
36928	// in the Amazon RDS User Guide.
36929	//
36930	// ResourceName is a required field
36931	ResourceName *string `type:"string" required:"true"`
36932
36933	// The tag key (name) of the tag to be removed.
36934	//
36935	// TagKeys is a required field
36936	TagKeys []*string `type:"list" required:"true"`
36937}
36938
36939// String returns the string representation
36940func (s RemoveTagsFromResourceInput) String() string {
36941	return awsutil.Prettify(s)
36942}
36943
36944// GoString returns the string representation
36945func (s RemoveTagsFromResourceInput) GoString() string {
36946	return s.String()
36947}
36948
36949// Validate inspects the fields of the type to determine if they are valid.
36950func (s *RemoveTagsFromResourceInput) Validate() error {
36951	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
36952	if s.ResourceName == nil {
36953		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
36954	}
36955	if s.TagKeys == nil {
36956		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
36957	}
36958
36959	if invalidParams.Len() > 0 {
36960		return invalidParams
36961	}
36962	return nil
36963}
36964
36965// SetResourceName sets the ResourceName field's value.
36966func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
36967	s.ResourceName = &v
36968	return s
36969}
36970
36971// SetTagKeys sets the TagKeys field's value.
36972func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
36973	s.TagKeys = v
36974	return s
36975}
36976
36977type RemoveTagsFromResourceOutput struct {
36978	_ struct{} `type:"structure"`
36979}
36980
36981// String returns the string representation
36982func (s RemoveTagsFromResourceOutput) String() string {
36983	return awsutil.Prettify(s)
36984}
36985
36986// GoString returns the string representation
36987func (s RemoveTagsFromResourceOutput) GoString() string {
36988	return s.String()
36989}
36990
36991// This data type is used as a response element in the DescribeReservedDBInstances
36992// and PurchaseReservedDBInstancesOffering actions.
36993type ReservedDBInstance struct {
36994	_ struct{} `type:"structure"`
36995
36996	// The currency code for the reserved DB instance.
36997	CurrencyCode *string `type:"string"`
36998
36999	// The DB instance class for the reserved DB instance.
37000	DBInstanceClass *string `type:"string"`
37001
37002	// The number of reserved DB instances.
37003	DBInstanceCount *int64 `type:"integer"`
37004
37005	// The duration of the reservation in seconds.
37006	Duration *int64 `type:"integer"`
37007
37008	// The fixed price charged for this reserved DB instance.
37009	FixedPrice *float64 `type:"double"`
37010
37011	// The unique identifier for the lease associated with the reserved DB instance.
37012	//
37013	// AWS Support might request the lease ID for an issue related to a reserved
37014	// DB instance.
37015	LeaseId *string `type:"string"`
37016
37017	// Indicates if the reservation applies to Multi-AZ deployments.
37018	MultiAZ *bool `type:"boolean"`
37019
37020	// The offering type of this reserved DB instance.
37021	OfferingType *string `type:"string"`
37022
37023	// The description of the reserved DB instance.
37024	ProductDescription *string `type:"string"`
37025
37026	// The recurring price charged to run this reserved DB instance.
37027	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
37028
37029	// The Amazon Resource Name (ARN) for the reserved DB instance.
37030	ReservedDBInstanceArn *string `type:"string"`
37031
37032	// The unique identifier for the reservation.
37033	ReservedDBInstanceId *string `type:"string"`
37034
37035	// The offering identifier.
37036	ReservedDBInstancesOfferingId *string `type:"string"`
37037
37038	// The time the reservation started.
37039	StartTime *time.Time `type:"timestamp"`
37040
37041	// The state of the reserved DB instance.
37042	State *string `type:"string"`
37043
37044	// The hourly price charged for this reserved DB instance.
37045	UsagePrice *float64 `type:"double"`
37046}
37047
37048// String returns the string representation
37049func (s ReservedDBInstance) String() string {
37050	return awsutil.Prettify(s)
37051}
37052
37053// GoString returns the string representation
37054func (s ReservedDBInstance) GoString() string {
37055	return s.String()
37056}
37057
37058// SetCurrencyCode sets the CurrencyCode field's value.
37059func (s *ReservedDBInstance) SetCurrencyCode(v string) *ReservedDBInstance {
37060	s.CurrencyCode = &v
37061	return s
37062}
37063
37064// SetDBInstanceClass sets the DBInstanceClass field's value.
37065func (s *ReservedDBInstance) SetDBInstanceClass(v string) *ReservedDBInstance {
37066	s.DBInstanceClass = &v
37067	return s
37068}
37069
37070// SetDBInstanceCount sets the DBInstanceCount field's value.
37071func (s *ReservedDBInstance) SetDBInstanceCount(v int64) *ReservedDBInstance {
37072	s.DBInstanceCount = &v
37073	return s
37074}
37075
37076// SetDuration sets the Duration field's value.
37077func (s *ReservedDBInstance) SetDuration(v int64) *ReservedDBInstance {
37078	s.Duration = &v
37079	return s
37080}
37081
37082// SetFixedPrice sets the FixedPrice field's value.
37083func (s *ReservedDBInstance) SetFixedPrice(v float64) *ReservedDBInstance {
37084	s.FixedPrice = &v
37085	return s
37086}
37087
37088// SetLeaseId sets the LeaseId field's value.
37089func (s *ReservedDBInstance) SetLeaseId(v string) *ReservedDBInstance {
37090	s.LeaseId = &v
37091	return s
37092}
37093
37094// SetMultiAZ sets the MultiAZ field's value.
37095func (s *ReservedDBInstance) SetMultiAZ(v bool) *ReservedDBInstance {
37096	s.MultiAZ = &v
37097	return s
37098}
37099
37100// SetOfferingType sets the OfferingType field's value.
37101func (s *ReservedDBInstance) SetOfferingType(v string) *ReservedDBInstance {
37102	s.OfferingType = &v
37103	return s
37104}
37105
37106// SetProductDescription sets the ProductDescription field's value.
37107func (s *ReservedDBInstance) SetProductDescription(v string) *ReservedDBInstance {
37108	s.ProductDescription = &v
37109	return s
37110}
37111
37112// SetRecurringCharges sets the RecurringCharges field's value.
37113func (s *ReservedDBInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstance {
37114	s.RecurringCharges = v
37115	return s
37116}
37117
37118// SetReservedDBInstanceArn sets the ReservedDBInstanceArn field's value.
37119func (s *ReservedDBInstance) SetReservedDBInstanceArn(v string) *ReservedDBInstance {
37120	s.ReservedDBInstanceArn = &v
37121	return s
37122}
37123
37124// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
37125func (s *ReservedDBInstance) SetReservedDBInstanceId(v string) *ReservedDBInstance {
37126	s.ReservedDBInstanceId = &v
37127	return s
37128}
37129
37130// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
37131func (s *ReservedDBInstance) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstance {
37132	s.ReservedDBInstancesOfferingId = &v
37133	return s
37134}
37135
37136// SetStartTime sets the StartTime field's value.
37137func (s *ReservedDBInstance) SetStartTime(v time.Time) *ReservedDBInstance {
37138	s.StartTime = &v
37139	return s
37140}
37141
37142// SetState sets the State field's value.
37143func (s *ReservedDBInstance) SetState(v string) *ReservedDBInstance {
37144	s.State = &v
37145	return s
37146}
37147
37148// SetUsagePrice sets the UsagePrice field's value.
37149func (s *ReservedDBInstance) SetUsagePrice(v float64) *ReservedDBInstance {
37150	s.UsagePrice = &v
37151	return s
37152}
37153
37154// This data type is used as a response element in the DescribeReservedDBInstancesOfferings
37155// action.
37156type ReservedDBInstancesOffering struct {
37157	_ struct{} `type:"structure"`
37158
37159	// The currency code for the reserved DB instance offering.
37160	CurrencyCode *string `type:"string"`
37161
37162	// The DB instance class for the reserved DB instance.
37163	DBInstanceClass *string `type:"string"`
37164
37165	// The duration of the offering in seconds.
37166	Duration *int64 `type:"integer"`
37167
37168	// The fixed price charged for this offering.
37169	FixedPrice *float64 `type:"double"`
37170
37171	// Indicates if the offering applies to Multi-AZ deployments.
37172	MultiAZ *bool `type:"boolean"`
37173
37174	// The offering type.
37175	OfferingType *string `type:"string"`
37176
37177	// The database engine used by the offering.
37178	ProductDescription *string `type:"string"`
37179
37180	// The recurring price charged to run this reserved DB instance.
37181	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
37182
37183	// The offering identifier.
37184	ReservedDBInstancesOfferingId *string `type:"string"`
37185
37186	// The hourly price charged for this offering.
37187	UsagePrice *float64 `type:"double"`
37188}
37189
37190// String returns the string representation
37191func (s ReservedDBInstancesOffering) String() string {
37192	return awsutil.Prettify(s)
37193}
37194
37195// GoString returns the string representation
37196func (s ReservedDBInstancesOffering) GoString() string {
37197	return s.String()
37198}
37199
37200// SetCurrencyCode sets the CurrencyCode field's value.
37201func (s *ReservedDBInstancesOffering) SetCurrencyCode(v string) *ReservedDBInstancesOffering {
37202	s.CurrencyCode = &v
37203	return s
37204}
37205
37206// SetDBInstanceClass sets the DBInstanceClass field's value.
37207func (s *ReservedDBInstancesOffering) SetDBInstanceClass(v string) *ReservedDBInstancesOffering {
37208	s.DBInstanceClass = &v
37209	return s
37210}
37211
37212// SetDuration sets the Duration field's value.
37213func (s *ReservedDBInstancesOffering) SetDuration(v int64) *ReservedDBInstancesOffering {
37214	s.Duration = &v
37215	return s
37216}
37217
37218// SetFixedPrice sets the FixedPrice field's value.
37219func (s *ReservedDBInstancesOffering) SetFixedPrice(v float64) *ReservedDBInstancesOffering {
37220	s.FixedPrice = &v
37221	return s
37222}
37223
37224// SetMultiAZ sets the MultiAZ field's value.
37225func (s *ReservedDBInstancesOffering) SetMultiAZ(v bool) *ReservedDBInstancesOffering {
37226	s.MultiAZ = &v
37227	return s
37228}
37229
37230// SetOfferingType sets the OfferingType field's value.
37231func (s *ReservedDBInstancesOffering) SetOfferingType(v string) *ReservedDBInstancesOffering {
37232	s.OfferingType = &v
37233	return s
37234}
37235
37236// SetProductDescription sets the ProductDescription field's value.
37237func (s *ReservedDBInstancesOffering) SetProductDescription(v string) *ReservedDBInstancesOffering {
37238	s.ProductDescription = &v
37239	return s
37240}
37241
37242// SetRecurringCharges sets the RecurringCharges field's value.
37243func (s *ReservedDBInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstancesOffering {
37244	s.RecurringCharges = v
37245	return s
37246}
37247
37248// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
37249func (s *ReservedDBInstancesOffering) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstancesOffering {
37250	s.ReservedDBInstancesOfferingId = &v
37251	return s
37252}
37253
37254// SetUsagePrice sets the UsagePrice field's value.
37255func (s *ReservedDBInstancesOffering) SetUsagePrice(v float64) *ReservedDBInstancesOffering {
37256	s.UsagePrice = &v
37257	return s
37258}
37259
37260type ResetDBClusterParameterGroupInput struct {
37261	_ struct{} `type:"structure"`
37262
37263	// The name of the DB cluster parameter group to reset.
37264	//
37265	// DBClusterParameterGroupName is a required field
37266	DBClusterParameterGroupName *string `type:"string" required:"true"`
37267
37268	// A list of parameter names in the DB cluster parameter group to reset to the
37269	// default values. You can't use this parameter if the ResetAllParameters parameter
37270	// is enabled.
37271	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
37272
37273	// A value that indicates whether to reset all parameters in the DB cluster
37274	// parameter group to their default values. You can't use this parameter if
37275	// there is a list of parameter names specified for the Parameters parameter.
37276	ResetAllParameters *bool `type:"boolean"`
37277}
37278
37279// String returns the string representation
37280func (s ResetDBClusterParameterGroupInput) String() string {
37281	return awsutil.Prettify(s)
37282}
37283
37284// GoString returns the string representation
37285func (s ResetDBClusterParameterGroupInput) GoString() string {
37286	return s.String()
37287}
37288
37289// Validate inspects the fields of the type to determine if they are valid.
37290func (s *ResetDBClusterParameterGroupInput) Validate() error {
37291	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
37292	if s.DBClusterParameterGroupName == nil {
37293		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
37294	}
37295
37296	if invalidParams.Len() > 0 {
37297		return invalidParams
37298	}
37299	return nil
37300}
37301
37302// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
37303func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
37304	s.DBClusterParameterGroupName = &v
37305	return s
37306}
37307
37308// SetParameters sets the Parameters field's value.
37309func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
37310	s.Parameters = v
37311	return s
37312}
37313
37314// SetResetAllParameters sets the ResetAllParameters field's value.
37315func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
37316	s.ResetAllParameters = &v
37317	return s
37318}
37319
37320type ResetDBParameterGroupInput struct {
37321	_ struct{} `type:"structure"`
37322
37323	// The name of the DB parameter group.
37324	//
37325	// Constraints:
37326	//
37327	//    * Must match the name of an existing DBParameterGroup.
37328	//
37329	// DBParameterGroupName is a required field
37330	DBParameterGroupName *string `type:"string" required:"true"`
37331
37332	// To reset the entire DB parameter group, specify the DBParameterGroup name
37333	// and ResetAllParameters parameters. To reset specific parameters, provide
37334	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
37335	// can be modified in a single request.
37336	//
37337	// MySQL
37338	//
37339	// Valid Values (for Apply method): immediate | pending-reboot
37340	//
37341	// You can use the immediate value with dynamic parameters only. You can use
37342	// the pending-reboot value for both dynamic and static parameters, and changes
37343	// are applied when DB instance reboots.
37344	//
37345	// MariaDB
37346	//
37347	// Valid Values (for Apply method): immediate | pending-reboot
37348	//
37349	// You can use the immediate value with dynamic parameters only. You can use
37350	// the pending-reboot value for both dynamic and static parameters, and changes
37351	// are applied when DB instance reboots.
37352	//
37353	// Oracle
37354	//
37355	// Valid Values (for Apply method): pending-reboot
37356	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
37357
37358	// A value that indicates whether to reset all parameters in the DB parameter
37359	// group to default values. By default, all parameters in the DB parameter group
37360	// are reset to default values.
37361	ResetAllParameters *bool `type:"boolean"`
37362}
37363
37364// String returns the string representation
37365func (s ResetDBParameterGroupInput) String() string {
37366	return awsutil.Prettify(s)
37367}
37368
37369// GoString returns the string representation
37370func (s ResetDBParameterGroupInput) GoString() string {
37371	return s.String()
37372}
37373
37374// Validate inspects the fields of the type to determine if they are valid.
37375func (s *ResetDBParameterGroupInput) Validate() error {
37376	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
37377	if s.DBParameterGroupName == nil {
37378		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
37379	}
37380
37381	if invalidParams.Len() > 0 {
37382		return invalidParams
37383	}
37384	return nil
37385}
37386
37387// SetDBParameterGroupName sets the DBParameterGroupName field's value.
37388func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
37389	s.DBParameterGroupName = &v
37390	return s
37391}
37392
37393// SetParameters sets the Parameters field's value.
37394func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
37395	s.Parameters = v
37396	return s
37397}
37398
37399// SetResetAllParameters sets the ResetAllParameters field's value.
37400func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
37401	s.ResetAllParameters = &v
37402	return s
37403}
37404
37405// Describes the pending maintenance actions for a resource.
37406type ResourcePendingMaintenanceActions struct {
37407	_ struct{} `type:"structure"`
37408
37409	// A list that provides details about the pending maintenance actions for the
37410	// resource.
37411	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
37412
37413	// The ARN of the resource that has pending maintenance actions.
37414	ResourceIdentifier *string `type:"string"`
37415}
37416
37417// String returns the string representation
37418func (s ResourcePendingMaintenanceActions) String() string {
37419	return awsutil.Prettify(s)
37420}
37421
37422// GoString returns the string representation
37423func (s ResourcePendingMaintenanceActions) GoString() string {
37424	return s.String()
37425}
37426
37427// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
37428func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
37429	s.PendingMaintenanceActionDetails = v
37430	return s
37431}
37432
37433// SetResourceIdentifier sets the ResourceIdentifier field's value.
37434func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
37435	s.ResourceIdentifier = &v
37436	return s
37437}
37438
37439type RestoreDBClusterFromS3Input struct {
37440	_ struct{} `type:"structure"`
37441
37442	// A list of Availability Zones (AZs) where instances in the restored DB cluster
37443	// can be created.
37444	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
37445
37446	// The target backtrack window, in seconds. To disable backtracking, set this
37447	// value to 0.
37448	//
37449	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
37450	//
37451	// Default: 0
37452	//
37453	// Constraints:
37454	//
37455	//    * If specified, this value must be set to a number from 0 to 259,200 (72
37456	//    hours).
37457	BacktrackWindow *int64 `type:"long"`
37458
37459	// The number of days for which automated backups of the restored DB cluster
37460	// are retained. You must specify a minimum value of 1.
37461	//
37462	// Default: 1
37463	//
37464	// Constraints:
37465	//
37466	//    * Must be a value from 1 to 35
37467	BackupRetentionPeriod *int64 `type:"integer"`
37468
37469	// A value that indicates that the restored DB cluster should be associated
37470	// with the specified CharacterSet.
37471	CharacterSetName *string `type:"string"`
37472
37473	// A value that indicates whether to copy all tags from the restored DB cluster
37474	// to snapshots of the restored DB cluster. The default is not to copy them.
37475	CopyTagsToSnapshot *bool `type:"boolean"`
37476
37477	// The name of the DB cluster to create from the source data in the Amazon S3
37478	// bucket. This parameter isn't case-sensitive.
37479	//
37480	// Constraints:
37481	//
37482	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
37483	//
37484	//    * First character must be a letter.
37485	//
37486	//    * Can't end with a hyphen or contain two consecutive hyphens.
37487	//
37488	// Example: my-cluster1
37489	//
37490	// DBClusterIdentifier is a required field
37491	DBClusterIdentifier *string `type:"string" required:"true"`
37492
37493	// The name of the DB cluster parameter group to associate with the restored
37494	// DB cluster. If this argument is omitted, default.aurora5.6 is used.
37495	//
37496	// Constraints:
37497	//
37498	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
37499	DBClusterParameterGroupName *string `type:"string"`
37500
37501	// A DB subnet group to associate with the restored DB cluster.
37502	//
37503	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
37504	//
37505	// Example: mySubnetgroup
37506	DBSubnetGroupName *string `type:"string"`
37507
37508	// The database name for the restored DB cluster.
37509	DatabaseName *string `type:"string"`
37510
37511	// A value that indicates whether the DB cluster has deletion protection enabled.
37512	// The database can't be deleted when deletion protection is enabled. By default,
37513	// deletion protection is disabled.
37514	DeletionProtection *bool `type:"boolean"`
37515
37516	// Specify the Active Directory directory ID to restore the DB cluster in. The
37517	// domain must be created prior to this operation.
37518	//
37519	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
37520	// to authenticate users that connect to the DB cluster. For more information,
37521	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
37522	// in the Amazon Aurora User Guide.
37523	Domain *string `type:"string"`
37524
37525	// Specify the name of the IAM role to be used when making API calls to the
37526	// Directory Service.
37527	DomainIAMRoleName *string `type:"string"`
37528
37529	// The list of logs that the restored DB cluster is to export to CloudWatch
37530	// Logs. The values in the list depend on the DB engine being used. For more
37531	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
37532	// in the Amazon Aurora User Guide.
37533	EnableCloudwatchLogsExports []*string `type:"list"`
37534
37535	// A value that indicates whether to enable mapping of AWS Identity and Access
37536	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
37537	//
37538	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
37539	// in the Amazon Aurora User Guide.
37540	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
37541
37542	// The name of the database engine to be used for the restored DB cluster.
37543	//
37544	// Valid Values: aurora, aurora-postgresql
37545	//
37546	// Engine is a required field
37547	Engine *string `type:"string" required:"true"`
37548
37549	// The version number of the database engine to use.
37550	//
37551	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
37552	// Aurora), use the following command:
37553	//
37554	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
37555	//
37556	// To list all of the available engine versions for aurora-mysql (for MySQL
37557	// 5.7-compatible Aurora), use the following command:
37558	//
37559	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
37560	//
37561	// To list all of the available engine versions for aurora-postgresql, use the
37562	// following command:
37563	//
37564	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
37565	//
37566	// Aurora MySQL
37567	//
37568	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
37569	//
37570	// Aurora PostgreSQL
37571	//
37572	// Example: 9.6.3, 10.7
37573	EngineVersion *string `type:"string"`
37574
37575	// The AWS KMS key identifier for an encrypted DB cluster.
37576	//
37577	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
37578	// key. If you are creating a DB cluster with the same AWS account that owns
37579	// the KMS encryption key used to encrypt the new DB cluster, then you can use
37580	// the KMS key alias instead of the ARN for the KM encryption key.
37581	//
37582	// If the StorageEncrypted parameter is enabled, and you do not specify a value
37583	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
37584	// key. AWS KMS creates the default encryption key for your AWS account. Your
37585	// AWS account has a different default encryption key for each AWS Region.
37586	KmsKeyId *string `type:"string"`
37587
37588	// The password for the master database user. This password can contain any
37589	// printable ASCII character except "/", """, or "@".
37590	//
37591	// Constraints: Must contain from 8 to 41 characters.
37592	//
37593	// MasterUserPassword is a required field
37594	MasterUserPassword *string `type:"string" required:"true"`
37595
37596	// The name of the master user for the restored DB cluster.
37597	//
37598	// Constraints:
37599	//
37600	//    * Must be 1 to 16 letters or numbers.
37601	//
37602	//    * First character must be a letter.
37603	//
37604	//    * Can't be a reserved word for the chosen database engine.
37605	//
37606	// MasterUsername is a required field
37607	MasterUsername *string `type:"string" required:"true"`
37608
37609	// A value that indicates that the restored DB cluster should be associated
37610	// with the specified option group.
37611	//
37612	// Permanent options can't be removed from an option group. An option group
37613	// can't be removed from a DB cluster once it is associated with a DB cluster.
37614	OptionGroupName *string `type:"string"`
37615
37616	// The port number on which the instances in the restored DB cluster accept
37617	// connections.
37618	//
37619	// Default: 3306
37620	Port *int64 `type:"integer"`
37621
37622	// The daily time range during which automated backups are created if automated
37623	// backups are enabled using the BackupRetentionPeriod parameter.
37624	//
37625	// The default is a 30-minute window selected at random from an 8-hour block
37626	// of time for each AWS Region. To see the time blocks available, see Adjusting
37627	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
37628	// in the Amazon Aurora User Guide.
37629	//
37630	// Constraints:
37631	//
37632	//    * Must be in the format hh24:mi-hh24:mi.
37633	//
37634	//    * Must be in Universal Coordinated Time (UTC).
37635	//
37636	//    * Must not conflict with the preferred maintenance window.
37637	//
37638	//    * Must be at least 30 minutes.
37639	PreferredBackupWindow *string `type:"string"`
37640
37641	// The weekly time range during which system maintenance can occur, in Universal
37642	// Coordinated Time (UTC).
37643	//
37644	// Format: ddd:hh24:mi-ddd:hh24:mi
37645	//
37646	// The default is a 30-minute window selected at random from an 8-hour block
37647	// of time for each AWS Region, occurring on a random day of the week. To see
37648	// the time blocks available, see Adjusting the Preferred Maintenance Window
37649	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
37650	// in the Amazon Aurora User Guide.
37651	//
37652	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
37653	//
37654	// Constraints: Minimum 30-minute window.
37655	PreferredMaintenanceWindow *string `type:"string"`
37656
37657	// The name of the Amazon S3 bucket that contains the data used to create the
37658	// Amazon Aurora DB cluster.
37659	//
37660	// S3BucketName is a required field
37661	S3BucketName *string `type:"string" required:"true"`
37662
37663	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
37664	// (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your
37665	// behalf.
37666	//
37667	// S3IngestionRoleArn is a required field
37668	S3IngestionRoleArn *string `type:"string" required:"true"`
37669
37670	// The prefix for all of the file names that contain the data used to create
37671	// the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value,
37672	// then the Amazon Aurora DB cluster is created by using all of the files in
37673	// the Amazon S3 bucket.
37674	S3Prefix *string `type:"string"`
37675
37676	// The identifier for the database engine that was backed up to create the files
37677	// stored in the Amazon S3 bucket.
37678	//
37679	// Valid values: mysql
37680	//
37681	// SourceEngine is a required field
37682	SourceEngine *string `type:"string" required:"true"`
37683
37684	// The version of the database that the backup files were created from.
37685	//
37686	// MySQL versions 5.5, 5.6, and 5.7 are supported.
37687	//
37688	// Example: 5.6.40
37689	//
37690	// SourceEngineVersion is a required field
37691	SourceEngineVersion *string `type:"string" required:"true"`
37692
37693	// A value that indicates whether the restored DB cluster is encrypted.
37694	StorageEncrypted *bool `type:"boolean"`
37695
37696	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
37697	// in the Amazon RDS User Guide.
37698	Tags []*Tag `locationNameList:"Tag" type:"list"`
37699
37700	// A list of EC2 VPC security groups to associate with the restored DB cluster.
37701	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37702}
37703
37704// String returns the string representation
37705func (s RestoreDBClusterFromS3Input) String() string {
37706	return awsutil.Prettify(s)
37707}
37708
37709// GoString returns the string representation
37710func (s RestoreDBClusterFromS3Input) GoString() string {
37711	return s.String()
37712}
37713
37714// Validate inspects the fields of the type to determine if they are valid.
37715func (s *RestoreDBClusterFromS3Input) Validate() error {
37716	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"}
37717	if s.DBClusterIdentifier == nil {
37718		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
37719	}
37720	if s.Engine == nil {
37721		invalidParams.Add(request.NewErrParamRequired("Engine"))
37722	}
37723	if s.MasterUserPassword == nil {
37724		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
37725	}
37726	if s.MasterUsername == nil {
37727		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
37728	}
37729	if s.S3BucketName == nil {
37730		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
37731	}
37732	if s.S3IngestionRoleArn == nil {
37733		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
37734	}
37735	if s.SourceEngine == nil {
37736		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
37737	}
37738	if s.SourceEngineVersion == nil {
37739		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
37740	}
37741
37742	if invalidParams.Len() > 0 {
37743		return invalidParams
37744	}
37745	return nil
37746}
37747
37748// SetAvailabilityZones sets the AvailabilityZones field's value.
37749func (s *RestoreDBClusterFromS3Input) SetAvailabilityZones(v []*string) *RestoreDBClusterFromS3Input {
37750	s.AvailabilityZones = v
37751	return s
37752}
37753
37754// SetBacktrackWindow sets the BacktrackWindow field's value.
37755func (s *RestoreDBClusterFromS3Input) SetBacktrackWindow(v int64) *RestoreDBClusterFromS3Input {
37756	s.BacktrackWindow = &v
37757	return s
37758}
37759
37760// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
37761func (s *RestoreDBClusterFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBClusterFromS3Input {
37762	s.BackupRetentionPeriod = &v
37763	return s
37764}
37765
37766// SetCharacterSetName sets the CharacterSetName field's value.
37767func (s *RestoreDBClusterFromS3Input) SetCharacterSetName(v string) *RestoreDBClusterFromS3Input {
37768	s.CharacterSetName = &v
37769	return s
37770}
37771
37772// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37773func (s *RestoreDBClusterFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromS3Input {
37774	s.CopyTagsToSnapshot = &v
37775	return s
37776}
37777
37778// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37779func (s *RestoreDBClusterFromS3Input) SetDBClusterIdentifier(v string) *RestoreDBClusterFromS3Input {
37780	s.DBClusterIdentifier = &v
37781	return s
37782}
37783
37784// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
37785func (s *RestoreDBClusterFromS3Input) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromS3Input {
37786	s.DBClusterParameterGroupName = &v
37787	return s
37788}
37789
37790// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37791func (s *RestoreDBClusterFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBClusterFromS3Input {
37792	s.DBSubnetGroupName = &v
37793	return s
37794}
37795
37796// SetDatabaseName sets the DatabaseName field's value.
37797func (s *RestoreDBClusterFromS3Input) SetDatabaseName(v string) *RestoreDBClusterFromS3Input {
37798	s.DatabaseName = &v
37799	return s
37800}
37801
37802// SetDeletionProtection sets the DeletionProtection field's value.
37803func (s *RestoreDBClusterFromS3Input) SetDeletionProtection(v bool) *RestoreDBClusterFromS3Input {
37804	s.DeletionProtection = &v
37805	return s
37806}
37807
37808// SetDomain sets the Domain field's value.
37809func (s *RestoreDBClusterFromS3Input) SetDomain(v string) *RestoreDBClusterFromS3Input {
37810	s.Domain = &v
37811	return s
37812}
37813
37814// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
37815func (s *RestoreDBClusterFromS3Input) SetDomainIAMRoleName(v string) *RestoreDBClusterFromS3Input {
37816	s.DomainIAMRoleName = &v
37817	return s
37818}
37819
37820// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37821func (s *RestoreDBClusterFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromS3Input {
37822	s.EnableCloudwatchLogsExports = v
37823	return s
37824}
37825
37826// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37827func (s *RestoreDBClusterFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromS3Input {
37828	s.EnableIAMDatabaseAuthentication = &v
37829	return s
37830}
37831
37832// SetEngine sets the Engine field's value.
37833func (s *RestoreDBClusterFromS3Input) SetEngine(v string) *RestoreDBClusterFromS3Input {
37834	s.Engine = &v
37835	return s
37836}
37837
37838// SetEngineVersion sets the EngineVersion field's value.
37839func (s *RestoreDBClusterFromS3Input) SetEngineVersion(v string) *RestoreDBClusterFromS3Input {
37840	s.EngineVersion = &v
37841	return s
37842}
37843
37844// SetKmsKeyId sets the KmsKeyId field's value.
37845func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFromS3Input {
37846	s.KmsKeyId = &v
37847	return s
37848}
37849
37850// SetMasterUserPassword sets the MasterUserPassword field's value.
37851func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
37852	s.MasterUserPassword = &v
37853	return s
37854}
37855
37856// SetMasterUsername sets the MasterUsername field's value.
37857func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
37858	s.MasterUsername = &v
37859	return s
37860}
37861
37862// SetOptionGroupName sets the OptionGroupName field's value.
37863func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input {
37864	s.OptionGroupName = &v
37865	return s
37866}
37867
37868// SetPort sets the Port field's value.
37869func (s *RestoreDBClusterFromS3Input) SetPort(v int64) *RestoreDBClusterFromS3Input {
37870	s.Port = &v
37871	return s
37872}
37873
37874// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
37875func (s *RestoreDBClusterFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBClusterFromS3Input {
37876	s.PreferredBackupWindow = &v
37877	return s
37878}
37879
37880// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
37881func (s *RestoreDBClusterFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBClusterFromS3Input {
37882	s.PreferredMaintenanceWindow = &v
37883	return s
37884}
37885
37886// SetS3BucketName sets the S3BucketName field's value.
37887func (s *RestoreDBClusterFromS3Input) SetS3BucketName(v string) *RestoreDBClusterFromS3Input {
37888	s.S3BucketName = &v
37889	return s
37890}
37891
37892// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
37893func (s *RestoreDBClusterFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBClusterFromS3Input {
37894	s.S3IngestionRoleArn = &v
37895	return s
37896}
37897
37898// SetS3Prefix sets the S3Prefix field's value.
37899func (s *RestoreDBClusterFromS3Input) SetS3Prefix(v string) *RestoreDBClusterFromS3Input {
37900	s.S3Prefix = &v
37901	return s
37902}
37903
37904// SetSourceEngine sets the SourceEngine field's value.
37905func (s *RestoreDBClusterFromS3Input) SetSourceEngine(v string) *RestoreDBClusterFromS3Input {
37906	s.SourceEngine = &v
37907	return s
37908}
37909
37910// SetSourceEngineVersion sets the SourceEngineVersion field's value.
37911func (s *RestoreDBClusterFromS3Input) SetSourceEngineVersion(v string) *RestoreDBClusterFromS3Input {
37912	s.SourceEngineVersion = &v
37913	return s
37914}
37915
37916// SetStorageEncrypted sets the StorageEncrypted field's value.
37917func (s *RestoreDBClusterFromS3Input) SetStorageEncrypted(v bool) *RestoreDBClusterFromS3Input {
37918	s.StorageEncrypted = &v
37919	return s
37920}
37921
37922// SetTags sets the Tags field's value.
37923func (s *RestoreDBClusterFromS3Input) SetTags(v []*Tag) *RestoreDBClusterFromS3Input {
37924	s.Tags = v
37925	return s
37926}
37927
37928// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37929func (s *RestoreDBClusterFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromS3Input {
37930	s.VpcSecurityGroupIds = v
37931	return s
37932}
37933
37934type RestoreDBClusterFromS3Output struct {
37935	_ struct{} `type:"structure"`
37936
37937	// Contains the details of an Amazon Aurora DB cluster.
37938	//
37939	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
37940	// and StartDBCluster actions.
37941	DBCluster *DBCluster `type:"structure"`
37942}
37943
37944// String returns the string representation
37945func (s RestoreDBClusterFromS3Output) String() string {
37946	return awsutil.Prettify(s)
37947}
37948
37949// GoString returns the string representation
37950func (s RestoreDBClusterFromS3Output) GoString() string {
37951	return s.String()
37952}
37953
37954// SetDBCluster sets the DBCluster field's value.
37955func (s *RestoreDBClusterFromS3Output) SetDBCluster(v *DBCluster) *RestoreDBClusterFromS3Output {
37956	s.DBCluster = v
37957	return s
37958}
37959
37960type RestoreDBClusterFromSnapshotInput struct {
37961	_ struct{} `type:"structure"`
37962
37963	// Provides the list of Availability Zones (AZs) where instances in the restored
37964	// DB cluster can be created.
37965	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
37966
37967	// The target backtrack window, in seconds. To disable backtracking, set this
37968	// value to 0.
37969	//
37970	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
37971	//
37972	// Default: 0
37973	//
37974	// Constraints:
37975	//
37976	//    * If specified, this value must be set to a number from 0 to 259,200 (72
37977	//    hours).
37978	BacktrackWindow *int64 `type:"long"`
37979
37980	// A value that indicates whether to copy all tags from the restored DB cluster
37981	// to snapshots of the restored DB cluster. The default is not to copy them.
37982	CopyTagsToSnapshot *bool `type:"boolean"`
37983
37984	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
37985	// This parameter isn't case-sensitive.
37986	//
37987	// Constraints:
37988	//
37989	//    * Must contain from 1 to 63 letters, numbers, or hyphens
37990	//
37991	//    * First character must be a letter
37992	//
37993	//    * Can't end with a hyphen or contain two consecutive hyphens
37994	//
37995	// Example: my-snapshot-id
37996	//
37997	// DBClusterIdentifier is a required field
37998	DBClusterIdentifier *string `type:"string" required:"true"`
37999
38000	// The name of the DB cluster parameter group to associate with this DB cluster.
38001	// If this argument is omitted, the default DB cluster parameter group for the
38002	// specified engine is used.
38003	//
38004	// Constraints:
38005	//
38006	//    * If supplied, must match the name of an existing default DB cluster parameter
38007	//    group.
38008	//
38009	//    * Must be 1 to 255 letters, numbers, or hyphens.
38010	//
38011	//    * First character must be a letter.
38012	//
38013	//    * Can't end with a hyphen or contain two consecutive hyphens.
38014	DBClusterParameterGroupName *string `type:"string"`
38015
38016	// The name of the DB subnet group to use for the new DB cluster.
38017	//
38018	// Constraints: If supplied, must match the name of an existing DB subnet group.
38019	//
38020	// Example: mySubnetgroup
38021	DBSubnetGroupName *string `type:"string"`
38022
38023	// The database name for the restored DB cluster.
38024	DatabaseName *string `type:"string"`
38025
38026	// A value that indicates whether the DB cluster has deletion protection enabled.
38027	// The database can't be deleted when deletion protection is enabled. By default,
38028	// deletion protection is disabled.
38029	DeletionProtection *bool `type:"boolean"`
38030
38031	// Specify the Active Directory directory ID to restore the DB cluster in. The
38032	// domain must be created prior to this operation.
38033	Domain *string `type:"string"`
38034
38035	// Specify the name of the IAM role to be used when making API calls to the
38036	// Directory Service.
38037	DomainIAMRoleName *string `type:"string"`
38038
38039	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
38040	// Logs. The values in the list depend on the DB engine being used. For more
38041	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
38042	// in the Amazon Aurora User Guide.
38043	EnableCloudwatchLogsExports []*string `type:"list"`
38044
38045	// A value that indicates whether to enable mapping of AWS Identity and Access
38046	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
38047	//
38048	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
38049	// in the Amazon Aurora User Guide.
38050	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
38051
38052	// The database engine to use for the new DB cluster.
38053	//
38054	// Default: The same as source
38055	//
38056	// Constraint: Must be compatible with the engine of the source
38057	//
38058	// Engine is a required field
38059	Engine *string `type:"string" required:"true"`
38060
38061	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
38062	// global, or multimaster.
38063	EngineMode *string `type:"string"`
38064
38065	// The version of the database engine to use for the new DB cluster.
38066	//
38067	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
38068	// Aurora), use the following command:
38069	//
38070	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
38071	//
38072	// To list all of the available engine versions for aurora-mysql (for MySQL
38073	// 5.7-compatible Aurora), use the following command:
38074	//
38075	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
38076	//
38077	// To list all of the available engine versions for aurora-postgresql, use the
38078	// following command:
38079	//
38080	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
38081	//
38082	// If you aren't using the default engine version, then you must specify the
38083	// engine version.
38084	//
38085	// Aurora MySQL
38086	//
38087	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
38088	//
38089	// Aurora PostgreSQL
38090	//
38091	// Example: 9.6.3, 10.7
38092	EngineVersion *string `type:"string"`
38093
38094	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
38095	// from a DB snapshot or DB cluster snapshot.
38096	//
38097	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
38098	// key. If you are restoring a DB cluster with the same AWS account that owns
38099	// the KMS encryption key used to encrypt the new DB cluster, then you can use
38100	// the KMS key alias instead of the ARN for the KMS encryption key.
38101	//
38102	// If you don't specify a value for the KmsKeyId parameter, then the following
38103	// occurs:
38104	//
38105	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
38106	//    then the restored DB cluster is encrypted using the KMS key that was used
38107	//    to encrypt the DB snapshot or DB cluster snapshot.
38108	//
38109	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't
38110	//    encrypted, then the restored DB cluster isn't encrypted.
38111	KmsKeyId *string `type:"string"`
38112
38113	// The name of the option group to use for the restored DB cluster.
38114	OptionGroupName *string `type:"string"`
38115
38116	// The port number on which the new DB cluster accepts connections.
38117	//
38118	// Constraints: This value must be 1150-65535
38119	//
38120	// Default: The same port as the original DB cluster.
38121	Port *int64 `type:"integer"`
38122
38123	// For DB clusters in serverless DB engine mode, the scaling properties of the
38124	// DB cluster.
38125	ScalingConfiguration *ScalingConfiguration `type:"structure"`
38126
38127	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
38128	//
38129	// You can use either the name or the Amazon Resource Name (ARN) to specify
38130	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
38131	// snapshot.
38132	//
38133	// Constraints:
38134	//
38135	//    * Must match the identifier of an existing Snapshot.
38136	//
38137	// SnapshotIdentifier is a required field
38138	SnapshotIdentifier *string `type:"string" required:"true"`
38139
38140	// The tags to be assigned to the restored DB cluster.
38141	Tags []*Tag `locationNameList:"Tag" type:"list"`
38142
38143	// A list of VPC security groups that the new DB cluster will belong to.
38144	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38145}
38146
38147// String returns the string representation
38148func (s RestoreDBClusterFromSnapshotInput) String() string {
38149	return awsutil.Prettify(s)
38150}
38151
38152// GoString returns the string representation
38153func (s RestoreDBClusterFromSnapshotInput) GoString() string {
38154	return s.String()
38155}
38156
38157// Validate inspects the fields of the type to determine if they are valid.
38158func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
38159	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
38160	if s.DBClusterIdentifier == nil {
38161		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
38162	}
38163	if s.Engine == nil {
38164		invalidParams.Add(request.NewErrParamRequired("Engine"))
38165	}
38166	if s.SnapshotIdentifier == nil {
38167		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
38168	}
38169
38170	if invalidParams.Len() > 0 {
38171		return invalidParams
38172	}
38173	return nil
38174}
38175
38176// SetAvailabilityZones sets the AvailabilityZones field's value.
38177func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
38178	s.AvailabilityZones = v
38179	return s
38180}
38181
38182// SetBacktrackWindow sets the BacktrackWindow field's value.
38183func (s *RestoreDBClusterFromSnapshotInput) SetBacktrackWindow(v int64) *RestoreDBClusterFromSnapshotInput {
38184	s.BacktrackWindow = &v
38185	return s
38186}
38187
38188// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38189func (s *RestoreDBClusterFromSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromSnapshotInput {
38190	s.CopyTagsToSnapshot = &v
38191	return s
38192}
38193
38194// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
38195func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
38196	s.DBClusterIdentifier = &v
38197	return s
38198}
38199
38200// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
38201func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
38202	s.DBClusterParameterGroupName = &v
38203	return s
38204}
38205
38206// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
38207func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
38208	s.DBSubnetGroupName = &v
38209	return s
38210}
38211
38212// SetDatabaseName sets the DatabaseName field's value.
38213func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
38214	s.DatabaseName = &v
38215	return s
38216}
38217
38218// SetDeletionProtection sets the DeletionProtection field's value.
38219func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
38220	s.DeletionProtection = &v
38221	return s
38222}
38223
38224// SetDomain sets the Domain field's value.
38225func (s *RestoreDBClusterFromSnapshotInput) SetDomain(v string) *RestoreDBClusterFromSnapshotInput {
38226	s.Domain = &v
38227	return s
38228}
38229
38230// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
38231func (s *RestoreDBClusterFromSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBClusterFromSnapshotInput {
38232	s.DomainIAMRoleName = &v
38233	return s
38234}
38235
38236// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
38237func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
38238	s.EnableCloudwatchLogsExports = v
38239	return s
38240}
38241
38242// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
38243func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
38244	s.EnableIAMDatabaseAuthentication = &v
38245	return s
38246}
38247
38248// SetEngine sets the Engine field's value.
38249func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
38250	s.Engine = &v
38251	return s
38252}
38253
38254// SetEngineMode sets the EngineMode field's value.
38255func (s *RestoreDBClusterFromSnapshotInput) SetEngineMode(v string) *RestoreDBClusterFromSnapshotInput {
38256	s.EngineMode = &v
38257	return s
38258}
38259
38260// SetEngineVersion sets the EngineVersion field's value.
38261func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
38262	s.EngineVersion = &v
38263	return s
38264}
38265
38266// SetKmsKeyId sets the KmsKeyId field's value.
38267func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
38268	s.KmsKeyId = &v
38269	return s
38270}
38271
38272// SetOptionGroupName sets the OptionGroupName field's value.
38273func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
38274	s.OptionGroupName = &v
38275	return s
38276}
38277
38278// SetPort sets the Port field's value.
38279func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
38280	s.Port = &v
38281	return s
38282}
38283
38284// SetScalingConfiguration sets the ScalingConfiguration field's value.
38285func (s *RestoreDBClusterFromSnapshotInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterFromSnapshotInput {
38286	s.ScalingConfiguration = v
38287	return s
38288}
38289
38290// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
38291func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
38292	s.SnapshotIdentifier = &v
38293	return s
38294}
38295
38296// SetTags sets the Tags field's value.
38297func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
38298	s.Tags = v
38299	return s
38300}
38301
38302// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
38303func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
38304	s.VpcSecurityGroupIds = v
38305	return s
38306}
38307
38308type RestoreDBClusterFromSnapshotOutput struct {
38309	_ struct{} `type:"structure"`
38310
38311	// Contains the details of an Amazon Aurora DB cluster.
38312	//
38313	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
38314	// and StartDBCluster actions.
38315	DBCluster *DBCluster `type:"structure"`
38316}
38317
38318// String returns the string representation
38319func (s RestoreDBClusterFromSnapshotOutput) String() string {
38320	return awsutil.Prettify(s)
38321}
38322
38323// GoString returns the string representation
38324func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
38325	return s.String()
38326}
38327
38328// SetDBCluster sets the DBCluster field's value.
38329func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
38330	s.DBCluster = v
38331	return s
38332}
38333
38334type RestoreDBClusterToPointInTimeInput struct {
38335	_ struct{} `type:"structure"`
38336
38337	// The target backtrack window, in seconds. To disable backtracking, set this
38338	// value to 0.
38339	//
38340	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
38341	//
38342	// Default: 0
38343	//
38344	// Constraints:
38345	//
38346	//    * If specified, this value must be set to a number from 0 to 259,200 (72
38347	//    hours).
38348	BacktrackWindow *int64 `type:"long"`
38349
38350	// A value that indicates whether to copy all tags from the restored DB cluster
38351	// to snapshots of the restored DB cluster. The default is not to copy them.
38352	CopyTagsToSnapshot *bool `type:"boolean"`
38353
38354	// The name of the new DB cluster to be created.
38355	//
38356	// Constraints:
38357	//
38358	//    * Must contain from 1 to 63 letters, numbers, or hyphens
38359	//
38360	//    * First character must be a letter
38361	//
38362	//    * Can't end with a hyphen or contain two consecutive hyphens
38363	//
38364	// DBClusterIdentifier is a required field
38365	DBClusterIdentifier *string `type:"string" required:"true"`
38366
38367	// The name of the DB cluster parameter group to associate with this DB cluster.
38368	// If this argument is omitted, the default DB cluster parameter group for the
38369	// specified engine is used.
38370	//
38371	// Constraints:
38372	//
38373	//    * If supplied, must match the name of an existing DB cluster parameter
38374	//    group.
38375	//
38376	//    * Must be 1 to 255 letters, numbers, or hyphens.
38377	//
38378	//    * First character must be a letter.
38379	//
38380	//    * Can't end with a hyphen or contain two consecutive hyphens.
38381	DBClusterParameterGroupName *string `type:"string"`
38382
38383	// The DB subnet group name to use for the new DB cluster.
38384	//
38385	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
38386	//
38387	// Example: mySubnetgroup
38388	DBSubnetGroupName *string `type:"string"`
38389
38390	// A value that indicates whether the DB cluster has deletion protection enabled.
38391	// The database can't be deleted when deletion protection is enabled. By default,
38392	// deletion protection is disabled.
38393	DeletionProtection *bool `type:"boolean"`
38394
38395	// Specify the Active Directory directory ID to restore the DB cluster in. The
38396	// domain must be created prior to this operation.
38397	//
38398	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
38399	// to authenticate users that connect to the DB cluster. For more information,
38400	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
38401	// in the Amazon Aurora User Guide.
38402	Domain *string `type:"string"`
38403
38404	// Specify the name of the IAM role to be used when making API calls to the
38405	// Directory Service.
38406	DomainIAMRoleName *string `type:"string"`
38407
38408	// The list of logs that the restored DB cluster is to export to CloudWatch
38409	// Logs. The values in the list depend on the DB engine being used. For more
38410	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
38411	// in the Amazon Aurora User Guide.
38412	EnableCloudwatchLogsExports []*string `type:"list"`
38413
38414	// A value that indicates whether to enable mapping of AWS Identity and Access
38415	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
38416	//
38417	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
38418	// in the Amazon Aurora User Guide.
38419	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
38420
38421	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
38422	// from an encrypted DB cluster.
38423	//
38424	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
38425	// key. If you are restoring a DB cluster with the same AWS account that owns
38426	// the KMS encryption key used to encrypt the new DB cluster, then you can use
38427	// the KMS key alias instead of the ARN for the KMS encryption key.
38428	//
38429	// You can restore to a new DB cluster and encrypt the new DB cluster with a
38430	// KMS key that is different than the KMS key used to encrypt the source DB
38431	// cluster. The new DB cluster is encrypted with the KMS key identified by the
38432	// KmsKeyId parameter.
38433	//
38434	// If you don't specify a value for the KmsKeyId parameter, then the following
38435	// occurs:
38436	//
38437	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
38438	//    using the KMS key that was used to encrypt the source DB cluster.
38439	//
38440	//    * If the DB cluster isn't encrypted, then the restored DB cluster isn't
38441	//    encrypted.
38442	//
38443	// If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then
38444	// the restore request is rejected.
38445	KmsKeyId *string `type:"string"`
38446
38447	// The name of the option group for the new DB cluster.
38448	OptionGroupName *string `type:"string"`
38449
38450	// The port number on which the new DB cluster accepts connections.
38451	//
38452	// Constraints: A value from 1150-65535.
38453	//
38454	// Default: The default port for the engine.
38455	Port *int64 `type:"integer"`
38456
38457	// The date and time to restore the DB cluster to.
38458	//
38459	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
38460	//
38461	// Constraints:
38462	//
38463	//    * Must be before the latest restorable time for the DB instance
38464	//
38465	//    * Must be specified if UseLatestRestorableTime parameter isn't provided
38466	//
38467	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
38468	//
38469	//    * Can't be specified if the RestoreType parameter is copy-on-write
38470	//
38471	// Example: 2015-03-07T23:45:00Z
38472	RestoreToTime *time.Time `type:"timestamp"`
38473
38474	// The type of restore to be performed. You can specify one of the following
38475	// values:
38476	//
38477	//    * full-copy - The new DB cluster is restored as a full copy of the source
38478	//    DB cluster.
38479	//
38480	//    * copy-on-write - The new DB cluster is restored as a clone of the source
38481	//    DB cluster.
38482	//
38483	// Constraints: You can't specify copy-on-write if the engine version of the
38484	// source DB cluster is earlier than 1.11.
38485	//
38486	// If you don't specify a RestoreType value, then the new DB cluster is restored
38487	// as a full copy of the source DB cluster.
38488	RestoreType *string `type:"string"`
38489
38490	// The identifier of the source DB cluster from which to restore.
38491	//
38492	// Constraints:
38493	//
38494	//    * Must match the identifier of an existing DBCluster.
38495	//
38496	// SourceDBClusterIdentifier is a required field
38497	SourceDBClusterIdentifier *string `type:"string" required:"true"`
38498
38499	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
38500	// in the Amazon RDS User Guide.
38501	Tags []*Tag `locationNameList:"Tag" type:"list"`
38502
38503	// A value that indicates whether to restore the DB cluster to the latest restorable
38504	// backup time. By default, the DB cluster isn't restored to the latest restorable
38505	// backup time.
38506	//
38507	// Constraints: Can't be specified if RestoreToTime parameter is provided.
38508	UseLatestRestorableTime *bool `type:"boolean"`
38509
38510	// A list of VPC security groups that the new DB cluster belongs to.
38511	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38512}
38513
38514// String returns the string representation
38515func (s RestoreDBClusterToPointInTimeInput) String() string {
38516	return awsutil.Prettify(s)
38517}
38518
38519// GoString returns the string representation
38520func (s RestoreDBClusterToPointInTimeInput) GoString() string {
38521	return s.String()
38522}
38523
38524// Validate inspects the fields of the type to determine if they are valid.
38525func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
38526	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
38527	if s.DBClusterIdentifier == nil {
38528		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
38529	}
38530	if s.SourceDBClusterIdentifier == nil {
38531		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
38532	}
38533
38534	if invalidParams.Len() > 0 {
38535		return invalidParams
38536	}
38537	return nil
38538}
38539
38540// SetBacktrackWindow sets the BacktrackWindow field's value.
38541func (s *RestoreDBClusterToPointInTimeInput) SetBacktrackWindow(v int64) *RestoreDBClusterToPointInTimeInput {
38542	s.BacktrackWindow = &v
38543	return s
38544}
38545
38546// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38547func (s *RestoreDBClusterToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterToPointInTimeInput {
38548	s.CopyTagsToSnapshot = &v
38549	return s
38550}
38551
38552// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
38553func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
38554	s.DBClusterIdentifier = &v
38555	return s
38556}
38557
38558// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
38559func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
38560	s.DBClusterParameterGroupName = &v
38561	return s
38562}
38563
38564// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
38565func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
38566	s.DBSubnetGroupName = &v
38567	return s
38568}
38569
38570// SetDeletionProtection sets the DeletionProtection field's value.
38571func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
38572	s.DeletionProtection = &v
38573	return s
38574}
38575
38576// SetDomain sets the Domain field's value.
38577func (s *RestoreDBClusterToPointInTimeInput) SetDomain(v string) *RestoreDBClusterToPointInTimeInput {
38578	s.Domain = &v
38579	return s
38580}
38581
38582// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
38583func (s *RestoreDBClusterToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBClusterToPointInTimeInput {
38584	s.DomainIAMRoleName = &v
38585	return s
38586}
38587
38588// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
38589func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
38590	s.EnableCloudwatchLogsExports = v
38591	return s
38592}
38593
38594// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
38595func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
38596	s.EnableIAMDatabaseAuthentication = &v
38597	return s
38598}
38599
38600// SetKmsKeyId sets the KmsKeyId field's value.
38601func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
38602	s.KmsKeyId = &v
38603	return s
38604}
38605
38606// SetOptionGroupName sets the OptionGroupName field's value.
38607func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
38608	s.OptionGroupName = &v
38609	return s
38610}
38611
38612// SetPort sets the Port field's value.
38613func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
38614	s.Port = &v
38615	return s
38616}
38617
38618// SetRestoreToTime sets the RestoreToTime field's value.
38619func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
38620	s.RestoreToTime = &v
38621	return s
38622}
38623
38624// SetRestoreType sets the RestoreType field's value.
38625func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
38626	s.RestoreType = &v
38627	return s
38628}
38629
38630// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
38631func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
38632	s.SourceDBClusterIdentifier = &v
38633	return s
38634}
38635
38636// SetTags sets the Tags field's value.
38637func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
38638	s.Tags = v
38639	return s
38640}
38641
38642// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
38643func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
38644	s.UseLatestRestorableTime = &v
38645	return s
38646}
38647
38648// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
38649func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
38650	s.VpcSecurityGroupIds = v
38651	return s
38652}
38653
38654type RestoreDBClusterToPointInTimeOutput struct {
38655	_ struct{} `type:"structure"`
38656
38657	// Contains the details of an Amazon Aurora DB cluster.
38658	//
38659	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
38660	// and StartDBCluster actions.
38661	DBCluster *DBCluster `type:"structure"`
38662}
38663
38664// String returns the string representation
38665func (s RestoreDBClusterToPointInTimeOutput) String() string {
38666	return awsutil.Prettify(s)
38667}
38668
38669// GoString returns the string representation
38670func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
38671	return s.String()
38672}
38673
38674// SetDBCluster sets the DBCluster field's value.
38675func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
38676	s.DBCluster = v
38677	return s
38678}
38679
38680type RestoreDBInstanceFromDBSnapshotInput struct {
38681	_ struct{} `type:"structure"`
38682
38683	// A value that indicates whether minor version upgrades are applied automatically
38684	// to the DB instance during the maintenance window.
38685	AutoMinorVersionUpgrade *bool `type:"boolean"`
38686
38687	// The Availability Zone (AZ) where the DB instance will be created.
38688	//
38689	// Default: A random, system-chosen Availability Zone.
38690	//
38691	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
38692	// is a Multi-AZ deployment.
38693	//
38694	// Example: us-east-1a
38695	AvailabilityZone *string `type:"string"`
38696
38697	// A value that indicates whether to copy all tags from the restored DB instance
38698	// to snapshots of the DB instance. By default, tags are not copied.
38699	CopyTagsToSnapshot *bool `type:"boolean"`
38700
38701	// The compute and memory capacity of the Amazon RDS DB instance, for example,
38702	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
38703	// or for all database engines. For the full list of DB instance classes, and
38704	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
38705	// in the Amazon RDS User Guide.
38706	//
38707	// Default: The same DBInstanceClass as the original DB instance.
38708	DBInstanceClass *string `type:"string"`
38709
38710	// Name of the DB instance to create from the DB snapshot. This parameter isn't
38711	// case-sensitive.
38712	//
38713	// Constraints:
38714	//
38715	//    * Must contain from 1 to 63 numbers, letters, or hyphens
38716	//
38717	//    * First character must be a letter
38718	//
38719	//    * Can't end with a hyphen or contain two consecutive hyphens
38720	//
38721	// Example: my-snapshot-id
38722	//
38723	// DBInstanceIdentifier is a required field
38724	DBInstanceIdentifier *string `type:"string" required:"true"`
38725
38726	// The database name for the restored DB instance.
38727	//
38728	// This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.
38729	DBName *string `type:"string"`
38730
38731	// The name of the DB parameter group to associate with this DB instance.
38732	//
38733	// If you do not specify a value for DBParameterGroupName, then the default
38734	// DBParameterGroup for the specified DB engine is used.
38735	//
38736	// Constraints:
38737	//
38738	//    * If supplied, must match the name of an existing DBParameterGroup.
38739	//
38740	//    * Must be 1 to 255 letters, numbers, or hyphens.
38741	//
38742	//    * First character must be a letter.
38743	//
38744	//    * Can't end with a hyphen or contain two consecutive hyphens.
38745	DBParameterGroupName *string `type:"string"`
38746
38747	// The identifier for the DB snapshot to restore from.
38748	//
38749	// Constraints:
38750	//
38751	//    * Must match the identifier of an existing DBSnapshot.
38752	//
38753	//    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
38754	//    must be the ARN of the shared DB snapshot.
38755	//
38756	// DBSnapshotIdentifier is a required field
38757	DBSnapshotIdentifier *string `type:"string" required:"true"`
38758
38759	// The DB subnet group name to use for the new instance.
38760	//
38761	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
38762	//
38763	// Example: mySubnetgroup
38764	DBSubnetGroupName *string `type:"string"`
38765
38766	// A value that indicates whether the DB instance has deletion protection enabled.
38767	// The database can't be deleted when deletion protection is enabled. By default,
38768	// deletion protection is disabled. For more information, see Deleting a DB
38769	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
38770	DeletionProtection *bool `type:"boolean"`
38771
38772	// Specify the Active Directory directory ID to restore the DB instance in.
38773	// The domain must be created prior to this operation. Currently, only Microsoft
38774	// SQL Server and Oracle DB instances can be created in an Active Directory
38775	// Domain.
38776	//
38777	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
38778	// to authenticate users that connect to the DB instance. For more information,
38779	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
38780	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
38781	// in the Amazon RDS User Guide.
38782	//
38783	// For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate
38784	// users that connect to the DB instance. For more information, see Using Kerberos
38785	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
38786	// in the Amazon RDS User Guide.
38787	Domain *string `type:"string"`
38788
38789	// Specify the name of the IAM role to be used when making API calls to the
38790	// Directory Service.
38791	DomainIAMRoleName *string `type:"string"`
38792
38793	// The list of logs that the restored DB instance is to export to CloudWatch
38794	// Logs. The values in the list depend on the DB engine being used. For more
38795	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
38796	// in the Amazon Aurora User Guide.
38797	EnableCloudwatchLogsExports []*string `type:"list"`
38798
38799	// A value that indicates whether to enable mapping of AWS Identity and Access
38800	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
38801	// For information about the supported DB engines, see CreateDBInstance.
38802	//
38803	// For more information about IAM database authentication, see IAM Database
38804	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
38805	// in the Amazon RDS User Guide.
38806	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
38807
38808	// The database engine to use for the new instance.
38809	//
38810	// Default: The same as source
38811	//
38812	// Constraint: Must be compatible with the engine of the source. For example,
38813	// you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.
38814	//
38815	// Valid Values:
38816	//
38817	//    * mariadb
38818	//
38819	//    * mysql
38820	//
38821	//    * oracle-ee
38822	//
38823	//    * oracle-se2
38824	//
38825	//    * oracle-se1
38826	//
38827	//    * oracle-se
38828	//
38829	//    * postgres
38830	//
38831	//    * sqlserver-ee
38832	//
38833	//    * sqlserver-se
38834	//
38835	//    * sqlserver-ex
38836	//
38837	//    * sqlserver-web
38838	Engine *string `type:"string"`
38839
38840	// Specifies the amount of provisioned IOPS for the DB instance, expressed in
38841	// I/O operations per second. If this parameter isn't specified, the IOPS value
38842	// is taken from the backup. If this parameter is set to 0, the new instance
38843	// is converted to a non-PIOPS instance. The conversion takes additional time,
38844	// though your DB instance is available for connections before the conversion
38845	// starts.
38846	//
38847	// The provisioned IOPS value must follow the requirements for your database
38848	// engine. For more information, see Amazon RDS Provisioned IOPS Storage to
38849	// Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
38850	// in the Amazon RDS User Guide.
38851	//
38852	// Constraints: Must be an integer greater than 1000.
38853	Iops *int64 `type:"integer"`
38854
38855	// License model information for the restored DB instance.
38856	//
38857	// Default: Same as source.
38858	//
38859	// Valid values: license-included | bring-your-own-license | general-public-license
38860	LicenseModel *string `type:"string"`
38861
38862	// A value that indicates whether the DB instance is a Multi-AZ deployment.
38863	//
38864	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
38865	// is a Multi-AZ deployment.
38866	MultiAZ *bool `type:"boolean"`
38867
38868	// The name of the option group to be used for the restored DB instance.
38869	//
38870	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
38871	// can't be removed from an option group, and that option group can't be removed
38872	// from a DB instance once it is associated with a DB instance
38873	OptionGroupName *string `type:"string"`
38874
38875	// The port number on which the database accepts connections.
38876	//
38877	// Default: The same port as the original DB instance
38878	//
38879	// Constraints: Value must be 1150-65535
38880	Port *int64 `type:"integer"`
38881
38882	// The number of CPU cores and the number of threads per core for the DB instance
38883	// class of the DB instance.
38884	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
38885
38886	// A value that indicates whether the DB instance is publicly accessible.
38887	//
38888	// When the DB instance is publicly accessible, its DNS endpoint resolves to
38889	// the private IP address from within the DB instance's VPC, and to the public
38890	// IP address from outside of the DB instance's VPC. Access to the DB instance
38891	// is ultimately controlled by the security group it uses, and that public access
38892	// is not permitted if the security group assigned to the DB instance doesn't
38893	// permit it.
38894	//
38895	// When the DB instance isn't publicly accessible, it is an internal DB instance
38896	// with a DNS name that resolves to a private IP address.
38897	//
38898	// For more information, see CreateDBInstance.
38899	PubliclyAccessible *bool `type:"boolean"`
38900
38901	// Specifies the storage type to be associated with the DB instance.
38902	//
38903	// Valid values: standard | gp2 | io1
38904	//
38905	// If you specify io1, you must also include a value for the Iops parameter.
38906	//
38907	// Default: io1 if the Iops parameter is specified, otherwise gp2
38908	StorageType *string `type:"string"`
38909
38910	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
38911	// in the Amazon RDS User Guide.
38912	Tags []*Tag `locationNameList:"Tag" type:"list"`
38913
38914	// The ARN from the key store with which to associate the instance for TDE encryption.
38915	TdeCredentialArn *string `type:"string"`
38916
38917	// The password for the given ARN from the key store in order to access the
38918	// device.
38919	TdeCredentialPassword *string `type:"string"`
38920
38921	// A value that indicates whether the DB instance class of the DB instance uses
38922	// its default processor features.
38923	UseDefaultProcessorFeatures *bool `type:"boolean"`
38924
38925	// A list of EC2 VPC security groups to associate with this DB instance.
38926	//
38927	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
38928	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38929}
38930
38931// String returns the string representation
38932func (s RestoreDBInstanceFromDBSnapshotInput) String() string {
38933	return awsutil.Prettify(s)
38934}
38935
38936// GoString returns the string representation
38937func (s RestoreDBInstanceFromDBSnapshotInput) GoString() string {
38938	return s.String()
38939}
38940
38941// Validate inspects the fields of the type to determine if they are valid.
38942func (s *RestoreDBInstanceFromDBSnapshotInput) Validate() error {
38943	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromDBSnapshotInput"}
38944	if s.DBInstanceIdentifier == nil {
38945		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
38946	}
38947	if s.DBSnapshotIdentifier == nil {
38948		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
38949	}
38950
38951	if invalidParams.Len() > 0 {
38952		return invalidParams
38953	}
38954	return nil
38955}
38956
38957// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
38958func (s *RestoreDBInstanceFromDBSnapshotInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38959	s.AutoMinorVersionUpgrade = &v
38960	return s
38961}
38962
38963// SetAvailabilityZone sets the AvailabilityZone field's value.
38964func (s *RestoreDBInstanceFromDBSnapshotInput) SetAvailabilityZone(v string) *RestoreDBInstanceFromDBSnapshotInput {
38965	s.AvailabilityZone = &v
38966	return s
38967}
38968
38969// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38970func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38971	s.CopyTagsToSnapshot = &v
38972	return s
38973}
38974
38975// SetDBInstanceClass sets the DBInstanceClass field's value.
38976func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceClass(v string) *RestoreDBInstanceFromDBSnapshotInput {
38977	s.DBInstanceClass = &v
38978	return s
38979}
38980
38981// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
38982func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
38983	s.DBInstanceIdentifier = &v
38984	return s
38985}
38986
38987// SetDBName sets the DBName field's value.
38988func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38989	s.DBName = &v
38990	return s
38991}
38992
38993// SetDBParameterGroupName sets the DBParameterGroupName field's value.
38994func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBParameterGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38995	s.DBParameterGroupName = &v
38996	return s
38997}
38998
38999// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
39000func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSnapshotIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
39001	s.DBSnapshotIdentifier = &v
39002	return s
39003}
39004
39005// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
39006func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
39007	s.DBSubnetGroupName = &v
39008	return s
39009}
39010
39011// SetDeletionProtection sets the DeletionProtection field's value.
39012func (s *RestoreDBInstanceFromDBSnapshotInput) SetDeletionProtection(v bool) *RestoreDBInstanceFromDBSnapshotInput {
39013	s.DeletionProtection = &v
39014	return s
39015}
39016
39017// SetDomain sets the Domain field's value.
39018func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomain(v string) *RestoreDBInstanceFromDBSnapshotInput {
39019	s.Domain = &v
39020	return s
39021}
39022
39023// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
39024func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceFromDBSnapshotInput {
39025	s.DomainIAMRoleName = &v
39026	return s
39027}
39028
39029// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
39030func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
39031	s.EnableCloudwatchLogsExports = v
39032	return s
39033}
39034
39035// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
39036func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput {
39037	s.EnableIAMDatabaseAuthentication = &v
39038	return s
39039}
39040
39041// SetEngine sets the Engine field's value.
39042func (s *RestoreDBInstanceFromDBSnapshotInput) SetEngine(v string) *RestoreDBInstanceFromDBSnapshotInput {
39043	s.Engine = &v
39044	return s
39045}
39046
39047// SetIops sets the Iops field's value.
39048func (s *RestoreDBInstanceFromDBSnapshotInput) SetIops(v int64) *RestoreDBInstanceFromDBSnapshotInput {
39049	s.Iops = &v
39050	return s
39051}
39052
39053// SetLicenseModel sets the LicenseModel field's value.
39054func (s *RestoreDBInstanceFromDBSnapshotInput) SetLicenseModel(v string) *RestoreDBInstanceFromDBSnapshotInput {
39055	s.LicenseModel = &v
39056	return s
39057}
39058
39059// SetMultiAZ sets the MultiAZ field's value.
39060func (s *RestoreDBInstanceFromDBSnapshotInput) SetMultiAZ(v bool) *RestoreDBInstanceFromDBSnapshotInput {
39061	s.MultiAZ = &v
39062	return s
39063}
39064
39065// SetOptionGroupName sets the OptionGroupName field's value.
39066func (s *RestoreDBInstanceFromDBSnapshotInput) SetOptionGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
39067	s.OptionGroupName = &v
39068	return s
39069}
39070
39071// SetPort sets the Port field's value.
39072func (s *RestoreDBInstanceFromDBSnapshotInput) SetPort(v int64) *RestoreDBInstanceFromDBSnapshotInput {
39073	s.Port = &v
39074	return s
39075}
39076
39077// SetProcessorFeatures sets the ProcessorFeatures field's value.
39078func (s *RestoreDBInstanceFromDBSnapshotInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromDBSnapshotInput {
39079	s.ProcessorFeatures = v
39080	return s
39081}
39082
39083// SetPubliclyAccessible sets the PubliclyAccessible field's value.
39084func (s *RestoreDBInstanceFromDBSnapshotInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromDBSnapshotInput {
39085	s.PubliclyAccessible = &v
39086	return s
39087}
39088
39089// SetStorageType sets the StorageType field's value.
39090func (s *RestoreDBInstanceFromDBSnapshotInput) SetStorageType(v string) *RestoreDBInstanceFromDBSnapshotInput {
39091	s.StorageType = &v
39092	return s
39093}
39094
39095// SetTags sets the Tags field's value.
39096func (s *RestoreDBInstanceFromDBSnapshotInput) SetTags(v []*Tag) *RestoreDBInstanceFromDBSnapshotInput {
39097	s.Tags = v
39098	return s
39099}
39100
39101// SetTdeCredentialArn sets the TdeCredentialArn field's value.
39102func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialArn(v string) *RestoreDBInstanceFromDBSnapshotInput {
39103	s.TdeCredentialArn = &v
39104	return s
39105}
39106
39107// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
39108func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceFromDBSnapshotInput {
39109	s.TdeCredentialPassword = &v
39110	return s
39111}
39112
39113// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
39114func (s *RestoreDBInstanceFromDBSnapshotInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromDBSnapshotInput {
39115	s.UseDefaultProcessorFeatures = &v
39116	return s
39117}
39118
39119// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
39120func (s *RestoreDBInstanceFromDBSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
39121	s.VpcSecurityGroupIds = v
39122	return s
39123}
39124
39125type RestoreDBInstanceFromDBSnapshotOutput struct {
39126	_ struct{} `type:"structure"`
39127
39128	// Contains the details of an Amazon RDS DB instance.
39129	//
39130	// This data type is used as a response element in the DescribeDBInstances action.
39131	DBInstance *DBInstance `type:"structure"`
39132}
39133
39134// String returns the string representation
39135func (s RestoreDBInstanceFromDBSnapshotOutput) String() string {
39136	return awsutil.Prettify(s)
39137}
39138
39139// GoString returns the string representation
39140func (s RestoreDBInstanceFromDBSnapshotOutput) GoString() string {
39141	return s.String()
39142}
39143
39144// SetDBInstance sets the DBInstance field's value.
39145func (s *RestoreDBInstanceFromDBSnapshotOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromDBSnapshotOutput {
39146	s.DBInstance = v
39147	return s
39148}
39149
39150type RestoreDBInstanceFromS3Input struct {
39151	_ struct{} `type:"structure"`
39152
39153	// The amount of storage (in gigabytes) to allocate initially for the DB instance.
39154	// Follow the allocation rules specified in CreateDBInstance.
39155	//
39156	// Be sure to allocate enough memory for your new DB instance so that the restore
39157	// operation can succeed. You can also allocate additional memory for future
39158	// growth.
39159	AllocatedStorage *int64 `type:"integer"`
39160
39161	// A value that indicates whether minor engine upgrades are applied automatically
39162	// to the DB instance during the maintenance window. By default, minor engine
39163	// upgrades are not applied automatically.
39164	AutoMinorVersionUpgrade *bool `type:"boolean"`
39165
39166	// The Availability Zone that the DB instance is created in. For information
39167	// about AWS Regions and Availability Zones, see Regions and Availability Zones
39168	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
39169	// in the Amazon RDS User Guide.
39170	//
39171	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
39172	// Region.
39173	//
39174	// Example: us-east-1d
39175	//
39176	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
39177	// is a Multi-AZ deployment. The specified Availability Zone must be in the
39178	// same AWS Region as the current endpoint.
39179	AvailabilityZone *string `type:"string"`
39180
39181	// The number of days for which automated backups are retained. Setting this
39182	// parameter to a positive number enables backups. For more information, see
39183	// CreateDBInstance.
39184	BackupRetentionPeriod *int64 `type:"integer"`
39185
39186	// A value that indicates whether to copy all tags from the DB instance to snapshots
39187	// of the DB instance. By default, tags are not copied.
39188	CopyTagsToSnapshot *bool `type:"boolean"`
39189
39190	// The compute and memory capacity of the DB instance, for example, db.m4.large.
39191	// Not all DB instance classes are available in all AWS Regions, or for all
39192	// database engines. For the full list of DB instance classes, and availability
39193	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
39194	// in the Amazon RDS User Guide.
39195	//
39196	// Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.
39197	//
39198	// DBInstanceClass is a required field
39199	DBInstanceClass *string `type:"string" required:"true"`
39200
39201	// The DB instance identifier. This parameter is stored as a lowercase string.
39202	//
39203	// Constraints:
39204	//
39205	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
39206	//
39207	//    * First character must be a letter.
39208	//
39209	//    * Can't end with a hyphen or contain two consecutive hyphens.
39210	//
39211	// Example: mydbinstance
39212	//
39213	// DBInstanceIdentifier is a required field
39214	DBInstanceIdentifier *string `type:"string" required:"true"`
39215
39216	// The name of the database to create when the DB instance is created. Follow
39217	// the naming rules specified in CreateDBInstance.
39218	DBName *string `type:"string"`
39219
39220	// The name of the DB parameter group to associate with this DB instance.
39221	//
39222	// If you do not specify a value for DBParameterGroupName, then the default
39223	// DBParameterGroup for the specified DB engine is used.
39224	DBParameterGroupName *string `type:"string"`
39225
39226	// A list of DB security groups to associate with this DB instance.
39227	//
39228	// Default: The default DB security group for the database engine.
39229	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
39230
39231	// A DB subnet group to associate with this DB instance.
39232	DBSubnetGroupName *string `type:"string"`
39233
39234	// A value that indicates whether the DB instance has deletion protection enabled.
39235	// The database can't be deleted when deletion protection is enabled. By default,
39236	// deletion protection is disabled. For more information, see Deleting a DB
39237	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
39238	DeletionProtection *bool `type:"boolean"`
39239
39240	// The list of logs that the restored DB instance is to export to CloudWatch
39241	// Logs. The values in the list depend on the DB engine being used. For more
39242	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
39243	// in the Amazon RDS User Guide.
39244	EnableCloudwatchLogsExports []*string `type:"list"`
39245
39246	// A value that indicates whether to enable mapping of AWS Identity and Access
39247	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
39248	// For information about the supported DB engines, see CreateDBInstance.
39249	//
39250	// For more information about IAM database authentication, see IAM Database
39251	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
39252	// in the Amazon RDS User Guide.
39253	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
39254
39255	// A value that indicates whether to enable Performance Insights for the DB
39256	// instance.
39257	//
39258	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
39259	// in the Amazon Relational Database Service User Guide.
39260	EnablePerformanceInsights *bool `type:"boolean"`
39261
39262	// The name of the database engine to be used for this instance.
39263	//
39264	// Valid Values: mysql
39265	//
39266	// Engine is a required field
39267	Engine *string `type:"string" required:"true"`
39268
39269	// The version number of the database engine to use. Choose the latest minor
39270	// version of your database engine. For information about engine versions, see
39271	// CreateDBInstance, or call DescribeDBEngineVersions.
39272	EngineVersion *string `type:"string"`
39273
39274	// The amount of Provisioned IOPS (input/output operations per second) to allocate
39275	// initially for the DB instance. For information about valid Iops values, see
39276	// Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
39277	// in the Amazon RDS User Guide.
39278	Iops *int64 `type:"integer"`
39279
39280	// The AWS KMS key identifier for an encrypted DB instance.
39281	//
39282	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
39283	// key. If you are creating a DB instance with the same AWS account that owns
39284	// the KMS encryption key used to encrypt the new DB instance, then you can
39285	// use the KMS key alias instead of the ARN for the KM encryption key.
39286	//
39287	// If the StorageEncrypted parameter is enabled, and you do not specify a value
39288	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
39289	// key. AWS KMS creates the default encryption key for your AWS account. Your
39290	// AWS account has a different default encryption key for each AWS Region.
39291	KmsKeyId *string `type:"string"`
39292
39293	// The license model for this DB instance. Use general-public-license.
39294	LicenseModel *string `type:"string"`
39295
39296	// The password for the master user. The password can include any printable
39297	// ASCII character except "/", """, or "@".
39298	//
39299	// Constraints: Must contain from 8 to 41 characters.
39300	MasterUserPassword *string `type:"string"`
39301
39302	// The name for the master user.
39303	//
39304	// Constraints:
39305	//
39306	//    * Must be 1 to 16 letters or numbers.
39307	//
39308	//    * First character must be a letter.
39309	//
39310	//    * Can't be a reserved word for the chosen database engine.
39311	MasterUsername *string `type:"string"`
39312
39313	// The interval, in seconds, between points when Enhanced Monitoring metrics
39314	// are collected for the DB instance. To disable collecting Enhanced Monitoring
39315	// metrics, specify 0.
39316	//
39317	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
39318	// to a value other than 0.
39319	//
39320	// Valid Values: 0, 1, 5, 10, 15, 30, 60
39321	//
39322	// Default: 0
39323	MonitoringInterval *int64 `type:"integer"`
39324
39325	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
39326	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
39327	// For information on creating a monitoring role, see Setting Up and Enabling
39328	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
39329	// in the Amazon RDS User Guide.
39330	//
39331	// If MonitoringInterval is set to a value other than 0, then you must supply
39332	// a MonitoringRoleArn value.
39333	MonitoringRoleArn *string `type:"string"`
39334
39335	// A value that indicates whether the DB instance is a Multi-AZ deployment.
39336	// If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone
39337	// parameter.
39338	MultiAZ *bool `type:"boolean"`
39339
39340	// The name of the option group to associate with this DB instance. If this
39341	// argument is omitted, the default option group for the specified engine is
39342	// used.
39343	OptionGroupName *string `type:"string"`
39344
39345	// The AWS KMS key identifier for encryption of Performance Insights data. The
39346	// KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or
39347	// the KMS key alias for the KMS encryption key.
39348	//
39349	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
39350	// RDS uses your default encryption key. AWS KMS creates the default encryption
39351	// key for your AWS account. Your AWS account has a different default encryption
39352	// key for each AWS Region.
39353	PerformanceInsightsKMSKeyId *string `type:"string"`
39354
39355	// The amount of time, in days, to retain Performance Insights data. Valid values
39356	// are 7 or 731 (2 years).
39357	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
39358
39359	// The port number on which the database accepts connections.
39360	//
39361	// Type: Integer
39362	//
39363	// Valid Values: 1150-65535
39364	//
39365	// Default: 3306
39366	Port *int64 `type:"integer"`
39367
39368	// The time range each day during which automated backups are created if automated
39369	// backups are enabled. For more information, see The Backup Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
39370	// in the Amazon RDS User Guide.
39371	//
39372	// Constraints:
39373	//
39374	//    * Must be in the format hh24:mi-hh24:mi.
39375	//
39376	//    * Must be in Universal Coordinated Time (UTC).
39377	//
39378	//    * Must not conflict with the preferred maintenance window.
39379	//
39380	//    * Must be at least 30 minutes.
39381	PreferredBackupWindow *string `type:"string"`
39382
39383	// The time range each week during which system maintenance can occur, in Universal
39384	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
39385	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
39386	// in the Amazon RDS User Guide.
39387	//
39388	// Constraints:
39389	//
39390	//    * Must be in the format ddd:hh24:mi-ddd:hh24:mi.
39391	//
39392	//    * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
39393	//
39394	//    * Must be in Universal Coordinated Time (UTC).
39395	//
39396	//    * Must not conflict with the preferred backup window.
39397	//
39398	//    * Must be at least 30 minutes.
39399	PreferredMaintenanceWindow *string `type:"string"`
39400
39401	// The number of CPU cores and the number of threads per core for the DB instance
39402	// class of the DB instance.
39403	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
39404
39405	// A value that indicates whether the DB instance is publicly accessible.
39406	//
39407	// When the DB instance is publicly accessible, its DNS endpoint resolves to
39408	// the private IP address from within the DB instance's VPC, and to the public
39409	// IP address from outside of the DB instance's VPC. Access to the DB instance
39410	// is ultimately controlled by the security group it uses, and that public access
39411	// is not permitted if the security group assigned to the DB instance doesn't
39412	// permit it.
39413	//
39414	// When the DB instance isn't publicly accessible, it is an internal DB instance
39415	// with a DNS name that resolves to a private IP address.
39416	//
39417	// For more information, see CreateDBInstance.
39418	PubliclyAccessible *bool `type:"boolean"`
39419
39420	// The name of your Amazon S3 bucket that contains your database backup file.
39421	//
39422	// S3BucketName is a required field
39423	S3BucketName *string `type:"string" required:"true"`
39424
39425	// An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access
39426	// your Amazon S3 bucket.
39427	//
39428	// S3IngestionRoleArn is a required field
39429	S3IngestionRoleArn *string `type:"string" required:"true"`
39430
39431	// The prefix of your Amazon S3 bucket.
39432	S3Prefix *string `type:"string"`
39433
39434	// The name of the engine of your source database.
39435	//
39436	// Valid Values: mysql
39437	//
39438	// SourceEngine is a required field
39439	SourceEngine *string `type:"string" required:"true"`
39440
39441	// The version of the database that the backup files were created from.
39442	//
39443	// MySQL versions 5.6 and 5.7 are supported.
39444	//
39445	// Example: 5.6.40
39446	//
39447	// SourceEngineVersion is a required field
39448	SourceEngineVersion *string `type:"string" required:"true"`
39449
39450	// A value that indicates whether the new DB instance is encrypted or not.
39451	StorageEncrypted *bool `type:"boolean"`
39452
39453	// Specifies the storage type to be associated with the DB instance.
39454	//
39455	// Valid values: standard | gp2 | io1
39456	//
39457	// If you specify io1, you must also include a value for the Iops parameter.
39458	//
39459	// Default: io1 if the Iops parameter is specified; otherwise gp2
39460	StorageType *string `type:"string"`
39461
39462	// A list of tags to associate with this DB instance. For more information,
39463	// see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
39464	// in the Amazon RDS User Guide.
39465	Tags []*Tag `locationNameList:"Tag" type:"list"`
39466
39467	// A value that indicates whether the DB instance class of the DB instance uses
39468	// its default processor features.
39469	UseDefaultProcessorFeatures *bool `type:"boolean"`
39470
39471	// A list of VPC security groups to associate with this DB instance.
39472	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
39473}
39474
39475// String returns the string representation
39476func (s RestoreDBInstanceFromS3Input) String() string {
39477	return awsutil.Prettify(s)
39478}
39479
39480// GoString returns the string representation
39481func (s RestoreDBInstanceFromS3Input) GoString() string {
39482	return s.String()
39483}
39484
39485// Validate inspects the fields of the type to determine if they are valid.
39486func (s *RestoreDBInstanceFromS3Input) Validate() error {
39487	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromS3Input"}
39488	if s.DBInstanceClass == nil {
39489		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
39490	}
39491	if s.DBInstanceIdentifier == nil {
39492		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
39493	}
39494	if s.Engine == nil {
39495		invalidParams.Add(request.NewErrParamRequired("Engine"))
39496	}
39497	if s.S3BucketName == nil {
39498		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
39499	}
39500	if s.S3IngestionRoleArn == nil {
39501		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
39502	}
39503	if s.SourceEngine == nil {
39504		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
39505	}
39506	if s.SourceEngineVersion == nil {
39507		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
39508	}
39509
39510	if invalidParams.Len() > 0 {
39511		return invalidParams
39512	}
39513	return nil
39514}
39515
39516// SetAllocatedStorage sets the AllocatedStorage field's value.
39517func (s *RestoreDBInstanceFromS3Input) SetAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
39518	s.AllocatedStorage = &v
39519	return s
39520}
39521
39522// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
39523func (s *RestoreDBInstanceFromS3Input) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromS3Input {
39524	s.AutoMinorVersionUpgrade = &v
39525	return s
39526}
39527
39528// SetAvailabilityZone sets the AvailabilityZone field's value.
39529func (s *RestoreDBInstanceFromS3Input) SetAvailabilityZone(v string) *RestoreDBInstanceFromS3Input {
39530	s.AvailabilityZone = &v
39531	return s
39532}
39533
39534// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
39535func (s *RestoreDBInstanceFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
39536	s.BackupRetentionPeriod = &v
39537	return s
39538}
39539
39540// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
39541func (s *RestoreDBInstanceFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromS3Input {
39542	s.CopyTagsToSnapshot = &v
39543	return s
39544}
39545
39546// SetDBInstanceClass sets the DBInstanceClass field's value.
39547func (s *RestoreDBInstanceFromS3Input) SetDBInstanceClass(v string) *RestoreDBInstanceFromS3Input {
39548	s.DBInstanceClass = &v
39549	return s
39550}
39551
39552// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
39553func (s *RestoreDBInstanceFromS3Input) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromS3Input {
39554	s.DBInstanceIdentifier = &v
39555	return s
39556}
39557
39558// SetDBName sets the DBName field's value.
39559func (s *RestoreDBInstanceFromS3Input) SetDBName(v string) *RestoreDBInstanceFromS3Input {
39560	s.DBName = &v
39561	return s
39562}
39563
39564// SetDBParameterGroupName sets the DBParameterGroupName field's value.
39565func (s *RestoreDBInstanceFromS3Input) SetDBParameterGroupName(v string) *RestoreDBInstanceFromS3Input {
39566	s.DBParameterGroupName = &v
39567	return s
39568}
39569
39570// SetDBSecurityGroups sets the DBSecurityGroups field's value.
39571func (s *RestoreDBInstanceFromS3Input) SetDBSecurityGroups(v []*string) *RestoreDBInstanceFromS3Input {
39572	s.DBSecurityGroups = v
39573	return s
39574}
39575
39576// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
39577func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromS3Input {
39578	s.DBSubnetGroupName = &v
39579	return s
39580}
39581
39582// SetDeletionProtection sets the DeletionProtection field's value.
39583func (s *RestoreDBInstanceFromS3Input) SetDeletionProtection(v bool) *RestoreDBInstanceFromS3Input {
39584	s.DeletionProtection = &v
39585	return s
39586}
39587
39588// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
39589func (s *RestoreDBInstanceFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromS3Input {
39590	s.EnableCloudwatchLogsExports = v
39591	return s
39592}
39593
39594// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
39595func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input {
39596	s.EnableIAMDatabaseAuthentication = &v
39597	return s
39598}
39599
39600// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
39601func (s *RestoreDBInstanceFromS3Input) SetEnablePerformanceInsights(v bool) *RestoreDBInstanceFromS3Input {
39602	s.EnablePerformanceInsights = &v
39603	return s
39604}
39605
39606// SetEngine sets the Engine field's value.
39607func (s *RestoreDBInstanceFromS3Input) SetEngine(v string) *RestoreDBInstanceFromS3Input {
39608	s.Engine = &v
39609	return s
39610}
39611
39612// SetEngineVersion sets the EngineVersion field's value.
39613func (s *RestoreDBInstanceFromS3Input) SetEngineVersion(v string) *RestoreDBInstanceFromS3Input {
39614	s.EngineVersion = &v
39615	return s
39616}
39617
39618// SetIops sets the Iops field's value.
39619func (s *RestoreDBInstanceFromS3Input) SetIops(v int64) *RestoreDBInstanceFromS3Input {
39620	s.Iops = &v
39621	return s
39622}
39623
39624// SetKmsKeyId sets the KmsKeyId field's value.
39625func (s *RestoreDBInstanceFromS3Input) SetKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
39626	s.KmsKeyId = &v
39627	return s
39628}
39629
39630// SetLicenseModel sets the LicenseModel field's value.
39631func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInstanceFromS3Input {
39632	s.LicenseModel = &v
39633	return s
39634}
39635
39636// SetMasterUserPassword sets the MasterUserPassword field's value.
39637func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
39638	s.MasterUserPassword = &v
39639	return s
39640}
39641
39642// SetMasterUsername sets the MasterUsername field's value.
39643func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
39644	s.MasterUsername = &v
39645	return s
39646}
39647
39648// SetMonitoringInterval sets the MonitoringInterval field's value.
39649func (s *RestoreDBInstanceFromS3Input) SetMonitoringInterval(v int64) *RestoreDBInstanceFromS3Input {
39650	s.MonitoringInterval = &v
39651	return s
39652}
39653
39654// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
39655func (s *RestoreDBInstanceFromS3Input) SetMonitoringRoleArn(v string) *RestoreDBInstanceFromS3Input {
39656	s.MonitoringRoleArn = &v
39657	return s
39658}
39659
39660// SetMultiAZ sets the MultiAZ field's value.
39661func (s *RestoreDBInstanceFromS3Input) SetMultiAZ(v bool) *RestoreDBInstanceFromS3Input {
39662	s.MultiAZ = &v
39663	return s
39664}
39665
39666// SetOptionGroupName sets the OptionGroupName field's value.
39667func (s *RestoreDBInstanceFromS3Input) SetOptionGroupName(v string) *RestoreDBInstanceFromS3Input {
39668	s.OptionGroupName = &v
39669	return s
39670}
39671
39672// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
39673func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsKMSKeyId(v string) *RestoreDBInstanceFromS3Input {
39674	s.PerformanceInsightsKMSKeyId = &v
39675	return s
39676}
39677
39678// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
39679func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
39680	s.PerformanceInsightsRetentionPeriod = &v
39681	return s
39682}
39683
39684// SetPort sets the Port field's value.
39685func (s *RestoreDBInstanceFromS3Input) SetPort(v int64) *RestoreDBInstanceFromS3Input {
39686	s.Port = &v
39687	return s
39688}
39689
39690// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
39691func (s *RestoreDBInstanceFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBInstanceFromS3Input {
39692	s.PreferredBackupWindow = &v
39693	return s
39694}
39695
39696// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
39697func (s *RestoreDBInstanceFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBInstanceFromS3Input {
39698	s.PreferredMaintenanceWindow = &v
39699	return s
39700}
39701
39702// SetProcessorFeatures sets the ProcessorFeatures field's value.
39703func (s *RestoreDBInstanceFromS3Input) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromS3Input {
39704	s.ProcessorFeatures = v
39705	return s
39706}
39707
39708// SetPubliclyAccessible sets the PubliclyAccessible field's value.
39709func (s *RestoreDBInstanceFromS3Input) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromS3Input {
39710	s.PubliclyAccessible = &v
39711	return s
39712}
39713
39714// SetS3BucketName sets the S3BucketName field's value.
39715func (s *RestoreDBInstanceFromS3Input) SetS3BucketName(v string) *RestoreDBInstanceFromS3Input {
39716	s.S3BucketName = &v
39717	return s
39718}
39719
39720// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
39721func (s *RestoreDBInstanceFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBInstanceFromS3Input {
39722	s.S3IngestionRoleArn = &v
39723	return s
39724}
39725
39726// SetS3Prefix sets the S3Prefix field's value.
39727func (s *RestoreDBInstanceFromS3Input) SetS3Prefix(v string) *RestoreDBInstanceFromS3Input {
39728	s.S3Prefix = &v
39729	return s
39730}
39731
39732// SetSourceEngine sets the SourceEngine field's value.
39733func (s *RestoreDBInstanceFromS3Input) SetSourceEngine(v string) *RestoreDBInstanceFromS3Input {
39734	s.SourceEngine = &v
39735	return s
39736}
39737
39738// SetSourceEngineVersion sets the SourceEngineVersion field's value.
39739func (s *RestoreDBInstanceFromS3Input) SetSourceEngineVersion(v string) *RestoreDBInstanceFromS3Input {
39740	s.SourceEngineVersion = &v
39741	return s
39742}
39743
39744// SetStorageEncrypted sets the StorageEncrypted field's value.
39745func (s *RestoreDBInstanceFromS3Input) SetStorageEncrypted(v bool) *RestoreDBInstanceFromS3Input {
39746	s.StorageEncrypted = &v
39747	return s
39748}
39749
39750// SetStorageType sets the StorageType field's value.
39751func (s *RestoreDBInstanceFromS3Input) SetStorageType(v string) *RestoreDBInstanceFromS3Input {
39752	s.StorageType = &v
39753	return s
39754}
39755
39756// SetTags sets the Tags field's value.
39757func (s *RestoreDBInstanceFromS3Input) SetTags(v []*Tag) *RestoreDBInstanceFromS3Input {
39758	s.Tags = v
39759	return s
39760}
39761
39762// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
39763func (s *RestoreDBInstanceFromS3Input) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromS3Input {
39764	s.UseDefaultProcessorFeatures = &v
39765	return s
39766}
39767
39768// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
39769func (s *RestoreDBInstanceFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromS3Input {
39770	s.VpcSecurityGroupIds = v
39771	return s
39772}
39773
39774type RestoreDBInstanceFromS3Output struct {
39775	_ struct{} `type:"structure"`
39776
39777	// Contains the details of an Amazon RDS DB instance.
39778	//
39779	// This data type is used as a response element in the DescribeDBInstances action.
39780	DBInstance *DBInstance `type:"structure"`
39781}
39782
39783// String returns the string representation
39784func (s RestoreDBInstanceFromS3Output) String() string {
39785	return awsutil.Prettify(s)
39786}
39787
39788// GoString returns the string representation
39789func (s RestoreDBInstanceFromS3Output) GoString() string {
39790	return s.String()
39791}
39792
39793// SetDBInstance sets the DBInstance field's value.
39794func (s *RestoreDBInstanceFromS3Output) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromS3Output {
39795	s.DBInstance = v
39796	return s
39797}
39798
39799type RestoreDBInstanceToPointInTimeInput struct {
39800	_ struct{} `type:"structure"`
39801
39802	// A value that indicates whether minor version upgrades are applied automatically
39803	// to the DB instance during the maintenance window.
39804	AutoMinorVersionUpgrade *bool `type:"boolean"`
39805
39806	// The Availability Zone (AZ) where the DB instance will be created.
39807	//
39808	// Default: A random, system-chosen Availability Zone.
39809	//
39810	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
39811	// is a Multi-AZ deployment.
39812	//
39813	// Example: us-east-1a
39814	AvailabilityZone *string `type:"string"`
39815
39816	// A value that indicates whether to copy all tags from the restored DB instance
39817	// to snapshots of the DB instance. By default, tags are not copied.
39818	CopyTagsToSnapshot *bool `type:"boolean"`
39819
39820	// The compute and memory capacity of the Amazon RDS DB instance, for example,
39821	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
39822	// or for all database engines. For the full list of DB instance classes, and
39823	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
39824	// in the Amazon RDS User Guide.
39825	//
39826	// Default: The same DBInstanceClass as the original DB instance.
39827	DBInstanceClass *string `type:"string"`
39828
39829	// The database name for the restored DB instance.
39830	//
39831	// This parameter isn't used for the MySQL or MariaDB engines.
39832	DBName *string `type:"string"`
39833
39834	// The name of the DB parameter group to associate with this DB instance.
39835	//
39836	// If you do not specify a value for DBParameterGroupName, then the default
39837	// DBParameterGroup for the specified DB engine is used.
39838	//
39839	// Constraints:
39840	//
39841	//    * If supplied, must match the name of an existing DBParameterGroup.
39842	//
39843	//    * Must be 1 to 255 letters, numbers, or hyphens.
39844	//
39845	//    * First character must be a letter.
39846	//
39847	//    * Can't end with a hyphen or contain two consecutive hyphens.
39848	DBParameterGroupName *string `type:"string"`
39849
39850	// The DB subnet group name to use for the new instance.
39851	//
39852	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
39853	//
39854	// Example: mySubnetgroup
39855	DBSubnetGroupName *string `type:"string"`
39856
39857	// A value that indicates whether the DB instance has deletion protection enabled.
39858	// The database can't be deleted when deletion protection is enabled. By default,
39859	// deletion protection is disabled. For more information, see Deleting a DB
39860	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
39861	DeletionProtection *bool `type:"boolean"`
39862
39863	// Specify the Active Directory directory ID to restore the DB instance in.
39864	// The domain must be created prior to this operation. Currently, only Microsoft
39865	// SQL Server and Oracle DB instances can be created in an Active Directory
39866	// Domain.
39867	//
39868	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
39869	// to authenticate users that connect to the DB instance. For more information,
39870	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
39871	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
39872	// in the Amazon RDS User Guide.
39873	//
39874	// For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate
39875	// users that connect to the DB instance. For more information, see Using Kerberos
39876	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
39877	// in the Amazon RDS User Guide.
39878	Domain *string `type:"string"`
39879
39880	// Specify the name of the IAM role to be used when making API calls to the
39881	// Directory Service.
39882	DomainIAMRoleName *string `type:"string"`
39883
39884	// The list of logs that the restored DB instance is to export to CloudWatch
39885	// Logs. The values in the list depend on the DB engine being used. For more
39886	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
39887	// in the Amazon RDS User Guide.
39888	EnableCloudwatchLogsExports []*string `type:"list"`
39889
39890	// A value that indicates whether to enable mapping of AWS Identity and Access
39891	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
39892	// For information about the supported DB engines, see CreateDBInstance.
39893	//
39894	// For more information about IAM database authentication, see IAM Database
39895	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
39896	// in the Amazon RDS User Guide.
39897	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
39898
39899	// The database engine to use for the new instance.
39900	//
39901	// Default: The same as source
39902	//
39903	// Constraint: Must be compatible with the engine of the source
39904	//
39905	// Valid Values:
39906	//
39907	//    * mariadb
39908	//
39909	//    * mysql
39910	//
39911	//    * oracle-ee
39912	//
39913	//    * oracle-se2
39914	//
39915	//    * oracle-se1
39916	//
39917	//    * oracle-se
39918	//
39919	//    * postgres
39920	//
39921	//    * sqlserver-ee
39922	//
39923	//    * sqlserver-se
39924	//
39925	//    * sqlserver-ex
39926	//
39927	//    * sqlserver-web
39928	Engine *string `type:"string"`
39929
39930	// The amount of Provisioned IOPS (input/output operations per second) to be
39931	// initially allocated for the DB instance.
39932	//
39933	// Constraints: Must be an integer greater than 1000.
39934	//
39935	// SQL Server
39936	//
39937	// Setting the IOPS value for the SQL Server database engine isn't supported.
39938	Iops *int64 `type:"integer"`
39939
39940	// License model information for the restored DB instance.
39941	//
39942	// Default: Same as source.
39943	//
39944	// Valid values: license-included | bring-your-own-license | general-public-license
39945	LicenseModel *string `type:"string"`
39946
39947	// A value that indicates whether the DB instance is a Multi-AZ deployment.
39948	//
39949	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
39950	// is a Multi-AZ deployment.
39951	MultiAZ *bool `type:"boolean"`
39952
39953	// The name of the option group to be used for the restored DB instance.
39954	//
39955	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
39956	// can't be removed from an option group, and that option group can't be removed
39957	// from a DB instance once it is associated with a DB instance
39958	OptionGroupName *string `type:"string"`
39959
39960	// The port number on which the database accepts connections.
39961	//
39962	// Constraints: Value must be 1150-65535
39963	//
39964	// Default: The same port as the original DB instance.
39965	Port *int64 `type:"integer"`
39966
39967	// The number of CPU cores and the number of threads per core for the DB instance
39968	// class of the DB instance.
39969	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
39970
39971	// A value that indicates whether the DB instance is publicly accessible.
39972	//
39973	// When the DB instance is publicly accessible, its DNS endpoint resolves to
39974	// the private IP address from within the DB instance's VPC, and to the public
39975	// IP address from outside of the DB instance's VPC. Access to the DB instance
39976	// is ultimately controlled by the security group it uses, and that public access
39977	// is not permitted if the security group assigned to the DB instance doesn't
39978	// permit it.
39979	//
39980	// When the DB instance isn't publicly accessible, it is an internal DB instance
39981	// with a DNS name that resolves to a private IP address.
39982	//
39983	// For more information, see CreateDBInstance.
39984	PubliclyAccessible *bool `type:"boolean"`
39985
39986	// The date and time to restore from.
39987	//
39988	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
39989	//
39990	// Constraints:
39991	//
39992	//    * Must be before the latest restorable time for the DB instance
39993	//
39994	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
39995	//
39996	// Example: 2009-09-07T23:45:00Z
39997	RestoreTime *time.Time `type:"timestamp"`
39998
39999	// The identifier of the source DB instance from which to restore.
40000	//
40001	// Constraints:
40002	//
40003	//    * Must match the identifier of an existing DB instance.
40004	SourceDBInstanceIdentifier *string `type:"string"`
40005
40006	// The resource ID of the source DB instance from which to restore.
40007	SourceDbiResourceId *string `type:"string"`
40008
40009	// Specifies the storage type to be associated with the DB instance.
40010	//
40011	// Valid values: standard | gp2 | io1
40012	//
40013	// If you specify io1, you must also include a value for the Iops parameter.
40014	//
40015	// Default: io1 if the Iops parameter is specified, otherwise gp2
40016	StorageType *string `type:"string"`
40017
40018	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
40019	// in the Amazon RDS User Guide.
40020	Tags []*Tag `locationNameList:"Tag" type:"list"`
40021
40022	// The name of the new DB instance to be created.
40023	//
40024	// Constraints:
40025	//
40026	//    * Must contain from 1 to 63 letters, numbers, or hyphens
40027	//
40028	//    * First character must be a letter
40029	//
40030	//    * Can't end with a hyphen or contain two consecutive hyphens
40031	//
40032	// TargetDBInstanceIdentifier is a required field
40033	TargetDBInstanceIdentifier *string `type:"string" required:"true"`
40034
40035	// The ARN from the key store with which to associate the instance for TDE encryption.
40036	TdeCredentialArn *string `type:"string"`
40037
40038	// The password for the given ARN from the key store in order to access the
40039	// device.
40040	TdeCredentialPassword *string `type:"string"`
40041
40042	// A value that indicates whether the DB instance class of the DB instance uses
40043	// its default processor features.
40044	UseDefaultProcessorFeatures *bool `type:"boolean"`
40045
40046	// A value that indicates whether the DB instance is restored from the latest
40047	// backup time. By default, the DB instance isn't restored from the latest backup
40048	// time.
40049	//
40050	// Constraints: Can't be specified if the RestoreTime parameter is provided.
40051	UseLatestRestorableTime *bool `type:"boolean"`
40052
40053	// A list of EC2 VPC security groups to associate with this DB instance.
40054	//
40055	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
40056	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
40057}
40058
40059// String returns the string representation
40060func (s RestoreDBInstanceToPointInTimeInput) String() string {
40061	return awsutil.Prettify(s)
40062}
40063
40064// GoString returns the string representation
40065func (s RestoreDBInstanceToPointInTimeInput) GoString() string {
40066	return s.String()
40067}
40068
40069// Validate inspects the fields of the type to determine if they are valid.
40070func (s *RestoreDBInstanceToPointInTimeInput) Validate() error {
40071	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceToPointInTimeInput"}
40072	if s.TargetDBInstanceIdentifier == nil {
40073		invalidParams.Add(request.NewErrParamRequired("TargetDBInstanceIdentifier"))
40074	}
40075
40076	if invalidParams.Len() > 0 {
40077		return invalidParams
40078	}
40079	return nil
40080}
40081
40082// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
40083func (s *RestoreDBInstanceToPointInTimeInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceToPointInTimeInput {
40084	s.AutoMinorVersionUpgrade = &v
40085	return s
40086}
40087
40088// SetAvailabilityZone sets the AvailabilityZone field's value.
40089func (s *RestoreDBInstanceToPointInTimeInput) SetAvailabilityZone(v string) *RestoreDBInstanceToPointInTimeInput {
40090	s.AvailabilityZone = &v
40091	return s
40092}
40093
40094// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
40095func (s *RestoreDBInstanceToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceToPointInTimeInput {
40096	s.CopyTagsToSnapshot = &v
40097	return s
40098}
40099
40100// SetDBInstanceClass sets the DBInstanceClass field's value.
40101func (s *RestoreDBInstanceToPointInTimeInput) SetDBInstanceClass(v string) *RestoreDBInstanceToPointInTimeInput {
40102	s.DBInstanceClass = &v
40103	return s
40104}
40105
40106// SetDBName sets the DBName field's value.
40107func (s *RestoreDBInstanceToPointInTimeInput) SetDBName(v string) *RestoreDBInstanceToPointInTimeInput {
40108	s.DBName = &v
40109	return s
40110}
40111
40112// SetDBParameterGroupName sets the DBParameterGroupName field's value.
40113func (s *RestoreDBInstanceToPointInTimeInput) SetDBParameterGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
40114	s.DBParameterGroupName = &v
40115	return s
40116}
40117
40118// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
40119func (s *RestoreDBInstanceToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
40120	s.DBSubnetGroupName = &v
40121	return s
40122}
40123
40124// SetDeletionProtection sets the DeletionProtection field's value.
40125func (s *RestoreDBInstanceToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBInstanceToPointInTimeInput {
40126	s.DeletionProtection = &v
40127	return s
40128}
40129
40130// SetDomain sets the Domain field's value.
40131func (s *RestoreDBInstanceToPointInTimeInput) SetDomain(v string) *RestoreDBInstanceToPointInTimeInput {
40132	s.Domain = &v
40133	return s
40134}
40135
40136// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
40137func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceToPointInTimeInput {
40138	s.DomainIAMRoleName = &v
40139	return s
40140}
40141
40142// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
40143func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceToPointInTimeInput {
40144	s.EnableCloudwatchLogsExports = v
40145	return s
40146}
40147
40148// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
40149func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput {
40150	s.EnableIAMDatabaseAuthentication = &v
40151	return s
40152}
40153
40154// SetEngine sets the Engine field's value.
40155func (s *RestoreDBInstanceToPointInTimeInput) SetEngine(v string) *RestoreDBInstanceToPointInTimeInput {
40156	s.Engine = &v
40157	return s
40158}
40159
40160// SetIops sets the Iops field's value.
40161func (s *RestoreDBInstanceToPointInTimeInput) SetIops(v int64) *RestoreDBInstanceToPointInTimeInput {
40162	s.Iops = &v
40163	return s
40164}
40165
40166// SetLicenseModel sets the LicenseModel field's value.
40167func (s *RestoreDBInstanceToPointInTimeInput) SetLicenseModel(v string) *RestoreDBInstanceToPointInTimeInput {
40168	s.LicenseModel = &v
40169	return s
40170}
40171
40172// SetMultiAZ sets the MultiAZ field's value.
40173func (s *RestoreDBInstanceToPointInTimeInput) SetMultiAZ(v bool) *RestoreDBInstanceToPointInTimeInput {
40174	s.MultiAZ = &v
40175	return s
40176}
40177
40178// SetOptionGroupName sets the OptionGroupName field's value.
40179func (s *RestoreDBInstanceToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
40180	s.OptionGroupName = &v
40181	return s
40182}
40183
40184// SetPort sets the Port field's value.
40185func (s *RestoreDBInstanceToPointInTimeInput) SetPort(v int64) *RestoreDBInstanceToPointInTimeInput {
40186	s.Port = &v
40187	return s
40188}
40189
40190// SetProcessorFeatures sets the ProcessorFeatures field's value.
40191func (s *RestoreDBInstanceToPointInTimeInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceToPointInTimeInput {
40192	s.ProcessorFeatures = v
40193	return s
40194}
40195
40196// SetPubliclyAccessible sets the PubliclyAccessible field's value.
40197func (s *RestoreDBInstanceToPointInTimeInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceToPointInTimeInput {
40198	s.PubliclyAccessible = &v
40199	return s
40200}
40201
40202// SetRestoreTime sets the RestoreTime field's value.
40203func (s *RestoreDBInstanceToPointInTimeInput) SetRestoreTime(v time.Time) *RestoreDBInstanceToPointInTimeInput {
40204	s.RestoreTime = &v
40205	return s
40206}
40207
40208// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
40209func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
40210	s.SourceDBInstanceIdentifier = &v
40211	return s
40212}
40213
40214// SetSourceDbiResourceId sets the SourceDbiResourceId field's value.
40215func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDbiResourceId(v string) *RestoreDBInstanceToPointInTimeInput {
40216	s.SourceDbiResourceId = &v
40217	return s
40218}
40219
40220// SetStorageType sets the StorageType field's value.
40221func (s *RestoreDBInstanceToPointInTimeInput) SetStorageType(v string) *RestoreDBInstanceToPointInTimeInput {
40222	s.StorageType = &v
40223	return s
40224}
40225
40226// SetTags sets the Tags field's value.
40227func (s *RestoreDBInstanceToPointInTimeInput) SetTags(v []*Tag) *RestoreDBInstanceToPointInTimeInput {
40228	s.Tags = v
40229	return s
40230}
40231
40232// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
40233func (s *RestoreDBInstanceToPointInTimeInput) SetTargetDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
40234	s.TargetDBInstanceIdentifier = &v
40235	return s
40236}
40237
40238// SetTdeCredentialArn sets the TdeCredentialArn field's value.
40239func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialArn(v string) *RestoreDBInstanceToPointInTimeInput {
40240	s.TdeCredentialArn = &v
40241	return s
40242}
40243
40244// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
40245func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceToPointInTimeInput {
40246	s.TdeCredentialPassword = &v
40247	return s
40248}
40249
40250// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
40251func (s *RestoreDBInstanceToPointInTimeInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceToPointInTimeInput {
40252	s.UseDefaultProcessorFeatures = &v
40253	return s
40254}
40255
40256// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
40257func (s *RestoreDBInstanceToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBInstanceToPointInTimeInput {
40258	s.UseLatestRestorableTime = &v
40259	return s
40260}
40261
40262// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
40263func (s *RestoreDBInstanceToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceToPointInTimeInput {
40264	s.VpcSecurityGroupIds = v
40265	return s
40266}
40267
40268type RestoreDBInstanceToPointInTimeOutput struct {
40269	_ struct{} `type:"structure"`
40270
40271	// Contains the details of an Amazon RDS DB instance.
40272	//
40273	// This data type is used as a response element in the DescribeDBInstances action.
40274	DBInstance *DBInstance `type:"structure"`
40275}
40276
40277// String returns the string representation
40278func (s RestoreDBInstanceToPointInTimeOutput) String() string {
40279	return awsutil.Prettify(s)
40280}
40281
40282// GoString returns the string representation
40283func (s RestoreDBInstanceToPointInTimeOutput) GoString() string {
40284	return s.String()
40285}
40286
40287// SetDBInstance sets the DBInstance field's value.
40288func (s *RestoreDBInstanceToPointInTimeOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceToPointInTimeOutput {
40289	s.DBInstance = v
40290	return s
40291}
40292
40293// Earliest and latest time an instance can be restored to:
40294type RestoreWindow struct {
40295	_ struct{} `type:"structure"`
40296
40297	// The earliest time you can restore an instance to.
40298	EarliestTime *time.Time `type:"timestamp"`
40299
40300	// The latest time you can restore an instance to.
40301	LatestTime *time.Time `type:"timestamp"`
40302}
40303
40304// String returns the string representation
40305func (s RestoreWindow) String() string {
40306	return awsutil.Prettify(s)
40307}
40308
40309// GoString returns the string representation
40310func (s RestoreWindow) GoString() string {
40311	return s.String()
40312}
40313
40314// SetEarliestTime sets the EarliestTime field's value.
40315func (s *RestoreWindow) SetEarliestTime(v time.Time) *RestoreWindow {
40316	s.EarliestTime = &v
40317	return s
40318}
40319
40320// SetLatestTime sets the LatestTime field's value.
40321func (s *RestoreWindow) SetLatestTime(v time.Time) *RestoreWindow {
40322	s.LatestTime = &v
40323	return s
40324}
40325
40326type RevokeDBSecurityGroupIngressInput struct {
40327	_ struct{} `type:"structure"`
40328
40329	// The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP
40330	// is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId
40331	// can't be provided.
40332	CIDRIP *string `type:"string"`
40333
40334	// The name of the DB security group to revoke ingress from.
40335	//
40336	// DBSecurityGroupName is a required field
40337	DBSecurityGroupName *string `type:"string" required:"true"`
40338
40339	// The id of the EC2 security group to revoke access from. For VPC DB security
40340	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
40341	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
40342	EC2SecurityGroupId *string `type:"string"`
40343
40344	// The name of the EC2 security group to revoke access from. For VPC DB security
40345	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
40346	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
40347	EC2SecurityGroupName *string `type:"string"`
40348
40349	// The AWS account number of the owner of the EC2 security group specified in
40350	// the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable
40351	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
40352	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
40353	// must be provided.
40354	EC2SecurityGroupOwnerId *string `type:"string"`
40355}
40356
40357// String returns the string representation
40358func (s RevokeDBSecurityGroupIngressInput) String() string {
40359	return awsutil.Prettify(s)
40360}
40361
40362// GoString returns the string representation
40363func (s RevokeDBSecurityGroupIngressInput) GoString() string {
40364	return s.String()
40365}
40366
40367// Validate inspects the fields of the type to determine if they are valid.
40368func (s *RevokeDBSecurityGroupIngressInput) Validate() error {
40369	invalidParams := request.ErrInvalidParams{Context: "RevokeDBSecurityGroupIngressInput"}
40370	if s.DBSecurityGroupName == nil {
40371		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
40372	}
40373
40374	if invalidParams.Len() > 0 {
40375		return invalidParams
40376	}
40377	return nil
40378}
40379
40380// SetCIDRIP sets the CIDRIP field's value.
40381func (s *RevokeDBSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeDBSecurityGroupIngressInput {
40382	s.CIDRIP = &v
40383	return s
40384}
40385
40386// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
40387func (s *RevokeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
40388	s.DBSecurityGroupName = &v
40389	return s
40390}
40391
40392// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
40393func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *RevokeDBSecurityGroupIngressInput {
40394	s.EC2SecurityGroupId = &v
40395	return s
40396}
40397
40398// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
40399func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
40400	s.EC2SecurityGroupName = &v
40401	return s
40402}
40403
40404// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
40405func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeDBSecurityGroupIngressInput {
40406	s.EC2SecurityGroupOwnerId = &v
40407	return s
40408}
40409
40410type RevokeDBSecurityGroupIngressOutput struct {
40411	_ struct{} `type:"structure"`
40412
40413	// Contains the details for an Amazon RDS DB security group.
40414	//
40415	// This data type is used as a response element in the DescribeDBSecurityGroups
40416	// action.
40417	DBSecurityGroup *DBSecurityGroup `type:"structure"`
40418}
40419
40420// String returns the string representation
40421func (s RevokeDBSecurityGroupIngressOutput) String() string {
40422	return awsutil.Prettify(s)
40423}
40424
40425// GoString returns the string representation
40426func (s RevokeDBSecurityGroupIngressOutput) GoString() string {
40427	return s.String()
40428}
40429
40430// SetDBSecurityGroup sets the DBSecurityGroup field's value.
40431func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *RevokeDBSecurityGroupIngressOutput {
40432	s.DBSecurityGroup = v
40433	return s
40434}
40435
40436// Contains the scaling configuration of an Aurora Serverless DB cluster.
40437//
40438// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
40439// in the Amazon Aurora User Guide.
40440type ScalingConfiguration struct {
40441	_ struct{} `type:"structure"`
40442
40443	// A value that indicates whether to allow or disallow automatic pause for an
40444	// Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused
40445	// only when it's idle (it has no connections).
40446	//
40447	// If a DB cluster is paused for more than seven days, the DB cluster might
40448	// be backed up with a snapshot. In this case, the DB cluster is restored when
40449	// there is a request to connect to it.
40450	AutoPause *bool `type:"boolean"`
40451
40452	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
40453	//
40454	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
40455	// and 256.
40456	//
40457	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
40458	// and 384.
40459	//
40460	// The maximum capacity must be greater than or equal to the minimum capacity.
40461	MaxCapacity *int64 `type:"integer"`
40462
40463	// The minimum capacity for an Aurora DB cluster in serverless DB engine mode.
40464	//
40465	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
40466	// and 256.
40467	//
40468	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
40469	// and 384.
40470	//
40471	// The minimum capacity must be less than or equal to the maximum capacity.
40472	MinCapacity *int64 `type:"integer"`
40473
40474	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused.
40475	SecondsUntilAutoPause *int64 `type:"integer"`
40476
40477	// The action to take when the timeout is reached, either ForceApplyCapacityChange
40478	// or RollbackCapacityChange.
40479	//
40480	// ForceApplyCapacityChange sets the capacity to the specified value as soon
40481	// as possible.
40482	//
40483	// RollbackCapacityChange, the default, ignores the capacity change if a scaling
40484	// point isn't found in the timeout period.
40485	//
40486	// If you specify ForceApplyCapacityChange, connections that prevent Aurora
40487	// Serverless from finding a scaling point might be dropped.
40488	//
40489	// For more information, see Autoscaling for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling)
40490	// in the Amazon Aurora User Guide.
40491	TimeoutAction *string `type:"string"`
40492}
40493
40494// String returns the string representation
40495func (s ScalingConfiguration) String() string {
40496	return awsutil.Prettify(s)
40497}
40498
40499// GoString returns the string representation
40500func (s ScalingConfiguration) GoString() string {
40501	return s.String()
40502}
40503
40504// SetAutoPause sets the AutoPause field's value.
40505func (s *ScalingConfiguration) SetAutoPause(v bool) *ScalingConfiguration {
40506	s.AutoPause = &v
40507	return s
40508}
40509
40510// SetMaxCapacity sets the MaxCapacity field's value.
40511func (s *ScalingConfiguration) SetMaxCapacity(v int64) *ScalingConfiguration {
40512	s.MaxCapacity = &v
40513	return s
40514}
40515
40516// SetMinCapacity sets the MinCapacity field's value.
40517func (s *ScalingConfiguration) SetMinCapacity(v int64) *ScalingConfiguration {
40518	s.MinCapacity = &v
40519	return s
40520}
40521
40522// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
40523func (s *ScalingConfiguration) SetSecondsUntilAutoPause(v int64) *ScalingConfiguration {
40524	s.SecondsUntilAutoPause = &v
40525	return s
40526}
40527
40528// SetTimeoutAction sets the TimeoutAction field's value.
40529func (s *ScalingConfiguration) SetTimeoutAction(v string) *ScalingConfiguration {
40530	s.TimeoutAction = &v
40531	return s
40532}
40533
40534// Shows the scaling configuration for an Aurora DB cluster in serverless DB
40535// engine mode.
40536//
40537// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
40538// in the Amazon Aurora User Guide.
40539type ScalingConfigurationInfo struct {
40540	_ struct{} `type:"structure"`
40541
40542	// A value that indicates whether automatic pause is allowed for the Aurora
40543	// DB cluster in serverless DB engine mode.
40544	//
40545	// When the value is set to false for an Aurora Serverless DB cluster, the DB
40546	// cluster automatically resumes.
40547	AutoPause *bool `type:"boolean"`
40548
40549	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
40550	MaxCapacity *int64 `type:"integer"`
40551
40552	// The maximum capacity for the Aurora DB cluster in serverless DB engine mode.
40553	MinCapacity *int64 `type:"integer"`
40554
40555	// The remaining amount of time, in seconds, before the Aurora DB cluster in
40556	// serverless mode is paused. A DB cluster can be paused only when it's idle
40557	// (it has no connections).
40558	SecondsUntilAutoPause *int64 `type:"integer"`
40559
40560	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
40561	// or RollbackCapacityChange.
40562	TimeoutAction *string `type:"string"`
40563}
40564
40565// String returns the string representation
40566func (s ScalingConfigurationInfo) String() string {
40567	return awsutil.Prettify(s)
40568}
40569
40570// GoString returns the string representation
40571func (s ScalingConfigurationInfo) GoString() string {
40572	return s.String()
40573}
40574
40575// SetAutoPause sets the AutoPause field's value.
40576func (s *ScalingConfigurationInfo) SetAutoPause(v bool) *ScalingConfigurationInfo {
40577	s.AutoPause = &v
40578	return s
40579}
40580
40581// SetMaxCapacity sets the MaxCapacity field's value.
40582func (s *ScalingConfigurationInfo) SetMaxCapacity(v int64) *ScalingConfigurationInfo {
40583	s.MaxCapacity = &v
40584	return s
40585}
40586
40587// SetMinCapacity sets the MinCapacity field's value.
40588func (s *ScalingConfigurationInfo) SetMinCapacity(v int64) *ScalingConfigurationInfo {
40589	s.MinCapacity = &v
40590	return s
40591}
40592
40593// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
40594func (s *ScalingConfigurationInfo) SetSecondsUntilAutoPause(v int64) *ScalingConfigurationInfo {
40595	s.SecondsUntilAutoPause = &v
40596	return s
40597}
40598
40599// SetTimeoutAction sets the TimeoutAction field's value.
40600func (s *ScalingConfigurationInfo) SetTimeoutAction(v string) *ScalingConfigurationInfo {
40601	s.TimeoutAction = &v
40602	return s
40603}
40604
40605// Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions
40606// action.
40607type SourceRegion struct {
40608	_ struct{} `type:"structure"`
40609
40610	// The endpoint for the source AWS Region endpoint.
40611	Endpoint *string `type:"string"`
40612
40613	// The name of the source AWS Region.
40614	RegionName *string `type:"string"`
40615
40616	// The status of the source AWS Region.
40617	Status *string `type:"string"`
40618}
40619
40620// String returns the string representation
40621func (s SourceRegion) String() string {
40622	return awsutil.Prettify(s)
40623}
40624
40625// GoString returns the string representation
40626func (s SourceRegion) GoString() string {
40627	return s.String()
40628}
40629
40630// SetEndpoint sets the Endpoint field's value.
40631func (s *SourceRegion) SetEndpoint(v string) *SourceRegion {
40632	s.Endpoint = &v
40633	return s
40634}
40635
40636// SetRegionName sets the RegionName field's value.
40637func (s *SourceRegion) SetRegionName(v string) *SourceRegion {
40638	s.RegionName = &v
40639	return s
40640}
40641
40642// SetStatus sets the Status field's value.
40643func (s *SourceRegion) SetStatus(v string) *SourceRegion {
40644	s.Status = &v
40645	return s
40646}
40647
40648type StartActivityStreamInput struct {
40649	_ struct{} `type:"structure"`
40650
40651	// Specifies whether or not the database activity stream is to start as soon
40652	// as possible, regardless of the maintenance window for the database.
40653	ApplyImmediately *bool `type:"boolean"`
40654
40655	// The AWS KMS key identifier for encrypting messages in the database activity
40656	// stream. The key identifier can be either a key ID, a key ARN, or a key alias.
40657	//
40658	// KmsKeyId is a required field
40659	KmsKeyId *string `type:"string" required:"true"`
40660
40661	// Specifies the mode of the database activity stream. Database events such
40662	// as a change or access generate an activity stream event. The database session
40663	// can handle these events either synchronously or asynchronously.
40664	//
40665	// Mode is a required field
40666	Mode *string `type:"string" required:"true" enum:"ActivityStreamMode"`
40667
40668	// The Amazon Resource Name (ARN) of the DB cluster, for example arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
40669	//
40670	// ResourceArn is a required field
40671	ResourceArn *string `type:"string" required:"true"`
40672}
40673
40674// String returns the string representation
40675func (s StartActivityStreamInput) String() string {
40676	return awsutil.Prettify(s)
40677}
40678
40679// GoString returns the string representation
40680func (s StartActivityStreamInput) GoString() string {
40681	return s.String()
40682}
40683
40684// Validate inspects the fields of the type to determine if they are valid.
40685func (s *StartActivityStreamInput) Validate() error {
40686	invalidParams := request.ErrInvalidParams{Context: "StartActivityStreamInput"}
40687	if s.KmsKeyId == nil {
40688		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
40689	}
40690	if s.Mode == nil {
40691		invalidParams.Add(request.NewErrParamRequired("Mode"))
40692	}
40693	if s.ResourceArn == nil {
40694		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
40695	}
40696
40697	if invalidParams.Len() > 0 {
40698		return invalidParams
40699	}
40700	return nil
40701}
40702
40703// SetApplyImmediately sets the ApplyImmediately field's value.
40704func (s *StartActivityStreamInput) SetApplyImmediately(v bool) *StartActivityStreamInput {
40705	s.ApplyImmediately = &v
40706	return s
40707}
40708
40709// SetKmsKeyId sets the KmsKeyId field's value.
40710func (s *StartActivityStreamInput) SetKmsKeyId(v string) *StartActivityStreamInput {
40711	s.KmsKeyId = &v
40712	return s
40713}
40714
40715// SetMode sets the Mode field's value.
40716func (s *StartActivityStreamInput) SetMode(v string) *StartActivityStreamInput {
40717	s.Mode = &v
40718	return s
40719}
40720
40721// SetResourceArn sets the ResourceArn field's value.
40722func (s *StartActivityStreamInput) SetResourceArn(v string) *StartActivityStreamInput {
40723	s.ResourceArn = &v
40724	return s
40725}
40726
40727type StartActivityStreamOutput struct {
40728	_ struct{} `type:"structure"`
40729
40730	// Indicates whether or not the database activity stream will start as soon
40731	// as possible, regardless of the maintenance window for the database.
40732	ApplyImmediately *bool `type:"boolean"`
40733
40734	// The name of the Amazon Kinesis data stream to be used for the database activity
40735	// stream.
40736	KinesisStreamName *string `type:"string"`
40737
40738	// The AWS KMS key identifier for encryption of messages in the database activity
40739	// stream.
40740	KmsKeyId *string `type:"string"`
40741
40742	// The mode of the database activity stream.
40743	Mode *string `type:"string" enum:"ActivityStreamMode"`
40744
40745	// The status of the database activity stream.
40746	Status *string `type:"string" enum:"ActivityStreamStatus"`
40747}
40748
40749// String returns the string representation
40750func (s StartActivityStreamOutput) String() string {
40751	return awsutil.Prettify(s)
40752}
40753
40754// GoString returns the string representation
40755func (s StartActivityStreamOutput) GoString() string {
40756	return s.String()
40757}
40758
40759// SetApplyImmediately sets the ApplyImmediately field's value.
40760func (s *StartActivityStreamOutput) SetApplyImmediately(v bool) *StartActivityStreamOutput {
40761	s.ApplyImmediately = &v
40762	return s
40763}
40764
40765// SetKinesisStreamName sets the KinesisStreamName field's value.
40766func (s *StartActivityStreamOutput) SetKinesisStreamName(v string) *StartActivityStreamOutput {
40767	s.KinesisStreamName = &v
40768	return s
40769}
40770
40771// SetKmsKeyId sets the KmsKeyId field's value.
40772func (s *StartActivityStreamOutput) SetKmsKeyId(v string) *StartActivityStreamOutput {
40773	s.KmsKeyId = &v
40774	return s
40775}
40776
40777// SetMode sets the Mode field's value.
40778func (s *StartActivityStreamOutput) SetMode(v string) *StartActivityStreamOutput {
40779	s.Mode = &v
40780	return s
40781}
40782
40783// SetStatus sets the Status field's value.
40784func (s *StartActivityStreamOutput) SetStatus(v string) *StartActivityStreamOutput {
40785	s.Status = &v
40786	return s
40787}
40788
40789type StartDBClusterInput struct {
40790	_ struct{} `type:"structure"`
40791
40792	// The DB cluster identifier of the Amazon Aurora DB cluster to be started.
40793	// This parameter is stored as a lowercase string.
40794	//
40795	// DBClusterIdentifier is a required field
40796	DBClusterIdentifier *string `type:"string" required:"true"`
40797}
40798
40799// String returns the string representation
40800func (s StartDBClusterInput) String() string {
40801	return awsutil.Prettify(s)
40802}
40803
40804// GoString returns the string representation
40805func (s StartDBClusterInput) GoString() string {
40806	return s.String()
40807}
40808
40809// Validate inspects the fields of the type to determine if they are valid.
40810func (s *StartDBClusterInput) Validate() error {
40811	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
40812	if s.DBClusterIdentifier == nil {
40813		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
40814	}
40815
40816	if invalidParams.Len() > 0 {
40817		return invalidParams
40818	}
40819	return nil
40820}
40821
40822// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
40823func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
40824	s.DBClusterIdentifier = &v
40825	return s
40826}
40827
40828type StartDBClusterOutput struct {
40829	_ struct{} `type:"structure"`
40830
40831	// Contains the details of an Amazon Aurora DB cluster.
40832	//
40833	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
40834	// and StartDBCluster actions.
40835	DBCluster *DBCluster `type:"structure"`
40836}
40837
40838// String returns the string representation
40839func (s StartDBClusterOutput) String() string {
40840	return awsutil.Prettify(s)
40841}
40842
40843// GoString returns the string representation
40844func (s StartDBClusterOutput) GoString() string {
40845	return s.String()
40846}
40847
40848// SetDBCluster sets the DBCluster field's value.
40849func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
40850	s.DBCluster = v
40851	return s
40852}
40853
40854type StartDBInstanceInput struct {
40855	_ struct{} `type:"structure"`
40856
40857	// The user-supplied instance identifier.
40858	//
40859	// DBInstanceIdentifier is a required field
40860	DBInstanceIdentifier *string `type:"string" required:"true"`
40861}
40862
40863// String returns the string representation
40864func (s StartDBInstanceInput) String() string {
40865	return awsutil.Prettify(s)
40866}
40867
40868// GoString returns the string representation
40869func (s StartDBInstanceInput) GoString() string {
40870	return s.String()
40871}
40872
40873// Validate inspects the fields of the type to determine if they are valid.
40874func (s *StartDBInstanceInput) Validate() error {
40875	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceInput"}
40876	if s.DBInstanceIdentifier == nil {
40877		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
40878	}
40879
40880	if invalidParams.Len() > 0 {
40881		return invalidParams
40882	}
40883	return nil
40884}
40885
40886// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
40887func (s *StartDBInstanceInput) SetDBInstanceIdentifier(v string) *StartDBInstanceInput {
40888	s.DBInstanceIdentifier = &v
40889	return s
40890}
40891
40892type StartDBInstanceOutput struct {
40893	_ struct{} `type:"structure"`
40894
40895	// Contains the details of an Amazon RDS DB instance.
40896	//
40897	// This data type is used as a response element in the DescribeDBInstances action.
40898	DBInstance *DBInstance `type:"structure"`
40899}
40900
40901// String returns the string representation
40902func (s StartDBInstanceOutput) String() string {
40903	return awsutil.Prettify(s)
40904}
40905
40906// GoString returns the string representation
40907func (s StartDBInstanceOutput) GoString() string {
40908	return s.String()
40909}
40910
40911// SetDBInstance sets the DBInstance field's value.
40912func (s *StartDBInstanceOutput) SetDBInstance(v *DBInstance) *StartDBInstanceOutput {
40913	s.DBInstance = v
40914	return s
40915}
40916
40917type StartExportTaskInput struct {
40918	_ struct{} `type:"structure"`
40919
40920	// The data to be exported from the snapshot. If this parameter is not provided,
40921	// all the snapshot data is exported. Valid values are the following:
40922	//
40923	//    * database - Export all the data from a specified database.
40924	//
40925	//    * database.table table-name - Export a table of the snapshot. This format
40926	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
40927	//
40928	//    * database.schema schema-name - Export a database schema of the snapshot.
40929	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
40930	//
40931	//    * database.schema.table table-name - Export a table of the database schema.
40932	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
40933	ExportOnly []*string `type:"list"`
40934
40935	// A unique identifier for the snapshot export task. This ID isn't an identifier
40936	// for the Amazon S3 bucket where the snapshot is to be exported to.
40937	//
40938	// ExportTaskIdentifier is a required field
40939	ExportTaskIdentifier *string `type:"string" required:"true"`
40940
40941	// The name of the IAM role to use for writing to the Amazon S3 bucket when
40942	// exporting a snapshot.
40943	//
40944	// IamRoleArn is a required field
40945	IamRoleArn *string `type:"string" required:"true"`
40946
40947	// The ID of the AWS KMS key to use to encrypt the snapshot exported to Amazon
40948	// S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier,
40949	// or the KMS key alias for the KMS encryption key. The IAM role used for the
40950	// snapshot export must have encryption and decryption permissions to use this
40951	// KMS key.
40952	//
40953	// KmsKeyId is a required field
40954	KmsKeyId *string `type:"string" required:"true"`
40955
40956	// The name of the Amazon S3 bucket to export the snapshot to.
40957	//
40958	// S3BucketName is a required field
40959	S3BucketName *string `type:"string" required:"true"`
40960
40961	// The Amazon S3 bucket prefix to use as the file name and path of the exported
40962	// snapshot.
40963	S3Prefix *string `type:"string"`
40964
40965	// The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.
40966	//
40967	// SourceArn is a required field
40968	SourceArn *string `type:"string" required:"true"`
40969}
40970
40971// String returns the string representation
40972func (s StartExportTaskInput) String() string {
40973	return awsutil.Prettify(s)
40974}
40975
40976// GoString returns the string representation
40977func (s StartExportTaskInput) GoString() string {
40978	return s.String()
40979}
40980
40981// Validate inspects the fields of the type to determine if they are valid.
40982func (s *StartExportTaskInput) Validate() error {
40983	invalidParams := request.ErrInvalidParams{Context: "StartExportTaskInput"}
40984	if s.ExportTaskIdentifier == nil {
40985		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
40986	}
40987	if s.IamRoleArn == nil {
40988		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
40989	}
40990	if s.KmsKeyId == nil {
40991		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
40992	}
40993	if s.S3BucketName == nil {
40994		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
40995	}
40996	if s.SourceArn == nil {
40997		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
40998	}
40999
41000	if invalidParams.Len() > 0 {
41001		return invalidParams
41002	}
41003	return nil
41004}
41005
41006// SetExportOnly sets the ExportOnly field's value.
41007func (s *StartExportTaskInput) SetExportOnly(v []*string) *StartExportTaskInput {
41008	s.ExportOnly = v
41009	return s
41010}
41011
41012// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
41013func (s *StartExportTaskInput) SetExportTaskIdentifier(v string) *StartExportTaskInput {
41014	s.ExportTaskIdentifier = &v
41015	return s
41016}
41017
41018// SetIamRoleArn sets the IamRoleArn field's value.
41019func (s *StartExportTaskInput) SetIamRoleArn(v string) *StartExportTaskInput {
41020	s.IamRoleArn = &v
41021	return s
41022}
41023
41024// SetKmsKeyId sets the KmsKeyId field's value.
41025func (s *StartExportTaskInput) SetKmsKeyId(v string) *StartExportTaskInput {
41026	s.KmsKeyId = &v
41027	return s
41028}
41029
41030// SetS3BucketName sets the S3BucketName field's value.
41031func (s *StartExportTaskInput) SetS3BucketName(v string) *StartExportTaskInput {
41032	s.S3BucketName = &v
41033	return s
41034}
41035
41036// SetS3Prefix sets the S3Prefix field's value.
41037func (s *StartExportTaskInput) SetS3Prefix(v string) *StartExportTaskInput {
41038	s.S3Prefix = &v
41039	return s
41040}
41041
41042// SetSourceArn sets the SourceArn field's value.
41043func (s *StartExportTaskInput) SetSourceArn(v string) *StartExportTaskInput {
41044	s.SourceArn = &v
41045	return s
41046}
41047
41048// Contains the details of a snapshot export to Amazon S3.
41049//
41050// This data type is used as a response element in the DescribeExportTasks action.
41051type StartExportTaskOutput struct {
41052	_ struct{} `type:"structure"`
41053
41054	// The data exported from the snapshot. Valid values are the following:
41055	//
41056	//    * database - Export all the data from a specified database.
41057	//
41058	//    * database.table table-name - Export a table of the snapshot. This format
41059	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
41060	//
41061	//    * database.schema schema-name - Export a database schema of the snapshot.
41062	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
41063	//
41064	//    * database.schema.table table-name - Export a table of the database schema.
41065	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
41066	ExportOnly []*string `type:"list"`
41067
41068	// A unique identifier for the snapshot export task. This ID isn't an identifier
41069	// for the Amazon S3 bucket where the snapshot is exported to.
41070	ExportTaskIdentifier *string `type:"string"`
41071
41072	// The reason the export failed, if it failed.
41073	FailureCause *string `type:"string"`
41074
41075	// The name of the IAM role that is used to write to Amazon S3 when exporting
41076	// a snapshot.
41077	IamRoleArn *string `type:"string"`
41078
41079	// The ID of the AWS KMS key that is used to encrypt the snapshot when it's
41080	// exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN),
41081	// the KMS key identifier, or the KMS key alias for the KMS encryption key.
41082	// The IAM role used for the snapshot export must have encryption and decryption
41083	// permissions to use this KMS key.
41084	KmsKeyId *string `type:"string"`
41085
41086	// The progress of the snapshot export task as a percentage.
41087	PercentProgress *int64 `type:"integer"`
41088
41089	// The Amazon S3 bucket that the snapshot is exported to.
41090	S3Bucket *string `type:"string"`
41091
41092	// The Amazon S3 bucket prefix that is the file name and path of the exported
41093	// snapshot.
41094	S3Prefix *string `type:"string"`
41095
41096	// The time that the snapshot was created.
41097	SnapshotTime *time.Time `type:"timestamp"`
41098
41099	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
41100	SourceArn *string `type:"string"`
41101
41102	// The progress status of the export task.
41103	Status *string `type:"string"`
41104
41105	// The time that the snapshot export task completed.
41106	TaskEndTime *time.Time `type:"timestamp"`
41107
41108	// The time that the snapshot export task started.
41109	TaskStartTime *time.Time `type:"timestamp"`
41110
41111	// The total amount of data exported, in gigabytes.
41112	TotalExtractedDataInGB *int64 `type:"integer"`
41113
41114	// A warning about the snapshot export task.
41115	WarningMessage *string `type:"string"`
41116}
41117
41118// String returns the string representation
41119func (s StartExportTaskOutput) String() string {
41120	return awsutil.Prettify(s)
41121}
41122
41123// GoString returns the string representation
41124func (s StartExportTaskOutput) GoString() string {
41125	return s.String()
41126}
41127
41128// SetExportOnly sets the ExportOnly field's value.
41129func (s *StartExportTaskOutput) SetExportOnly(v []*string) *StartExportTaskOutput {
41130	s.ExportOnly = v
41131	return s
41132}
41133
41134// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
41135func (s *StartExportTaskOutput) SetExportTaskIdentifier(v string) *StartExportTaskOutput {
41136	s.ExportTaskIdentifier = &v
41137	return s
41138}
41139
41140// SetFailureCause sets the FailureCause field's value.
41141func (s *StartExportTaskOutput) SetFailureCause(v string) *StartExportTaskOutput {
41142	s.FailureCause = &v
41143	return s
41144}
41145
41146// SetIamRoleArn sets the IamRoleArn field's value.
41147func (s *StartExportTaskOutput) SetIamRoleArn(v string) *StartExportTaskOutput {
41148	s.IamRoleArn = &v
41149	return s
41150}
41151
41152// SetKmsKeyId sets the KmsKeyId field's value.
41153func (s *StartExportTaskOutput) SetKmsKeyId(v string) *StartExportTaskOutput {
41154	s.KmsKeyId = &v
41155	return s
41156}
41157
41158// SetPercentProgress sets the PercentProgress field's value.
41159func (s *StartExportTaskOutput) SetPercentProgress(v int64) *StartExportTaskOutput {
41160	s.PercentProgress = &v
41161	return s
41162}
41163
41164// SetS3Bucket sets the S3Bucket field's value.
41165func (s *StartExportTaskOutput) SetS3Bucket(v string) *StartExportTaskOutput {
41166	s.S3Bucket = &v
41167	return s
41168}
41169
41170// SetS3Prefix sets the S3Prefix field's value.
41171func (s *StartExportTaskOutput) SetS3Prefix(v string) *StartExportTaskOutput {
41172	s.S3Prefix = &v
41173	return s
41174}
41175
41176// SetSnapshotTime sets the SnapshotTime field's value.
41177func (s *StartExportTaskOutput) SetSnapshotTime(v time.Time) *StartExportTaskOutput {
41178	s.SnapshotTime = &v
41179	return s
41180}
41181
41182// SetSourceArn sets the SourceArn field's value.
41183func (s *StartExportTaskOutput) SetSourceArn(v string) *StartExportTaskOutput {
41184	s.SourceArn = &v
41185	return s
41186}
41187
41188// SetStatus sets the Status field's value.
41189func (s *StartExportTaskOutput) SetStatus(v string) *StartExportTaskOutput {
41190	s.Status = &v
41191	return s
41192}
41193
41194// SetTaskEndTime sets the TaskEndTime field's value.
41195func (s *StartExportTaskOutput) SetTaskEndTime(v time.Time) *StartExportTaskOutput {
41196	s.TaskEndTime = &v
41197	return s
41198}
41199
41200// SetTaskStartTime sets the TaskStartTime field's value.
41201func (s *StartExportTaskOutput) SetTaskStartTime(v time.Time) *StartExportTaskOutput {
41202	s.TaskStartTime = &v
41203	return s
41204}
41205
41206// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
41207func (s *StartExportTaskOutput) SetTotalExtractedDataInGB(v int64) *StartExportTaskOutput {
41208	s.TotalExtractedDataInGB = &v
41209	return s
41210}
41211
41212// SetWarningMessage sets the WarningMessage field's value.
41213func (s *StartExportTaskOutput) SetWarningMessage(v string) *StartExportTaskOutput {
41214	s.WarningMessage = &v
41215	return s
41216}
41217
41218type StopActivityStreamInput struct {
41219	_ struct{} `type:"structure"`
41220
41221	// Specifies whether or not the database activity stream is to stop as soon
41222	// as possible, regardless of the maintenance window for the database.
41223	ApplyImmediately *bool `type:"boolean"`
41224
41225	// The Amazon Resource Name (ARN) of the DB cluster for the database activity
41226	// stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
41227	//
41228	// ResourceArn is a required field
41229	ResourceArn *string `type:"string" required:"true"`
41230}
41231
41232// String returns the string representation
41233func (s StopActivityStreamInput) String() string {
41234	return awsutil.Prettify(s)
41235}
41236
41237// GoString returns the string representation
41238func (s StopActivityStreamInput) GoString() string {
41239	return s.String()
41240}
41241
41242// Validate inspects the fields of the type to determine if they are valid.
41243func (s *StopActivityStreamInput) Validate() error {
41244	invalidParams := request.ErrInvalidParams{Context: "StopActivityStreamInput"}
41245	if s.ResourceArn == nil {
41246		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
41247	}
41248
41249	if invalidParams.Len() > 0 {
41250		return invalidParams
41251	}
41252	return nil
41253}
41254
41255// SetApplyImmediately sets the ApplyImmediately field's value.
41256func (s *StopActivityStreamInput) SetApplyImmediately(v bool) *StopActivityStreamInput {
41257	s.ApplyImmediately = &v
41258	return s
41259}
41260
41261// SetResourceArn sets the ResourceArn field's value.
41262func (s *StopActivityStreamInput) SetResourceArn(v string) *StopActivityStreamInput {
41263	s.ResourceArn = &v
41264	return s
41265}
41266
41267type StopActivityStreamOutput struct {
41268	_ struct{} `type:"structure"`
41269
41270	// The name of the Amazon Kinesis data stream used for the database activity
41271	// stream.
41272	KinesisStreamName *string `type:"string"`
41273
41274	// The AWS KMS key identifier used for encrypting messages in the database activity
41275	// stream.
41276	KmsKeyId *string `type:"string"`
41277
41278	// The status of the database activity stream.
41279	Status *string `type:"string" enum:"ActivityStreamStatus"`
41280}
41281
41282// String returns the string representation
41283func (s StopActivityStreamOutput) String() string {
41284	return awsutil.Prettify(s)
41285}
41286
41287// GoString returns the string representation
41288func (s StopActivityStreamOutput) GoString() string {
41289	return s.String()
41290}
41291
41292// SetKinesisStreamName sets the KinesisStreamName field's value.
41293func (s *StopActivityStreamOutput) SetKinesisStreamName(v string) *StopActivityStreamOutput {
41294	s.KinesisStreamName = &v
41295	return s
41296}
41297
41298// SetKmsKeyId sets the KmsKeyId field's value.
41299func (s *StopActivityStreamOutput) SetKmsKeyId(v string) *StopActivityStreamOutput {
41300	s.KmsKeyId = &v
41301	return s
41302}
41303
41304// SetStatus sets the Status field's value.
41305func (s *StopActivityStreamOutput) SetStatus(v string) *StopActivityStreamOutput {
41306	s.Status = &v
41307	return s
41308}
41309
41310type StopDBClusterInput struct {
41311	_ struct{} `type:"structure"`
41312
41313	// The DB cluster identifier of the Amazon Aurora DB cluster to be stopped.
41314	// This parameter is stored as a lowercase string.
41315	//
41316	// DBClusterIdentifier is a required field
41317	DBClusterIdentifier *string `type:"string" required:"true"`
41318}
41319
41320// String returns the string representation
41321func (s StopDBClusterInput) String() string {
41322	return awsutil.Prettify(s)
41323}
41324
41325// GoString returns the string representation
41326func (s StopDBClusterInput) GoString() string {
41327	return s.String()
41328}
41329
41330// Validate inspects the fields of the type to determine if they are valid.
41331func (s *StopDBClusterInput) Validate() error {
41332	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
41333	if s.DBClusterIdentifier == nil {
41334		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
41335	}
41336
41337	if invalidParams.Len() > 0 {
41338		return invalidParams
41339	}
41340	return nil
41341}
41342
41343// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
41344func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
41345	s.DBClusterIdentifier = &v
41346	return s
41347}
41348
41349type StopDBClusterOutput struct {
41350	_ struct{} `type:"structure"`
41351
41352	// Contains the details of an Amazon Aurora DB cluster.
41353	//
41354	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
41355	// and StartDBCluster actions.
41356	DBCluster *DBCluster `type:"structure"`
41357}
41358
41359// String returns the string representation
41360func (s StopDBClusterOutput) String() string {
41361	return awsutil.Prettify(s)
41362}
41363
41364// GoString returns the string representation
41365func (s StopDBClusterOutput) GoString() string {
41366	return s.String()
41367}
41368
41369// SetDBCluster sets the DBCluster field's value.
41370func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
41371	s.DBCluster = v
41372	return s
41373}
41374
41375type StopDBInstanceInput struct {
41376	_ struct{} `type:"structure"`
41377
41378	// The user-supplied instance identifier.
41379	//
41380	// DBInstanceIdentifier is a required field
41381	DBInstanceIdentifier *string `type:"string" required:"true"`
41382
41383	// The user-supplied instance identifier of the DB Snapshot created immediately
41384	// before the DB instance is stopped.
41385	DBSnapshotIdentifier *string `type:"string"`
41386}
41387
41388// String returns the string representation
41389func (s StopDBInstanceInput) String() string {
41390	return awsutil.Prettify(s)
41391}
41392
41393// GoString returns the string representation
41394func (s StopDBInstanceInput) GoString() string {
41395	return s.String()
41396}
41397
41398// Validate inspects the fields of the type to determine if they are valid.
41399func (s *StopDBInstanceInput) Validate() error {
41400	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceInput"}
41401	if s.DBInstanceIdentifier == nil {
41402		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
41403	}
41404
41405	if invalidParams.Len() > 0 {
41406		return invalidParams
41407	}
41408	return nil
41409}
41410
41411// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
41412func (s *StopDBInstanceInput) SetDBInstanceIdentifier(v string) *StopDBInstanceInput {
41413	s.DBInstanceIdentifier = &v
41414	return s
41415}
41416
41417// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
41418func (s *StopDBInstanceInput) SetDBSnapshotIdentifier(v string) *StopDBInstanceInput {
41419	s.DBSnapshotIdentifier = &v
41420	return s
41421}
41422
41423type StopDBInstanceOutput struct {
41424	_ struct{} `type:"structure"`
41425
41426	// Contains the details of an Amazon RDS DB instance.
41427	//
41428	// This data type is used as a response element in the DescribeDBInstances action.
41429	DBInstance *DBInstance `type:"structure"`
41430}
41431
41432// String returns the string representation
41433func (s StopDBInstanceOutput) String() string {
41434	return awsutil.Prettify(s)
41435}
41436
41437// GoString returns the string representation
41438func (s StopDBInstanceOutput) GoString() string {
41439	return s.String()
41440}
41441
41442// SetDBInstance sets the DBInstance field's value.
41443func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutput {
41444	s.DBInstance = v
41445	return s
41446}
41447
41448// This data type is used as a response element for the DescribeDBSubnetGroups
41449// operation.
41450type Subnet struct {
41451	_ struct{} `type:"structure"`
41452
41453	// Contains Availability Zone information.
41454	//
41455	// This data type is used as an element in the OrderableDBInstanceOption data
41456	// type.
41457	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
41458
41459	// The identifier of the subnet.
41460	SubnetIdentifier *string `type:"string"`
41461
41462	// If the subnet is associated with an Outpost, this value specifies the Outpost.
41463	//
41464	// For more information about RDS on Outposts, see Amazon RDS on AWS Outposts
41465	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
41466	// in the Amazon RDS User Guide.
41467	SubnetOutpost *Outpost `type:"structure"`
41468
41469	// The status of the subnet.
41470	SubnetStatus *string `type:"string"`
41471}
41472
41473// String returns the string representation
41474func (s Subnet) String() string {
41475	return awsutil.Prettify(s)
41476}
41477
41478// GoString returns the string representation
41479func (s Subnet) GoString() string {
41480	return s.String()
41481}
41482
41483// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
41484func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
41485	s.SubnetAvailabilityZone = v
41486	return s
41487}
41488
41489// SetSubnetIdentifier sets the SubnetIdentifier field's value.
41490func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
41491	s.SubnetIdentifier = &v
41492	return s
41493}
41494
41495// SetSubnetOutpost sets the SubnetOutpost field's value.
41496func (s *Subnet) SetSubnetOutpost(v *Outpost) *Subnet {
41497	s.SubnetOutpost = v
41498	return s
41499}
41500
41501// SetSubnetStatus sets the SubnetStatus field's value.
41502func (s *Subnet) SetSubnetStatus(v string) *Subnet {
41503	s.SubnetStatus = &v
41504	return s
41505}
41506
41507// Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
41508type Tag struct {
41509	_ struct{} `type:"structure"`
41510
41511	// A key is the required name of the tag. The string value can be from 1 to
41512	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
41513	// The string can only contain only the set of Unicode letters, digits, white-space,
41514	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
41515	Key *string `type:"string"`
41516
41517	// A value is the optional value of the tag. The string value can be from 1
41518	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
41519	// "rds:". The string can only contain only the set of Unicode letters, digits,
41520	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
41521	Value *string `type:"string"`
41522}
41523
41524// String returns the string representation
41525func (s Tag) String() string {
41526	return awsutil.Prettify(s)
41527}
41528
41529// GoString returns the string representation
41530func (s Tag) GoString() string {
41531	return s.String()
41532}
41533
41534// SetKey sets the Key field's value.
41535func (s *Tag) SetKey(v string) *Tag {
41536	s.Key = &v
41537	return s
41538}
41539
41540// SetValue sets the Value field's value.
41541func (s *Tag) SetValue(v string) *Tag {
41542	s.Value = &v
41543	return s
41544}
41545
41546// Information about the connection health of an RDS Proxy target.
41547type TargetHealth struct {
41548	_ struct{} `type:"structure"`
41549
41550	// A description of the health of the RDS Proxy target. If the State is AVAILABLE,
41551	// a description is not included.
41552	Description *string `type:"string"`
41553
41554	// The reason for the current health State of the RDS Proxy target.
41555	Reason *string `type:"string" enum:"TargetHealthReason"`
41556
41557	// The current state of the connection health lifecycle for the RDS Proxy target.
41558	// The following is a typical lifecycle example for the states of an RDS Proxy
41559	// target:
41560	//
41561	// registering > unavailable > available > unavailable > available
41562	State *string `type:"string" enum:"TargetState"`
41563}
41564
41565// String returns the string representation
41566func (s TargetHealth) String() string {
41567	return awsutil.Prettify(s)
41568}
41569
41570// GoString returns the string representation
41571func (s TargetHealth) GoString() string {
41572	return s.String()
41573}
41574
41575// SetDescription sets the Description field's value.
41576func (s *TargetHealth) SetDescription(v string) *TargetHealth {
41577	s.Description = &v
41578	return s
41579}
41580
41581// SetReason sets the Reason field's value.
41582func (s *TargetHealth) SetReason(v string) *TargetHealth {
41583	s.Reason = &v
41584	return s
41585}
41586
41587// SetState sets the State field's value.
41588func (s *TargetHealth) SetState(v string) *TargetHealth {
41589	s.State = &v
41590	return s
41591}
41592
41593// A time zone associated with a DBInstance or a DBSnapshot. This data type
41594// is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots,
41595// and the DescribeDBEngineVersions actions.
41596type Timezone struct {
41597	_ struct{} `type:"structure"`
41598
41599	// The name of the time zone.
41600	TimezoneName *string `type:"string"`
41601}
41602
41603// String returns the string representation
41604func (s Timezone) String() string {
41605	return awsutil.Prettify(s)
41606}
41607
41608// GoString returns the string representation
41609func (s Timezone) GoString() string {
41610	return s.String()
41611}
41612
41613// SetTimezoneName sets the TimezoneName field's value.
41614func (s *Timezone) SetTimezoneName(v string) *Timezone {
41615	s.TimezoneName = &v
41616	return s
41617}
41618
41619// The version of the database engine that a DB instance can be upgraded to.
41620type UpgradeTarget struct {
41621	_ struct{} `type:"structure"`
41622
41623	// A value that indicates whether the target version is applied to any source
41624	// DB instances that have AutoMinorVersionUpgrade set to true.
41625	AutoUpgrade *bool `type:"boolean"`
41626
41627	// The version of the database engine that a DB instance can be upgraded to.
41628	Description *string `type:"string"`
41629
41630	// The name of the upgrade target database engine.
41631	Engine *string `type:"string"`
41632
41633	// The version number of the upgrade target database engine.
41634	EngineVersion *string `type:"string"`
41635
41636	// A value that indicates whether a database engine is upgraded to a major version.
41637	IsMajorVersionUpgrade *bool `type:"boolean"`
41638}
41639
41640// String returns the string representation
41641func (s UpgradeTarget) String() string {
41642	return awsutil.Prettify(s)
41643}
41644
41645// GoString returns the string representation
41646func (s UpgradeTarget) GoString() string {
41647	return s.String()
41648}
41649
41650// SetAutoUpgrade sets the AutoUpgrade field's value.
41651func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
41652	s.AutoUpgrade = &v
41653	return s
41654}
41655
41656// SetDescription sets the Description field's value.
41657func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
41658	s.Description = &v
41659	return s
41660}
41661
41662// SetEngine sets the Engine field's value.
41663func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
41664	s.Engine = &v
41665	return s
41666}
41667
41668// SetEngineVersion sets the EngineVersion field's value.
41669func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
41670	s.EngineVersion = &v
41671	return s
41672}
41673
41674// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
41675func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
41676	s.IsMajorVersionUpgrade = &v
41677	return s
41678}
41679
41680// Specifies the details of authentication used by a proxy to log in as a specific
41681// database user.
41682type UserAuthConfig struct {
41683	_ struct{} `type:"structure"`
41684
41685	// The type of authentication that the proxy uses for connections from the proxy
41686	// to the underlying database.
41687	AuthScheme *string `type:"string" enum:"AuthScheme"`
41688
41689	// A user-specified description about the authentication used by a proxy to
41690	// log in as a specific database user.
41691	Description *string `type:"string"`
41692
41693	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication
41694	// for connections to the proxy.
41695	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
41696
41697	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
41698	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
41699	// are stored within Amazon Secrets Manager.
41700	SecretArn *string `type:"string"`
41701
41702	// The name of the database user to which the proxy connects.
41703	UserName *string `type:"string"`
41704}
41705
41706// String returns the string representation
41707func (s UserAuthConfig) String() string {
41708	return awsutil.Prettify(s)
41709}
41710
41711// GoString returns the string representation
41712func (s UserAuthConfig) GoString() string {
41713	return s.String()
41714}
41715
41716// SetAuthScheme sets the AuthScheme field's value.
41717func (s *UserAuthConfig) SetAuthScheme(v string) *UserAuthConfig {
41718	s.AuthScheme = &v
41719	return s
41720}
41721
41722// SetDescription sets the Description field's value.
41723func (s *UserAuthConfig) SetDescription(v string) *UserAuthConfig {
41724	s.Description = &v
41725	return s
41726}
41727
41728// SetIAMAuth sets the IAMAuth field's value.
41729func (s *UserAuthConfig) SetIAMAuth(v string) *UserAuthConfig {
41730	s.IAMAuth = &v
41731	return s
41732}
41733
41734// SetSecretArn sets the SecretArn field's value.
41735func (s *UserAuthConfig) SetSecretArn(v string) *UserAuthConfig {
41736	s.SecretArn = &v
41737	return s
41738}
41739
41740// SetUserName sets the UserName field's value.
41741func (s *UserAuthConfig) SetUserName(v string) *UserAuthConfig {
41742	s.UserName = &v
41743	return s
41744}
41745
41746// Returns the details of authentication used by a proxy to log in as a specific
41747// database user.
41748type UserAuthConfigInfo struct {
41749	_ struct{} `type:"structure"`
41750
41751	// The type of authentication that the proxy uses for connections from the proxy
41752	// to the underlying database.
41753	AuthScheme *string `type:"string" enum:"AuthScheme"`
41754
41755	// A user-specified description about the authentication used by a proxy to
41756	// log in as a specific database user.
41757	Description *string `type:"string"`
41758
41759	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication
41760	// for connections to the proxy.
41761	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
41762
41763	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
41764	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
41765	// are stored within Amazon Secrets Manager.
41766	SecretArn *string `type:"string"`
41767
41768	// The name of the database user to which the proxy connects.
41769	UserName *string `type:"string"`
41770}
41771
41772// String returns the string representation
41773func (s UserAuthConfigInfo) String() string {
41774	return awsutil.Prettify(s)
41775}
41776
41777// GoString returns the string representation
41778func (s UserAuthConfigInfo) GoString() string {
41779	return s.String()
41780}
41781
41782// SetAuthScheme sets the AuthScheme field's value.
41783func (s *UserAuthConfigInfo) SetAuthScheme(v string) *UserAuthConfigInfo {
41784	s.AuthScheme = &v
41785	return s
41786}
41787
41788// SetDescription sets the Description field's value.
41789func (s *UserAuthConfigInfo) SetDescription(v string) *UserAuthConfigInfo {
41790	s.Description = &v
41791	return s
41792}
41793
41794// SetIAMAuth sets the IAMAuth field's value.
41795func (s *UserAuthConfigInfo) SetIAMAuth(v string) *UserAuthConfigInfo {
41796	s.IAMAuth = &v
41797	return s
41798}
41799
41800// SetSecretArn sets the SecretArn field's value.
41801func (s *UserAuthConfigInfo) SetSecretArn(v string) *UserAuthConfigInfo {
41802	s.SecretArn = &v
41803	return s
41804}
41805
41806// SetUserName sets the UserName field's value.
41807func (s *UserAuthConfigInfo) SetUserName(v string) *UserAuthConfigInfo {
41808	s.UserName = &v
41809	return s
41810}
41811
41812// Information about valid modifications that you can make to your DB instance.
41813// Contains the result of a successful call to the DescribeValidDBInstanceModifications
41814// action. You can use this information when you call ModifyDBInstance.
41815type ValidDBInstanceModificationsMessage struct {
41816	_ struct{} `type:"structure"`
41817
41818	// Valid storage options for your DB instance.
41819	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
41820
41821	// Valid processor features for your DB instance.
41822	ValidProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
41823}
41824
41825// String returns the string representation
41826func (s ValidDBInstanceModificationsMessage) String() string {
41827	return awsutil.Prettify(s)
41828}
41829
41830// GoString returns the string representation
41831func (s ValidDBInstanceModificationsMessage) GoString() string {
41832	return s.String()
41833}
41834
41835// SetStorage sets the Storage field's value.
41836func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
41837	s.Storage = v
41838	return s
41839}
41840
41841// SetValidProcessorFeatures sets the ValidProcessorFeatures field's value.
41842func (s *ValidDBInstanceModificationsMessage) SetValidProcessorFeatures(v []*AvailableProcessorFeature) *ValidDBInstanceModificationsMessage {
41843	s.ValidProcessorFeatures = v
41844	return s
41845}
41846
41847// Information about valid modifications that you can make to your DB instance.
41848// Contains the result of a successful call to the DescribeValidDBInstanceModifications
41849// action.
41850type ValidStorageOptions struct {
41851	_ struct{} `type:"structure"`
41852
41853	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
41854	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
41855	// times storage.
41856	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
41857
41858	// The valid range of provisioned IOPS. For example, 1000-20000.
41859	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
41860
41861	// The valid range of storage in gibibytes. For example, 100 to 16384.
41862	StorageSize []*Range `locationNameList:"Range" type:"list"`
41863
41864	// The valid storage types for your DB instance. For example, gp2, io1.
41865	StorageType *string `type:"string"`
41866
41867	// Whether or not Amazon RDS can automatically scale storage for DB instances
41868	// that use the new instance class.
41869	SupportsStorageAutoscaling *bool `type:"boolean"`
41870}
41871
41872// String returns the string representation
41873func (s ValidStorageOptions) String() string {
41874	return awsutil.Prettify(s)
41875}
41876
41877// GoString returns the string representation
41878func (s ValidStorageOptions) GoString() string {
41879	return s.String()
41880}
41881
41882// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
41883func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
41884	s.IopsToStorageRatio = v
41885	return s
41886}
41887
41888// SetProvisionedIops sets the ProvisionedIops field's value.
41889func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
41890	s.ProvisionedIops = v
41891	return s
41892}
41893
41894// SetStorageSize sets the StorageSize field's value.
41895func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
41896	s.StorageSize = v
41897	return s
41898}
41899
41900// SetStorageType sets the StorageType field's value.
41901func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
41902	s.StorageType = &v
41903	return s
41904}
41905
41906// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
41907func (s *ValidStorageOptions) SetSupportsStorageAutoscaling(v bool) *ValidStorageOptions {
41908	s.SupportsStorageAutoscaling = &v
41909	return s
41910}
41911
41912// This data type is used as a response element for queries on VPC security
41913// group membership.
41914type VpcSecurityGroupMembership struct {
41915	_ struct{} `type:"structure"`
41916
41917	// The status of the VPC security group.
41918	Status *string `type:"string"`
41919
41920	// The name of the VPC security group.
41921	VpcSecurityGroupId *string `type:"string"`
41922}
41923
41924// String returns the string representation
41925func (s VpcSecurityGroupMembership) String() string {
41926	return awsutil.Prettify(s)
41927}
41928
41929// GoString returns the string representation
41930func (s VpcSecurityGroupMembership) GoString() string {
41931	return s.String()
41932}
41933
41934// SetStatus sets the Status field's value.
41935func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
41936	s.Status = &v
41937	return s
41938}
41939
41940// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
41941func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
41942	s.VpcSecurityGroupId = &v
41943	return s
41944}
41945
41946// Information about the virtual private network (VPN) between the VMware vSphere
41947// cluster and the AWS website.
41948//
41949// For more information about RDS on VMware, see the RDS on VMware User Guide.
41950// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
41951type VpnDetails struct {
41952	_ struct{} `type:"structure"`
41953
41954	// The IP address of network traffic from AWS to your on-premises data center.
41955	VpnGatewayIp *string `type:"string"`
41956
41957	// The ID of the VPN.
41958	VpnId *string `type:"string"`
41959
41960	// The name of the VPN.
41961	VpnName *string `type:"string"`
41962
41963	// The preshared key (PSK) for the VPN.
41964	VpnPSK *string `type:"string" sensitive:"true"`
41965
41966	// The state of the VPN.
41967	VpnState *string `type:"string"`
41968
41969	// The IP address of network traffic from your on-premises data center. A custom
41970	// AZ receives the network traffic.
41971	VpnTunnelOriginatorIP *string `type:"string"`
41972}
41973
41974// String returns the string representation
41975func (s VpnDetails) String() string {
41976	return awsutil.Prettify(s)
41977}
41978
41979// GoString returns the string representation
41980func (s VpnDetails) GoString() string {
41981	return s.String()
41982}
41983
41984// SetVpnGatewayIp sets the VpnGatewayIp field's value.
41985func (s *VpnDetails) SetVpnGatewayIp(v string) *VpnDetails {
41986	s.VpnGatewayIp = &v
41987	return s
41988}
41989
41990// SetVpnId sets the VpnId field's value.
41991func (s *VpnDetails) SetVpnId(v string) *VpnDetails {
41992	s.VpnId = &v
41993	return s
41994}
41995
41996// SetVpnName sets the VpnName field's value.
41997func (s *VpnDetails) SetVpnName(v string) *VpnDetails {
41998	s.VpnName = &v
41999	return s
42000}
42001
42002// SetVpnPSK sets the VpnPSK field's value.
42003func (s *VpnDetails) SetVpnPSK(v string) *VpnDetails {
42004	s.VpnPSK = &v
42005	return s
42006}
42007
42008// SetVpnState sets the VpnState field's value.
42009func (s *VpnDetails) SetVpnState(v string) *VpnDetails {
42010	s.VpnState = &v
42011	return s
42012}
42013
42014// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
42015func (s *VpnDetails) SetVpnTunnelOriginatorIP(v string) *VpnDetails {
42016	s.VpnTunnelOriginatorIP = &v
42017	return s
42018}
42019
42020const (
42021	// ActivityStreamModeSync is a ActivityStreamMode enum value
42022	ActivityStreamModeSync = "sync"
42023
42024	// ActivityStreamModeAsync is a ActivityStreamMode enum value
42025	ActivityStreamModeAsync = "async"
42026)
42027
42028const (
42029	// ActivityStreamStatusStopped is a ActivityStreamStatus enum value
42030	ActivityStreamStatusStopped = "stopped"
42031
42032	// ActivityStreamStatusStarting is a ActivityStreamStatus enum value
42033	ActivityStreamStatusStarting = "starting"
42034
42035	// ActivityStreamStatusStarted is a ActivityStreamStatus enum value
42036	ActivityStreamStatusStarted = "started"
42037
42038	// ActivityStreamStatusStopping is a ActivityStreamStatus enum value
42039	ActivityStreamStatusStopping = "stopping"
42040)
42041
42042const (
42043	// ApplyMethodImmediate is a ApplyMethod enum value
42044	ApplyMethodImmediate = "immediate"
42045
42046	// ApplyMethodPendingReboot is a ApplyMethod enum value
42047	ApplyMethodPendingReboot = "pending-reboot"
42048)
42049
42050const (
42051	// AuthSchemeSecrets is a AuthScheme enum value
42052	AuthSchemeSecrets = "SECRETS"
42053)
42054
42055const (
42056	// DBProxyStatusAvailable is a DBProxyStatus enum value
42057	DBProxyStatusAvailable = "available"
42058
42059	// DBProxyStatusModifying is a DBProxyStatus enum value
42060	DBProxyStatusModifying = "modifying"
42061
42062	// DBProxyStatusIncompatibleNetwork is a DBProxyStatus enum value
42063	DBProxyStatusIncompatibleNetwork = "incompatible-network"
42064
42065	// DBProxyStatusInsufficientResourceLimits is a DBProxyStatus enum value
42066	DBProxyStatusInsufficientResourceLimits = "insufficient-resource-limits"
42067
42068	// DBProxyStatusCreating is a DBProxyStatus enum value
42069	DBProxyStatusCreating = "creating"
42070
42071	// DBProxyStatusDeleting is a DBProxyStatus enum value
42072	DBProxyStatusDeleting = "deleting"
42073
42074	// DBProxyStatusSuspended is a DBProxyStatus enum value
42075	DBProxyStatusSuspended = "suspended"
42076
42077	// DBProxyStatusSuspending is a DBProxyStatus enum value
42078	DBProxyStatusSuspending = "suspending"
42079
42080	// DBProxyStatusReactivating is a DBProxyStatus enum value
42081	DBProxyStatusReactivating = "reactivating"
42082)
42083
42084const (
42085	// EngineFamilyMysql is a EngineFamily enum value
42086	EngineFamilyMysql = "MYSQL"
42087
42088	// EngineFamilyPostgresql is a EngineFamily enum value
42089	EngineFamilyPostgresql = "POSTGRESQL"
42090)
42091
42092const (
42093	// IAMAuthModeDisabled is a IAMAuthMode enum value
42094	IAMAuthModeDisabled = "DISABLED"
42095
42096	// IAMAuthModeRequired is a IAMAuthMode enum value
42097	IAMAuthModeRequired = "REQUIRED"
42098)
42099
42100const (
42101	// SourceTypeDbInstance is a SourceType enum value
42102	SourceTypeDbInstance = "db-instance"
42103
42104	// SourceTypeDbParameterGroup is a SourceType enum value
42105	SourceTypeDbParameterGroup = "db-parameter-group"
42106
42107	// SourceTypeDbSecurityGroup is a SourceType enum value
42108	SourceTypeDbSecurityGroup = "db-security-group"
42109
42110	// SourceTypeDbSnapshot is a SourceType enum value
42111	SourceTypeDbSnapshot = "db-snapshot"
42112
42113	// SourceTypeDbCluster is a SourceType enum value
42114	SourceTypeDbCluster = "db-cluster"
42115
42116	// SourceTypeDbClusterSnapshot is a SourceType enum value
42117	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
42118)
42119
42120const (
42121	// TargetHealthReasonUnreachable is a TargetHealthReason enum value
42122	TargetHealthReasonUnreachable = "UNREACHABLE"
42123
42124	// TargetHealthReasonConnectionFailed is a TargetHealthReason enum value
42125	TargetHealthReasonConnectionFailed = "CONNECTION_FAILED"
42126
42127	// TargetHealthReasonAuthFailure is a TargetHealthReason enum value
42128	TargetHealthReasonAuthFailure = "AUTH_FAILURE"
42129
42130	// TargetHealthReasonPendingProxyCapacity is a TargetHealthReason enum value
42131	TargetHealthReasonPendingProxyCapacity = "PENDING_PROXY_CAPACITY"
42132)
42133
42134const (
42135	// TargetStateRegistering is a TargetState enum value
42136	TargetStateRegistering = "REGISTERING"
42137
42138	// TargetStateAvailable is a TargetState enum value
42139	TargetStateAvailable = "AVAILABLE"
42140
42141	// TargetStateUnavailable is a TargetState enum value
42142	TargetStateUnavailable = "UNAVAILABLE"
42143)
42144
42145const (
42146	// TargetTypeRdsInstance is a TargetType enum value
42147	TargetTypeRdsInstance = "RDS_INSTANCE"
42148
42149	// TargetTypeRdsServerlessEndpoint is a TargetType enum value
42150	TargetTypeRdsServerlessEndpoint = "RDS_SERVERLESS_ENDPOINT"
42151
42152	// TargetTypeTrackedCluster is a TargetType enum value
42153	TargetTypeTrackedCluster = "TRACKED_CLUSTER"
42154)
42155
42156const (
42157	// WriteForwardingStatusEnabled is a WriteForwardingStatus enum value
42158	WriteForwardingStatusEnabled = "enabled"
42159
42160	// WriteForwardingStatusDisabled is a WriteForwardingStatus enum value
42161	WriteForwardingStatusDisabled = "disabled"
42162
42163	// WriteForwardingStatusEnabling is a WriteForwardingStatus enum value
42164	WriteForwardingStatusEnabling = "enabling"
42165
42166	// WriteForwardingStatusDisabling is a WriteForwardingStatus enum value
42167	WriteForwardingStatusDisabling = "disabling"
42168
42169	// WriteForwardingStatusUnknown is a WriteForwardingStatus enum value
42170	WriteForwardingStatusUnknown = "unknown"
42171)
42172