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 Amazon Web Services 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 Amazon Web Services Identity and Access Management (IAM) role
158// with a DB instance.
159//
160// To add a role to a DB instance, the status of the DB instance must be available.
161//
162// This command doesn't apply to RDS Custom.
163//
164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
165// with awserr.Error's Code and Message methods to get detailed information about
166// the error.
167//
168// See the AWS API reference guide for Amazon Relational Database Service's
169// API operation AddRoleToDBInstance for usage and error information.
170//
171// Returned Error Codes:
172//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
173//   DBInstanceIdentifier doesn't refer to an existing DB instance.
174//
175//   * ErrCodeDBInstanceRoleAlreadyExistsFault "DBInstanceRoleAlreadyExists"
176//   The specified RoleArn or FeatureName value is already associated with the
177//   DB instance.
178//
179//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
180//   The DB instance isn't in a valid state.
181//
182//   * ErrCodeDBInstanceRoleQuotaExceededFault "DBInstanceRoleQuotaExceeded"
183//   You can't associate any more Amazon Web Services Identity and Access Management
184//   (IAM) roles with the DB instance because the quota has been reached.
185//
186// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance
187func (c *RDS) AddRoleToDBInstance(input *AddRoleToDBInstanceInput) (*AddRoleToDBInstanceOutput, error) {
188	req, out := c.AddRoleToDBInstanceRequest(input)
189	return out, req.Send()
190}
191
192// AddRoleToDBInstanceWithContext is the same as AddRoleToDBInstance with the addition of
193// the ability to pass a context and additional request options.
194//
195// See AddRoleToDBInstance for details on how to use this API operation.
196//
197// The context must be non-nil and will be used for request cancellation. If
198// the context is nil a panic will occur. In the future the SDK may create
199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
200// for more information on using Contexts.
201func (c *RDS) AddRoleToDBInstanceWithContext(ctx aws.Context, input *AddRoleToDBInstanceInput, opts ...request.Option) (*AddRoleToDBInstanceOutput, error) {
202	req, out := c.AddRoleToDBInstanceRequest(input)
203	req.SetContext(ctx)
204	req.ApplyOptions(opts...)
205	return out, req.Send()
206}
207
208const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription"
209
210// AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the
211// client's request for the AddSourceIdentifierToSubscription operation. The "output" return
212// value will be populated with the request's response once the request completes
213// successfully.
214//
215// Use "Send" method on the returned Request to send the API call to the service.
216// the "output" return value is not valid until after Send returns without error.
217//
218// See AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription
219// API call, and error handling.
220//
221// This method is useful when you want to inject custom logic or configuration
222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
223//
224//
225//    // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method.
226//    req, resp := client.AddSourceIdentifierToSubscriptionRequest(params)
227//
228//    err := req.Send()
229//    if err == nil { // resp is now filled
230//        fmt.Println(resp)
231//    }
232//
233// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
234func (c *RDS) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) {
235	op := &request.Operation{
236		Name:       opAddSourceIdentifierToSubscription,
237		HTTPMethod: "POST",
238		HTTPPath:   "/",
239	}
240
241	if input == nil {
242		input = &AddSourceIdentifierToSubscriptionInput{}
243	}
244
245	output = &AddSourceIdentifierToSubscriptionOutput{}
246	req = c.newRequest(op, input, output)
247	return
248}
249
250// AddSourceIdentifierToSubscription API operation for Amazon Relational Database Service.
251//
252// Adds a source identifier to an existing RDS event notification subscription.
253//
254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
255// with awserr.Error's Code and Message methods to get detailed information about
256// the error.
257//
258// See the AWS API reference guide for Amazon Relational Database Service's
259// API operation AddSourceIdentifierToSubscription for usage and error information.
260//
261// Returned Error Codes:
262//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
263//   The subscription name does not exist.
264//
265//   * ErrCodeSourceNotFoundFault "SourceNotFound"
266//   The requested source could not be found.
267//
268// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
269func (c *RDS) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) {
270	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
271	return out, req.Send()
272}
273
274// AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of
275// the ability to pass a context and additional request options.
276//
277// See AddSourceIdentifierToSubscription for details on how to use this API operation.
278//
279// The context must be non-nil and will be used for request cancellation. If
280// the context is nil a panic will occur. In the future the SDK may create
281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
282// for more information on using Contexts.
283func (c *RDS) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) {
284	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
285	req.SetContext(ctx)
286	req.ApplyOptions(opts...)
287	return out, req.Send()
288}
289
290const opAddTagsToResource = "AddTagsToResource"
291
292// AddTagsToResourceRequest generates a "aws/request.Request" representing the
293// client's request for the AddTagsToResource operation. The "output" return
294// value will be populated with the request's response once the request completes
295// successfully.
296//
297// Use "Send" method on the returned Request to send the API call to the service.
298// the "output" return value is not valid until after Send returns without error.
299//
300// See AddTagsToResource for more information on using the AddTagsToResource
301// API call, and error handling.
302//
303// This method is useful when you want to inject custom logic or configuration
304// into the SDK's request lifecycle. Such as custom headers, or retry logic.
305//
306//
307//    // Example sending a request using the AddTagsToResourceRequest method.
308//    req, resp := client.AddTagsToResourceRequest(params)
309//
310//    err := req.Send()
311//    if err == nil { // resp is now filled
312//        fmt.Println(resp)
313//    }
314//
315// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
316func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
317	op := &request.Operation{
318		Name:       opAddTagsToResource,
319		HTTPMethod: "POST",
320		HTTPPath:   "/",
321	}
322
323	if input == nil {
324		input = &AddTagsToResourceInput{}
325	}
326
327	output = &AddTagsToResourceOutput{}
328	req = c.newRequest(op, input, output)
329	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
330	return
331}
332
333// AddTagsToResource API operation for Amazon Relational Database Service.
334//
335// Adds metadata tags to an Amazon RDS resource. These tags can also be used
336// with cost allocation reporting to track cost associated with Amazon RDS resources,
337// or used in a Condition statement in an IAM policy for Amazon RDS.
338//
339// For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources
340// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
341//
342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
343// with awserr.Error's Code and Message methods to get detailed information about
344// the error.
345//
346// See the AWS API reference guide for Amazon Relational Database Service's
347// API operation AddTagsToResource for usage and error information.
348//
349// Returned Error Codes:
350//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
351//   DBInstanceIdentifier doesn't refer to an existing DB instance.
352//
353//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
354//   DBClusterIdentifier doesn't refer to an existing DB cluster.
355//
356//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
357//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
358//
359//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
360//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
361//   Web Services account in the specified Amazon Web Services Region.
362//
363//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
364//   The specified target group isn't available for a proxy owned by your Amazon
365//   Web Services account in the specified Amazon Web Services Region.
366//
367// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
368func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
369	req, out := c.AddTagsToResourceRequest(input)
370	return out, req.Send()
371}
372
373// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
374// the ability to pass a context and additional request options.
375//
376// See AddTagsToResource for details on how to use this API operation.
377//
378// The context must be non-nil and will be used for request cancellation. If
379// the context is nil a panic will occur. In the future the SDK may create
380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
381// for more information on using Contexts.
382func (c *RDS) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
383	req, out := c.AddTagsToResourceRequest(input)
384	req.SetContext(ctx)
385	req.ApplyOptions(opts...)
386	return out, req.Send()
387}
388
389const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
390
391// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
392// client's request for the ApplyPendingMaintenanceAction operation. The "output" return
393// value will be populated with the request's response once the request completes
394// successfully.
395//
396// Use "Send" method on the returned Request to send the API call to the service.
397// the "output" return value is not valid until after Send returns without error.
398//
399// See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
400// API call, and error handling.
401//
402// This method is useful when you want to inject custom logic or configuration
403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
404//
405//
406//    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
407//    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
408//
409//    err := req.Send()
410//    if err == nil { // resp is now filled
411//        fmt.Println(resp)
412//    }
413//
414// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
415func (c *RDS) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
416	op := &request.Operation{
417		Name:       opApplyPendingMaintenanceAction,
418		HTTPMethod: "POST",
419		HTTPPath:   "/",
420	}
421
422	if input == nil {
423		input = &ApplyPendingMaintenanceActionInput{}
424	}
425
426	output = &ApplyPendingMaintenanceActionOutput{}
427	req = c.newRequest(op, input, output)
428	return
429}
430
431// ApplyPendingMaintenanceAction API operation for Amazon Relational Database Service.
432//
433// Applies a pending maintenance action to a resource (for example, to a DB
434// instance).
435//
436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
437// with awserr.Error's Code and Message methods to get detailed information about
438// the error.
439//
440// See the AWS API reference guide for Amazon Relational Database Service's
441// API operation ApplyPendingMaintenanceAction for usage and error information.
442//
443// Returned Error Codes:
444//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
445//   The specified resource ID was not found.
446//
447//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
448//   The requested operation can't be performed while the cluster is in this state.
449//
450//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
451//   The DB instance isn't in a valid state.
452//
453// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
454func (c *RDS) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
455	req, out := c.ApplyPendingMaintenanceActionRequest(input)
456	return out, req.Send()
457}
458
459// ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
460// the ability to pass a context and additional request options.
461//
462// See ApplyPendingMaintenanceAction for details on how to use this API operation.
463//
464// The context must be non-nil and will be used for request cancellation. If
465// the context is nil a panic will occur. In the future the SDK may create
466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
467// for more information on using Contexts.
468func (c *RDS) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
469	req, out := c.ApplyPendingMaintenanceActionRequest(input)
470	req.SetContext(ctx)
471	req.ApplyOptions(opts...)
472	return out, req.Send()
473}
474
475const opAuthorizeDBSecurityGroupIngress = "AuthorizeDBSecurityGroupIngress"
476
477// AuthorizeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
478// client's request for the AuthorizeDBSecurityGroupIngress operation. The "output" return
479// value will be populated with the request's response once the request completes
480// successfully.
481//
482// Use "Send" method on the returned Request to send the API call to the service.
483// the "output" return value is not valid until after Send returns without error.
484//
485// See AuthorizeDBSecurityGroupIngress for more information on using the AuthorizeDBSecurityGroupIngress
486// API call, and error handling.
487//
488// This method is useful when you want to inject custom logic or configuration
489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
490//
491//
492//    // Example sending a request using the AuthorizeDBSecurityGroupIngressRequest method.
493//    req, resp := client.AuthorizeDBSecurityGroupIngressRequest(params)
494//
495//    err := req.Send()
496//    if err == nil { // resp is now filled
497//        fmt.Println(resp)
498//    }
499//
500// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
501func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityGroupIngressInput) (req *request.Request, output *AuthorizeDBSecurityGroupIngressOutput) {
502	op := &request.Operation{
503		Name:       opAuthorizeDBSecurityGroupIngress,
504		HTTPMethod: "POST",
505		HTTPPath:   "/",
506	}
507
508	if input == nil {
509		input = &AuthorizeDBSecurityGroupIngressInput{}
510	}
511
512	output = &AuthorizeDBSecurityGroupIngressOutput{}
513	req = c.newRequest(op, input, output)
514	return
515}
516
517// AuthorizeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
518//
519// Enables ingress to a DBSecurityGroup using one of two forms of authorization.
520// First, EC2 or VPC security groups can be added to the DBSecurityGroup if
521// the application using the database is running on EC2 or VPC instances. Second,
522// IP ranges are available if the application accessing your database is running
523// on the Internet. Required parameters for this API are one of CIDR range,
524// EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName
525// or EC2SecurityGroupId for non-VPC).
526//
527// You can't authorize ingress from an EC2 security group in one Amazon Web
528// Services Region to an Amazon RDS DB instance in another. You can't authorize
529// ingress from a VPC security group in one VPC to an Amazon RDS DB instance
530// in another.
531//
532// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
533//
534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
535// with awserr.Error's Code and Message methods to get detailed information about
536// the error.
537//
538// See the AWS API reference guide for Amazon Relational Database Service's
539// API operation AuthorizeDBSecurityGroupIngress for usage and error information.
540//
541// Returned Error Codes:
542//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
543//   DBSecurityGroupName doesn't refer to an existing DB security group.
544//
545//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
546//   The state of the DB security group doesn't allow deletion.
547//
548//   * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists"
549//   The specified CIDR IP range or Amazon EC2 security group is already authorized
550//   for the specified DB security group.
551//
552//   * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded"
553//   The DB security group authorization quota has been reached.
554//
555// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
556func (c *RDS) AuthorizeDBSecurityGroupIngress(input *AuthorizeDBSecurityGroupIngressInput) (*AuthorizeDBSecurityGroupIngressOutput, error) {
557	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
558	return out, req.Send()
559}
560
561// AuthorizeDBSecurityGroupIngressWithContext is the same as AuthorizeDBSecurityGroupIngress with the addition of
562// the ability to pass a context and additional request options.
563//
564// See AuthorizeDBSecurityGroupIngress for details on how to use this API operation.
565//
566// The context must be non-nil and will be used for request cancellation. If
567// the context is nil a panic will occur. In the future the SDK may create
568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
569// for more information on using Contexts.
570func (c *RDS) AuthorizeDBSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeDBSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeDBSecurityGroupIngressOutput, error) {
571	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
572	req.SetContext(ctx)
573	req.ApplyOptions(opts...)
574	return out, req.Send()
575}
576
577const opBacktrackDBCluster = "BacktrackDBCluster"
578
579// BacktrackDBClusterRequest generates a "aws/request.Request" representing the
580// client's request for the BacktrackDBCluster operation. The "output" return
581// value will be populated with the request's response once the request completes
582// successfully.
583//
584// Use "Send" method on the returned Request to send the API call to the service.
585// the "output" return value is not valid until after Send returns without error.
586//
587// See BacktrackDBCluster for more information on using the BacktrackDBCluster
588// API call, and error handling.
589//
590// This method is useful when you want to inject custom logic or configuration
591// into the SDK's request lifecycle. Such as custom headers, or retry logic.
592//
593//
594//    // Example sending a request using the BacktrackDBClusterRequest method.
595//    req, resp := client.BacktrackDBClusterRequest(params)
596//
597//    err := req.Send()
598//    if err == nil { // resp is now filled
599//        fmt.Println(resp)
600//    }
601//
602// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
603func (c *RDS) BacktrackDBClusterRequest(input *BacktrackDBClusterInput) (req *request.Request, output *BacktrackDBClusterOutput) {
604	op := &request.Operation{
605		Name:       opBacktrackDBCluster,
606		HTTPMethod: "POST",
607		HTTPPath:   "/",
608	}
609
610	if input == nil {
611		input = &BacktrackDBClusterInput{}
612	}
613
614	output = &BacktrackDBClusterOutput{}
615	req = c.newRequest(op, input, output)
616	return
617}
618
619// BacktrackDBCluster API operation for Amazon Relational Database Service.
620//
621// Backtracks a DB cluster to a specific time, without creating a new DB cluster.
622//
623// For more information on backtracking, see Backtracking an Aurora DB Cluster
624// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html)
625// in the Amazon Aurora User Guide.
626//
627// This action only applies to Aurora MySQL DB clusters.
628//
629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
630// with awserr.Error's Code and Message methods to get detailed information about
631// the error.
632//
633// See the AWS API reference guide for Amazon Relational Database Service's
634// API operation BacktrackDBCluster for usage and error information.
635//
636// Returned Error Codes:
637//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
638//   DBClusterIdentifier doesn't refer to an existing DB cluster.
639//
640//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
641//   The requested operation can't be performed while the cluster is in this state.
642//
643// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
644func (c *RDS) BacktrackDBCluster(input *BacktrackDBClusterInput) (*BacktrackDBClusterOutput, error) {
645	req, out := c.BacktrackDBClusterRequest(input)
646	return out, req.Send()
647}
648
649// BacktrackDBClusterWithContext is the same as BacktrackDBCluster with the addition of
650// the ability to pass a context and additional request options.
651//
652// See BacktrackDBCluster for details on how to use this API operation.
653//
654// The context must be non-nil and will be used for request cancellation. If
655// the context is nil a panic will occur. In the future the SDK may create
656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
657// for more information on using Contexts.
658func (c *RDS) BacktrackDBClusterWithContext(ctx aws.Context, input *BacktrackDBClusterInput, opts ...request.Option) (*BacktrackDBClusterOutput, error) {
659	req, out := c.BacktrackDBClusterRequest(input)
660	req.SetContext(ctx)
661	req.ApplyOptions(opts...)
662	return out, req.Send()
663}
664
665const opCancelExportTask = "CancelExportTask"
666
667// CancelExportTaskRequest generates a "aws/request.Request" representing the
668// client's request for the CancelExportTask operation. The "output" return
669// value will be populated with the request's response once the request completes
670// successfully.
671//
672// Use "Send" method on the returned Request to send the API call to the service.
673// the "output" return value is not valid until after Send returns without error.
674//
675// See CancelExportTask for more information on using the CancelExportTask
676// API call, and error handling.
677//
678// This method is useful when you want to inject custom logic or configuration
679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
680//
681//
682//    // Example sending a request using the CancelExportTaskRequest method.
683//    req, resp := client.CancelExportTaskRequest(params)
684//
685//    err := req.Send()
686//    if err == nil { // resp is now filled
687//        fmt.Println(resp)
688//    }
689//
690// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask
691func (c *RDS) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
692	op := &request.Operation{
693		Name:       opCancelExportTask,
694		HTTPMethod: "POST",
695		HTTPPath:   "/",
696	}
697
698	if input == nil {
699		input = &CancelExportTaskInput{}
700	}
701
702	output = &CancelExportTaskOutput{}
703	req = c.newRequest(op, input, output)
704	return
705}
706
707// CancelExportTask API operation for Amazon Relational Database Service.
708//
709// Cancels an export task in progress that is exporting a snapshot to Amazon
710// S3. Any data that has already been written to the S3 bucket isn't removed.
711//
712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
713// with awserr.Error's Code and Message methods to get detailed information about
714// the error.
715//
716// See the AWS API reference guide for Amazon Relational Database Service's
717// API operation CancelExportTask for usage and error information.
718//
719// Returned Error Codes:
720//   * ErrCodeExportTaskNotFoundFault "ExportTaskNotFound"
721//   The export task doesn't exist.
722//
723//   * ErrCodeInvalidExportTaskStateFault "InvalidExportTaskStateFault"
724//   You can't cancel an export task that has completed.
725//
726// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask
727func (c *RDS) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
728	req, out := c.CancelExportTaskRequest(input)
729	return out, req.Send()
730}
731
732// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
733// the ability to pass a context and additional request options.
734//
735// See CancelExportTask for details on how to use this API operation.
736//
737// The context must be non-nil and will be used for request cancellation. If
738// the context is nil a panic will occur. In the future the SDK may create
739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
740// for more information on using Contexts.
741func (c *RDS) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
742	req, out := c.CancelExportTaskRequest(input)
743	req.SetContext(ctx)
744	req.ApplyOptions(opts...)
745	return out, req.Send()
746}
747
748const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
749
750// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
751// client's request for the CopyDBClusterParameterGroup operation. The "output" return
752// value will be populated with the request's response once the request completes
753// successfully.
754//
755// Use "Send" method on the returned Request to send the API call to the service.
756// the "output" return value is not valid until after Send returns without error.
757//
758// See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
759// API call, and error handling.
760//
761// This method is useful when you want to inject custom logic or configuration
762// into the SDK's request lifecycle. Such as custom headers, or retry logic.
763//
764//
765//    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
766//    req, resp := client.CopyDBClusterParameterGroupRequest(params)
767//
768//    err := req.Send()
769//    if err == nil { // resp is now filled
770//        fmt.Println(resp)
771//    }
772//
773// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
774func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
775	op := &request.Operation{
776		Name:       opCopyDBClusterParameterGroup,
777		HTTPMethod: "POST",
778		HTTPPath:   "/",
779	}
780
781	if input == nil {
782		input = &CopyDBClusterParameterGroupInput{}
783	}
784
785	output = &CopyDBClusterParameterGroupOutput{}
786	req = c.newRequest(op, input, output)
787	return
788}
789
790// CopyDBClusterParameterGroup API operation for Amazon Relational Database Service.
791//
792// Copies the specified DB cluster parameter group.
793//
794// This action only applies to Aurora DB clusters.
795//
796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
797// with awserr.Error's Code and Message methods to get detailed information about
798// the error.
799//
800// See the AWS API reference guide for Amazon Relational Database Service's
801// API operation CopyDBClusterParameterGroup for usage and error information.
802//
803// Returned Error Codes:
804//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
805//   DBParameterGroupName doesn't refer to an existing DB parameter group.
806//
807//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
808//   The request would result in the user exceeding the allowed number of DB parameter
809//   groups.
810//
811//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
812//   A DB parameter group with the same name exists.
813//
814// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
815func (c *RDS) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
816	req, out := c.CopyDBClusterParameterGroupRequest(input)
817	return out, req.Send()
818}
819
820// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
821// the ability to pass a context and additional request options.
822//
823// See CopyDBClusterParameterGroup for details on how to use this API operation.
824//
825// The context must be non-nil and will be used for request cancellation. If
826// the context is nil a panic will occur. In the future the SDK may create
827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
828// for more information on using Contexts.
829func (c *RDS) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
830	req, out := c.CopyDBClusterParameterGroupRequest(input)
831	req.SetContext(ctx)
832	req.ApplyOptions(opts...)
833	return out, req.Send()
834}
835
836const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
837
838// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
839// client's request for the CopyDBClusterSnapshot operation. The "output" return
840// value will be populated with the request's response once the request completes
841// successfully.
842//
843// Use "Send" method on the returned Request to send the API call to the service.
844// the "output" return value is not valid until after Send returns without error.
845//
846// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
847// API call, and error handling.
848//
849// This method is useful when you want to inject custom logic or configuration
850// into the SDK's request lifecycle. Such as custom headers, or retry logic.
851//
852//
853//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
854//    req, resp := client.CopyDBClusterSnapshotRequest(params)
855//
856//    err := req.Send()
857//    if err == nil { // resp is now filled
858//        fmt.Println(resp)
859//    }
860//
861// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
862func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
863	op := &request.Operation{
864		Name:       opCopyDBClusterSnapshot,
865		HTTPMethod: "POST",
866		HTTPPath:   "/",
867	}
868
869	if input == nil {
870		input = &CopyDBClusterSnapshotInput{}
871	}
872
873	output = &CopyDBClusterSnapshotOutput{}
874	req = c.newRequest(op, input, output)
875	return
876}
877
878// CopyDBClusterSnapshot API operation for Amazon Relational Database Service.
879//
880// Copies a snapshot of a DB cluster.
881//
882// To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
883// must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
884//
885// You can copy an encrypted DB cluster snapshot from another Amazon Web Services
886// Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot
887// action is the destination Amazon Web Services Region for the encrypted DB
888// cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot
889// from another Amazon Web Services Region, you must provide the following values:
890//
891//    * KmsKeyId - The Amazon Web Services Key Management System (Amazon Web
892//    Services KMS) key identifier for the key to use to encrypt the copy of
893//    the DB cluster snapshot in the destination Amazon Web Services Region.
894//
895//    * PreSignedUrl - A URL that contains a Signature Version 4 signed request
896//    for the CopyDBClusterSnapshot action to be called in the source Amazon
897//    Web Services Region where the DB cluster snapshot is copied from. The
898//    pre-signed URL must be a valid request for the CopyDBClusterSnapshot API
899//    action that can be executed in the source Amazon Web Services Region that
900//    contains the encrypted DB cluster snapshot to be copied. The pre-signed
901//    URL request must contain the following parameter values: KmsKeyId - The
902//    Amazon Web Services KMS key identifier for the KMS key to use to encrypt
903//    the copy of the DB cluster snapshot in the destination Amazon Web Services
904//    Region. This is the same identifier for both the CopyDBClusterSnapshot
905//    action that is called in the destination Amazon Web Services Region, and
906//    the action contained in the pre-signed URL. DestinationRegion - The name
907//    of the Amazon Web Services Region that the DB cluster snapshot is to be
908//    created in. SourceDBClusterSnapshotIdentifier - The DB cluster snapshot
909//    identifier for the encrypted DB cluster snapshot to be copied. This identifier
910//    must be in the Amazon Resource Name (ARN) format for the source Amazon
911//    Web Services Region. For example, if you are copying an encrypted DB cluster
912//    snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier
913//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
914//    To learn how to generate a Signature Version 4 signed request, see Authenticating
915//    Requests: Using Query Parameters (Amazon Web Services Signature Version
916//    4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
917//    and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
918//    If you are using an Amazon Web Services SDK tool or the CLI, you can specify
919//    SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
920//    manually. Specifying SourceRegion autogenerates a pre-signed URL that
921//    is a valid request for the operation that can be executed in the source
922//    Amazon Web Services Region.
923//
924//    * TargetDBClusterSnapshotIdentifier - The identifier for the new copy
925//    of the DB cluster snapshot in the destination Amazon Web Services Region.
926//
927//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
928//    for the encrypted DB cluster snapshot to be copied. This identifier must
929//    be in the ARN format for the source Amazon Web Services Region and is
930//    the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed
931//    URL.
932//
933// To cancel the copy operation once it is in progress, delete the target DB
934// cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that
935// DB cluster snapshot is in "copying" status.
936//
937// For more information on copying encrypted DB cluster snapshots from one Amazon
938// Web Services Region to another, see Copying a Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html)
939// in the Amazon Aurora User Guide.
940//
941// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
942// in the Amazon Aurora User Guide.
943//
944// This action only applies to Aurora DB clusters.
945//
946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
947// with awserr.Error's Code and Message methods to get detailed information about
948// the error.
949//
950// See the AWS API reference guide for Amazon Relational Database Service's
951// API operation CopyDBClusterSnapshot for usage and error information.
952//
953// Returned Error Codes:
954//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
955//   The user already has a DB cluster snapshot with the given identifier.
956//
957//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
958//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
959//
960//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
961//   The requested operation can't be performed while the cluster is in this state.
962//
963//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
964//   The supplied value isn't a valid DB cluster snapshot state.
965//
966//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
967//   The request would result in the user exceeding the allowed number of DB snapshots.
968//
969//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
970//   An error occurred accessing an Amazon Web Services KMS key.
971//
972// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
973func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
974	req, out := c.CopyDBClusterSnapshotRequest(input)
975	return out, req.Send()
976}
977
978// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
979// the ability to pass a context and additional request options.
980//
981// See CopyDBClusterSnapshot for details on how to use this API operation.
982//
983// The context must be non-nil and will be used for request cancellation. If
984// the context is nil a panic will occur. In the future the SDK may create
985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
986// for more information on using Contexts.
987func (c *RDS) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
988	req, out := c.CopyDBClusterSnapshotRequest(input)
989	req.SetContext(ctx)
990	req.ApplyOptions(opts...)
991	return out, req.Send()
992}
993
994const opCopyDBParameterGroup = "CopyDBParameterGroup"
995
996// CopyDBParameterGroupRequest generates a "aws/request.Request" representing the
997// client's request for the CopyDBParameterGroup operation. The "output" return
998// value will be populated with the request's response once the request completes
999// successfully.
1000//
1001// Use "Send" method on the returned Request to send the API call to the service.
1002// the "output" return value is not valid until after Send returns without error.
1003//
1004// See CopyDBParameterGroup for more information on using the CopyDBParameterGroup
1005// API call, and error handling.
1006//
1007// This method is useful when you want to inject custom logic or configuration
1008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1009//
1010//
1011//    // Example sending a request using the CopyDBParameterGroupRequest method.
1012//    req, resp := client.CopyDBParameterGroupRequest(params)
1013//
1014//    err := req.Send()
1015//    if err == nil { // resp is now filled
1016//        fmt.Println(resp)
1017//    }
1018//
1019// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
1020func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) {
1021	op := &request.Operation{
1022		Name:       opCopyDBParameterGroup,
1023		HTTPMethod: "POST",
1024		HTTPPath:   "/",
1025	}
1026
1027	if input == nil {
1028		input = &CopyDBParameterGroupInput{}
1029	}
1030
1031	output = &CopyDBParameterGroupOutput{}
1032	req = c.newRequest(op, input, output)
1033	return
1034}
1035
1036// CopyDBParameterGroup API operation for Amazon Relational Database Service.
1037//
1038// Copies the specified DB parameter group.
1039//
1040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1041// with awserr.Error's Code and Message methods to get detailed information about
1042// the error.
1043//
1044// See the AWS API reference guide for Amazon Relational Database Service's
1045// API operation CopyDBParameterGroup for usage and error information.
1046//
1047// Returned Error Codes:
1048//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1049//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1050//
1051//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1052//   A DB parameter group with the same name exists.
1053//
1054//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1055//   The request would result in the user exceeding the allowed number of DB parameter
1056//   groups.
1057//
1058// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
1059func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) {
1060	req, out := c.CopyDBParameterGroupRequest(input)
1061	return out, req.Send()
1062}
1063
1064// CopyDBParameterGroupWithContext is the same as CopyDBParameterGroup with the addition of
1065// the ability to pass a context and additional request options.
1066//
1067// See CopyDBParameterGroup for details on how to use this API operation.
1068//
1069// The context must be non-nil and will be used for request cancellation. If
1070// the context is nil a panic will occur. In the future the SDK may create
1071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1072// for more information on using Contexts.
1073func (c *RDS) CopyDBParameterGroupWithContext(ctx aws.Context, input *CopyDBParameterGroupInput, opts ...request.Option) (*CopyDBParameterGroupOutput, error) {
1074	req, out := c.CopyDBParameterGroupRequest(input)
1075	req.SetContext(ctx)
1076	req.ApplyOptions(opts...)
1077	return out, req.Send()
1078}
1079
1080const opCopyDBSnapshot = "CopyDBSnapshot"
1081
1082// CopyDBSnapshotRequest generates a "aws/request.Request" representing the
1083// client's request for the CopyDBSnapshot operation. The "output" return
1084// value will be populated with the request's response once the request completes
1085// successfully.
1086//
1087// Use "Send" method on the returned Request to send the API call to the service.
1088// the "output" return value is not valid until after Send returns without error.
1089//
1090// See CopyDBSnapshot for more information on using the CopyDBSnapshot
1091// API call, and error handling.
1092//
1093// This method is useful when you want to inject custom logic or configuration
1094// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1095//
1096//
1097//    // Example sending a request using the CopyDBSnapshotRequest method.
1098//    req, resp := client.CopyDBSnapshotRequest(params)
1099//
1100//    err := req.Send()
1101//    if err == nil { // resp is now filled
1102//        fmt.Println(resp)
1103//    }
1104//
1105// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
1106func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Request, output *CopyDBSnapshotOutput) {
1107	op := &request.Operation{
1108		Name:       opCopyDBSnapshot,
1109		HTTPMethod: "POST",
1110		HTTPPath:   "/",
1111	}
1112
1113	if input == nil {
1114		input = &CopyDBSnapshotInput{}
1115	}
1116
1117	output = &CopyDBSnapshotOutput{}
1118	req = c.newRequest(op, input, output)
1119	return
1120}
1121
1122// CopyDBSnapshot API operation for Amazon Relational Database Service.
1123//
1124// Copies the specified DB snapshot. The source DB snapshot must be in the available
1125// state.
1126//
1127// You can copy a snapshot from one Amazon Web Services Region to another. In
1128// that case, the Amazon Web Services Region where you call the CopyDBSnapshot
1129// action is the destination Amazon Web Services Region for the DB snapshot
1130// copy.
1131//
1132// This command doesn't apply to RDS Custom.
1133//
1134// For more information about copying snapshots, see Copying a DB Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBSnapshot)
1135// in the Amazon RDS User Guide.
1136//
1137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1138// with awserr.Error's Code and Message methods to get detailed information about
1139// the error.
1140//
1141// See the AWS API reference guide for Amazon Relational Database Service's
1142// API operation CopyDBSnapshot for usage and error information.
1143//
1144// Returned Error Codes:
1145//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1146//   DBSnapshotIdentifier is already used by an existing snapshot.
1147//
1148//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
1149//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
1150//
1151//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
1152//   The state of the DB snapshot doesn't allow deletion.
1153//
1154//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1155//   The request would result in the user exceeding the allowed number of DB snapshots.
1156//
1157//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1158//   An error occurred accessing an Amazon Web Services KMS key.
1159//
1160//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
1161//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
1162//   Zone identifier.
1163//
1164// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
1165func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, error) {
1166	req, out := c.CopyDBSnapshotRequest(input)
1167	return out, req.Send()
1168}
1169
1170// CopyDBSnapshotWithContext is the same as CopyDBSnapshot with the addition of
1171// the ability to pass a context and additional request options.
1172//
1173// See CopyDBSnapshot for details on how to use this API operation.
1174//
1175// The context must be non-nil and will be used for request cancellation. If
1176// the context is nil a panic will occur. In the future the SDK may create
1177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1178// for more information on using Contexts.
1179func (c *RDS) CopyDBSnapshotWithContext(ctx aws.Context, input *CopyDBSnapshotInput, opts ...request.Option) (*CopyDBSnapshotOutput, error) {
1180	req, out := c.CopyDBSnapshotRequest(input)
1181	req.SetContext(ctx)
1182	req.ApplyOptions(opts...)
1183	return out, req.Send()
1184}
1185
1186const opCopyOptionGroup = "CopyOptionGroup"
1187
1188// CopyOptionGroupRequest generates a "aws/request.Request" representing the
1189// client's request for the CopyOptionGroup operation. The "output" return
1190// value will be populated with the request's response once the request completes
1191// successfully.
1192//
1193// Use "Send" method on the returned Request to send the API call to the service.
1194// the "output" return value is not valid until after Send returns without error.
1195//
1196// See CopyOptionGroup for more information on using the CopyOptionGroup
1197// API call, and error handling.
1198//
1199// This method is useful when you want to inject custom logic or configuration
1200// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1201//
1202//
1203//    // Example sending a request using the CopyOptionGroupRequest method.
1204//    req, resp := client.CopyOptionGroupRequest(params)
1205//
1206//    err := req.Send()
1207//    if err == nil { // resp is now filled
1208//        fmt.Println(resp)
1209//    }
1210//
1211// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1212func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request.Request, output *CopyOptionGroupOutput) {
1213	op := &request.Operation{
1214		Name:       opCopyOptionGroup,
1215		HTTPMethod: "POST",
1216		HTTPPath:   "/",
1217	}
1218
1219	if input == nil {
1220		input = &CopyOptionGroupInput{}
1221	}
1222
1223	output = &CopyOptionGroupOutput{}
1224	req = c.newRequest(op, input, output)
1225	return
1226}
1227
1228// CopyOptionGroup API operation for Amazon Relational Database Service.
1229//
1230// Copies the specified option group.
1231//
1232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1233// with awserr.Error's Code and Message methods to get detailed information about
1234// the error.
1235//
1236// See the AWS API reference guide for Amazon Relational Database Service's
1237// API operation CopyOptionGroup for usage and error information.
1238//
1239// Returned Error Codes:
1240//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
1241//   The option group you are trying to create already exists.
1242//
1243//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1244//   The specified option group could not be found.
1245//
1246//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
1247//   The quota of 20 option groups was exceeded for this Amazon Web Services account.
1248//
1249// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1250func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutput, error) {
1251	req, out := c.CopyOptionGroupRequest(input)
1252	return out, req.Send()
1253}
1254
1255// CopyOptionGroupWithContext is the same as CopyOptionGroup with the addition of
1256// the ability to pass a context and additional request options.
1257//
1258// See CopyOptionGroup for details on how to use this API operation.
1259//
1260// The context must be non-nil and will be used for request cancellation. If
1261// the context is nil a panic will occur. In the future the SDK may create
1262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1263// for more information on using Contexts.
1264func (c *RDS) CopyOptionGroupWithContext(ctx aws.Context, input *CopyOptionGroupInput, opts ...request.Option) (*CopyOptionGroupOutput, error) {
1265	req, out := c.CopyOptionGroupRequest(input)
1266	req.SetContext(ctx)
1267	req.ApplyOptions(opts...)
1268	return out, req.Send()
1269}
1270
1271const opCreateCustomAvailabilityZone = "CreateCustomAvailabilityZone"
1272
1273// CreateCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
1274// client's request for the CreateCustomAvailabilityZone operation. The "output" return
1275// value will be populated with the request's response once the request completes
1276// successfully.
1277//
1278// Use "Send" method on the returned Request to send the API call to the service.
1279// the "output" return value is not valid until after Send returns without error.
1280//
1281// See CreateCustomAvailabilityZone for more information on using the CreateCustomAvailabilityZone
1282// API call, and error handling.
1283//
1284// This method is useful when you want to inject custom logic or configuration
1285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1286//
1287//
1288//    // Example sending a request using the CreateCustomAvailabilityZoneRequest method.
1289//    req, resp := client.CreateCustomAvailabilityZoneRequest(params)
1290//
1291//    err := req.Send()
1292//    if err == nil { // resp is now filled
1293//        fmt.Println(resp)
1294//    }
1295//
1296// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
1297func (c *RDS) CreateCustomAvailabilityZoneRequest(input *CreateCustomAvailabilityZoneInput) (req *request.Request, output *CreateCustomAvailabilityZoneOutput) {
1298	op := &request.Operation{
1299		Name:       opCreateCustomAvailabilityZone,
1300		HTTPMethod: "POST",
1301		HTTPPath:   "/",
1302	}
1303
1304	if input == nil {
1305		input = &CreateCustomAvailabilityZoneInput{}
1306	}
1307
1308	output = &CreateCustomAvailabilityZoneOutput{}
1309	req = c.newRequest(op, input, output)
1310	return
1311}
1312
1313// CreateCustomAvailabilityZone API operation for Amazon Relational Database Service.
1314//
1315// Creates a custom Availability Zone (AZ).
1316//
1317// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
1318// cluster.
1319//
1320// For more information about RDS on VMware, see the RDS on VMware User Guide.
1321// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
1322//
1323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1324// with awserr.Error's Code and Message methods to get detailed information about
1325// the error.
1326//
1327// See the AWS API reference guide for Amazon Relational Database Service's
1328// API operation CreateCustomAvailabilityZone for usage and error information.
1329//
1330// Returned Error Codes:
1331//   * ErrCodeCustomAvailabilityZoneAlreadyExistsFault "CustomAvailabilityZoneAlreadyExists"
1332//   CustomAvailabilityZoneName is already used by an existing custom Availability
1333//   Zone.
1334//
1335//   * ErrCodeCustomAvailabilityZoneQuotaExceededFault "CustomAvailabilityZoneQuotaExceeded"
1336//   You have exceeded the maximum number of custom Availability Zones.
1337//
1338//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1339//   An error occurred accessing an Amazon Web Services KMS key.
1340//
1341// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
1342func (c *RDS) CreateCustomAvailabilityZone(input *CreateCustomAvailabilityZoneInput) (*CreateCustomAvailabilityZoneOutput, error) {
1343	req, out := c.CreateCustomAvailabilityZoneRequest(input)
1344	return out, req.Send()
1345}
1346
1347// CreateCustomAvailabilityZoneWithContext is the same as CreateCustomAvailabilityZone with the addition of
1348// the ability to pass a context and additional request options.
1349//
1350// See CreateCustomAvailabilityZone for details on how to use this API operation.
1351//
1352// The context must be non-nil and will be used for request cancellation. If
1353// the context is nil a panic will occur. In the future the SDK may create
1354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1355// for more information on using Contexts.
1356func (c *RDS) CreateCustomAvailabilityZoneWithContext(ctx aws.Context, input *CreateCustomAvailabilityZoneInput, opts ...request.Option) (*CreateCustomAvailabilityZoneOutput, error) {
1357	req, out := c.CreateCustomAvailabilityZoneRequest(input)
1358	req.SetContext(ctx)
1359	req.ApplyOptions(opts...)
1360	return out, req.Send()
1361}
1362
1363const opCreateCustomDBEngineVersion = "CreateCustomDBEngineVersion"
1364
1365// CreateCustomDBEngineVersionRequest generates a "aws/request.Request" representing the
1366// client's request for the CreateCustomDBEngineVersion operation. The "output" return
1367// value will be populated with the request's response once the request completes
1368// successfully.
1369//
1370// Use "Send" method on the returned Request to send the API call to the service.
1371// the "output" return value is not valid until after Send returns without error.
1372//
1373// See CreateCustomDBEngineVersion for more information on using the CreateCustomDBEngineVersion
1374// API call, and error handling.
1375//
1376// This method is useful when you want to inject custom logic or configuration
1377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1378//
1379//
1380//    // Example sending a request using the CreateCustomDBEngineVersionRequest method.
1381//    req, resp := client.CreateCustomDBEngineVersionRequest(params)
1382//
1383//    err := req.Send()
1384//    if err == nil { // resp is now filled
1385//        fmt.Println(resp)
1386//    }
1387//
1388// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomDBEngineVersion
1389func (c *RDS) CreateCustomDBEngineVersionRequest(input *CreateCustomDBEngineVersionInput) (req *request.Request, output *CreateCustomDBEngineVersionOutput) {
1390	op := &request.Operation{
1391		Name:       opCreateCustomDBEngineVersion,
1392		HTTPMethod: "POST",
1393		HTTPPath:   "/",
1394	}
1395
1396	if input == nil {
1397		input = &CreateCustomDBEngineVersionInput{}
1398	}
1399
1400	output = &CreateCustomDBEngineVersionOutput{}
1401	req = c.newRequest(op, input, output)
1402	return
1403}
1404
1405// CreateCustomDBEngineVersion API operation for Amazon Relational Database Service.
1406//
1407// Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot
1408// of a database engine and specific AMI. The only supported engine is Oracle
1409// Database 19c Enterprise Edition with the January 2021 or later RU/RUR. For
1410// more information, see Amazon RDS Custom requirements and limitations (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest)
1411// in the Amazon RDS User Guide.
1412//
1413// Amazon RDS, which is a fully managed service, supplies the Amazon Machine
1414// Image (AMI) and database software. The Amazon RDS database software is preinstalled,
1415// so you need only select a DB engine and version, and create your database.
1416// With Amazon RDS Custom, you upload your database installation files in Amazon
1417// S3. For more information, see Preparing to create a CEV (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.html#custom-cev.preparing)
1418// in the Amazon RDS User Guide.
1419//
1420// When you create a custom engine version, you specify the files in a JSON
1421// document called a CEV manifest. This document describes installation .zip
1422// files stored in Amazon S3. RDS Custom creates your CEV from the installation
1423// files that you provided. This service model is called Bring Your Own Media
1424// (BYOM).
1425//
1426// Creation takes approximately two hours. If creation fails, RDS Custom issues
1427// RDS-EVENT-0196 with the message Creation failed for custom engine version,
1428// and includes details about the failure. For example, the event prints missing
1429// files.
1430//
1431// After you create the CEV, it is available for use. You can create multiple
1432// CEVs, and create multiple RDS Custom instances from any CEV. You can also
1433// change the status of a CEV to make it available or inactive.
1434//
1435// The MediaImport service that imports files from Amazon S3 to create CEVs
1436// isn't integrated with Amazon Web Services CloudTrail. If you turn on data
1437// logging for Amazon RDS in CloudTrail, calls to the CreateCustomDbEngineVersion
1438// event aren't logged. However, you might see calls from the API gateway that
1439// accesses your Amazon S3 bucket. These calls originate from the MediaImport
1440// service for the CreateCustomDbEngineVersion event.
1441//
1442// For more information, see Creating a CEV (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.create)
1443// in the Amazon RDS User Guide.
1444//
1445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1446// with awserr.Error's Code and Message methods to get detailed information about
1447// the error.
1448//
1449// See the AWS API reference guide for Amazon Relational Database Service's
1450// API operation CreateCustomDBEngineVersion for usage and error information.
1451//
1452// Returned Error Codes:
1453//   * ErrCodeCustomDBEngineVersionAlreadyExistsFault "CustomDBEngineVersionAlreadyExistsFault"
1454//   A CEV with the specified name already exists.
1455//
1456//   * ErrCodeCustomDBEngineVersionQuotaExceededFault "CustomDBEngineVersionQuotaExceededFault"
1457//   You have exceeded your CEV quota.
1458//
1459//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1460//   An error occurred accessing an Amazon Web Services KMS key.
1461//
1462// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomDBEngineVersion
1463func (c *RDS) CreateCustomDBEngineVersion(input *CreateCustomDBEngineVersionInput) (*CreateCustomDBEngineVersionOutput, error) {
1464	req, out := c.CreateCustomDBEngineVersionRequest(input)
1465	return out, req.Send()
1466}
1467
1468// CreateCustomDBEngineVersionWithContext is the same as CreateCustomDBEngineVersion with the addition of
1469// the ability to pass a context and additional request options.
1470//
1471// See CreateCustomDBEngineVersion for details on how to use this API operation.
1472//
1473// The context must be non-nil and will be used for request cancellation. If
1474// the context is nil a panic will occur. In the future the SDK may create
1475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1476// for more information on using Contexts.
1477func (c *RDS) CreateCustomDBEngineVersionWithContext(ctx aws.Context, input *CreateCustomDBEngineVersionInput, opts ...request.Option) (*CreateCustomDBEngineVersionOutput, error) {
1478	req, out := c.CreateCustomDBEngineVersionRequest(input)
1479	req.SetContext(ctx)
1480	req.ApplyOptions(opts...)
1481	return out, req.Send()
1482}
1483
1484const opCreateDBCluster = "CreateDBCluster"
1485
1486// CreateDBClusterRequest generates a "aws/request.Request" representing the
1487// client's request for the CreateDBCluster operation. The "output" return
1488// value will be populated with the request's response once the request completes
1489// successfully.
1490//
1491// Use "Send" method on the returned Request to send the API call to the service.
1492// the "output" return value is not valid until after Send returns without error.
1493//
1494// See CreateDBCluster for more information on using the CreateDBCluster
1495// API call, and error handling.
1496//
1497// This method is useful when you want to inject custom logic or configuration
1498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1499//
1500//
1501//    // Example sending a request using the CreateDBClusterRequest method.
1502//    req, resp := client.CreateDBClusterRequest(params)
1503//
1504//    err := req.Send()
1505//    if err == nil { // resp is now filled
1506//        fmt.Println(resp)
1507//    }
1508//
1509// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1510func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
1511	op := &request.Operation{
1512		Name:       opCreateDBCluster,
1513		HTTPMethod: "POST",
1514		HTTPPath:   "/",
1515	}
1516
1517	if input == nil {
1518		input = &CreateDBClusterInput{}
1519	}
1520
1521	output = &CreateDBClusterOutput{}
1522	req = c.newRequest(op, input, output)
1523	return
1524}
1525
1526// CreateDBCluster API operation for Amazon Relational Database Service.
1527//
1528// Creates a new Amazon Aurora DB cluster.
1529//
1530// You can use the ReplicationSourceIdentifier parameter to create the DB cluster
1531// as a read replica of another DB cluster or Amazon RDS MySQL or PostgreSQL
1532// DB instance. For cross-region replication where the DB cluster identified
1533// by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl
1534// parameter.
1535//
1536// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1537// in the Amazon Aurora User Guide.
1538//
1539// This action only applies to Aurora DB clusters.
1540//
1541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1542// with awserr.Error's Code and Message methods to get detailed information about
1543// the error.
1544//
1545// See the AWS API reference guide for Amazon Relational Database Service's
1546// API operation CreateDBCluster for usage and error information.
1547//
1548// Returned Error Codes:
1549//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
1550//   The user already has a DB cluster with the given identifier.
1551//
1552//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
1553//   There is insufficient storage available for the current action. You might
1554//   be able to resolve this error by updating your subnet group to use different
1555//   Availability Zones that have more storage available.
1556//
1557//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
1558//   The user attempted to create a new DB cluster and the user has already reached
1559//   the maximum allowed DB cluster quota.
1560//
1561//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1562//   The request would result in the user exceeding the allowed amount of storage
1563//   available across all DB instances.
1564//
1565//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1566//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1567//
1568//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1569//   The DB subnet group doesn't cover all Availability Zones after it's created
1570//   because of users' change.
1571//
1572//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1573//   The requested operation can't be performed while the cluster is in this state.
1574//
1575//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1576//   The DB subnet group cannot be deleted because it's in use.
1577//
1578//   * ErrCodeInvalidSubnet "InvalidSubnet"
1579//   The requested subnet is invalid, or multiple subnets were requested that
1580//   are not all in a common VPC.
1581//
1582//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1583//   The DB instance isn't in a valid state.
1584//
1585//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
1586//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
1587//   group.
1588//
1589//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1590//   An error occurred accessing an Amazon Web Services KMS key.
1591//
1592//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1593//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1594//
1595//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1596//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1597//
1598//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1599//   Subnets in the DB subnet group should cover at least two Availability Zones
1600//   unless there is only one Availability Zone.
1601//
1602//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
1603//   The GlobalClusterIdentifier doesn't refer to an existing global database
1604//   cluster.
1605//
1606//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
1607//   The global cluster is in an invalid state and can't perform the requested
1608//   operation.
1609//
1610//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1611//   Domain doesn't refer to an existing Active Directory domain.
1612//
1613// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1614func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
1615	req, out := c.CreateDBClusterRequest(input)
1616	return out, req.Send()
1617}
1618
1619// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
1620// the ability to pass a context and additional request options.
1621//
1622// See CreateDBCluster for details on how to use this API operation.
1623//
1624// The context must be non-nil and will be used for request cancellation. If
1625// the context is nil a panic will occur. In the future the SDK may create
1626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1627// for more information on using Contexts.
1628func (c *RDS) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
1629	req, out := c.CreateDBClusterRequest(input)
1630	req.SetContext(ctx)
1631	req.ApplyOptions(opts...)
1632	return out, req.Send()
1633}
1634
1635const opCreateDBClusterEndpoint = "CreateDBClusterEndpoint"
1636
1637// CreateDBClusterEndpointRequest generates a "aws/request.Request" representing the
1638// client's request for the CreateDBClusterEndpoint operation. The "output" return
1639// value will be populated with the request's response once the request completes
1640// successfully.
1641//
1642// Use "Send" method on the returned Request to send the API call to the service.
1643// the "output" return value is not valid until after Send returns without error.
1644//
1645// See CreateDBClusterEndpoint for more information on using the CreateDBClusterEndpoint
1646// API call, and error handling.
1647//
1648// This method is useful when you want to inject custom logic or configuration
1649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1650//
1651//
1652//    // Example sending a request using the CreateDBClusterEndpointRequest method.
1653//    req, resp := client.CreateDBClusterEndpointRequest(params)
1654//
1655//    err := req.Send()
1656//    if err == nil { // resp is now filled
1657//        fmt.Println(resp)
1658//    }
1659//
1660// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
1661func (c *RDS) CreateDBClusterEndpointRequest(input *CreateDBClusterEndpointInput) (req *request.Request, output *CreateDBClusterEndpointOutput) {
1662	op := &request.Operation{
1663		Name:       opCreateDBClusterEndpoint,
1664		HTTPMethod: "POST",
1665		HTTPPath:   "/",
1666	}
1667
1668	if input == nil {
1669		input = &CreateDBClusterEndpointInput{}
1670	}
1671
1672	output = &CreateDBClusterEndpointOutput{}
1673	req = c.newRequest(op, input, output)
1674	return
1675}
1676
1677// CreateDBClusterEndpoint API operation for Amazon Relational Database Service.
1678//
1679// Creates a new custom endpoint and associates it with an Amazon Aurora DB
1680// cluster.
1681//
1682// This action only applies to Aurora DB clusters.
1683//
1684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1685// with awserr.Error's Code and Message methods to get detailed information about
1686// the error.
1687//
1688// See the AWS API reference guide for Amazon Relational Database Service's
1689// API operation CreateDBClusterEndpoint for usage and error information.
1690//
1691// Returned Error Codes:
1692//   * ErrCodeDBClusterEndpointQuotaExceededFault "DBClusterEndpointQuotaExceededFault"
1693//   The cluster already has the maximum number of custom endpoints.
1694//
1695//   * ErrCodeDBClusterEndpointAlreadyExistsFault "DBClusterEndpointAlreadyExistsFault"
1696//   The specified custom endpoint can't be created because it already exists.
1697//
1698//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1699//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1700//
1701//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1702//   The requested operation can't be performed while the cluster is in this state.
1703//
1704//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1705//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1706//
1707//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1708//   The DB instance isn't in a valid state.
1709//
1710// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
1711func (c *RDS) CreateDBClusterEndpoint(input *CreateDBClusterEndpointInput) (*CreateDBClusterEndpointOutput, error) {
1712	req, out := c.CreateDBClusterEndpointRequest(input)
1713	return out, req.Send()
1714}
1715
1716// CreateDBClusterEndpointWithContext is the same as CreateDBClusterEndpoint with the addition of
1717// the ability to pass a context and additional request options.
1718//
1719// See CreateDBClusterEndpoint for details on how to use this API operation.
1720//
1721// The context must be non-nil and will be used for request cancellation. If
1722// the context is nil a panic will occur. In the future the SDK may create
1723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1724// for more information on using Contexts.
1725func (c *RDS) CreateDBClusterEndpointWithContext(ctx aws.Context, input *CreateDBClusterEndpointInput, opts ...request.Option) (*CreateDBClusterEndpointOutput, error) {
1726	req, out := c.CreateDBClusterEndpointRequest(input)
1727	req.SetContext(ctx)
1728	req.ApplyOptions(opts...)
1729	return out, req.Send()
1730}
1731
1732const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
1733
1734// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1735// client's request for the CreateDBClusterParameterGroup operation. The "output" return
1736// value will be populated with the request's response once the request completes
1737// successfully.
1738//
1739// Use "Send" method on the returned Request to send the API call to the service.
1740// the "output" return value is not valid until after Send returns without error.
1741//
1742// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
1743// API call, and error handling.
1744//
1745// This method is useful when you want to inject custom logic or configuration
1746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1747//
1748//
1749//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
1750//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
1751//
1752//    err := req.Send()
1753//    if err == nil { // resp is now filled
1754//        fmt.Println(resp)
1755//    }
1756//
1757// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1758func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
1759	op := &request.Operation{
1760		Name:       opCreateDBClusterParameterGroup,
1761		HTTPMethod: "POST",
1762		HTTPPath:   "/",
1763	}
1764
1765	if input == nil {
1766		input = &CreateDBClusterParameterGroupInput{}
1767	}
1768
1769	output = &CreateDBClusterParameterGroupOutput{}
1770	req = c.newRequest(op, input, output)
1771	return
1772}
1773
1774// CreateDBClusterParameterGroup API operation for Amazon Relational Database Service.
1775//
1776// Creates a new DB cluster parameter group.
1777//
1778// Parameters in a DB cluster parameter group apply to all of the instances
1779// in a DB cluster.
1780//
1781// A DB cluster parameter group is initially created with the default parameters
1782// for the database engine used by instances in the DB cluster. To provide custom
1783// values for any of the parameters, you must modify the group after creating
1784// it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
1785// parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
1786// When you associate a new DB cluster parameter group with a running DB cluster,
1787// you need to reboot the DB instances in the DB cluster without failover for
1788// the new DB cluster parameter group and associated settings to take effect.
1789//
1790// After you create a DB cluster parameter group, you should wait at least 5
1791// minutes before creating your first DB cluster that uses that DB cluster parameter
1792// group as the default parameter group. This allows Amazon RDS to fully complete
1793// the create action before the DB cluster parameter group is used as the default
1794// for a new DB cluster. This is especially important for parameters that are
1795// critical when creating the default database for a DB cluster, such as the
1796// character set for the default database defined by the character_set_database
1797// parameter. You can use the Parameter Groups option of the Amazon RDS console
1798// (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
1799// action to verify that your DB cluster parameter group has been created or
1800// modified.
1801//
1802// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1803// in the Amazon Aurora User Guide.
1804//
1805// This action only applies to Aurora DB clusters.
1806//
1807// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1808// with awserr.Error's Code and Message methods to get detailed information about
1809// the error.
1810//
1811// See the AWS API reference guide for Amazon Relational Database Service's
1812// API operation CreateDBClusterParameterGroup for usage and error information.
1813//
1814// Returned Error Codes:
1815//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1816//   The request would result in the user exceeding the allowed number of DB parameter
1817//   groups.
1818//
1819//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1820//   A DB parameter group with the same name exists.
1821//
1822// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1823func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
1824	req, out := c.CreateDBClusterParameterGroupRequest(input)
1825	return out, req.Send()
1826}
1827
1828// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
1829// the ability to pass a context and additional request options.
1830//
1831// See CreateDBClusterParameterGroup for details on how to use this API operation.
1832//
1833// The context must be non-nil and will be used for request cancellation. If
1834// the context is nil a panic will occur. In the future the SDK may create
1835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1836// for more information on using Contexts.
1837func (c *RDS) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
1838	req, out := c.CreateDBClusterParameterGroupRequest(input)
1839	req.SetContext(ctx)
1840	req.ApplyOptions(opts...)
1841	return out, req.Send()
1842}
1843
1844const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
1845
1846// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1847// client's request for the CreateDBClusterSnapshot operation. The "output" return
1848// value will be populated with the request's response once the request completes
1849// successfully.
1850//
1851// Use "Send" method on the returned Request to send the API call to the service.
1852// the "output" return value is not valid until after Send returns without error.
1853//
1854// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
1855// API call, and error handling.
1856//
1857// This method is useful when you want to inject custom logic or configuration
1858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1859//
1860//
1861//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
1862//    req, resp := client.CreateDBClusterSnapshotRequest(params)
1863//
1864//    err := req.Send()
1865//    if err == nil { // resp is now filled
1866//        fmt.Println(resp)
1867//    }
1868//
1869// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1870func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
1871	op := &request.Operation{
1872		Name:       opCreateDBClusterSnapshot,
1873		HTTPMethod: "POST",
1874		HTTPPath:   "/",
1875	}
1876
1877	if input == nil {
1878		input = &CreateDBClusterSnapshotInput{}
1879	}
1880
1881	output = &CreateDBClusterSnapshotOutput{}
1882	req = c.newRequest(op, input, output)
1883	return
1884}
1885
1886// CreateDBClusterSnapshot API operation for Amazon Relational Database Service.
1887//
1888// Creates a snapshot of a DB cluster. For more information on Amazon Aurora,
1889// see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1890// in the Amazon Aurora User Guide.
1891//
1892// This action only applies to Aurora DB clusters.
1893//
1894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1895// with awserr.Error's Code and Message methods to get detailed information about
1896// the error.
1897//
1898// See the AWS API reference guide for Amazon Relational Database Service's
1899// API operation CreateDBClusterSnapshot for usage and error information.
1900//
1901// Returned Error Codes:
1902//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1903//   The user already has a DB cluster snapshot with the given identifier.
1904//
1905//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1906//   The requested operation can't be performed while the cluster is in this state.
1907//
1908//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1909//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1910//
1911//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1912//   The request would result in the user exceeding the allowed number of DB snapshots.
1913//
1914//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1915//   The supplied value isn't a valid DB cluster snapshot state.
1916//
1917// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1918func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
1919	req, out := c.CreateDBClusterSnapshotRequest(input)
1920	return out, req.Send()
1921}
1922
1923// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
1924// the ability to pass a context and additional request options.
1925//
1926// See CreateDBClusterSnapshot 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) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
1933	req, out := c.CreateDBClusterSnapshotRequest(input)
1934	req.SetContext(ctx)
1935	req.ApplyOptions(opts...)
1936	return out, req.Send()
1937}
1938
1939const opCreateDBInstance = "CreateDBInstance"
1940
1941// CreateDBInstanceRequest generates a "aws/request.Request" representing the
1942// client's request for the CreateDBInstance 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 CreateDBInstance for more information on using the CreateDBInstance
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 CreateDBInstanceRequest method.
1957//    req, resp := client.CreateDBInstanceRequest(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/CreateDBInstance
1965func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
1966	op := &request.Operation{
1967		Name:       opCreateDBInstance,
1968		HTTPMethod: "POST",
1969		HTTPPath:   "/",
1970	}
1971
1972	if input == nil {
1973		input = &CreateDBInstanceInput{}
1974	}
1975
1976	output = &CreateDBInstanceOutput{}
1977	req = c.newRequest(op, input, output)
1978	return
1979}
1980
1981// CreateDBInstance API operation for Amazon Relational Database Service.
1982//
1983// Creates a new DB instance.
1984//
1985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1986// with awserr.Error's Code and Message methods to get detailed information about
1987// the error.
1988//
1989// See the AWS API reference guide for Amazon Relational Database Service's
1990// API operation CreateDBInstance for usage and error information.
1991//
1992// Returned Error Codes:
1993//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1994//   The user already has a DB instance with the given identifier.
1995//
1996//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1997//   The specified DB instance class isn't available in the specified Availability
1998//   Zone.
1999//
2000//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2001//   DBParameterGroupName doesn't refer to an existing DB parameter group.
2002//
2003//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
2004//   DBSecurityGroupName doesn't refer to an existing DB security group.
2005//
2006//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
2007//   The request would result in the user exceeding the allowed number of DB instances.
2008//
2009//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
2010//   The request would result in the user exceeding the allowed amount of storage
2011//   available across all DB instances.
2012//
2013//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2014//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
2015//
2016//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2017//   Subnets in the DB subnet group should cover at least two Availability Zones
2018//   unless there is only one Availability Zone.
2019//
2020//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2021//   The requested operation can't be performed while the cluster is in this state.
2022//
2023//   * ErrCodeInvalidSubnet "InvalidSubnet"
2024//   The requested subnet is invalid, or multiple subnets were requested that
2025//   are not all in a common VPC.
2026//
2027//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
2028//   The DB subnet group doesn't cover all Availability Zones after it's created
2029//   because of users' change.
2030//
2031//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
2032//   Provisioned IOPS not available in the specified Availability Zone.
2033//
2034//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
2035//   The specified option group could not be found.
2036//
2037//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2038//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2039//
2040//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
2041//   Storage of the StorageType specified can't be associated with the DB instance.
2042//
2043//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
2044//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
2045//   for the specified DB security group.
2046//
2047//   Or, RDS might not be authorized to perform necessary actions using IAM on
2048//   your behalf.
2049//
2050//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
2051//   An error occurred accessing an Amazon Web Services KMS key.
2052//
2053//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
2054//   Domain doesn't refer to an existing Active Directory domain.
2055//
2056//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
2057//
2058// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
2059func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
2060	req, out := c.CreateDBInstanceRequest(input)
2061	return out, req.Send()
2062}
2063
2064// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
2065// the ability to pass a context and additional request options.
2066//
2067// See CreateDBInstance for details on how to use this API operation.
2068//
2069// The context must be non-nil and will be used for request cancellation. If
2070// the context is nil a panic will occur. In the future the SDK may create
2071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2072// for more information on using Contexts.
2073func (c *RDS) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
2074	req, out := c.CreateDBInstanceRequest(input)
2075	req.SetContext(ctx)
2076	req.ApplyOptions(opts...)
2077	return out, req.Send()
2078}
2079
2080const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica"
2081
2082// CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the
2083// client's request for the CreateDBInstanceReadReplica operation. The "output" return
2084// value will be populated with the request's response once the request completes
2085// successfully.
2086//
2087// Use "Send" method on the returned Request to send the API call to the service.
2088// the "output" return value is not valid until after Send returns without error.
2089//
2090// See CreateDBInstanceReadReplica for more information on using the CreateDBInstanceReadReplica
2091// API call, and error handling.
2092//
2093// This method is useful when you want to inject custom logic or configuration
2094// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2095//
2096//
2097//    // Example sending a request using the CreateDBInstanceReadReplicaRequest method.
2098//    req, resp := client.CreateDBInstanceReadReplicaRequest(params)
2099//
2100//    err := req.Send()
2101//    if err == nil { // resp is now filled
2102//        fmt.Println(resp)
2103//    }
2104//
2105// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
2106func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadReplicaInput) (req *request.Request, output *CreateDBInstanceReadReplicaOutput) {
2107	op := &request.Operation{
2108		Name:       opCreateDBInstanceReadReplica,
2109		HTTPMethod: "POST",
2110		HTTPPath:   "/",
2111	}
2112
2113	if input == nil {
2114		input = &CreateDBInstanceReadReplicaInput{}
2115	}
2116
2117	output = &CreateDBInstanceReadReplicaOutput{}
2118	req = c.newRequest(op, input, output)
2119	return
2120}
2121
2122// CreateDBInstanceReadReplica API operation for Amazon Relational Database Service.
2123//
2124// Creates a new DB instance that acts as a read replica for an existing source
2125// DB instance. You can create a read replica for a DB instance running MySQL,
2126// MariaDB, Oracle, PostgreSQL, or SQL Server. For more information, see Working
2127// with Read Replicas (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
2128// in the Amazon RDS User Guide.
2129//
2130// Amazon Aurora doesn't support this action. Call the CreateDBInstance action
2131// to create a DB instance for an Aurora DB cluster.
2132//
2133// All read replica DB instances are created with backups disabled. All other
2134// DB instance attributes (including DB security groups and DB parameter groups)
2135// are inherited from the source DB instance, except as specified.
2136//
2137// Your source DB instance must have backup retention enabled.
2138//
2139// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2140// with awserr.Error's Code and Message methods to get detailed information about
2141// the error.
2142//
2143// See the AWS API reference guide for Amazon Relational Database Service's
2144// API operation CreateDBInstanceReadReplica for usage and error information.
2145//
2146// Returned Error Codes:
2147//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
2148//   The user already has a DB instance with the given identifier.
2149//
2150//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
2151//   The specified DB instance class isn't available in the specified Availability
2152//   Zone.
2153//
2154//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2155//   DBParameterGroupName doesn't refer to an existing DB parameter group.
2156//
2157//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
2158//   DBSecurityGroupName doesn't refer to an existing DB security group.
2159//
2160//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
2161//   The request would result in the user exceeding the allowed number of DB instances.
2162//
2163//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
2164//   The request would result in the user exceeding the allowed amount of storage
2165//   available across all DB instances.
2166//
2167//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2168//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2169//
2170//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2171//   The DB instance isn't in a valid state.
2172//
2173//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2174//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
2175//
2176//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2177//   Subnets in the DB subnet group should cover at least two Availability Zones
2178//   unless there is only one Availability Zone.
2179//
2180//   * ErrCodeInvalidSubnet "InvalidSubnet"
2181//   The requested subnet is invalid, or multiple subnets were requested that
2182//   are not all in a common VPC.
2183//
2184//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
2185//   The DB subnet group doesn't cover all Availability Zones after it's created
2186//   because of users' change.
2187//
2188//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
2189//   Provisioned IOPS not available in the specified Availability Zone.
2190//
2191//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
2192//   The specified option group could not be found.
2193//
2194//   * ErrCodeDBSubnetGroupNotAllowedFault "DBSubnetGroupNotAllowedFault"
2195//   The DBSubnetGroup shouldn't be specified while creating read replicas that
2196//   lie in the same region as the source instance.
2197//
2198//   * ErrCodeInvalidDBSubnetGroupFault "InvalidDBSubnetGroupFault"
2199//   The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region
2200//   read replica of the same source instance.
2201//
2202//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
2203//   Storage of the StorageType specified can't be associated with the DB instance.
2204//
2205//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
2206//   An error occurred accessing an Amazon Web Services KMS key.
2207//
2208//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
2209//   Domain doesn't refer to an existing Active Directory domain.
2210//
2211// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
2212func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) {
2213	req, out := c.CreateDBInstanceReadReplicaRequest(input)
2214	return out, req.Send()
2215}
2216
2217// CreateDBInstanceReadReplicaWithContext is the same as CreateDBInstanceReadReplica with the addition of
2218// the ability to pass a context and additional request options.
2219//
2220// See CreateDBInstanceReadReplica for details on how to use this API operation.
2221//
2222// The context must be non-nil and will be used for request cancellation. If
2223// the context is nil a panic will occur. In the future the SDK may create
2224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2225// for more information on using Contexts.
2226func (c *RDS) CreateDBInstanceReadReplicaWithContext(ctx aws.Context, input *CreateDBInstanceReadReplicaInput, opts ...request.Option) (*CreateDBInstanceReadReplicaOutput, error) {
2227	req, out := c.CreateDBInstanceReadReplicaRequest(input)
2228	req.SetContext(ctx)
2229	req.ApplyOptions(opts...)
2230	return out, req.Send()
2231}
2232
2233const opCreateDBParameterGroup = "CreateDBParameterGroup"
2234
2235// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
2236// client's request for the CreateDBParameterGroup operation. The "output" return
2237// value will be populated with the request's response once the request completes
2238// successfully.
2239//
2240// Use "Send" method on the returned Request to send the API call to the service.
2241// the "output" return value is not valid until after Send returns without error.
2242//
2243// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
2244// API call, and error handling.
2245//
2246// This method is useful when you want to inject custom logic or configuration
2247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2248//
2249//
2250//    // Example sending a request using the CreateDBParameterGroupRequest method.
2251//    req, resp := client.CreateDBParameterGroupRequest(params)
2252//
2253//    err := req.Send()
2254//    if err == nil { // resp is now filled
2255//        fmt.Println(resp)
2256//    }
2257//
2258// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
2259func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
2260	op := &request.Operation{
2261		Name:       opCreateDBParameterGroup,
2262		HTTPMethod: "POST",
2263		HTTPPath:   "/",
2264	}
2265
2266	if input == nil {
2267		input = &CreateDBParameterGroupInput{}
2268	}
2269
2270	output = &CreateDBParameterGroupOutput{}
2271	req = c.newRequest(op, input, output)
2272	return
2273}
2274
2275// CreateDBParameterGroup API operation for Amazon Relational Database Service.
2276//
2277// Creates a new DB parameter group.
2278//
2279// A DB parameter group is initially created with the default parameters for
2280// the database engine used by the DB instance. To provide custom values for
2281// any of the parameters, you must modify the group after creating it using
2282// ModifyDBParameterGroup. Once you've created a DB parameter group, you need
2283// to associate it with your DB instance using ModifyDBInstance. When you associate
2284// a new DB parameter group with a running DB instance, you need to reboot the
2285// DB instance without failover for the new DB parameter group and associated
2286// settings to take effect.
2287//
2288// This command doesn't apply to RDS Custom.
2289//
2290// After you create a DB parameter group, you should wait at least 5 minutes
2291// before creating your first DB instance that uses that DB parameter group
2292// as the default parameter group. This allows Amazon RDS to fully complete
2293// the create action before the parameter group is used as the default for a
2294// new DB instance. This is especially important for parameters that are critical
2295// when creating the default database for a DB instance, such as the character
2296// set for the default database defined by the character_set_database parameter.
2297// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
2298// or the DescribeDBParameters command to verify that your DB parameter group
2299// has been created or modified.
2300//
2301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2302// with awserr.Error's Code and Message methods to get detailed information about
2303// the error.
2304//
2305// See the AWS API reference guide for Amazon Relational Database Service's
2306// API operation CreateDBParameterGroup for usage and error information.
2307//
2308// Returned Error Codes:
2309//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
2310//   The request would result in the user exceeding the allowed number of DB parameter
2311//   groups.
2312//
2313//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
2314//   A DB parameter group with the same name exists.
2315//
2316// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
2317func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
2318	req, out := c.CreateDBParameterGroupRequest(input)
2319	return out, req.Send()
2320}
2321
2322// CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
2323// the ability to pass a context and additional request options.
2324//
2325// See CreateDBParameterGroup for details on how to use this API operation.
2326//
2327// The context must be non-nil and will be used for request cancellation. If
2328// the context is nil a panic will occur. In the future the SDK may create
2329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2330// for more information on using Contexts.
2331func (c *RDS) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
2332	req, out := c.CreateDBParameterGroupRequest(input)
2333	req.SetContext(ctx)
2334	req.ApplyOptions(opts...)
2335	return out, req.Send()
2336}
2337
2338const opCreateDBProxy = "CreateDBProxy"
2339
2340// CreateDBProxyRequest generates a "aws/request.Request" representing the
2341// client's request for the CreateDBProxy operation. The "output" return
2342// value will be populated with the request's response once the request completes
2343// successfully.
2344//
2345// Use "Send" method on the returned Request to send the API call to the service.
2346// the "output" return value is not valid until after Send returns without error.
2347//
2348// See CreateDBProxy for more information on using the CreateDBProxy
2349// API call, and error handling.
2350//
2351// This method is useful when you want to inject custom logic or configuration
2352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2353//
2354//
2355//    // Example sending a request using the CreateDBProxyRequest method.
2356//    req, resp := client.CreateDBProxyRequest(params)
2357//
2358//    err := req.Send()
2359//    if err == nil { // resp is now filled
2360//        fmt.Println(resp)
2361//    }
2362//
2363// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
2364func (c *RDS) CreateDBProxyRequest(input *CreateDBProxyInput) (req *request.Request, output *CreateDBProxyOutput) {
2365	op := &request.Operation{
2366		Name:       opCreateDBProxy,
2367		HTTPMethod: "POST",
2368		HTTPPath:   "/",
2369	}
2370
2371	if input == nil {
2372		input = &CreateDBProxyInput{}
2373	}
2374
2375	output = &CreateDBProxyOutput{}
2376	req = c.newRequest(op, input, output)
2377	return
2378}
2379
2380// CreateDBProxy API operation for Amazon Relational Database Service.
2381//
2382// Creates a new DB proxy.
2383//
2384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2385// with awserr.Error's Code and Message methods to get detailed information about
2386// the error.
2387//
2388// See the AWS API reference guide for Amazon Relational Database Service's
2389// API operation CreateDBProxy for usage and error information.
2390//
2391// Returned Error Codes:
2392//   * ErrCodeInvalidSubnet "InvalidSubnet"
2393//   The requested subnet is invalid, or multiple subnets were requested that
2394//   are not all in a common VPC.
2395//
2396//   * ErrCodeDBProxyAlreadyExistsFault "DBProxyAlreadyExistsFault"
2397//   The specified proxy name must be unique for all proxies owned by your Amazon
2398//   Web Services account in the specified Amazon Web Services Region.
2399//
2400//   * ErrCodeDBProxyQuotaExceededFault "DBProxyQuotaExceededFault"
2401//   Your Amazon Web Services account already has the maximum number of proxies
2402//   in the specified Amazon Web Services Region.
2403//
2404// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
2405func (c *RDS) CreateDBProxy(input *CreateDBProxyInput) (*CreateDBProxyOutput, error) {
2406	req, out := c.CreateDBProxyRequest(input)
2407	return out, req.Send()
2408}
2409
2410// CreateDBProxyWithContext is the same as CreateDBProxy with the addition of
2411// the ability to pass a context and additional request options.
2412//
2413// See CreateDBProxy for details on how to use this API operation.
2414//
2415// The context must be non-nil and will be used for request cancellation. If
2416// the context is nil a panic will occur. In the future the SDK may create
2417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2418// for more information on using Contexts.
2419func (c *RDS) CreateDBProxyWithContext(ctx aws.Context, input *CreateDBProxyInput, opts ...request.Option) (*CreateDBProxyOutput, error) {
2420	req, out := c.CreateDBProxyRequest(input)
2421	req.SetContext(ctx)
2422	req.ApplyOptions(opts...)
2423	return out, req.Send()
2424}
2425
2426const opCreateDBProxyEndpoint = "CreateDBProxyEndpoint"
2427
2428// CreateDBProxyEndpointRequest generates a "aws/request.Request" representing the
2429// client's request for the CreateDBProxyEndpoint operation. The "output" return
2430// value will be populated with the request's response once the request completes
2431// successfully.
2432//
2433// Use "Send" method on the returned Request to send the API call to the service.
2434// the "output" return value is not valid until after Send returns without error.
2435//
2436// See CreateDBProxyEndpoint for more information on using the CreateDBProxyEndpoint
2437// API call, and error handling.
2438//
2439// This method is useful when you want to inject custom logic or configuration
2440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2441//
2442//
2443//    // Example sending a request using the CreateDBProxyEndpointRequest method.
2444//    req, resp := client.CreateDBProxyEndpointRequest(params)
2445//
2446//    err := req.Send()
2447//    if err == nil { // resp is now filled
2448//        fmt.Println(resp)
2449//    }
2450//
2451// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxyEndpoint
2452func (c *RDS) CreateDBProxyEndpointRequest(input *CreateDBProxyEndpointInput) (req *request.Request, output *CreateDBProxyEndpointOutput) {
2453	op := &request.Operation{
2454		Name:       opCreateDBProxyEndpoint,
2455		HTTPMethod: "POST",
2456		HTTPPath:   "/",
2457	}
2458
2459	if input == nil {
2460		input = &CreateDBProxyEndpointInput{}
2461	}
2462
2463	output = &CreateDBProxyEndpointOutput{}
2464	req = c.newRequest(op, input, output)
2465	return
2466}
2467
2468// CreateDBProxyEndpoint API operation for Amazon Relational Database Service.
2469//
2470// Creates a DBProxyEndpoint. Only applies to proxies that are associated with
2471// Aurora DB clusters. You can use DB proxy endpoints to specify read/write
2472// or read-only access to the DB cluster. You can also use DB proxy endpoints
2473// to access a DB proxy through a different VPC than the proxy's default VPC.
2474//
2475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2476// with awserr.Error's Code and Message methods to get detailed information about
2477// the error.
2478//
2479// See the AWS API reference guide for Amazon Relational Database Service's
2480// API operation CreateDBProxyEndpoint for usage and error information.
2481//
2482// Returned Error Codes:
2483//   * ErrCodeInvalidSubnet "InvalidSubnet"
2484//   The requested subnet is invalid, or multiple subnets were requested that
2485//   are not all in a common VPC.
2486//
2487//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
2488//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
2489//   Web Services account in the specified Amazon Web Services Region.
2490//
2491//   * ErrCodeDBProxyEndpointAlreadyExistsFault "DBProxyEndpointAlreadyExistsFault"
2492//   The specified DB proxy endpoint name must be unique for all DB proxy endpoints
2493//   owned by your Amazon Web Services account in the specified Amazon Web Services
2494//   Region.
2495//
2496//   * ErrCodeDBProxyEndpointQuotaExceededFault "DBProxyEndpointQuotaExceededFault"
2497//   The DB proxy already has the maximum number of endpoints.
2498//
2499//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
2500//   The requested operation can't be performed while the proxy is in this state.
2501//
2502// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxyEndpoint
2503func (c *RDS) CreateDBProxyEndpoint(input *CreateDBProxyEndpointInput) (*CreateDBProxyEndpointOutput, error) {
2504	req, out := c.CreateDBProxyEndpointRequest(input)
2505	return out, req.Send()
2506}
2507
2508// CreateDBProxyEndpointWithContext is the same as CreateDBProxyEndpoint with the addition of
2509// the ability to pass a context and additional request options.
2510//
2511// See CreateDBProxyEndpoint for details on how to use this API operation.
2512//
2513// The context must be non-nil and will be used for request cancellation. If
2514// the context is nil a panic will occur. In the future the SDK may create
2515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2516// for more information on using Contexts.
2517func (c *RDS) CreateDBProxyEndpointWithContext(ctx aws.Context, input *CreateDBProxyEndpointInput, opts ...request.Option) (*CreateDBProxyEndpointOutput, error) {
2518	req, out := c.CreateDBProxyEndpointRequest(input)
2519	req.SetContext(ctx)
2520	req.ApplyOptions(opts...)
2521	return out, req.Send()
2522}
2523
2524const opCreateDBSecurityGroup = "CreateDBSecurityGroup"
2525
2526// CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the
2527// client's request for the CreateDBSecurityGroup operation. The "output" return
2528// value will be populated with the request's response once the request completes
2529// successfully.
2530//
2531// Use "Send" method on the returned Request to send the API call to the service.
2532// the "output" return value is not valid until after Send returns without error.
2533//
2534// See CreateDBSecurityGroup for more information on using the CreateDBSecurityGroup
2535// API call, and error handling.
2536//
2537// This method is useful when you want to inject custom logic or configuration
2538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2539//
2540//
2541//    // Example sending a request using the CreateDBSecurityGroupRequest method.
2542//    req, resp := client.CreateDBSecurityGroupRequest(params)
2543//
2544//    err := req.Send()
2545//    if err == nil { // resp is now filled
2546//        fmt.Println(resp)
2547//    }
2548//
2549// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
2550func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (req *request.Request, output *CreateDBSecurityGroupOutput) {
2551	op := &request.Operation{
2552		Name:       opCreateDBSecurityGroup,
2553		HTTPMethod: "POST",
2554		HTTPPath:   "/",
2555	}
2556
2557	if input == nil {
2558		input = &CreateDBSecurityGroupInput{}
2559	}
2560
2561	output = &CreateDBSecurityGroupOutput{}
2562	req = c.newRequest(op, input, output)
2563	return
2564}
2565
2566// CreateDBSecurityGroup API operation for Amazon Relational Database Service.
2567//
2568// Creates a new DB security group. DB security groups control access to a DB
2569// instance.
2570//
2571// A DB security group controls access to EC2-Classic DB instances that are
2572// not in a VPC.
2573//
2574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2575// with awserr.Error's Code and Message methods to get detailed information about
2576// the error.
2577//
2578// See the AWS API reference guide for Amazon Relational Database Service's
2579// API operation CreateDBSecurityGroup for usage and error information.
2580//
2581// Returned Error Codes:
2582//   * ErrCodeDBSecurityGroupAlreadyExistsFault "DBSecurityGroupAlreadyExists"
2583//   A DB security group with the name specified in DBSecurityGroupName already
2584//   exists.
2585//
2586//   * ErrCodeDBSecurityGroupQuotaExceededFault "QuotaExceeded.DBSecurityGroup"
2587//   The request would result in the user exceeding the allowed number of DB security
2588//   groups.
2589//
2590//   * ErrCodeDBSecurityGroupNotSupportedFault "DBSecurityGroupNotSupported"
2591//   A DB security group isn't allowed for this action.
2592//
2593// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
2594func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateDBSecurityGroupOutput, error) {
2595	req, out := c.CreateDBSecurityGroupRequest(input)
2596	return out, req.Send()
2597}
2598
2599// CreateDBSecurityGroupWithContext is the same as CreateDBSecurityGroup with the addition of
2600// the ability to pass a context and additional request options.
2601//
2602// See CreateDBSecurityGroup for details on how to use this API operation.
2603//
2604// The context must be non-nil and will be used for request cancellation. If
2605// the context is nil a panic will occur. In the future the SDK may create
2606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2607// for more information on using Contexts.
2608func (c *RDS) CreateDBSecurityGroupWithContext(ctx aws.Context, input *CreateDBSecurityGroupInput, opts ...request.Option) (*CreateDBSecurityGroupOutput, error) {
2609	req, out := c.CreateDBSecurityGroupRequest(input)
2610	req.SetContext(ctx)
2611	req.ApplyOptions(opts...)
2612	return out, req.Send()
2613}
2614
2615const opCreateDBSnapshot = "CreateDBSnapshot"
2616
2617// CreateDBSnapshotRequest generates a "aws/request.Request" representing the
2618// client's request for the CreateDBSnapshot operation. The "output" return
2619// value will be populated with the request's response once the request completes
2620// successfully.
2621//
2622// Use "Send" method on the returned Request to send the API call to the service.
2623// the "output" return value is not valid until after Send returns without error.
2624//
2625// See CreateDBSnapshot for more information on using the CreateDBSnapshot
2626// API call, and error handling.
2627//
2628// This method is useful when you want to inject custom logic or configuration
2629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2630//
2631//
2632//    // Example sending a request using the CreateDBSnapshotRequest method.
2633//    req, resp := client.CreateDBSnapshotRequest(params)
2634//
2635//    err := req.Send()
2636//    if err == nil { // resp is now filled
2637//        fmt.Println(resp)
2638//    }
2639//
2640// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
2641func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *request.Request, output *CreateDBSnapshotOutput) {
2642	op := &request.Operation{
2643		Name:       opCreateDBSnapshot,
2644		HTTPMethod: "POST",
2645		HTTPPath:   "/",
2646	}
2647
2648	if input == nil {
2649		input = &CreateDBSnapshotInput{}
2650	}
2651
2652	output = &CreateDBSnapshotOutput{}
2653	req = c.newRequest(op, input, output)
2654	return
2655}
2656
2657// CreateDBSnapshot API operation for Amazon Relational Database Service.
2658//
2659// Creates a snapshot of a DB instance. The source DB instance must be in the
2660// available or storage-optimization state.
2661//
2662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2663// with awserr.Error's Code and Message methods to get detailed information about
2664// the error.
2665//
2666// See the AWS API reference guide for Amazon Relational Database Service's
2667// API operation CreateDBSnapshot for usage and error information.
2668//
2669// Returned Error Codes:
2670//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
2671//   DBSnapshotIdentifier is already used by an existing snapshot.
2672//
2673//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2674//   The DB instance isn't in a valid state.
2675//
2676//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2677//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2678//
2679//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2680//   The request would result in the user exceeding the allowed number of DB snapshots.
2681//
2682// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
2683func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotOutput, error) {
2684	req, out := c.CreateDBSnapshotRequest(input)
2685	return out, req.Send()
2686}
2687
2688// CreateDBSnapshotWithContext is the same as CreateDBSnapshot with the addition of
2689// the ability to pass a context and additional request options.
2690//
2691// See CreateDBSnapshot for details on how to use this API operation.
2692//
2693// The context must be non-nil and will be used for request cancellation. If
2694// the context is nil a panic will occur. In the future the SDK may create
2695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2696// for more information on using Contexts.
2697func (c *RDS) CreateDBSnapshotWithContext(ctx aws.Context, input *CreateDBSnapshotInput, opts ...request.Option) (*CreateDBSnapshotOutput, error) {
2698	req, out := c.CreateDBSnapshotRequest(input)
2699	req.SetContext(ctx)
2700	req.ApplyOptions(opts...)
2701	return out, req.Send()
2702}
2703
2704const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
2705
2706// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
2707// client's request for the CreateDBSubnetGroup operation. The "output" return
2708// value will be populated with the request's response once the request completes
2709// successfully.
2710//
2711// Use "Send" method on the returned Request to send the API call to the service.
2712// the "output" return value is not valid until after Send returns without error.
2713//
2714// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
2715// API call, and error handling.
2716//
2717// This method is useful when you want to inject custom logic or configuration
2718// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2719//
2720//
2721//    // Example sending a request using the CreateDBSubnetGroupRequest method.
2722//    req, resp := client.CreateDBSubnetGroupRequest(params)
2723//
2724//    err := req.Send()
2725//    if err == nil { // resp is now filled
2726//        fmt.Println(resp)
2727//    }
2728//
2729// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2730func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
2731	op := &request.Operation{
2732		Name:       opCreateDBSubnetGroup,
2733		HTTPMethod: "POST",
2734		HTTPPath:   "/",
2735	}
2736
2737	if input == nil {
2738		input = &CreateDBSubnetGroupInput{}
2739	}
2740
2741	output = &CreateDBSubnetGroupOutput{}
2742	req = c.newRequest(op, input, output)
2743	return
2744}
2745
2746// CreateDBSubnetGroup API operation for Amazon Relational Database Service.
2747//
2748// Creates a new DB subnet group. DB subnet groups must contain at least one
2749// subnet in at least two AZs in the Amazon Web Services Region.
2750//
2751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2752// with awserr.Error's Code and Message methods to get detailed information about
2753// the error.
2754//
2755// See the AWS API reference guide for Amazon Relational Database Service's
2756// API operation CreateDBSubnetGroup for usage and error information.
2757//
2758// Returned Error Codes:
2759//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
2760//   DBSubnetGroupName is already used by an existing DB subnet group.
2761//
2762//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
2763//   The request would result in the user exceeding the allowed number of DB subnet
2764//   groups.
2765//
2766//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
2767//   The request would result in the user exceeding the allowed number of subnets
2768//   in a DB subnet groups.
2769//
2770//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2771//   Subnets in the DB subnet group should cover at least two Availability Zones
2772//   unless there is only one Availability Zone.
2773//
2774//   * ErrCodeInvalidSubnet "InvalidSubnet"
2775//   The requested subnet is invalid, or multiple subnets were requested that
2776//   are not all in a common VPC.
2777//
2778// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2779func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
2780	req, out := c.CreateDBSubnetGroupRequest(input)
2781	return out, req.Send()
2782}
2783
2784// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
2785// the ability to pass a context and additional request options.
2786//
2787// See CreateDBSubnetGroup for details on how to use this API operation.
2788//
2789// The context must be non-nil and will be used for request cancellation. If
2790// the context is nil a panic will occur. In the future the SDK may create
2791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2792// for more information on using Contexts.
2793func (c *RDS) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
2794	req, out := c.CreateDBSubnetGroupRequest(input)
2795	req.SetContext(ctx)
2796	req.ApplyOptions(opts...)
2797	return out, req.Send()
2798}
2799
2800const opCreateEventSubscription = "CreateEventSubscription"
2801
2802// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
2803// client's request for the CreateEventSubscription operation. The "output" return
2804// value will be populated with the request's response once the request completes
2805// successfully.
2806//
2807// Use "Send" method on the returned Request to send the API call to the service.
2808// the "output" return value is not valid until after Send returns without error.
2809//
2810// See CreateEventSubscription for more information on using the CreateEventSubscription
2811// API call, and error handling.
2812//
2813// This method is useful when you want to inject custom logic or configuration
2814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2815//
2816//
2817//    // Example sending a request using the CreateEventSubscriptionRequest method.
2818//    req, resp := client.CreateEventSubscriptionRequest(params)
2819//
2820//    err := req.Send()
2821//    if err == nil { // resp is now filled
2822//        fmt.Println(resp)
2823//    }
2824//
2825// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2826func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
2827	op := &request.Operation{
2828		Name:       opCreateEventSubscription,
2829		HTTPMethod: "POST",
2830		HTTPPath:   "/",
2831	}
2832
2833	if input == nil {
2834		input = &CreateEventSubscriptionInput{}
2835	}
2836
2837	output = &CreateEventSubscriptionOutput{}
2838	req = c.newRequest(op, input, output)
2839	return
2840}
2841
2842// CreateEventSubscription API operation for Amazon Relational Database Service.
2843//
2844// Creates an RDS event notification subscription. This action requires a topic
2845// Amazon Resource Name (ARN) created by either the RDS console, the SNS console,
2846// or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon
2847// SNS and subscribe to the topic. The ARN is displayed in the SNS console.
2848//
2849// You can specify the type of source (SourceType) that you want to be notified
2850// of and provide a list of RDS sources (SourceIds) that triggers the events.
2851// You can also provide a list of event categories (EventCategories) for events
2852// that you want to be notified of. For example, you can specify SourceType
2853// = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories
2854// = Availability, Backup.
2855//
2856// If you specify both the SourceType and SourceIds, such as SourceType = db-instance
2857// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
2858// events for the specified source. If you specify a SourceType but do not specify
2859// a SourceIdentifier, you receive notice of the events for that source type
2860// for all your RDS sources. If you don't specify either the SourceType or the
2861// SourceIdentifier, you are notified of events generated from all RDS sources
2862// belonging to your customer account.
2863//
2864// RDS event notification is only available for unencrypted SNS topics. If you
2865// specify an encrypted SNS topic, event notifications aren't sent for the topic.
2866//
2867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2868// with awserr.Error's Code and Message methods to get detailed information about
2869// the error.
2870//
2871// See the AWS API reference guide for Amazon Relational Database Service's
2872// API operation CreateEventSubscription for usage and error information.
2873//
2874// Returned Error Codes:
2875//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
2876//   You have reached the maximum number of event subscriptions.
2877//
2878//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
2879//   The supplied subscription name already exists.
2880//
2881//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
2882//   SNS has responded that there is a problem with the SND topic specified.
2883//
2884//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
2885//   You do not have permission to publish to the SNS topic ARN.
2886//
2887//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
2888//   The SNS topic ARN does not exist.
2889//
2890//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
2891//   The supplied category does not exist.
2892//
2893//   * ErrCodeSourceNotFoundFault "SourceNotFound"
2894//   The requested source could not be found.
2895//
2896// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2897func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
2898	req, out := c.CreateEventSubscriptionRequest(input)
2899	return out, req.Send()
2900}
2901
2902// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
2903// the ability to pass a context and additional request options.
2904//
2905// See CreateEventSubscription for details on how to use this API operation.
2906//
2907// The context must be non-nil and will be used for request cancellation. If
2908// the context is nil a panic will occur. In the future the SDK may create
2909// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2910// for more information on using Contexts.
2911func (c *RDS) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
2912	req, out := c.CreateEventSubscriptionRequest(input)
2913	req.SetContext(ctx)
2914	req.ApplyOptions(opts...)
2915	return out, req.Send()
2916}
2917
2918const opCreateGlobalCluster = "CreateGlobalCluster"
2919
2920// CreateGlobalClusterRequest generates a "aws/request.Request" representing the
2921// client's request for the CreateGlobalCluster operation. The "output" return
2922// value will be populated with the request's response once the request completes
2923// successfully.
2924//
2925// Use "Send" method on the returned Request to send the API call to the service.
2926// the "output" return value is not valid until after Send returns without error.
2927//
2928// See CreateGlobalCluster for more information on using the CreateGlobalCluster
2929// API call, and error handling.
2930//
2931// This method is useful when you want to inject custom logic or configuration
2932// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2933//
2934//
2935//    // Example sending a request using the CreateGlobalClusterRequest method.
2936//    req, resp := client.CreateGlobalClusterRequest(params)
2937//
2938//    err := req.Send()
2939//    if err == nil { // resp is now filled
2940//        fmt.Println(resp)
2941//    }
2942//
2943// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
2944func (c *RDS) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) (req *request.Request, output *CreateGlobalClusterOutput) {
2945	op := &request.Operation{
2946		Name:       opCreateGlobalCluster,
2947		HTTPMethod: "POST",
2948		HTTPPath:   "/",
2949	}
2950
2951	if input == nil {
2952		input = &CreateGlobalClusterInput{}
2953	}
2954
2955	output = &CreateGlobalClusterOutput{}
2956	req = c.newRequest(op, input, output)
2957	return
2958}
2959
2960// CreateGlobalCluster API operation for Amazon Relational Database Service.
2961//
2962// Creates an Aurora global database spread across multiple Amazon Web Services
2963// Regions. The global database contains a single primary cluster with read-write
2964// capability, and a read-only secondary cluster that receives data from the
2965// primary cluster through high-speed replication performed by the Aurora storage
2966// subsystem.
2967//
2968// You can create a global database that is initially empty, and then add a
2969// primary cluster and a secondary cluster to it. Or you can specify an existing
2970// Aurora cluster during the create operation, and this cluster becomes the
2971// primary cluster of the global database.
2972//
2973// This action only applies to Aurora DB clusters.
2974//
2975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2976// with awserr.Error's Code and Message methods to get detailed information about
2977// the error.
2978//
2979// See the AWS API reference guide for Amazon Relational Database Service's
2980// API operation CreateGlobalCluster for usage and error information.
2981//
2982// Returned Error Codes:
2983//   * ErrCodeGlobalClusterAlreadyExistsFault "GlobalClusterAlreadyExistsFault"
2984//   The GlobalClusterIdentifier already exists. Choose a new global database
2985//   identifier (unique name) to create a new global database cluster.
2986//
2987//   * ErrCodeGlobalClusterQuotaExceededFault "GlobalClusterQuotaExceededFault"
2988//   The number of global database clusters for this account is already at the
2989//   maximum allowed.
2990//
2991//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2992//   The requested operation can't be performed while the cluster is in this state.
2993//
2994//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2995//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2996//
2997// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
2998func (c *RDS) CreateGlobalCluster(input *CreateGlobalClusterInput) (*CreateGlobalClusterOutput, error) {
2999	req, out := c.CreateGlobalClusterRequest(input)
3000	return out, req.Send()
3001}
3002
3003// CreateGlobalClusterWithContext is the same as CreateGlobalCluster with the addition of
3004// the ability to pass a context and additional request options.
3005//
3006// See CreateGlobalCluster for details on how to use this API operation.
3007//
3008// The context must be non-nil and will be used for request cancellation. If
3009// the context is nil a panic will occur. In the future the SDK may create
3010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3011// for more information on using Contexts.
3012func (c *RDS) CreateGlobalClusterWithContext(ctx aws.Context, input *CreateGlobalClusterInput, opts ...request.Option) (*CreateGlobalClusterOutput, error) {
3013	req, out := c.CreateGlobalClusterRequest(input)
3014	req.SetContext(ctx)
3015	req.ApplyOptions(opts...)
3016	return out, req.Send()
3017}
3018
3019const opCreateOptionGroup = "CreateOptionGroup"
3020
3021// CreateOptionGroupRequest generates a "aws/request.Request" representing the
3022// client's request for the CreateOptionGroup operation. The "output" return
3023// value will be populated with the request's response once the request completes
3024// successfully.
3025//
3026// Use "Send" method on the returned Request to send the API call to the service.
3027// the "output" return value is not valid until after Send returns without error.
3028//
3029// See CreateOptionGroup for more information on using the CreateOptionGroup
3030// API call, and error handling.
3031//
3032// This method is useful when you want to inject custom logic or configuration
3033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3034//
3035//
3036//    // Example sending a request using the CreateOptionGroupRequest method.
3037//    req, resp := client.CreateOptionGroupRequest(params)
3038//
3039//    err := req.Send()
3040//    if err == nil { // resp is now filled
3041//        fmt.Println(resp)
3042//    }
3043//
3044// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
3045func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *request.Request, output *CreateOptionGroupOutput) {
3046	op := &request.Operation{
3047		Name:       opCreateOptionGroup,
3048		HTTPMethod: "POST",
3049		HTTPPath:   "/",
3050	}
3051
3052	if input == nil {
3053		input = &CreateOptionGroupInput{}
3054	}
3055
3056	output = &CreateOptionGroupOutput{}
3057	req = c.newRequest(op, input, output)
3058	return
3059}
3060
3061// CreateOptionGroup API operation for Amazon Relational Database Service.
3062//
3063// Creates a new option group. You can create up to 20 option groups.
3064//
3065// This command doesn't apply to RDS Custom.
3066//
3067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3068// with awserr.Error's Code and Message methods to get detailed information about
3069// the error.
3070//
3071// See the AWS API reference guide for Amazon Relational Database Service's
3072// API operation CreateOptionGroup for usage and error information.
3073//
3074// Returned Error Codes:
3075//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
3076//   The option group you are trying to create already exists.
3077//
3078//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
3079//   The quota of 20 option groups was exceeded for this Amazon Web Services account.
3080//
3081// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
3082func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGroupOutput, error) {
3083	req, out := c.CreateOptionGroupRequest(input)
3084	return out, req.Send()
3085}
3086
3087// CreateOptionGroupWithContext is the same as CreateOptionGroup with the addition of
3088// the ability to pass a context and additional request options.
3089//
3090// See CreateOptionGroup for details on how to use this API operation.
3091//
3092// The context must be non-nil and will be used for request cancellation. If
3093// the context is nil a panic will occur. In the future the SDK may create
3094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3095// for more information on using Contexts.
3096func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionGroupInput, opts ...request.Option) (*CreateOptionGroupOutput, error) {
3097	req, out := c.CreateOptionGroupRequest(input)
3098	req.SetContext(ctx)
3099	req.ApplyOptions(opts...)
3100	return out, req.Send()
3101}
3102
3103const opDeleteCustomAvailabilityZone = "DeleteCustomAvailabilityZone"
3104
3105// DeleteCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
3106// client's request for the DeleteCustomAvailabilityZone operation. The "output" return
3107// value will be populated with the request's response once the request completes
3108// successfully.
3109//
3110// Use "Send" method on the returned Request to send the API call to the service.
3111// the "output" return value is not valid until after Send returns without error.
3112//
3113// See DeleteCustomAvailabilityZone for more information on using the DeleteCustomAvailabilityZone
3114// API call, and error handling.
3115//
3116// This method is useful when you want to inject custom logic or configuration
3117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3118//
3119//
3120//    // Example sending a request using the DeleteCustomAvailabilityZoneRequest method.
3121//    req, resp := client.DeleteCustomAvailabilityZoneRequest(params)
3122//
3123//    err := req.Send()
3124//    if err == nil { // resp is now filled
3125//        fmt.Println(resp)
3126//    }
3127//
3128// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
3129func (c *RDS) DeleteCustomAvailabilityZoneRequest(input *DeleteCustomAvailabilityZoneInput) (req *request.Request, output *DeleteCustomAvailabilityZoneOutput) {
3130	op := &request.Operation{
3131		Name:       opDeleteCustomAvailabilityZone,
3132		HTTPMethod: "POST",
3133		HTTPPath:   "/",
3134	}
3135
3136	if input == nil {
3137		input = &DeleteCustomAvailabilityZoneInput{}
3138	}
3139
3140	output = &DeleteCustomAvailabilityZoneOutput{}
3141	req = c.newRequest(op, input, output)
3142	return
3143}
3144
3145// DeleteCustomAvailabilityZone API operation for Amazon Relational Database Service.
3146//
3147// Deletes a custom Availability Zone (AZ).
3148//
3149// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
3150// cluster.
3151//
3152// For more information about RDS on VMware, see the RDS on VMware User Guide.
3153// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
3154//
3155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3156// with awserr.Error's Code and Message methods to get detailed information about
3157// the error.
3158//
3159// See the AWS API reference guide for Amazon Relational Database Service's
3160// API operation DeleteCustomAvailabilityZone for usage and error information.
3161//
3162// Returned Error Codes:
3163//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
3164//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
3165//   Zone identifier.
3166//
3167//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
3168//   An error occurred accessing an Amazon Web Services KMS key.
3169//
3170// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
3171func (c *RDS) DeleteCustomAvailabilityZone(input *DeleteCustomAvailabilityZoneInput) (*DeleteCustomAvailabilityZoneOutput, error) {
3172	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
3173	return out, req.Send()
3174}
3175
3176// DeleteCustomAvailabilityZoneWithContext is the same as DeleteCustomAvailabilityZone with the addition of
3177// the ability to pass a context and additional request options.
3178//
3179// See DeleteCustomAvailabilityZone for details on how to use this API operation.
3180//
3181// The context must be non-nil and will be used for request cancellation. If
3182// the context is nil a panic will occur. In the future the SDK may create
3183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3184// for more information on using Contexts.
3185func (c *RDS) DeleteCustomAvailabilityZoneWithContext(ctx aws.Context, input *DeleteCustomAvailabilityZoneInput, opts ...request.Option) (*DeleteCustomAvailabilityZoneOutput, error) {
3186	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
3187	req.SetContext(ctx)
3188	req.ApplyOptions(opts...)
3189	return out, req.Send()
3190}
3191
3192const opDeleteCustomDBEngineVersion = "DeleteCustomDBEngineVersion"
3193
3194// DeleteCustomDBEngineVersionRequest generates a "aws/request.Request" representing the
3195// client's request for the DeleteCustomDBEngineVersion operation. The "output" return
3196// value will be populated with the request's response once the request completes
3197// successfully.
3198//
3199// Use "Send" method on the returned Request to send the API call to the service.
3200// the "output" return value is not valid until after Send returns without error.
3201//
3202// See DeleteCustomDBEngineVersion for more information on using the DeleteCustomDBEngineVersion
3203// API call, and error handling.
3204//
3205// This method is useful when you want to inject custom logic or configuration
3206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3207//
3208//
3209//    // Example sending a request using the DeleteCustomDBEngineVersionRequest method.
3210//    req, resp := client.DeleteCustomDBEngineVersionRequest(params)
3211//
3212//    err := req.Send()
3213//    if err == nil { // resp is now filled
3214//        fmt.Println(resp)
3215//    }
3216//
3217// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomDBEngineVersion
3218func (c *RDS) DeleteCustomDBEngineVersionRequest(input *DeleteCustomDBEngineVersionInput) (req *request.Request, output *DeleteCustomDBEngineVersionOutput) {
3219	op := &request.Operation{
3220		Name:       opDeleteCustomDBEngineVersion,
3221		HTTPMethod: "POST",
3222		HTTPPath:   "/",
3223	}
3224
3225	if input == nil {
3226		input = &DeleteCustomDBEngineVersionInput{}
3227	}
3228
3229	output = &DeleteCustomDBEngineVersionOutput{}
3230	req = c.newRequest(op, input, output)
3231	return
3232}
3233
3234// DeleteCustomDBEngineVersion API operation for Amazon Relational Database Service.
3235//
3236// Deletes a custom engine version. To run this command, make sure you meet
3237// the following prerequisites:
3238//
3239//    * The CEV must not be the default for RDS Custom. If it is, change the
3240//    default before running this command.
3241//
3242//    * The CEV must not be associated with an RDS Custom DB instance, RDS Custom
3243//    instance snapshot, or automated backup of your RDS Custom instance.
3244//
3245// Typically, deletion takes a few minutes.
3246//
3247// The MediaImport service that imports files from Amazon S3 to create CEVs
3248// isn't integrated with Amazon Web Services CloudTrail. If you turn on data
3249// logging for Amazon RDS in CloudTrail, calls to the DeleteCustomDbEngineVersion
3250// event aren't logged. However, you might see calls from the API gateway that
3251// accesses your Amazon S3 bucket. These calls originate from the MediaImport
3252// service for the DeleteCustomDbEngineVersion event.
3253//
3254// For more information, see Deleting a CEV (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.delete)
3255// in the Amazon RDS User Guide.
3256//
3257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3258// with awserr.Error's Code and Message methods to get detailed information about
3259// the error.
3260//
3261// See the AWS API reference guide for Amazon Relational Database Service's
3262// API operation DeleteCustomDBEngineVersion for usage and error information.
3263//
3264// Returned Error Codes:
3265//   * ErrCodeCustomDBEngineVersionNotFoundFault "CustomDBEngineVersionNotFoundFault"
3266//   The specified CEV was not found.
3267//
3268//   * ErrCodeInvalidCustomDBEngineVersionStateFault "InvalidCustomDBEngineVersionStateFault"
3269//   You can't delete the CEV.
3270//
3271// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomDBEngineVersion
3272func (c *RDS) DeleteCustomDBEngineVersion(input *DeleteCustomDBEngineVersionInput) (*DeleteCustomDBEngineVersionOutput, error) {
3273	req, out := c.DeleteCustomDBEngineVersionRequest(input)
3274	return out, req.Send()
3275}
3276
3277// DeleteCustomDBEngineVersionWithContext is the same as DeleteCustomDBEngineVersion with the addition of
3278// the ability to pass a context and additional request options.
3279//
3280// See DeleteCustomDBEngineVersion for details on how to use this API operation.
3281//
3282// The context must be non-nil and will be used for request cancellation. If
3283// the context is nil a panic will occur. In the future the SDK may create
3284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3285// for more information on using Contexts.
3286func (c *RDS) DeleteCustomDBEngineVersionWithContext(ctx aws.Context, input *DeleteCustomDBEngineVersionInput, opts ...request.Option) (*DeleteCustomDBEngineVersionOutput, error) {
3287	req, out := c.DeleteCustomDBEngineVersionRequest(input)
3288	req.SetContext(ctx)
3289	req.ApplyOptions(opts...)
3290	return out, req.Send()
3291}
3292
3293const opDeleteDBCluster = "DeleteDBCluster"
3294
3295// DeleteDBClusterRequest generates a "aws/request.Request" representing the
3296// client's request for the DeleteDBCluster operation. The "output" return
3297// value will be populated with the request's response once the request completes
3298// successfully.
3299//
3300// Use "Send" method on the returned Request to send the API call to the service.
3301// the "output" return value is not valid until after Send returns without error.
3302//
3303// See DeleteDBCluster for more information on using the DeleteDBCluster
3304// API call, and error handling.
3305//
3306// This method is useful when you want to inject custom logic or configuration
3307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3308//
3309//
3310//    // Example sending a request using the DeleteDBClusterRequest method.
3311//    req, resp := client.DeleteDBClusterRequest(params)
3312//
3313//    err := req.Send()
3314//    if err == nil { // resp is now filled
3315//        fmt.Println(resp)
3316//    }
3317//
3318// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
3319func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
3320	op := &request.Operation{
3321		Name:       opDeleteDBCluster,
3322		HTTPMethod: "POST",
3323		HTTPPath:   "/",
3324	}
3325
3326	if input == nil {
3327		input = &DeleteDBClusterInput{}
3328	}
3329
3330	output = &DeleteDBClusterOutput{}
3331	req = c.newRequest(op, input, output)
3332	return
3333}
3334
3335// DeleteDBCluster API operation for Amazon Relational Database Service.
3336//
3337// The DeleteDBCluster action deletes a previously provisioned DB cluster. When
3338// you delete a DB cluster, all automated backups for that DB cluster are deleted
3339// and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
3340// are not deleted.
3341//
3342// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3343// in the Amazon Aurora User Guide.
3344//
3345// This action only applies to Aurora DB clusters.
3346//
3347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3348// with awserr.Error's Code and Message methods to get detailed information about
3349// the error.
3350//
3351// See the AWS API reference guide for Amazon Relational Database Service's
3352// API operation DeleteDBCluster for usage and error information.
3353//
3354// Returned Error Codes:
3355//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3356//   DBClusterIdentifier doesn't refer to an existing DB cluster.
3357//
3358//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3359//   The requested operation can't be performed while the cluster is in this state.
3360//
3361//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
3362//   The user already has a DB cluster snapshot with the given identifier.
3363//
3364//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
3365//   The request would result in the user exceeding the allowed number of DB snapshots.
3366//
3367//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3368//   The supplied value isn't a valid DB cluster snapshot state.
3369//
3370// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
3371func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
3372	req, out := c.DeleteDBClusterRequest(input)
3373	return out, req.Send()
3374}
3375
3376// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
3377// the ability to pass a context and additional request options.
3378//
3379// See DeleteDBCluster for details on how to use this API operation.
3380//
3381// The context must be non-nil and will be used for request cancellation. If
3382// the context is nil a panic will occur. In the future the SDK may create
3383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3384// for more information on using Contexts.
3385func (c *RDS) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
3386	req, out := c.DeleteDBClusterRequest(input)
3387	req.SetContext(ctx)
3388	req.ApplyOptions(opts...)
3389	return out, req.Send()
3390}
3391
3392const opDeleteDBClusterEndpoint = "DeleteDBClusterEndpoint"
3393
3394// DeleteDBClusterEndpointRequest generates a "aws/request.Request" representing the
3395// client's request for the DeleteDBClusterEndpoint operation. The "output" return
3396// value will be populated with the request's response once the request completes
3397// successfully.
3398//
3399// Use "Send" method on the returned Request to send the API call to the service.
3400// the "output" return value is not valid until after Send returns without error.
3401//
3402// See DeleteDBClusterEndpoint for more information on using the DeleteDBClusterEndpoint
3403// API call, and error handling.
3404//
3405// This method is useful when you want to inject custom logic or configuration
3406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3407//
3408//
3409//    // Example sending a request using the DeleteDBClusterEndpointRequest method.
3410//    req, resp := client.DeleteDBClusterEndpointRequest(params)
3411//
3412//    err := req.Send()
3413//    if err == nil { // resp is now filled
3414//        fmt.Println(resp)
3415//    }
3416//
3417// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
3418func (c *RDS) DeleteDBClusterEndpointRequest(input *DeleteDBClusterEndpointInput) (req *request.Request, output *DeleteDBClusterEndpointOutput) {
3419	op := &request.Operation{
3420		Name:       opDeleteDBClusterEndpoint,
3421		HTTPMethod: "POST",
3422		HTTPPath:   "/",
3423	}
3424
3425	if input == nil {
3426		input = &DeleteDBClusterEndpointInput{}
3427	}
3428
3429	output = &DeleteDBClusterEndpointOutput{}
3430	req = c.newRequest(op, input, output)
3431	return
3432}
3433
3434// DeleteDBClusterEndpoint API operation for Amazon Relational Database Service.
3435//
3436// Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.
3437//
3438// This action only applies to Aurora DB clusters.
3439//
3440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3441// with awserr.Error's Code and Message methods to get detailed information about
3442// the error.
3443//
3444// See the AWS API reference guide for Amazon Relational Database Service's
3445// API operation DeleteDBClusterEndpoint for usage and error information.
3446//
3447// Returned Error Codes:
3448//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
3449//   The requested operation can't be performed on the endpoint while the endpoint
3450//   is in this state.
3451//
3452//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
3453//   The specified custom endpoint doesn't exist.
3454//
3455//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3456//   The requested operation can't be performed while the cluster is in this state.
3457//
3458// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
3459func (c *RDS) DeleteDBClusterEndpoint(input *DeleteDBClusterEndpointInput) (*DeleteDBClusterEndpointOutput, error) {
3460	req, out := c.DeleteDBClusterEndpointRequest(input)
3461	return out, req.Send()
3462}
3463
3464// DeleteDBClusterEndpointWithContext is the same as DeleteDBClusterEndpoint with the addition of
3465// the ability to pass a context and additional request options.
3466//
3467// See DeleteDBClusterEndpoint for details on how to use this API operation.
3468//
3469// The context must be non-nil and will be used for request cancellation. If
3470// the context is nil a panic will occur. In the future the SDK may create
3471// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3472// for more information on using Contexts.
3473func (c *RDS) DeleteDBClusterEndpointWithContext(ctx aws.Context, input *DeleteDBClusterEndpointInput, opts ...request.Option) (*DeleteDBClusterEndpointOutput, error) {
3474	req, out := c.DeleteDBClusterEndpointRequest(input)
3475	req.SetContext(ctx)
3476	req.ApplyOptions(opts...)
3477	return out, req.Send()
3478}
3479
3480const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
3481
3482// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
3483// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
3484// value will be populated with the request's response once the request completes
3485// successfully.
3486//
3487// Use "Send" method on the returned Request to send the API call to the service.
3488// the "output" return value is not valid until after Send returns without error.
3489//
3490// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
3491// API call, and error handling.
3492//
3493// This method is useful when you want to inject custom logic or configuration
3494// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3495//
3496//
3497//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
3498//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
3499//
3500//    err := req.Send()
3501//    if err == nil { // resp is now filled
3502//        fmt.Println(resp)
3503//    }
3504//
3505// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
3506func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
3507	op := &request.Operation{
3508		Name:       opDeleteDBClusterParameterGroup,
3509		HTTPMethod: "POST",
3510		HTTPPath:   "/",
3511	}
3512
3513	if input == nil {
3514		input = &DeleteDBClusterParameterGroupInput{}
3515	}
3516
3517	output = &DeleteDBClusterParameterGroupOutput{}
3518	req = c.newRequest(op, input, output)
3519	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3520	return
3521}
3522
3523// DeleteDBClusterParameterGroup API operation for Amazon Relational Database Service.
3524//
3525// Deletes a specified DB cluster parameter group. The DB cluster parameter
3526// group to be deleted can't be associated with any DB clusters.
3527//
3528// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3529// in the Amazon Aurora User Guide.
3530//
3531// This action only applies to Aurora DB clusters.
3532//
3533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3534// with awserr.Error's Code and Message methods to get detailed information about
3535// the error.
3536//
3537// See the AWS API reference guide for Amazon Relational Database Service's
3538// API operation DeleteDBClusterParameterGroup for usage and error information.
3539//
3540// Returned Error Codes:
3541//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3542//   The DB parameter group is in use or is in an invalid state. If you are attempting
3543//   to delete the parameter group, you can't delete it when the parameter group
3544//   is in this state.
3545//
3546//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3547//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3548//
3549// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
3550func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
3551	req, out := c.DeleteDBClusterParameterGroupRequest(input)
3552	return out, req.Send()
3553}
3554
3555// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
3556// the ability to pass a context and additional request options.
3557//
3558// See DeleteDBClusterParameterGroup for details on how to use this API operation.
3559//
3560// The context must be non-nil and will be used for request cancellation. If
3561// the context is nil a panic will occur. In the future the SDK may create
3562// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3563// for more information on using Contexts.
3564func (c *RDS) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
3565	req, out := c.DeleteDBClusterParameterGroupRequest(input)
3566	req.SetContext(ctx)
3567	req.ApplyOptions(opts...)
3568	return out, req.Send()
3569}
3570
3571const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
3572
3573// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
3574// client's request for the DeleteDBClusterSnapshot operation. The "output" return
3575// value will be populated with the request's response once the request completes
3576// successfully.
3577//
3578// Use "Send" method on the returned Request to send the API call to the service.
3579// the "output" return value is not valid until after Send returns without error.
3580//
3581// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
3582// API call, and error handling.
3583//
3584// This method is useful when you want to inject custom logic or configuration
3585// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3586//
3587//
3588//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
3589//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
3590//
3591//    err := req.Send()
3592//    if err == nil { // resp is now filled
3593//        fmt.Println(resp)
3594//    }
3595//
3596// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
3597func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
3598	op := &request.Operation{
3599		Name:       opDeleteDBClusterSnapshot,
3600		HTTPMethod: "POST",
3601		HTTPPath:   "/",
3602	}
3603
3604	if input == nil {
3605		input = &DeleteDBClusterSnapshotInput{}
3606	}
3607
3608	output = &DeleteDBClusterSnapshotOutput{}
3609	req = c.newRequest(op, input, output)
3610	return
3611}
3612
3613// DeleteDBClusterSnapshot API operation for Amazon Relational Database Service.
3614//
3615// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
3616// operation is terminated.
3617//
3618// The DB cluster snapshot must be in the available state to be deleted.
3619//
3620// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3621// in the Amazon Aurora User Guide.
3622//
3623// This action only applies to Aurora DB clusters.
3624//
3625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3626// with awserr.Error's Code and Message methods to get detailed information about
3627// the error.
3628//
3629// See the AWS API reference guide for Amazon Relational Database Service's
3630// API operation DeleteDBClusterSnapshot for usage and error information.
3631//
3632// Returned Error Codes:
3633//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3634//   The supplied value isn't a valid DB cluster snapshot state.
3635//
3636//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3637//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3638//
3639// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
3640func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
3641	req, out := c.DeleteDBClusterSnapshotRequest(input)
3642	return out, req.Send()
3643}
3644
3645// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
3646// the ability to pass a context and additional request options.
3647//
3648// See DeleteDBClusterSnapshot for details on how to use this API operation.
3649//
3650// The context must be non-nil and will be used for request cancellation. If
3651// the context is nil a panic will occur. In the future the SDK may create
3652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3653// for more information on using Contexts.
3654func (c *RDS) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
3655	req, out := c.DeleteDBClusterSnapshotRequest(input)
3656	req.SetContext(ctx)
3657	req.ApplyOptions(opts...)
3658	return out, req.Send()
3659}
3660
3661const opDeleteDBInstance = "DeleteDBInstance"
3662
3663// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
3664// client's request for the DeleteDBInstance operation. The "output" return
3665// value will be populated with the request's response once the request completes
3666// successfully.
3667//
3668// Use "Send" method on the returned Request to send the API call to the service.
3669// the "output" return value is not valid until after Send returns without error.
3670//
3671// See DeleteDBInstance for more information on using the DeleteDBInstance
3672// API call, and error handling.
3673//
3674// This method is useful when you want to inject custom logic or configuration
3675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3676//
3677//
3678//    // Example sending a request using the DeleteDBInstanceRequest method.
3679//    req, resp := client.DeleteDBInstanceRequest(params)
3680//
3681//    err := req.Send()
3682//    if err == nil { // resp is now filled
3683//        fmt.Println(resp)
3684//    }
3685//
3686// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
3687func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
3688	op := &request.Operation{
3689		Name:       opDeleteDBInstance,
3690		HTTPMethod: "POST",
3691		HTTPPath:   "/",
3692	}
3693
3694	if input == nil {
3695		input = &DeleteDBInstanceInput{}
3696	}
3697
3698	output = &DeleteDBInstanceOutput{}
3699	req = c.newRequest(op, input, output)
3700	return
3701}
3702
3703// DeleteDBInstance API operation for Amazon Relational Database Service.
3704//
3705// The DeleteDBInstance action deletes a previously provisioned DB instance.
3706// When you delete a DB instance, all automated backups for that instance are
3707// deleted and can't be recovered. Manual DB snapshots of the DB instance to
3708// be deleted by DeleteDBInstance are not deleted.
3709//
3710// If you request a final DB snapshot the status of the Amazon RDS DB instance
3711// is deleting until the DB snapshot is created. The API action DescribeDBInstance
3712// is used to monitor the status of this operation. The action can't be canceled
3713// or reverted once submitted.
3714//
3715// When a DB instance is in a failure state and has a status of failed, incompatible-restore,
3716// or incompatible-network, you can only delete it when you skip creation of
3717// the final snapshot with the SkipFinalSnapshot parameter.
3718//
3719// If the specified DB instance is part of an Amazon Aurora DB cluster, you
3720// can't delete the DB instance if both of the following conditions are true:
3721//
3722//    * The DB cluster is a read replica of another Amazon Aurora DB cluster.
3723//
3724//    * The DB instance is the only instance in the DB cluster.
3725//
3726// To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster
3727// API action to promote the DB cluster so it's no longer a read replica. After
3728// the promotion completes, then call the DeleteDBInstance API action to delete
3729// the final instance in the DB cluster.
3730//
3731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3732// with awserr.Error's Code and Message methods to get detailed information about
3733// the error.
3734//
3735// See the AWS API reference guide for Amazon Relational Database Service's
3736// API operation DeleteDBInstance for usage and error information.
3737//
3738// Returned Error Codes:
3739//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3740//   DBInstanceIdentifier doesn't refer to an existing DB instance.
3741//
3742//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3743//   The DB instance isn't in a valid state.
3744//
3745//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
3746//   DBSnapshotIdentifier is already used by an existing snapshot.
3747//
3748//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
3749//   The request would result in the user exceeding the allowed number of DB snapshots.
3750//
3751//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3752//   The requested operation can't be performed while the cluster is in this state.
3753//
3754//   * ErrCodeDBInstanceAutomatedBackupQuotaExceededFault "DBInstanceAutomatedBackupQuotaExceeded"
3755//   The quota for retained automated backups was exceeded. This prevents you
3756//   from retaining any additional automated backups. The retained automated backups
3757//   quota is the same as your DB Instance quota.
3758//
3759// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
3760func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
3761	req, out := c.DeleteDBInstanceRequest(input)
3762	return out, req.Send()
3763}
3764
3765// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
3766// the ability to pass a context and additional request options.
3767//
3768// See DeleteDBInstance for details on how to use this API operation.
3769//
3770// The context must be non-nil and will be used for request cancellation. If
3771// the context is nil a panic will occur. In the future the SDK may create
3772// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3773// for more information on using Contexts.
3774func (c *RDS) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
3775	req, out := c.DeleteDBInstanceRequest(input)
3776	req.SetContext(ctx)
3777	req.ApplyOptions(opts...)
3778	return out, req.Send()
3779}
3780
3781const opDeleteDBInstanceAutomatedBackup = "DeleteDBInstanceAutomatedBackup"
3782
3783// DeleteDBInstanceAutomatedBackupRequest generates a "aws/request.Request" representing the
3784// client's request for the DeleteDBInstanceAutomatedBackup operation. The "output" return
3785// value will be populated with the request's response once the request completes
3786// successfully.
3787//
3788// Use "Send" method on the returned Request to send the API call to the service.
3789// the "output" return value is not valid until after Send returns without error.
3790//
3791// See DeleteDBInstanceAutomatedBackup for more information on using the DeleteDBInstanceAutomatedBackup
3792// API call, and error handling.
3793//
3794// This method is useful when you want to inject custom logic or configuration
3795// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3796//
3797//
3798//    // Example sending a request using the DeleteDBInstanceAutomatedBackupRequest method.
3799//    req, resp := client.DeleteDBInstanceAutomatedBackupRequest(params)
3800//
3801//    err := req.Send()
3802//    if err == nil { // resp is now filled
3803//        fmt.Println(resp)
3804//    }
3805//
3806// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
3807func (c *RDS) DeleteDBInstanceAutomatedBackupRequest(input *DeleteDBInstanceAutomatedBackupInput) (req *request.Request, output *DeleteDBInstanceAutomatedBackupOutput) {
3808	op := &request.Operation{
3809		Name:       opDeleteDBInstanceAutomatedBackup,
3810		HTTPMethod: "POST",
3811		HTTPPath:   "/",
3812	}
3813
3814	if input == nil {
3815		input = &DeleteDBInstanceAutomatedBackupInput{}
3816	}
3817
3818	output = &DeleteDBInstanceAutomatedBackupOutput{}
3819	req = c.newRequest(op, input, output)
3820	return
3821}
3822
3823// DeleteDBInstanceAutomatedBackup API operation for Amazon Relational Database Service.
3824//
3825// Deletes automated backups using the DbiResourceId value of the source DB
3826// instance or the Amazon Resource Name (ARN) of the automated backups.
3827//
3828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3829// with awserr.Error's Code and Message methods to get detailed information about
3830// the error.
3831//
3832// See the AWS API reference guide for Amazon Relational Database Service's
3833// API operation DeleteDBInstanceAutomatedBackup for usage and error information.
3834//
3835// Returned Error Codes:
3836//   * ErrCodeInvalidDBInstanceAutomatedBackupStateFault "InvalidDBInstanceAutomatedBackupState"
3837//   The automated backup is in an invalid state. For example, this automated
3838//   backup is associated with an active instance.
3839//
3840//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
3841//   No automated backup for this DB instance was found.
3842//
3843// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
3844func (c *RDS) DeleteDBInstanceAutomatedBackup(input *DeleteDBInstanceAutomatedBackupInput) (*DeleteDBInstanceAutomatedBackupOutput, error) {
3845	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
3846	return out, req.Send()
3847}
3848
3849// DeleteDBInstanceAutomatedBackupWithContext is the same as DeleteDBInstanceAutomatedBackup with the addition of
3850// the ability to pass a context and additional request options.
3851//
3852// See DeleteDBInstanceAutomatedBackup for details on how to use this API operation.
3853//
3854// The context must be non-nil and will be used for request cancellation. If
3855// the context is nil a panic will occur. In the future the SDK may create
3856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3857// for more information on using Contexts.
3858func (c *RDS) DeleteDBInstanceAutomatedBackupWithContext(ctx aws.Context, input *DeleteDBInstanceAutomatedBackupInput, opts ...request.Option) (*DeleteDBInstanceAutomatedBackupOutput, error) {
3859	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
3860	req.SetContext(ctx)
3861	req.ApplyOptions(opts...)
3862	return out, req.Send()
3863}
3864
3865const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
3866
3867// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
3868// client's request for the DeleteDBParameterGroup operation. The "output" return
3869// value will be populated with the request's response once the request completes
3870// successfully.
3871//
3872// Use "Send" method on the returned Request to send the API call to the service.
3873// the "output" return value is not valid until after Send returns without error.
3874//
3875// See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
3876// API call, and error handling.
3877//
3878// This method is useful when you want to inject custom logic or configuration
3879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3880//
3881//
3882//    // Example sending a request using the DeleteDBParameterGroupRequest method.
3883//    req, resp := client.DeleteDBParameterGroupRequest(params)
3884//
3885//    err := req.Send()
3886//    if err == nil { // resp is now filled
3887//        fmt.Println(resp)
3888//    }
3889//
3890// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
3891func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
3892	op := &request.Operation{
3893		Name:       opDeleteDBParameterGroup,
3894		HTTPMethod: "POST",
3895		HTTPPath:   "/",
3896	}
3897
3898	if input == nil {
3899		input = &DeleteDBParameterGroupInput{}
3900	}
3901
3902	output = &DeleteDBParameterGroupOutput{}
3903	req = c.newRequest(op, input, output)
3904	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3905	return
3906}
3907
3908// DeleteDBParameterGroup API operation for Amazon Relational Database Service.
3909//
3910// Deletes a specified DB parameter group. The DB parameter group to be deleted
3911// can't be associated with any DB instances.
3912//
3913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3914// with awserr.Error's Code and Message methods to get detailed information about
3915// the error.
3916//
3917// See the AWS API reference guide for Amazon Relational Database Service's
3918// API operation DeleteDBParameterGroup for usage and error information.
3919//
3920// Returned Error Codes:
3921//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3922//   The DB parameter group is in use or is in an invalid state. If you are attempting
3923//   to delete the parameter group, you can't delete it when the parameter group
3924//   is in this state.
3925//
3926//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3927//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3928//
3929// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
3930func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
3931	req, out := c.DeleteDBParameterGroupRequest(input)
3932	return out, req.Send()
3933}
3934
3935// DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
3936// the ability to pass a context and additional request options.
3937//
3938// See DeleteDBParameterGroup for details on how to use this API operation.
3939//
3940// The context must be non-nil and will be used for request cancellation. If
3941// the context is nil a panic will occur. In the future the SDK may create
3942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3943// for more information on using Contexts.
3944func (c *RDS) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
3945	req, out := c.DeleteDBParameterGroupRequest(input)
3946	req.SetContext(ctx)
3947	req.ApplyOptions(opts...)
3948	return out, req.Send()
3949}
3950
3951const opDeleteDBProxy = "DeleteDBProxy"
3952
3953// DeleteDBProxyRequest generates a "aws/request.Request" representing the
3954// client's request for the DeleteDBProxy operation. The "output" return
3955// value will be populated with the request's response once the request completes
3956// successfully.
3957//
3958// Use "Send" method on the returned Request to send the API call to the service.
3959// the "output" return value is not valid until after Send returns without error.
3960//
3961// See DeleteDBProxy for more information on using the DeleteDBProxy
3962// API call, and error handling.
3963//
3964// This method is useful when you want to inject custom logic or configuration
3965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3966//
3967//
3968//    // Example sending a request using the DeleteDBProxyRequest method.
3969//    req, resp := client.DeleteDBProxyRequest(params)
3970//
3971//    err := req.Send()
3972//    if err == nil { // resp is now filled
3973//        fmt.Println(resp)
3974//    }
3975//
3976// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
3977func (c *RDS) DeleteDBProxyRequest(input *DeleteDBProxyInput) (req *request.Request, output *DeleteDBProxyOutput) {
3978	op := &request.Operation{
3979		Name:       opDeleteDBProxy,
3980		HTTPMethod: "POST",
3981		HTTPPath:   "/",
3982	}
3983
3984	if input == nil {
3985		input = &DeleteDBProxyInput{}
3986	}
3987
3988	output = &DeleteDBProxyOutput{}
3989	req = c.newRequest(op, input, output)
3990	return
3991}
3992
3993// DeleteDBProxy API operation for Amazon Relational Database Service.
3994//
3995// Deletes an existing DB proxy.
3996//
3997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3998// with awserr.Error's Code and Message methods to get detailed information about
3999// the error.
4000//
4001// See the AWS API reference guide for Amazon Relational Database Service's
4002// API operation DeleteDBProxy for usage and error information.
4003//
4004// Returned Error Codes:
4005//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
4006//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
4007//   Web Services account in the specified Amazon Web Services Region.
4008//
4009//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
4010//   The requested operation can't be performed while the proxy is in this state.
4011//
4012// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
4013func (c *RDS) DeleteDBProxy(input *DeleteDBProxyInput) (*DeleteDBProxyOutput, error) {
4014	req, out := c.DeleteDBProxyRequest(input)
4015	return out, req.Send()
4016}
4017
4018// DeleteDBProxyWithContext is the same as DeleteDBProxy with the addition of
4019// the ability to pass a context and additional request options.
4020//
4021// See DeleteDBProxy for details on how to use this API operation.
4022//
4023// The context must be non-nil and will be used for request cancellation. If
4024// the context is nil a panic will occur. In the future the SDK may create
4025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4026// for more information on using Contexts.
4027func (c *RDS) DeleteDBProxyWithContext(ctx aws.Context, input *DeleteDBProxyInput, opts ...request.Option) (*DeleteDBProxyOutput, error) {
4028	req, out := c.DeleteDBProxyRequest(input)
4029	req.SetContext(ctx)
4030	req.ApplyOptions(opts...)
4031	return out, req.Send()
4032}
4033
4034const opDeleteDBProxyEndpoint = "DeleteDBProxyEndpoint"
4035
4036// DeleteDBProxyEndpointRequest generates a "aws/request.Request" representing the
4037// client's request for the DeleteDBProxyEndpoint operation. The "output" return
4038// value will be populated with the request's response once the request completes
4039// successfully.
4040//
4041// Use "Send" method on the returned Request to send the API call to the service.
4042// the "output" return value is not valid until after Send returns without error.
4043//
4044// See DeleteDBProxyEndpoint for more information on using the DeleteDBProxyEndpoint
4045// API call, and error handling.
4046//
4047// This method is useful when you want to inject custom logic or configuration
4048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4049//
4050//
4051//    // Example sending a request using the DeleteDBProxyEndpointRequest method.
4052//    req, resp := client.DeleteDBProxyEndpointRequest(params)
4053//
4054//    err := req.Send()
4055//    if err == nil { // resp is now filled
4056//        fmt.Println(resp)
4057//    }
4058//
4059// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxyEndpoint
4060func (c *RDS) DeleteDBProxyEndpointRequest(input *DeleteDBProxyEndpointInput) (req *request.Request, output *DeleteDBProxyEndpointOutput) {
4061	op := &request.Operation{
4062		Name:       opDeleteDBProxyEndpoint,
4063		HTTPMethod: "POST",
4064		HTTPPath:   "/",
4065	}
4066
4067	if input == nil {
4068		input = &DeleteDBProxyEndpointInput{}
4069	}
4070
4071	output = &DeleteDBProxyEndpointOutput{}
4072	req = c.newRequest(op, input, output)
4073	return
4074}
4075
4076// DeleteDBProxyEndpoint API operation for Amazon Relational Database Service.
4077//
4078// Deletes a DBProxyEndpoint. Doing so removes the ability to access the DB
4079// proxy using the endpoint that you defined. The endpoint that you delete might
4080// have provided capabilities such as read/write or read-only operations, or
4081// using a different VPC than the DB proxy's default VPC.
4082//
4083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4084// with awserr.Error's Code and Message methods to get detailed information about
4085// the error.
4086//
4087// See the AWS API reference guide for Amazon Relational Database Service's
4088// API operation DeleteDBProxyEndpoint for usage and error information.
4089//
4090// Returned Error Codes:
4091//   * ErrCodeDBProxyEndpointNotFoundFault "DBProxyEndpointNotFoundFault"
4092//   The DB proxy endpoint doesn't exist.
4093//
4094//   * ErrCodeInvalidDBProxyEndpointStateFault "InvalidDBProxyEndpointStateFault"
4095//   You can't perform this operation while the DB proxy endpoint is in a particular
4096//   state.
4097//
4098// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxyEndpoint
4099func (c *RDS) DeleteDBProxyEndpoint(input *DeleteDBProxyEndpointInput) (*DeleteDBProxyEndpointOutput, error) {
4100	req, out := c.DeleteDBProxyEndpointRequest(input)
4101	return out, req.Send()
4102}
4103
4104// DeleteDBProxyEndpointWithContext is the same as DeleteDBProxyEndpoint with the addition of
4105// the ability to pass a context and additional request options.
4106//
4107// See DeleteDBProxyEndpoint for details on how to use this API operation.
4108//
4109// The context must be non-nil and will be used for request cancellation. If
4110// the context is nil a panic will occur. In the future the SDK may create
4111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4112// for more information on using Contexts.
4113func (c *RDS) DeleteDBProxyEndpointWithContext(ctx aws.Context, input *DeleteDBProxyEndpointInput, opts ...request.Option) (*DeleteDBProxyEndpointOutput, error) {
4114	req, out := c.DeleteDBProxyEndpointRequest(input)
4115	req.SetContext(ctx)
4116	req.ApplyOptions(opts...)
4117	return out, req.Send()
4118}
4119
4120const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup"
4121
4122// DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the
4123// client's request for the DeleteDBSecurityGroup operation. The "output" return
4124// value will be populated with the request's response once the request completes
4125// successfully.
4126//
4127// Use "Send" method on the returned Request to send the API call to the service.
4128// the "output" return value is not valid until after Send returns without error.
4129//
4130// See DeleteDBSecurityGroup for more information on using the DeleteDBSecurityGroup
4131// API call, and error handling.
4132//
4133// This method is useful when you want to inject custom logic or configuration
4134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4135//
4136//
4137//    // Example sending a request using the DeleteDBSecurityGroupRequest method.
4138//    req, resp := client.DeleteDBSecurityGroupRequest(params)
4139//
4140//    err := req.Send()
4141//    if err == nil { // resp is now filled
4142//        fmt.Println(resp)
4143//    }
4144//
4145// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
4146func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (req *request.Request, output *DeleteDBSecurityGroupOutput) {
4147	op := &request.Operation{
4148		Name:       opDeleteDBSecurityGroup,
4149		HTTPMethod: "POST",
4150		HTTPPath:   "/",
4151	}
4152
4153	if input == nil {
4154		input = &DeleteDBSecurityGroupInput{}
4155	}
4156
4157	output = &DeleteDBSecurityGroupOutput{}
4158	req = c.newRequest(op, input, output)
4159	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4160	return
4161}
4162
4163// DeleteDBSecurityGroup API operation for Amazon Relational Database Service.
4164//
4165// Deletes a DB security group.
4166//
4167// The specified DB security group must not be associated with any DB instances.
4168//
4169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4170// with awserr.Error's Code and Message methods to get detailed information about
4171// the error.
4172//
4173// See the AWS API reference guide for Amazon Relational Database Service's
4174// API operation DeleteDBSecurityGroup for usage and error information.
4175//
4176// Returned Error Codes:
4177//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
4178//   The state of the DB security group doesn't allow deletion.
4179//
4180//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
4181//   DBSecurityGroupName doesn't refer to an existing DB security group.
4182//
4183// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
4184func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteDBSecurityGroupOutput, error) {
4185	req, out := c.DeleteDBSecurityGroupRequest(input)
4186	return out, req.Send()
4187}
4188
4189// DeleteDBSecurityGroupWithContext is the same as DeleteDBSecurityGroup with the addition of
4190// the ability to pass a context and additional request options.
4191//
4192// See DeleteDBSecurityGroup for details on how to use this API operation.
4193//
4194// The context must be non-nil and will be used for request cancellation. If
4195// the context is nil a panic will occur. In the future the SDK may create
4196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4197// for more information on using Contexts.
4198func (c *RDS) DeleteDBSecurityGroupWithContext(ctx aws.Context, input *DeleteDBSecurityGroupInput, opts ...request.Option) (*DeleteDBSecurityGroupOutput, error) {
4199	req, out := c.DeleteDBSecurityGroupRequest(input)
4200	req.SetContext(ctx)
4201	req.ApplyOptions(opts...)
4202	return out, req.Send()
4203}
4204
4205const opDeleteDBSnapshot = "DeleteDBSnapshot"
4206
4207// DeleteDBSnapshotRequest generates a "aws/request.Request" representing the
4208// client's request for the DeleteDBSnapshot operation. The "output" return
4209// value will be populated with the request's response once the request completes
4210// successfully.
4211//
4212// Use "Send" method on the returned Request to send the API call to the service.
4213// the "output" return value is not valid until after Send returns without error.
4214//
4215// See DeleteDBSnapshot for more information on using the DeleteDBSnapshot
4216// API call, and error handling.
4217//
4218// This method is useful when you want to inject custom logic or configuration
4219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4220//
4221//
4222//    // Example sending a request using the DeleteDBSnapshotRequest method.
4223//    req, resp := client.DeleteDBSnapshotRequest(params)
4224//
4225//    err := req.Send()
4226//    if err == nil { // resp is now filled
4227//        fmt.Println(resp)
4228//    }
4229//
4230// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
4231func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *request.Request, output *DeleteDBSnapshotOutput) {
4232	op := &request.Operation{
4233		Name:       opDeleteDBSnapshot,
4234		HTTPMethod: "POST",
4235		HTTPPath:   "/",
4236	}
4237
4238	if input == nil {
4239		input = &DeleteDBSnapshotInput{}
4240	}
4241
4242	output = &DeleteDBSnapshotOutput{}
4243	req = c.newRequest(op, input, output)
4244	return
4245}
4246
4247// DeleteDBSnapshot API operation for Amazon Relational Database Service.
4248//
4249// Deletes a DB snapshot. If the snapshot is being copied, the copy operation
4250// is terminated.
4251//
4252// The DB snapshot must be in the available state to be deleted.
4253//
4254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4255// with awserr.Error's Code and Message methods to get detailed information about
4256// the error.
4257//
4258// See the AWS API reference guide for Amazon Relational Database Service's
4259// API operation DeleteDBSnapshot for usage and error information.
4260//
4261// Returned Error Codes:
4262//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
4263//   The state of the DB snapshot doesn't allow deletion.
4264//
4265//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
4266//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
4267//
4268// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
4269func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotOutput, error) {
4270	req, out := c.DeleteDBSnapshotRequest(input)
4271	return out, req.Send()
4272}
4273
4274// DeleteDBSnapshotWithContext is the same as DeleteDBSnapshot with the addition of
4275// the ability to pass a context and additional request options.
4276//
4277// See DeleteDBSnapshot for details on how to use this API operation.
4278//
4279// The context must be non-nil and will be used for request cancellation. If
4280// the context is nil a panic will occur. In the future the SDK may create
4281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4282// for more information on using Contexts.
4283func (c *RDS) DeleteDBSnapshotWithContext(ctx aws.Context, input *DeleteDBSnapshotInput, opts ...request.Option) (*DeleteDBSnapshotOutput, error) {
4284	req, out := c.DeleteDBSnapshotRequest(input)
4285	req.SetContext(ctx)
4286	req.ApplyOptions(opts...)
4287	return out, req.Send()
4288}
4289
4290const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
4291
4292// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
4293// client's request for the DeleteDBSubnetGroup operation. The "output" return
4294// value will be populated with the request's response once the request completes
4295// successfully.
4296//
4297// Use "Send" method on the returned Request to send the API call to the service.
4298// the "output" return value is not valid until after Send returns without error.
4299//
4300// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
4301// API call, and error handling.
4302//
4303// This method is useful when you want to inject custom logic or configuration
4304// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4305//
4306//
4307//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
4308//    req, resp := client.DeleteDBSubnetGroupRequest(params)
4309//
4310//    err := req.Send()
4311//    if err == nil { // resp is now filled
4312//        fmt.Println(resp)
4313//    }
4314//
4315// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
4316func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
4317	op := &request.Operation{
4318		Name:       opDeleteDBSubnetGroup,
4319		HTTPMethod: "POST",
4320		HTTPPath:   "/",
4321	}
4322
4323	if input == nil {
4324		input = &DeleteDBSubnetGroupInput{}
4325	}
4326
4327	output = &DeleteDBSubnetGroupOutput{}
4328	req = c.newRequest(op, input, output)
4329	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4330	return
4331}
4332
4333// DeleteDBSubnetGroup API operation for Amazon Relational Database Service.
4334//
4335// Deletes a DB subnet group.
4336//
4337// The specified database subnet group must not be associated with any DB instances.
4338//
4339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4340// with awserr.Error's Code and Message methods to get detailed information about
4341// the error.
4342//
4343// See the AWS API reference guide for Amazon Relational Database Service's
4344// API operation DeleteDBSubnetGroup for usage and error information.
4345//
4346// Returned Error Codes:
4347//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
4348//   The DB subnet group cannot be deleted because it's in use.
4349//
4350//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
4351//   The DB subnet isn't in the available state.
4352//
4353//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
4354//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
4355//
4356// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
4357func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
4358	req, out := c.DeleteDBSubnetGroupRequest(input)
4359	return out, req.Send()
4360}
4361
4362// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
4363// the ability to pass a context and additional request options.
4364//
4365// See DeleteDBSubnetGroup for details on how to use this API operation.
4366//
4367// The context must be non-nil and will be used for request cancellation. If
4368// the context is nil a panic will occur. In the future the SDK may create
4369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4370// for more information on using Contexts.
4371func (c *RDS) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
4372	req, out := c.DeleteDBSubnetGroupRequest(input)
4373	req.SetContext(ctx)
4374	req.ApplyOptions(opts...)
4375	return out, req.Send()
4376}
4377
4378const opDeleteEventSubscription = "DeleteEventSubscription"
4379
4380// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
4381// client's request for the DeleteEventSubscription operation. The "output" return
4382// value will be populated with the request's response once the request completes
4383// successfully.
4384//
4385// Use "Send" method on the returned Request to send the API call to the service.
4386// the "output" return value is not valid until after Send returns without error.
4387//
4388// See DeleteEventSubscription for more information on using the DeleteEventSubscription
4389// API call, and error handling.
4390//
4391// This method is useful when you want to inject custom logic or configuration
4392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4393//
4394//
4395//    // Example sending a request using the DeleteEventSubscriptionRequest method.
4396//    req, resp := client.DeleteEventSubscriptionRequest(params)
4397//
4398//    err := req.Send()
4399//    if err == nil { // resp is now filled
4400//        fmt.Println(resp)
4401//    }
4402//
4403// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
4404func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
4405	op := &request.Operation{
4406		Name:       opDeleteEventSubscription,
4407		HTTPMethod: "POST",
4408		HTTPPath:   "/",
4409	}
4410
4411	if input == nil {
4412		input = &DeleteEventSubscriptionInput{}
4413	}
4414
4415	output = &DeleteEventSubscriptionOutput{}
4416	req = c.newRequest(op, input, output)
4417	return
4418}
4419
4420// DeleteEventSubscription API operation for Amazon Relational Database Service.
4421//
4422// Deletes an RDS event notification subscription.
4423//
4424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4425// with awserr.Error's Code and Message methods to get detailed information about
4426// the error.
4427//
4428// See the AWS API reference guide for Amazon Relational Database Service's
4429// API operation DeleteEventSubscription for usage and error information.
4430//
4431// Returned Error Codes:
4432//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
4433//   The subscription name does not exist.
4434//
4435//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
4436//   This error can occur if someone else is modifying a subscription. You should
4437//   retry the action.
4438//
4439// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
4440func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
4441	req, out := c.DeleteEventSubscriptionRequest(input)
4442	return out, req.Send()
4443}
4444
4445// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
4446// the ability to pass a context and additional request options.
4447//
4448// See DeleteEventSubscription for details on how to use this API operation.
4449//
4450// The context must be non-nil and will be used for request cancellation. If
4451// the context is nil a panic will occur. In the future the SDK may create
4452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4453// for more information on using Contexts.
4454func (c *RDS) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
4455	req, out := c.DeleteEventSubscriptionRequest(input)
4456	req.SetContext(ctx)
4457	req.ApplyOptions(opts...)
4458	return out, req.Send()
4459}
4460
4461const opDeleteGlobalCluster = "DeleteGlobalCluster"
4462
4463// DeleteGlobalClusterRequest generates a "aws/request.Request" representing the
4464// client's request for the DeleteGlobalCluster operation. The "output" return
4465// value will be populated with the request's response once the request completes
4466// successfully.
4467//
4468// Use "Send" method on the returned Request to send the API call to the service.
4469// the "output" return value is not valid until after Send returns without error.
4470//
4471// See DeleteGlobalCluster for more information on using the DeleteGlobalCluster
4472// API call, and error handling.
4473//
4474// This method is useful when you want to inject custom logic or configuration
4475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4476//
4477//
4478//    // Example sending a request using the DeleteGlobalClusterRequest method.
4479//    req, resp := client.DeleteGlobalClusterRequest(params)
4480//
4481//    err := req.Send()
4482//    if err == nil { // resp is now filled
4483//        fmt.Println(resp)
4484//    }
4485//
4486// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
4487func (c *RDS) DeleteGlobalClusterRequest(input *DeleteGlobalClusterInput) (req *request.Request, output *DeleteGlobalClusterOutput) {
4488	op := &request.Operation{
4489		Name:       opDeleteGlobalCluster,
4490		HTTPMethod: "POST",
4491		HTTPPath:   "/",
4492	}
4493
4494	if input == nil {
4495		input = &DeleteGlobalClusterInput{}
4496	}
4497
4498	output = &DeleteGlobalClusterOutput{}
4499	req = c.newRequest(op, input, output)
4500	return
4501}
4502
4503// DeleteGlobalCluster API operation for Amazon Relational Database Service.
4504//
4505// Deletes a global database cluster. The primary and secondary clusters must
4506// already be detached or destroyed first.
4507//
4508// This action only applies to Aurora DB clusters.
4509//
4510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4511// with awserr.Error's Code and Message methods to get detailed information about
4512// the error.
4513//
4514// See the AWS API reference guide for Amazon Relational Database Service's
4515// API operation DeleteGlobalCluster for usage and error information.
4516//
4517// Returned Error Codes:
4518//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
4519//   The GlobalClusterIdentifier doesn't refer to an existing global database
4520//   cluster.
4521//
4522//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
4523//   The global cluster is in an invalid state and can't perform the requested
4524//   operation.
4525//
4526// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
4527func (c *RDS) DeleteGlobalCluster(input *DeleteGlobalClusterInput) (*DeleteGlobalClusterOutput, error) {
4528	req, out := c.DeleteGlobalClusterRequest(input)
4529	return out, req.Send()
4530}
4531
4532// DeleteGlobalClusterWithContext is the same as DeleteGlobalCluster with the addition of
4533// the ability to pass a context and additional request options.
4534//
4535// See DeleteGlobalCluster for details on how to use this API operation.
4536//
4537// The context must be non-nil and will be used for request cancellation. If
4538// the context is nil a panic will occur. In the future the SDK may create
4539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4540// for more information on using Contexts.
4541func (c *RDS) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGlobalClusterInput, opts ...request.Option) (*DeleteGlobalClusterOutput, error) {
4542	req, out := c.DeleteGlobalClusterRequest(input)
4543	req.SetContext(ctx)
4544	req.ApplyOptions(opts...)
4545	return out, req.Send()
4546}
4547
4548const opDeleteInstallationMedia = "DeleteInstallationMedia"
4549
4550// DeleteInstallationMediaRequest generates a "aws/request.Request" representing the
4551// client's request for the DeleteInstallationMedia operation. The "output" return
4552// value will be populated with the request's response once the request completes
4553// successfully.
4554//
4555// Use "Send" method on the returned Request to send the API call to the service.
4556// the "output" return value is not valid until after Send returns without error.
4557//
4558// See DeleteInstallationMedia for more information on using the DeleteInstallationMedia
4559// API call, and error handling.
4560//
4561// This method is useful when you want to inject custom logic or configuration
4562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4563//
4564//
4565//    // Example sending a request using the DeleteInstallationMediaRequest method.
4566//    req, resp := client.DeleteInstallationMediaRequest(params)
4567//
4568//    err := req.Send()
4569//    if err == nil { // resp is now filled
4570//        fmt.Println(resp)
4571//    }
4572//
4573// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
4574func (c *RDS) DeleteInstallationMediaRequest(input *DeleteInstallationMediaInput) (req *request.Request, output *DeleteInstallationMediaOutput) {
4575	op := &request.Operation{
4576		Name:       opDeleteInstallationMedia,
4577		HTTPMethod: "POST",
4578		HTTPPath:   "/",
4579	}
4580
4581	if input == nil {
4582		input = &DeleteInstallationMediaInput{}
4583	}
4584
4585	output = &DeleteInstallationMediaOutput{}
4586	req = c.newRequest(op, input, output)
4587	return
4588}
4589
4590// DeleteInstallationMedia API operation for Amazon Relational Database Service.
4591//
4592// Deletes the installation medium for a DB engine that requires an on-premises
4593// customer provided license, such as Microsoft SQL Server.
4594//
4595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4596// with awserr.Error's Code and Message methods to get detailed information about
4597// the error.
4598//
4599// See the AWS API reference guide for Amazon Relational Database Service's
4600// API operation DeleteInstallationMedia for usage and error information.
4601//
4602// Returned Error Codes:
4603//   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
4604//   InstallationMediaID doesn't refer to an existing installation medium.
4605//
4606// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
4607func (c *RDS) DeleteInstallationMedia(input *DeleteInstallationMediaInput) (*DeleteInstallationMediaOutput, error) {
4608	req, out := c.DeleteInstallationMediaRequest(input)
4609	return out, req.Send()
4610}
4611
4612// DeleteInstallationMediaWithContext is the same as DeleteInstallationMedia with the addition of
4613// the ability to pass a context and additional request options.
4614//
4615// See DeleteInstallationMedia for details on how to use this API operation.
4616//
4617// The context must be non-nil and will be used for request cancellation. If
4618// the context is nil a panic will occur. In the future the SDK may create
4619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4620// for more information on using Contexts.
4621func (c *RDS) DeleteInstallationMediaWithContext(ctx aws.Context, input *DeleteInstallationMediaInput, opts ...request.Option) (*DeleteInstallationMediaOutput, error) {
4622	req, out := c.DeleteInstallationMediaRequest(input)
4623	req.SetContext(ctx)
4624	req.ApplyOptions(opts...)
4625	return out, req.Send()
4626}
4627
4628const opDeleteOptionGroup = "DeleteOptionGroup"
4629
4630// DeleteOptionGroupRequest generates a "aws/request.Request" representing the
4631// client's request for the DeleteOptionGroup operation. The "output" return
4632// value will be populated with the request's response once the request completes
4633// successfully.
4634//
4635// Use "Send" method on the returned Request to send the API call to the service.
4636// the "output" return value is not valid until after Send returns without error.
4637//
4638// See DeleteOptionGroup for more information on using the DeleteOptionGroup
4639// API call, and error handling.
4640//
4641// This method is useful when you want to inject custom logic or configuration
4642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4643//
4644//
4645//    // Example sending a request using the DeleteOptionGroupRequest method.
4646//    req, resp := client.DeleteOptionGroupRequest(params)
4647//
4648//    err := req.Send()
4649//    if err == nil { // resp is now filled
4650//        fmt.Println(resp)
4651//    }
4652//
4653// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
4654func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *request.Request, output *DeleteOptionGroupOutput) {
4655	op := &request.Operation{
4656		Name:       opDeleteOptionGroup,
4657		HTTPMethod: "POST",
4658		HTTPPath:   "/",
4659	}
4660
4661	if input == nil {
4662		input = &DeleteOptionGroupInput{}
4663	}
4664
4665	output = &DeleteOptionGroupOutput{}
4666	req = c.newRequest(op, input, output)
4667	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4668	return
4669}
4670
4671// DeleteOptionGroup API operation for Amazon Relational Database Service.
4672//
4673// Deletes an existing option group.
4674//
4675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4676// with awserr.Error's Code and Message methods to get detailed information about
4677// the error.
4678//
4679// See the AWS API reference guide for Amazon Relational Database Service's
4680// API operation DeleteOptionGroup for usage and error information.
4681//
4682// Returned Error Codes:
4683//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
4684//   The specified option group could not be found.
4685//
4686//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
4687//   The option group isn't in the available state.
4688//
4689// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
4690func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGroupOutput, error) {
4691	req, out := c.DeleteOptionGroupRequest(input)
4692	return out, req.Send()
4693}
4694
4695// DeleteOptionGroupWithContext is the same as DeleteOptionGroup with the addition of
4696// the ability to pass a context and additional request options.
4697//
4698// See DeleteOptionGroup for details on how to use this API operation.
4699//
4700// The context must be non-nil and will be used for request cancellation. If
4701// the context is nil a panic will occur. In the future the SDK may create
4702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4703// for more information on using Contexts.
4704func (c *RDS) DeleteOptionGroupWithContext(ctx aws.Context, input *DeleteOptionGroupInput, opts ...request.Option) (*DeleteOptionGroupOutput, error) {
4705	req, out := c.DeleteOptionGroupRequest(input)
4706	req.SetContext(ctx)
4707	req.ApplyOptions(opts...)
4708	return out, req.Send()
4709}
4710
4711const opDeregisterDBProxyTargets = "DeregisterDBProxyTargets"
4712
4713// DeregisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
4714// client's request for the DeregisterDBProxyTargets operation. The "output" return
4715// value will be populated with the request's response once the request completes
4716// successfully.
4717//
4718// Use "Send" method on the returned Request to send the API call to the service.
4719// the "output" return value is not valid until after Send returns without error.
4720//
4721// See DeregisterDBProxyTargets for more information on using the DeregisterDBProxyTargets
4722// API call, and error handling.
4723//
4724// This method is useful when you want to inject custom logic or configuration
4725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4726//
4727//
4728//    // Example sending a request using the DeregisterDBProxyTargetsRequest method.
4729//    req, resp := client.DeregisterDBProxyTargetsRequest(params)
4730//
4731//    err := req.Send()
4732//    if err == nil { // resp is now filled
4733//        fmt.Println(resp)
4734//    }
4735//
4736// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
4737func (c *RDS) DeregisterDBProxyTargetsRequest(input *DeregisterDBProxyTargetsInput) (req *request.Request, output *DeregisterDBProxyTargetsOutput) {
4738	op := &request.Operation{
4739		Name:       opDeregisterDBProxyTargets,
4740		HTTPMethod: "POST",
4741		HTTPPath:   "/",
4742	}
4743
4744	if input == nil {
4745		input = &DeregisterDBProxyTargetsInput{}
4746	}
4747
4748	output = &DeregisterDBProxyTargetsOutput{}
4749	req = c.newRequest(op, input, output)
4750	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4751	return
4752}
4753
4754// DeregisterDBProxyTargets API operation for Amazon Relational Database Service.
4755//
4756// Remove the association between one or more DBProxyTarget data structures
4757// and a DBProxyTargetGroup.
4758//
4759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4760// with awserr.Error's Code and Message methods to get detailed information about
4761// the error.
4762//
4763// See the AWS API reference guide for Amazon Relational Database Service's
4764// API operation DeregisterDBProxyTargets for usage and error information.
4765//
4766// Returned Error Codes:
4767//   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
4768//   The specified RDS DB instance or Aurora DB cluster isn't available for a
4769//   proxy owned by your Amazon Web Services account in the specified Amazon Web
4770//   Services Region.
4771//
4772//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
4773//   The specified target group isn't available for a proxy owned by your Amazon
4774//   Web Services account in the specified Amazon Web Services Region.
4775//
4776//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
4777//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
4778//   Web Services account in the specified Amazon Web Services Region.
4779//
4780//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
4781//   The requested operation can't be performed while the proxy is in this state.
4782//
4783// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
4784func (c *RDS) DeregisterDBProxyTargets(input *DeregisterDBProxyTargetsInput) (*DeregisterDBProxyTargetsOutput, error) {
4785	req, out := c.DeregisterDBProxyTargetsRequest(input)
4786	return out, req.Send()
4787}
4788
4789// DeregisterDBProxyTargetsWithContext is the same as DeregisterDBProxyTargets with the addition of
4790// the ability to pass a context and additional request options.
4791//
4792// See DeregisterDBProxyTargets for details on how to use this API operation.
4793//
4794// The context must be non-nil and will be used for request cancellation. If
4795// the context is nil a panic will occur. In the future the SDK may create
4796// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4797// for more information on using Contexts.
4798func (c *RDS) DeregisterDBProxyTargetsWithContext(ctx aws.Context, input *DeregisterDBProxyTargetsInput, opts ...request.Option) (*DeregisterDBProxyTargetsOutput, error) {
4799	req, out := c.DeregisterDBProxyTargetsRequest(input)
4800	req.SetContext(ctx)
4801	req.ApplyOptions(opts...)
4802	return out, req.Send()
4803}
4804
4805const opDescribeAccountAttributes = "DescribeAccountAttributes"
4806
4807// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
4808// client's request for the DescribeAccountAttributes operation. The "output" return
4809// value will be populated with the request's response once the request completes
4810// successfully.
4811//
4812// Use "Send" method on the returned Request to send the API call to the service.
4813// the "output" return value is not valid until after Send returns without error.
4814//
4815// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
4816// API call, and error handling.
4817//
4818// This method is useful when you want to inject custom logic or configuration
4819// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4820//
4821//
4822//    // Example sending a request using the DescribeAccountAttributesRequest method.
4823//    req, resp := client.DescribeAccountAttributesRequest(params)
4824//
4825//    err := req.Send()
4826//    if err == nil { // resp is now filled
4827//        fmt.Println(resp)
4828//    }
4829//
4830// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
4831func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
4832	op := &request.Operation{
4833		Name:       opDescribeAccountAttributes,
4834		HTTPMethod: "POST",
4835		HTTPPath:   "/",
4836	}
4837
4838	if input == nil {
4839		input = &DescribeAccountAttributesInput{}
4840	}
4841
4842	output = &DescribeAccountAttributesOutput{}
4843	req = c.newRequest(op, input, output)
4844	return
4845}
4846
4847// DescribeAccountAttributes API operation for Amazon Relational Database Service.
4848//
4849// Lists all of the attributes for a customer account. The attributes include
4850// Amazon RDS quotas for the account, such as the number of DB instances allowed.
4851// The description for a quota includes the quota name, current usage toward
4852// that quota, and the quota's maximum value.
4853//
4854// This command doesn't take any parameters.
4855//
4856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4857// with awserr.Error's Code and Message methods to get detailed information about
4858// the error.
4859//
4860// See the AWS API reference guide for Amazon Relational Database Service's
4861// API operation DescribeAccountAttributes for usage and error information.
4862// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
4863func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
4864	req, out := c.DescribeAccountAttributesRequest(input)
4865	return out, req.Send()
4866}
4867
4868// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
4869// the ability to pass a context and additional request options.
4870//
4871// See DescribeAccountAttributes for details on how to use this API operation.
4872//
4873// The context must be non-nil and will be used for request cancellation. If
4874// the context is nil a panic will occur. In the future the SDK may create
4875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4876// for more information on using Contexts.
4877func (c *RDS) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
4878	req, out := c.DescribeAccountAttributesRequest(input)
4879	req.SetContext(ctx)
4880	req.ApplyOptions(opts...)
4881	return out, req.Send()
4882}
4883
4884const opDescribeCertificates = "DescribeCertificates"
4885
4886// DescribeCertificatesRequest generates a "aws/request.Request" representing the
4887// client's request for the DescribeCertificates operation. The "output" return
4888// value will be populated with the request's response once the request completes
4889// successfully.
4890//
4891// Use "Send" method on the returned Request to send the API call to the service.
4892// the "output" return value is not valid until after Send returns without error.
4893//
4894// See DescribeCertificates for more information on using the DescribeCertificates
4895// API call, and error handling.
4896//
4897// This method is useful when you want to inject custom logic or configuration
4898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4899//
4900//
4901//    // Example sending a request using the DescribeCertificatesRequest method.
4902//    req, resp := client.DescribeCertificatesRequest(params)
4903//
4904//    err := req.Send()
4905//    if err == nil { // resp is now filled
4906//        fmt.Println(resp)
4907//    }
4908//
4909// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
4910func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
4911	op := &request.Operation{
4912		Name:       opDescribeCertificates,
4913		HTTPMethod: "POST",
4914		HTTPPath:   "/",
4915		Paginator: &request.Paginator{
4916			InputTokens:     []string{"Marker"},
4917			OutputTokens:    []string{"Marker"},
4918			LimitToken:      "MaxRecords",
4919			TruncationToken: "",
4920		},
4921	}
4922
4923	if input == nil {
4924		input = &DescribeCertificatesInput{}
4925	}
4926
4927	output = &DescribeCertificatesOutput{}
4928	req = c.newRequest(op, input, output)
4929	return
4930}
4931
4932// DescribeCertificates API operation for Amazon Relational Database Service.
4933//
4934// Lists the set of CA certificates provided by Amazon RDS for this Amazon Web
4935// Services account.
4936//
4937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4938// with awserr.Error's Code and Message methods to get detailed information about
4939// the error.
4940//
4941// See the AWS API reference guide for Amazon Relational Database Service's
4942// API operation DescribeCertificates for usage and error information.
4943//
4944// Returned Error Codes:
4945//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
4946//   CertificateIdentifier doesn't refer to an existing certificate.
4947//
4948// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
4949func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
4950	req, out := c.DescribeCertificatesRequest(input)
4951	return out, req.Send()
4952}
4953
4954// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
4955// the ability to pass a context and additional request options.
4956//
4957// See DescribeCertificates for details on how to use this API operation.
4958//
4959// The context must be non-nil and will be used for request cancellation. If
4960// the context is nil a panic will occur. In the future the SDK may create
4961// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4962// for more information on using Contexts.
4963func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
4964	req, out := c.DescribeCertificatesRequest(input)
4965	req.SetContext(ctx)
4966	req.ApplyOptions(opts...)
4967	return out, req.Send()
4968}
4969
4970// DescribeCertificatesPages iterates over the pages of a DescribeCertificates operation,
4971// calling the "fn" function with the response data for each page. To stop
4972// iterating, return false from the fn function.
4973//
4974// See DescribeCertificates method for more information on how to use this operation.
4975//
4976// Note: This operation can generate multiple requests to a service.
4977//
4978//    // Example iterating over at most 3 pages of a DescribeCertificates operation.
4979//    pageNum := 0
4980//    err := client.DescribeCertificatesPages(params,
4981//        func(page *rds.DescribeCertificatesOutput, lastPage bool) bool {
4982//            pageNum++
4983//            fmt.Println(page)
4984//            return pageNum <= 3
4985//        })
4986//
4987func (c *RDS) DescribeCertificatesPages(input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool) error {
4988	return c.DescribeCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
4989}
4990
4991// DescribeCertificatesPagesWithContext same as DescribeCertificatesPages except
4992// it takes a Context and allows setting request options on the pages.
4993//
4994// The context must be non-nil and will be used for request cancellation. If
4995// the context is nil a panic will occur. In the future the SDK may create
4996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4997// for more information on using Contexts.
4998func (c *RDS) DescribeCertificatesPagesWithContext(ctx aws.Context, input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool, opts ...request.Option) error {
4999	p := request.Pagination{
5000		NewRequest: func() (*request.Request, error) {
5001			var inCpy *DescribeCertificatesInput
5002			if input != nil {
5003				tmp := *input
5004				inCpy = &tmp
5005			}
5006			req, _ := c.DescribeCertificatesRequest(inCpy)
5007			req.SetContext(ctx)
5008			req.ApplyOptions(opts...)
5009			return req, nil
5010		},
5011	}
5012
5013	for p.Next() {
5014		if !fn(p.Page().(*DescribeCertificatesOutput), !p.HasNextPage()) {
5015			break
5016		}
5017	}
5018
5019	return p.Err()
5020}
5021
5022const opDescribeCustomAvailabilityZones = "DescribeCustomAvailabilityZones"
5023
5024// DescribeCustomAvailabilityZonesRequest generates a "aws/request.Request" representing the
5025// client's request for the DescribeCustomAvailabilityZones operation. The "output" return
5026// value will be populated with the request's response once the request completes
5027// successfully.
5028//
5029// Use "Send" method on the returned Request to send the API call to the service.
5030// the "output" return value is not valid until after Send returns without error.
5031//
5032// See DescribeCustomAvailabilityZones for more information on using the DescribeCustomAvailabilityZones
5033// API call, and error handling.
5034//
5035// This method is useful when you want to inject custom logic or configuration
5036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5037//
5038//
5039//    // Example sending a request using the DescribeCustomAvailabilityZonesRequest method.
5040//    req, resp := client.DescribeCustomAvailabilityZonesRequest(params)
5041//
5042//    err := req.Send()
5043//    if err == nil { // resp is now filled
5044//        fmt.Println(resp)
5045//    }
5046//
5047// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
5048func (c *RDS) DescribeCustomAvailabilityZonesRequest(input *DescribeCustomAvailabilityZonesInput) (req *request.Request, output *DescribeCustomAvailabilityZonesOutput) {
5049	op := &request.Operation{
5050		Name:       opDescribeCustomAvailabilityZones,
5051		HTTPMethod: "POST",
5052		HTTPPath:   "/",
5053		Paginator: &request.Paginator{
5054			InputTokens:     []string{"Marker"},
5055			OutputTokens:    []string{"Marker"},
5056			LimitToken:      "MaxRecords",
5057			TruncationToken: "",
5058		},
5059	}
5060
5061	if input == nil {
5062		input = &DescribeCustomAvailabilityZonesInput{}
5063	}
5064
5065	output = &DescribeCustomAvailabilityZonesOutput{}
5066	req = c.newRequest(op, input, output)
5067	return
5068}
5069
5070// DescribeCustomAvailabilityZones API operation for Amazon Relational Database Service.
5071//
5072// Returns information about custom Availability Zones (AZs).
5073//
5074// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
5075// cluster.
5076//
5077// For more information about RDS on VMware, see the RDS on VMware User Guide.
5078// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
5079//
5080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5081// with awserr.Error's Code and Message methods to get detailed information about
5082// the error.
5083//
5084// See the AWS API reference guide for Amazon Relational Database Service's
5085// API operation DescribeCustomAvailabilityZones for usage and error information.
5086//
5087// Returned Error Codes:
5088//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
5089//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
5090//   Zone identifier.
5091//
5092// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
5093func (c *RDS) DescribeCustomAvailabilityZones(input *DescribeCustomAvailabilityZonesInput) (*DescribeCustomAvailabilityZonesOutput, error) {
5094	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
5095	return out, req.Send()
5096}
5097
5098// DescribeCustomAvailabilityZonesWithContext is the same as DescribeCustomAvailabilityZones with the addition of
5099// the ability to pass a context and additional request options.
5100//
5101// See DescribeCustomAvailabilityZones for details on how to use this API operation.
5102//
5103// The context must be non-nil and will be used for request cancellation. If
5104// the context is nil a panic will occur. In the future the SDK may create
5105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5106// for more information on using Contexts.
5107func (c *RDS) DescribeCustomAvailabilityZonesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, opts ...request.Option) (*DescribeCustomAvailabilityZonesOutput, error) {
5108	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
5109	req.SetContext(ctx)
5110	req.ApplyOptions(opts...)
5111	return out, req.Send()
5112}
5113
5114// DescribeCustomAvailabilityZonesPages iterates over the pages of a DescribeCustomAvailabilityZones operation,
5115// calling the "fn" function with the response data for each page. To stop
5116// iterating, return false from the fn function.
5117//
5118// See DescribeCustomAvailabilityZones method for more information on how to use this operation.
5119//
5120// Note: This operation can generate multiple requests to a service.
5121//
5122//    // Example iterating over at most 3 pages of a DescribeCustomAvailabilityZones operation.
5123//    pageNum := 0
5124//    err := client.DescribeCustomAvailabilityZonesPages(params,
5125//        func(page *rds.DescribeCustomAvailabilityZonesOutput, lastPage bool) bool {
5126//            pageNum++
5127//            fmt.Println(page)
5128//            return pageNum <= 3
5129//        })
5130//
5131func (c *RDS) DescribeCustomAvailabilityZonesPages(input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool) error {
5132	return c.DescribeCustomAvailabilityZonesPagesWithContext(aws.BackgroundContext(), input, fn)
5133}
5134
5135// DescribeCustomAvailabilityZonesPagesWithContext same as DescribeCustomAvailabilityZonesPages except
5136// it takes a Context and allows setting request options on the pages.
5137//
5138// The context must be non-nil and will be used for request cancellation. If
5139// the context is nil a panic will occur. In the future the SDK may create
5140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5141// for more information on using Contexts.
5142func (c *RDS) DescribeCustomAvailabilityZonesPagesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool, opts ...request.Option) error {
5143	p := request.Pagination{
5144		NewRequest: func() (*request.Request, error) {
5145			var inCpy *DescribeCustomAvailabilityZonesInput
5146			if input != nil {
5147				tmp := *input
5148				inCpy = &tmp
5149			}
5150			req, _ := c.DescribeCustomAvailabilityZonesRequest(inCpy)
5151			req.SetContext(ctx)
5152			req.ApplyOptions(opts...)
5153			return req, nil
5154		},
5155	}
5156
5157	for p.Next() {
5158		if !fn(p.Page().(*DescribeCustomAvailabilityZonesOutput), !p.HasNextPage()) {
5159			break
5160		}
5161	}
5162
5163	return p.Err()
5164}
5165
5166const opDescribeDBClusterBacktracks = "DescribeDBClusterBacktracks"
5167
5168// DescribeDBClusterBacktracksRequest generates a "aws/request.Request" representing the
5169// client's request for the DescribeDBClusterBacktracks operation. The "output" return
5170// value will be populated with the request's response once the request completes
5171// successfully.
5172//
5173// Use "Send" method on the returned Request to send the API call to the service.
5174// the "output" return value is not valid until after Send returns without error.
5175//
5176// See DescribeDBClusterBacktracks for more information on using the DescribeDBClusterBacktracks
5177// API call, and error handling.
5178//
5179// This method is useful when you want to inject custom logic or configuration
5180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5181//
5182//
5183//    // Example sending a request using the DescribeDBClusterBacktracksRequest method.
5184//    req, resp := client.DescribeDBClusterBacktracksRequest(params)
5185//
5186//    err := req.Send()
5187//    if err == nil { // resp is now filled
5188//        fmt.Println(resp)
5189//    }
5190//
5191// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
5192func (c *RDS) DescribeDBClusterBacktracksRequest(input *DescribeDBClusterBacktracksInput) (req *request.Request, output *DescribeDBClusterBacktracksOutput) {
5193	op := &request.Operation{
5194		Name:       opDescribeDBClusterBacktracks,
5195		HTTPMethod: "POST",
5196		HTTPPath:   "/",
5197		Paginator: &request.Paginator{
5198			InputTokens:     []string{"Marker"},
5199			OutputTokens:    []string{"Marker"},
5200			LimitToken:      "MaxRecords",
5201			TruncationToken: "",
5202		},
5203	}
5204
5205	if input == nil {
5206		input = &DescribeDBClusterBacktracksInput{}
5207	}
5208
5209	output = &DescribeDBClusterBacktracksOutput{}
5210	req = c.newRequest(op, input, output)
5211	return
5212}
5213
5214// DescribeDBClusterBacktracks API operation for Amazon Relational Database Service.
5215//
5216// Returns information about backtracks for a DB cluster.
5217//
5218// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5219// in the Amazon Aurora User Guide.
5220//
5221// This action only applies to Aurora MySQL DB clusters.
5222//
5223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5224// with awserr.Error's Code and Message methods to get detailed information about
5225// the error.
5226//
5227// See the AWS API reference guide for Amazon Relational Database Service's
5228// API operation DescribeDBClusterBacktracks for usage and error information.
5229//
5230// Returned Error Codes:
5231//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5232//   DBClusterIdentifier doesn't refer to an existing DB cluster.
5233//
5234//   * ErrCodeDBClusterBacktrackNotFoundFault "DBClusterBacktrackNotFoundFault"
5235//   BacktrackIdentifier doesn't refer to an existing backtrack.
5236//
5237// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
5238func (c *RDS) DescribeDBClusterBacktracks(input *DescribeDBClusterBacktracksInput) (*DescribeDBClusterBacktracksOutput, error) {
5239	req, out := c.DescribeDBClusterBacktracksRequest(input)
5240	return out, req.Send()
5241}
5242
5243// DescribeDBClusterBacktracksWithContext is the same as DescribeDBClusterBacktracks with the addition of
5244// the ability to pass a context and additional request options.
5245//
5246// See DescribeDBClusterBacktracks for details on how to use this API operation.
5247//
5248// The context must be non-nil and will be used for request cancellation. If
5249// the context is nil a panic will occur. In the future the SDK may create
5250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5251// for more information on using Contexts.
5252func (c *RDS) DescribeDBClusterBacktracksWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, opts ...request.Option) (*DescribeDBClusterBacktracksOutput, error) {
5253	req, out := c.DescribeDBClusterBacktracksRequest(input)
5254	req.SetContext(ctx)
5255	req.ApplyOptions(opts...)
5256	return out, req.Send()
5257}
5258
5259// DescribeDBClusterBacktracksPages iterates over the pages of a DescribeDBClusterBacktracks operation,
5260// calling the "fn" function with the response data for each page. To stop
5261// iterating, return false from the fn function.
5262//
5263// See DescribeDBClusterBacktracks method for more information on how to use this operation.
5264//
5265// Note: This operation can generate multiple requests to a service.
5266//
5267//    // Example iterating over at most 3 pages of a DescribeDBClusterBacktracks operation.
5268//    pageNum := 0
5269//    err := client.DescribeDBClusterBacktracksPages(params,
5270//        func(page *rds.DescribeDBClusterBacktracksOutput, lastPage bool) bool {
5271//            pageNum++
5272//            fmt.Println(page)
5273//            return pageNum <= 3
5274//        })
5275//
5276func (c *RDS) DescribeDBClusterBacktracksPages(input *DescribeDBClusterBacktracksInput, fn func(*DescribeDBClusterBacktracksOutput, bool) bool) error {
5277	return c.DescribeDBClusterBacktracksPagesWithContext(aws.BackgroundContext(), input, fn)
5278}
5279
5280// DescribeDBClusterBacktracksPagesWithContext same as DescribeDBClusterBacktracksPages except
5281// it takes a Context and allows setting request options on the pages.
5282//
5283// The context must be non-nil and will be used for request cancellation. If
5284// the context is nil a panic will occur. In the future the SDK may create
5285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5286// for more information on using Contexts.
5287func (c *RDS) DescribeDBClusterBacktracksPagesWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, fn func(*DescribeDBClusterBacktracksOutput, bool) bool, opts ...request.Option) error {
5288	p := request.Pagination{
5289		NewRequest: func() (*request.Request, error) {
5290			var inCpy *DescribeDBClusterBacktracksInput
5291			if input != nil {
5292				tmp := *input
5293				inCpy = &tmp
5294			}
5295			req, _ := c.DescribeDBClusterBacktracksRequest(inCpy)
5296			req.SetContext(ctx)
5297			req.ApplyOptions(opts...)
5298			return req, nil
5299		},
5300	}
5301
5302	for p.Next() {
5303		if !fn(p.Page().(*DescribeDBClusterBacktracksOutput), !p.HasNextPage()) {
5304			break
5305		}
5306	}
5307
5308	return p.Err()
5309}
5310
5311const opDescribeDBClusterEndpoints = "DescribeDBClusterEndpoints"
5312
5313// DescribeDBClusterEndpointsRequest generates a "aws/request.Request" representing the
5314// client's request for the DescribeDBClusterEndpoints operation. The "output" return
5315// value will be populated with the request's response once the request completes
5316// successfully.
5317//
5318// Use "Send" method on the returned Request to send the API call to the service.
5319// the "output" return value is not valid until after Send returns without error.
5320//
5321// See DescribeDBClusterEndpoints for more information on using the DescribeDBClusterEndpoints
5322// API call, and error handling.
5323//
5324// This method is useful when you want to inject custom logic or configuration
5325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5326//
5327//
5328//    // Example sending a request using the DescribeDBClusterEndpointsRequest method.
5329//    req, resp := client.DescribeDBClusterEndpointsRequest(params)
5330//
5331//    err := req.Send()
5332//    if err == nil { // resp is now filled
5333//        fmt.Println(resp)
5334//    }
5335//
5336// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
5337func (c *RDS) DescribeDBClusterEndpointsRequest(input *DescribeDBClusterEndpointsInput) (req *request.Request, output *DescribeDBClusterEndpointsOutput) {
5338	op := &request.Operation{
5339		Name:       opDescribeDBClusterEndpoints,
5340		HTTPMethod: "POST",
5341		HTTPPath:   "/",
5342		Paginator: &request.Paginator{
5343			InputTokens:     []string{"Marker"},
5344			OutputTokens:    []string{"Marker"},
5345			LimitToken:      "MaxRecords",
5346			TruncationToken: "",
5347		},
5348	}
5349
5350	if input == nil {
5351		input = &DescribeDBClusterEndpointsInput{}
5352	}
5353
5354	output = &DescribeDBClusterEndpointsOutput{}
5355	req = c.newRequest(op, input, output)
5356	return
5357}
5358
5359// DescribeDBClusterEndpoints API operation for Amazon Relational Database Service.
5360//
5361// Returns information about endpoints for an Amazon Aurora DB cluster.
5362//
5363// This action only applies to Aurora DB clusters.
5364//
5365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5366// with awserr.Error's Code and Message methods to get detailed information about
5367// the error.
5368//
5369// See the AWS API reference guide for Amazon Relational Database Service's
5370// API operation DescribeDBClusterEndpoints for usage and error information.
5371//
5372// Returned Error Codes:
5373//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5374//   DBClusterIdentifier doesn't refer to an existing DB cluster.
5375//
5376// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
5377func (c *RDS) DescribeDBClusterEndpoints(input *DescribeDBClusterEndpointsInput) (*DescribeDBClusterEndpointsOutput, error) {
5378	req, out := c.DescribeDBClusterEndpointsRequest(input)
5379	return out, req.Send()
5380}
5381
5382// DescribeDBClusterEndpointsWithContext is the same as DescribeDBClusterEndpoints with the addition of
5383// the ability to pass a context and additional request options.
5384//
5385// See DescribeDBClusterEndpoints for details on how to use this API operation.
5386//
5387// The context must be non-nil and will be used for request cancellation. If
5388// the context is nil a panic will occur. In the future the SDK may create
5389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5390// for more information on using Contexts.
5391func (c *RDS) DescribeDBClusterEndpointsWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, opts ...request.Option) (*DescribeDBClusterEndpointsOutput, error) {
5392	req, out := c.DescribeDBClusterEndpointsRequest(input)
5393	req.SetContext(ctx)
5394	req.ApplyOptions(opts...)
5395	return out, req.Send()
5396}
5397
5398// DescribeDBClusterEndpointsPages iterates over the pages of a DescribeDBClusterEndpoints operation,
5399// calling the "fn" function with the response data for each page. To stop
5400// iterating, return false from the fn function.
5401//
5402// See DescribeDBClusterEndpoints method for more information on how to use this operation.
5403//
5404// Note: This operation can generate multiple requests to a service.
5405//
5406//    // Example iterating over at most 3 pages of a DescribeDBClusterEndpoints operation.
5407//    pageNum := 0
5408//    err := client.DescribeDBClusterEndpointsPages(params,
5409//        func(page *rds.DescribeDBClusterEndpointsOutput, lastPage bool) bool {
5410//            pageNum++
5411//            fmt.Println(page)
5412//            return pageNum <= 3
5413//        })
5414//
5415func (c *RDS) DescribeDBClusterEndpointsPages(input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool) error {
5416	return c.DescribeDBClusterEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
5417}
5418
5419// DescribeDBClusterEndpointsPagesWithContext same as DescribeDBClusterEndpointsPages except
5420// it takes a Context and allows setting request options on the pages.
5421//
5422// The context must be non-nil and will be used for request cancellation. If
5423// the context is nil a panic will occur. In the future the SDK may create
5424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5425// for more information on using Contexts.
5426func (c *RDS) DescribeDBClusterEndpointsPagesWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool, opts ...request.Option) error {
5427	p := request.Pagination{
5428		NewRequest: func() (*request.Request, error) {
5429			var inCpy *DescribeDBClusterEndpointsInput
5430			if input != nil {
5431				tmp := *input
5432				inCpy = &tmp
5433			}
5434			req, _ := c.DescribeDBClusterEndpointsRequest(inCpy)
5435			req.SetContext(ctx)
5436			req.ApplyOptions(opts...)
5437			return req, nil
5438		},
5439	}
5440
5441	for p.Next() {
5442		if !fn(p.Page().(*DescribeDBClusterEndpointsOutput), !p.HasNextPage()) {
5443			break
5444		}
5445	}
5446
5447	return p.Err()
5448}
5449
5450const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
5451
5452// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
5453// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
5454// value will be populated with the request's response once the request completes
5455// successfully.
5456//
5457// Use "Send" method on the returned Request to send the API call to the service.
5458// the "output" return value is not valid until after Send returns without error.
5459//
5460// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
5461// API call, and error handling.
5462//
5463// This method is useful when you want to inject custom logic or configuration
5464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5465//
5466//
5467//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
5468//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
5469//
5470//    err := req.Send()
5471//    if err == nil { // resp is now filled
5472//        fmt.Println(resp)
5473//    }
5474//
5475// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
5476func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
5477	op := &request.Operation{
5478		Name:       opDescribeDBClusterParameterGroups,
5479		HTTPMethod: "POST",
5480		HTTPPath:   "/",
5481		Paginator: &request.Paginator{
5482			InputTokens:     []string{"Marker"},
5483			OutputTokens:    []string{"Marker"},
5484			LimitToken:      "MaxRecords",
5485			TruncationToken: "",
5486		},
5487	}
5488
5489	if input == nil {
5490		input = &DescribeDBClusterParameterGroupsInput{}
5491	}
5492
5493	output = &DescribeDBClusterParameterGroupsOutput{}
5494	req = c.newRequest(op, input, output)
5495	return
5496}
5497
5498// DescribeDBClusterParameterGroups API operation for Amazon Relational Database Service.
5499//
5500// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
5501// parameter is specified, the list will contain only the description of the
5502// specified DB cluster parameter group.
5503//
5504// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5505// in the Amazon Aurora User Guide.
5506//
5507// This action only applies to Aurora DB clusters.
5508//
5509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5510// with awserr.Error's Code and Message methods to get detailed information about
5511// the error.
5512//
5513// See the AWS API reference guide for Amazon Relational Database Service's
5514// API operation DescribeDBClusterParameterGroups for usage and error information.
5515//
5516// Returned Error Codes:
5517//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5518//   DBParameterGroupName doesn't refer to an existing DB parameter group.
5519//
5520// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
5521func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
5522	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
5523	return out, req.Send()
5524}
5525
5526// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
5527// the ability to pass a context and additional request options.
5528//
5529// See DescribeDBClusterParameterGroups for details on how to use this API operation.
5530//
5531// The context must be non-nil and will be used for request cancellation. If
5532// the context is nil a panic will occur. In the future the SDK may create
5533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5534// for more information on using Contexts.
5535func (c *RDS) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
5536	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
5537	req.SetContext(ctx)
5538	req.ApplyOptions(opts...)
5539	return out, req.Send()
5540}
5541
5542// DescribeDBClusterParameterGroupsPages iterates over the pages of a DescribeDBClusterParameterGroups operation,
5543// calling the "fn" function with the response data for each page. To stop
5544// iterating, return false from the fn function.
5545//
5546// See DescribeDBClusterParameterGroups method for more information on how to use this operation.
5547//
5548// Note: This operation can generate multiple requests to a service.
5549//
5550//    // Example iterating over at most 3 pages of a DescribeDBClusterParameterGroups operation.
5551//    pageNum := 0
5552//    err := client.DescribeDBClusterParameterGroupsPages(params,
5553//        func(page *rds.DescribeDBClusterParameterGroupsOutput, lastPage bool) bool {
5554//            pageNum++
5555//            fmt.Println(page)
5556//            return pageNum <= 3
5557//        })
5558//
5559func (c *RDS) DescribeDBClusterParameterGroupsPages(input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool) error {
5560	return c.DescribeDBClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
5561}
5562
5563// DescribeDBClusterParameterGroupsPagesWithContext same as DescribeDBClusterParameterGroupsPages except
5564// it takes a Context and allows setting request options on the pages.
5565//
5566// The context must be non-nil and will be used for request cancellation. If
5567// the context is nil a panic will occur. In the future the SDK may create
5568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5569// for more information on using Contexts.
5570func (c *RDS) DescribeDBClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error {
5571	p := request.Pagination{
5572		NewRequest: func() (*request.Request, error) {
5573			var inCpy *DescribeDBClusterParameterGroupsInput
5574			if input != nil {
5575				tmp := *input
5576				inCpy = &tmp
5577			}
5578			req, _ := c.DescribeDBClusterParameterGroupsRequest(inCpy)
5579			req.SetContext(ctx)
5580			req.ApplyOptions(opts...)
5581			return req, nil
5582		},
5583	}
5584
5585	for p.Next() {
5586		if !fn(p.Page().(*DescribeDBClusterParameterGroupsOutput), !p.HasNextPage()) {
5587			break
5588		}
5589	}
5590
5591	return p.Err()
5592}
5593
5594const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
5595
5596// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
5597// client's request for the DescribeDBClusterParameters operation. The "output" return
5598// value will be populated with the request's response once the request completes
5599// successfully.
5600//
5601// Use "Send" method on the returned Request to send the API call to the service.
5602// the "output" return value is not valid until after Send returns without error.
5603//
5604// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
5605// API call, and error handling.
5606//
5607// This method is useful when you want to inject custom logic or configuration
5608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5609//
5610//
5611//    // Example sending a request using the DescribeDBClusterParametersRequest method.
5612//    req, resp := client.DescribeDBClusterParametersRequest(params)
5613//
5614//    err := req.Send()
5615//    if err == nil { // resp is now filled
5616//        fmt.Println(resp)
5617//    }
5618//
5619// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
5620func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
5621	op := &request.Operation{
5622		Name:       opDescribeDBClusterParameters,
5623		HTTPMethod: "POST",
5624		HTTPPath:   "/",
5625		Paginator: &request.Paginator{
5626			InputTokens:     []string{"Marker"},
5627			OutputTokens:    []string{"Marker"},
5628			LimitToken:      "MaxRecords",
5629			TruncationToken: "",
5630		},
5631	}
5632
5633	if input == nil {
5634		input = &DescribeDBClusterParametersInput{}
5635	}
5636
5637	output = &DescribeDBClusterParametersOutput{}
5638	req = c.newRequest(op, input, output)
5639	return
5640}
5641
5642// DescribeDBClusterParameters API operation for Amazon Relational Database Service.
5643//
5644// Returns the detailed parameter list for a particular DB cluster parameter
5645// group.
5646//
5647// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5648// in the Amazon Aurora User Guide.
5649//
5650// This action only applies to Aurora DB clusters.
5651//
5652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5653// with awserr.Error's Code and Message methods to get detailed information about
5654// the error.
5655//
5656// See the AWS API reference guide for Amazon Relational Database Service's
5657// API operation DescribeDBClusterParameters for usage and error information.
5658//
5659// Returned Error Codes:
5660//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5661//   DBParameterGroupName doesn't refer to an existing DB parameter group.
5662//
5663// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
5664func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
5665	req, out := c.DescribeDBClusterParametersRequest(input)
5666	return out, req.Send()
5667}
5668
5669// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
5670// the ability to pass a context and additional request options.
5671//
5672// See DescribeDBClusterParameters for details on how to use this API operation.
5673//
5674// The context must be non-nil and will be used for request cancellation. If
5675// the context is nil a panic will occur. In the future the SDK may create
5676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5677// for more information on using Contexts.
5678func (c *RDS) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
5679	req, out := c.DescribeDBClusterParametersRequest(input)
5680	req.SetContext(ctx)
5681	req.ApplyOptions(opts...)
5682	return out, req.Send()
5683}
5684
5685// DescribeDBClusterParametersPages iterates over the pages of a DescribeDBClusterParameters operation,
5686// calling the "fn" function with the response data for each page. To stop
5687// iterating, return false from the fn function.
5688//
5689// See DescribeDBClusterParameters method for more information on how to use this operation.
5690//
5691// Note: This operation can generate multiple requests to a service.
5692//
5693//    // Example iterating over at most 3 pages of a DescribeDBClusterParameters operation.
5694//    pageNum := 0
5695//    err := client.DescribeDBClusterParametersPages(params,
5696//        func(page *rds.DescribeDBClusterParametersOutput, lastPage bool) bool {
5697//            pageNum++
5698//            fmt.Println(page)
5699//            return pageNum <= 3
5700//        })
5701//
5702func (c *RDS) DescribeDBClusterParametersPages(input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool) error {
5703	return c.DescribeDBClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
5704}
5705
5706// DescribeDBClusterParametersPagesWithContext same as DescribeDBClusterParametersPages except
5707// it takes a Context and allows setting request options on the pages.
5708//
5709// The context must be non-nil and will be used for request cancellation. If
5710// the context is nil a panic will occur. In the future the SDK may create
5711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5712// for more information on using Contexts.
5713func (c *RDS) DescribeDBClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool, opts ...request.Option) error {
5714	p := request.Pagination{
5715		NewRequest: func() (*request.Request, error) {
5716			var inCpy *DescribeDBClusterParametersInput
5717			if input != nil {
5718				tmp := *input
5719				inCpy = &tmp
5720			}
5721			req, _ := c.DescribeDBClusterParametersRequest(inCpy)
5722			req.SetContext(ctx)
5723			req.ApplyOptions(opts...)
5724			return req, nil
5725		},
5726	}
5727
5728	for p.Next() {
5729		if !fn(p.Page().(*DescribeDBClusterParametersOutput), !p.HasNextPage()) {
5730			break
5731		}
5732	}
5733
5734	return p.Err()
5735}
5736
5737const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
5738
5739// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
5740// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
5741// value will be populated with the request's response once the request completes
5742// successfully.
5743//
5744// Use "Send" method on the returned Request to send the API call to the service.
5745// the "output" return value is not valid until after Send returns without error.
5746//
5747// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
5748// API call, and error handling.
5749//
5750// This method is useful when you want to inject custom logic or configuration
5751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5752//
5753//
5754//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
5755//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
5756//
5757//    err := req.Send()
5758//    if err == nil { // resp is now filled
5759//        fmt.Println(resp)
5760//    }
5761//
5762// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
5763func (c *RDS) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
5764	op := &request.Operation{
5765		Name:       opDescribeDBClusterSnapshotAttributes,
5766		HTTPMethod: "POST",
5767		HTTPPath:   "/",
5768	}
5769
5770	if input == nil {
5771		input = &DescribeDBClusterSnapshotAttributesInput{}
5772	}
5773
5774	output = &DescribeDBClusterSnapshotAttributesOutput{}
5775	req = c.newRequest(op, input, output)
5776	return
5777}
5778
5779// DescribeDBClusterSnapshotAttributes API operation for Amazon Relational Database Service.
5780//
5781// Returns a list of DB cluster snapshot attribute names and values for a manual
5782// DB cluster snapshot.
5783//
5784// When sharing snapshots with other Amazon Web Services accounts, DescribeDBClusterSnapshotAttributes
5785// returns the restore attribute and a list of IDs for the Amazon Web Services
5786// accounts that are authorized to copy or restore the manual DB cluster snapshot.
5787// If all is included in the list of values for the restore attribute, then
5788// the manual DB cluster snapshot is public and can be copied or restored by
5789// all Amazon Web Services accounts.
5790//
5791// To add or remove access for an Amazon Web Services account to copy or restore
5792// a manual DB cluster snapshot, or to make the manual DB cluster snapshot public
5793// or private, use the ModifyDBClusterSnapshotAttribute API action.
5794//
5795// This action only applies to Aurora DB clusters.
5796//
5797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5798// with awserr.Error's Code and Message methods to get detailed information about
5799// the error.
5800//
5801// See the AWS API reference guide for Amazon Relational Database Service's
5802// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
5803//
5804// Returned Error Codes:
5805//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5806//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
5807//
5808// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
5809func (c *RDS) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
5810	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
5811	return out, req.Send()
5812}
5813
5814// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
5815// the ability to pass a context and additional request options.
5816//
5817// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
5818//
5819// The context must be non-nil and will be used for request cancellation. If
5820// the context is nil a panic will occur. In the future the SDK may create
5821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5822// for more information on using Contexts.
5823func (c *RDS) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
5824	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
5825	req.SetContext(ctx)
5826	req.ApplyOptions(opts...)
5827	return out, req.Send()
5828}
5829
5830const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
5831
5832// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
5833// client's request for the DescribeDBClusterSnapshots operation. The "output" return
5834// value will be populated with the request's response once the request completes
5835// successfully.
5836//
5837// Use "Send" method on the returned Request to send the API call to the service.
5838// the "output" return value is not valid until after Send returns without error.
5839//
5840// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
5841// API call, and error handling.
5842//
5843// This method is useful when you want to inject custom logic or configuration
5844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5845//
5846//
5847//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
5848//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
5849//
5850//    err := req.Send()
5851//    if err == nil { // resp is now filled
5852//        fmt.Println(resp)
5853//    }
5854//
5855// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
5856func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
5857	op := &request.Operation{
5858		Name:       opDescribeDBClusterSnapshots,
5859		HTTPMethod: "POST",
5860		HTTPPath:   "/",
5861		Paginator: &request.Paginator{
5862			InputTokens:     []string{"Marker"},
5863			OutputTokens:    []string{"Marker"},
5864			LimitToken:      "MaxRecords",
5865			TruncationToken: "",
5866		},
5867	}
5868
5869	if input == nil {
5870		input = &DescribeDBClusterSnapshotsInput{}
5871	}
5872
5873	output = &DescribeDBClusterSnapshotsOutput{}
5874	req = c.newRequest(op, input, output)
5875	return
5876}
5877
5878// DescribeDBClusterSnapshots API operation for Amazon Relational Database Service.
5879//
5880// Returns information about DB cluster snapshots. This API action supports
5881// pagination.
5882//
5883// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5884// in the Amazon Aurora User Guide.
5885//
5886// This action only applies to Aurora DB clusters.
5887//
5888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5889// with awserr.Error's Code and Message methods to get detailed information about
5890// the error.
5891//
5892// See the AWS API reference guide for Amazon Relational Database Service's
5893// API operation DescribeDBClusterSnapshots for usage and error information.
5894//
5895// Returned Error Codes:
5896//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5897//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
5898//
5899// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
5900func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
5901	req, out := c.DescribeDBClusterSnapshotsRequest(input)
5902	return out, req.Send()
5903}
5904
5905// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
5906// the ability to pass a context and additional request options.
5907//
5908// See DescribeDBClusterSnapshots for details on how to use this API operation.
5909//
5910// The context must be non-nil and will be used for request cancellation. If
5911// the context is nil a panic will occur. In the future the SDK may create
5912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5913// for more information on using Contexts.
5914func (c *RDS) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
5915	req, out := c.DescribeDBClusterSnapshotsRequest(input)
5916	req.SetContext(ctx)
5917	req.ApplyOptions(opts...)
5918	return out, req.Send()
5919}
5920
5921// DescribeDBClusterSnapshotsPages iterates over the pages of a DescribeDBClusterSnapshots operation,
5922// calling the "fn" function with the response data for each page. To stop
5923// iterating, return false from the fn function.
5924//
5925// See DescribeDBClusterSnapshots method for more information on how to use this operation.
5926//
5927// Note: This operation can generate multiple requests to a service.
5928//
5929//    // Example iterating over at most 3 pages of a DescribeDBClusterSnapshots operation.
5930//    pageNum := 0
5931//    err := client.DescribeDBClusterSnapshotsPages(params,
5932//        func(page *rds.DescribeDBClusterSnapshotsOutput, lastPage bool) bool {
5933//            pageNum++
5934//            fmt.Println(page)
5935//            return pageNum <= 3
5936//        })
5937//
5938func (c *RDS) DescribeDBClusterSnapshotsPages(input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool) error {
5939	return c.DescribeDBClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
5940}
5941
5942// DescribeDBClusterSnapshotsPagesWithContext same as DescribeDBClusterSnapshotsPages except
5943// it takes a Context and allows setting request options on the pages.
5944//
5945// The context must be non-nil and will be used for request cancellation. If
5946// the context is nil a panic will occur. In the future the SDK may create
5947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5948// for more information on using Contexts.
5949func (c *RDS) DescribeDBClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool, opts ...request.Option) error {
5950	p := request.Pagination{
5951		NewRequest: func() (*request.Request, error) {
5952			var inCpy *DescribeDBClusterSnapshotsInput
5953			if input != nil {
5954				tmp := *input
5955				inCpy = &tmp
5956			}
5957			req, _ := c.DescribeDBClusterSnapshotsRequest(inCpy)
5958			req.SetContext(ctx)
5959			req.ApplyOptions(opts...)
5960			return req, nil
5961		},
5962	}
5963
5964	for p.Next() {
5965		if !fn(p.Page().(*DescribeDBClusterSnapshotsOutput), !p.HasNextPage()) {
5966			break
5967		}
5968	}
5969
5970	return p.Err()
5971}
5972
5973const opDescribeDBClusters = "DescribeDBClusters"
5974
5975// DescribeDBClustersRequest generates a "aws/request.Request" representing the
5976// client's request for the DescribeDBClusters operation. The "output" return
5977// value will be populated with the request's response once the request completes
5978// successfully.
5979//
5980// Use "Send" method on the returned Request to send the API call to the service.
5981// the "output" return value is not valid until after Send returns without error.
5982//
5983// See DescribeDBClusters for more information on using the DescribeDBClusters
5984// API call, and error handling.
5985//
5986// This method is useful when you want to inject custom logic or configuration
5987// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5988//
5989//
5990//    // Example sending a request using the DescribeDBClustersRequest method.
5991//    req, resp := client.DescribeDBClustersRequest(params)
5992//
5993//    err := req.Send()
5994//    if err == nil { // resp is now filled
5995//        fmt.Println(resp)
5996//    }
5997//
5998// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
5999func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
6000	op := &request.Operation{
6001		Name:       opDescribeDBClusters,
6002		HTTPMethod: "POST",
6003		HTTPPath:   "/",
6004		Paginator: &request.Paginator{
6005			InputTokens:     []string{"Marker"},
6006			OutputTokens:    []string{"Marker"},
6007			LimitToken:      "MaxRecords",
6008			TruncationToken: "",
6009		},
6010	}
6011
6012	if input == nil {
6013		input = &DescribeDBClustersInput{}
6014	}
6015
6016	output = &DescribeDBClustersOutput{}
6017	req = c.newRequest(op, input, output)
6018	return
6019}
6020
6021// DescribeDBClusters API operation for Amazon Relational Database Service.
6022//
6023// Returns information about provisioned Aurora DB clusters. This API supports
6024// pagination.
6025//
6026// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
6027// in the Amazon Aurora User Guide.
6028//
6029// This operation can also return information for Amazon Neptune DB instances
6030// and Amazon DocumentDB instances.
6031//
6032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6033// with awserr.Error's Code and Message methods to get detailed information about
6034// the error.
6035//
6036// See the AWS API reference guide for Amazon Relational Database Service's
6037// API operation DescribeDBClusters for usage and error information.
6038//
6039// Returned Error Codes:
6040//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
6041//   DBClusterIdentifier doesn't refer to an existing DB cluster.
6042//
6043// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
6044func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
6045	req, out := c.DescribeDBClustersRequest(input)
6046	return out, req.Send()
6047}
6048
6049// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
6050// the ability to pass a context and additional request options.
6051//
6052// See DescribeDBClusters for details on how to use this API operation.
6053//
6054// The context must be non-nil and will be used for request cancellation. If
6055// the context is nil a panic will occur. In the future the SDK may create
6056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6057// for more information on using Contexts.
6058func (c *RDS) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
6059	req, out := c.DescribeDBClustersRequest(input)
6060	req.SetContext(ctx)
6061	req.ApplyOptions(opts...)
6062	return out, req.Send()
6063}
6064
6065// DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
6066// calling the "fn" function with the response data for each page. To stop
6067// iterating, return false from the fn function.
6068//
6069// See DescribeDBClusters method for more information on how to use this operation.
6070//
6071// Note: This operation can generate multiple requests to a service.
6072//
6073//    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
6074//    pageNum := 0
6075//    err := client.DescribeDBClustersPages(params,
6076//        func(page *rds.DescribeDBClustersOutput, lastPage bool) bool {
6077//            pageNum++
6078//            fmt.Println(page)
6079//            return pageNum <= 3
6080//        })
6081//
6082func (c *RDS) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
6083	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
6084}
6085
6086// DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
6087// it takes a Context and allows setting request options on the pages.
6088//
6089// The context must be non-nil and will be used for request cancellation. If
6090// the context is nil a panic will occur. In the future the SDK may create
6091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6092// for more information on using Contexts.
6093func (c *RDS) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
6094	p := request.Pagination{
6095		NewRequest: func() (*request.Request, error) {
6096			var inCpy *DescribeDBClustersInput
6097			if input != nil {
6098				tmp := *input
6099				inCpy = &tmp
6100			}
6101			req, _ := c.DescribeDBClustersRequest(inCpy)
6102			req.SetContext(ctx)
6103			req.ApplyOptions(opts...)
6104			return req, nil
6105		},
6106	}
6107
6108	for p.Next() {
6109		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
6110			break
6111		}
6112	}
6113
6114	return p.Err()
6115}
6116
6117const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
6118
6119// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
6120// client's request for the DescribeDBEngineVersions operation. The "output" return
6121// value will be populated with the request's response once the request completes
6122// successfully.
6123//
6124// Use "Send" method on the returned Request to send the API call to the service.
6125// the "output" return value is not valid until after Send returns without error.
6126//
6127// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
6128// API call, and error handling.
6129//
6130// This method is useful when you want to inject custom logic or configuration
6131// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6132//
6133//
6134//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
6135//    req, resp := client.DescribeDBEngineVersionsRequest(params)
6136//
6137//    err := req.Send()
6138//    if err == nil { // resp is now filled
6139//        fmt.Println(resp)
6140//    }
6141//
6142// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
6143func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
6144	op := &request.Operation{
6145		Name:       opDescribeDBEngineVersions,
6146		HTTPMethod: "POST",
6147		HTTPPath:   "/",
6148		Paginator: &request.Paginator{
6149			InputTokens:     []string{"Marker"},
6150			OutputTokens:    []string{"Marker"},
6151			LimitToken:      "MaxRecords",
6152			TruncationToken: "",
6153		},
6154	}
6155
6156	if input == nil {
6157		input = &DescribeDBEngineVersionsInput{}
6158	}
6159
6160	output = &DescribeDBEngineVersionsOutput{}
6161	req = c.newRequest(op, input, output)
6162	return
6163}
6164
6165// DescribeDBEngineVersions API operation for Amazon Relational Database Service.
6166//
6167// Returns a list of the available DB engines.
6168//
6169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6170// with awserr.Error's Code and Message methods to get detailed information about
6171// the error.
6172//
6173// See the AWS API reference guide for Amazon Relational Database Service's
6174// API operation DescribeDBEngineVersions for usage and error information.
6175// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
6176func (c *RDS) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
6177	req, out := c.DescribeDBEngineVersionsRequest(input)
6178	return out, req.Send()
6179}
6180
6181// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
6182// the ability to pass a context and additional request options.
6183//
6184// See DescribeDBEngineVersions for details on how to use this API operation.
6185//
6186// The context must be non-nil and will be used for request cancellation. If
6187// the context is nil a panic will occur. In the future the SDK may create
6188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6189// for more information on using Contexts.
6190func (c *RDS) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
6191	req, out := c.DescribeDBEngineVersionsRequest(input)
6192	req.SetContext(ctx)
6193	req.ApplyOptions(opts...)
6194	return out, req.Send()
6195}
6196
6197// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
6198// calling the "fn" function with the response data for each page. To stop
6199// iterating, return false from the fn function.
6200//
6201// See DescribeDBEngineVersions method for more information on how to use this operation.
6202//
6203// Note: This operation can generate multiple requests to a service.
6204//
6205//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
6206//    pageNum := 0
6207//    err := client.DescribeDBEngineVersionsPages(params,
6208//        func(page *rds.DescribeDBEngineVersionsOutput, lastPage bool) bool {
6209//            pageNum++
6210//            fmt.Println(page)
6211//            return pageNum <= 3
6212//        })
6213//
6214func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
6215	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
6216}
6217
6218// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
6219// it takes a Context and allows setting request options on the pages.
6220//
6221// The context must be non-nil and will be used for request cancellation. If
6222// the context is nil a panic will occur. In the future the SDK may create
6223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6224// for more information on using Contexts.
6225func (c *RDS) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
6226	p := request.Pagination{
6227		NewRequest: func() (*request.Request, error) {
6228			var inCpy *DescribeDBEngineVersionsInput
6229			if input != nil {
6230				tmp := *input
6231				inCpy = &tmp
6232			}
6233			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
6234			req.SetContext(ctx)
6235			req.ApplyOptions(opts...)
6236			return req, nil
6237		},
6238	}
6239
6240	for p.Next() {
6241		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
6242			break
6243		}
6244	}
6245
6246	return p.Err()
6247}
6248
6249const opDescribeDBInstanceAutomatedBackups = "DescribeDBInstanceAutomatedBackups"
6250
6251// DescribeDBInstanceAutomatedBackupsRequest generates a "aws/request.Request" representing the
6252// client's request for the DescribeDBInstanceAutomatedBackups operation. The "output" return
6253// value will be populated with the request's response once the request completes
6254// successfully.
6255//
6256// Use "Send" method on the returned Request to send the API call to the service.
6257// the "output" return value is not valid until after Send returns without error.
6258//
6259// See DescribeDBInstanceAutomatedBackups for more information on using the DescribeDBInstanceAutomatedBackups
6260// API call, and error handling.
6261//
6262// This method is useful when you want to inject custom logic or configuration
6263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6264//
6265//
6266//    // Example sending a request using the DescribeDBInstanceAutomatedBackupsRequest method.
6267//    req, resp := client.DescribeDBInstanceAutomatedBackupsRequest(params)
6268//
6269//    err := req.Send()
6270//    if err == nil { // resp is now filled
6271//        fmt.Println(resp)
6272//    }
6273//
6274// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
6275func (c *RDS) DescribeDBInstanceAutomatedBackupsRequest(input *DescribeDBInstanceAutomatedBackupsInput) (req *request.Request, output *DescribeDBInstanceAutomatedBackupsOutput) {
6276	op := &request.Operation{
6277		Name:       opDescribeDBInstanceAutomatedBackups,
6278		HTTPMethod: "POST",
6279		HTTPPath:   "/",
6280		Paginator: &request.Paginator{
6281			InputTokens:     []string{"Marker"},
6282			OutputTokens:    []string{"Marker"},
6283			LimitToken:      "MaxRecords",
6284			TruncationToken: "",
6285		},
6286	}
6287
6288	if input == nil {
6289		input = &DescribeDBInstanceAutomatedBackupsInput{}
6290	}
6291
6292	output = &DescribeDBInstanceAutomatedBackupsOutput{}
6293	req = c.newRequest(op, input, output)
6294	return
6295}
6296
6297// DescribeDBInstanceAutomatedBackups API operation for Amazon Relational Database Service.
6298//
6299// Displays backups for both current and deleted instances. For example, use
6300// this operation to find details about automated backups for previously deleted
6301// instances. Current instances with retention periods greater than zero (0)
6302// are returned for both the DescribeDBInstanceAutomatedBackups and DescribeDBInstances
6303// operations.
6304//
6305// All parameters are optional.
6306//
6307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6308// with awserr.Error's Code and Message methods to get detailed information about
6309// the error.
6310//
6311// See the AWS API reference guide for Amazon Relational Database Service's
6312// API operation DescribeDBInstanceAutomatedBackups for usage and error information.
6313//
6314// Returned Error Codes:
6315//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
6316//   No automated backup for this DB instance was found.
6317//
6318// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
6319func (c *RDS) DescribeDBInstanceAutomatedBackups(input *DescribeDBInstanceAutomatedBackupsInput) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
6320	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
6321	return out, req.Send()
6322}
6323
6324// DescribeDBInstanceAutomatedBackupsWithContext is the same as DescribeDBInstanceAutomatedBackups with the addition of
6325// the ability to pass a context and additional request options.
6326//
6327// See DescribeDBInstanceAutomatedBackups for details on how to use this API operation.
6328//
6329// The context must be non-nil and will be used for request cancellation. If
6330// the context is nil a panic will occur. In the future the SDK may create
6331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6332// for more information on using Contexts.
6333func (c *RDS) DescribeDBInstanceAutomatedBackupsWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, opts ...request.Option) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
6334	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
6335	req.SetContext(ctx)
6336	req.ApplyOptions(opts...)
6337	return out, req.Send()
6338}
6339
6340// DescribeDBInstanceAutomatedBackupsPages iterates over the pages of a DescribeDBInstanceAutomatedBackups operation,
6341// calling the "fn" function with the response data for each page. To stop
6342// iterating, return false from the fn function.
6343//
6344// See DescribeDBInstanceAutomatedBackups method for more information on how to use this operation.
6345//
6346// Note: This operation can generate multiple requests to a service.
6347//
6348//    // Example iterating over at most 3 pages of a DescribeDBInstanceAutomatedBackups operation.
6349//    pageNum := 0
6350//    err := client.DescribeDBInstanceAutomatedBackupsPages(params,
6351//        func(page *rds.DescribeDBInstanceAutomatedBackupsOutput, lastPage bool) bool {
6352//            pageNum++
6353//            fmt.Println(page)
6354//            return pageNum <= 3
6355//        })
6356//
6357func (c *RDS) DescribeDBInstanceAutomatedBackupsPages(input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool) error {
6358	return c.DescribeDBInstanceAutomatedBackupsPagesWithContext(aws.BackgroundContext(), input, fn)
6359}
6360
6361// DescribeDBInstanceAutomatedBackupsPagesWithContext same as DescribeDBInstanceAutomatedBackupsPages except
6362// it takes a Context and allows setting request options on the pages.
6363//
6364// The context must be non-nil and will be used for request cancellation. If
6365// the context is nil a panic will occur. In the future the SDK may create
6366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6367// for more information on using Contexts.
6368func (c *RDS) DescribeDBInstanceAutomatedBackupsPagesWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool, opts ...request.Option) error {
6369	p := request.Pagination{
6370		NewRequest: func() (*request.Request, error) {
6371			var inCpy *DescribeDBInstanceAutomatedBackupsInput
6372			if input != nil {
6373				tmp := *input
6374				inCpy = &tmp
6375			}
6376			req, _ := c.DescribeDBInstanceAutomatedBackupsRequest(inCpy)
6377			req.SetContext(ctx)
6378			req.ApplyOptions(opts...)
6379			return req, nil
6380		},
6381	}
6382
6383	for p.Next() {
6384		if !fn(p.Page().(*DescribeDBInstanceAutomatedBackupsOutput), !p.HasNextPage()) {
6385			break
6386		}
6387	}
6388
6389	return p.Err()
6390}
6391
6392const opDescribeDBInstances = "DescribeDBInstances"
6393
6394// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
6395// client's request for the DescribeDBInstances operation. The "output" return
6396// value will be populated with the request's response once the request completes
6397// successfully.
6398//
6399// Use "Send" method on the returned Request to send the API call to the service.
6400// the "output" return value is not valid until after Send returns without error.
6401//
6402// See DescribeDBInstances for more information on using the DescribeDBInstances
6403// API call, and error handling.
6404//
6405// This method is useful when you want to inject custom logic or configuration
6406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6407//
6408//
6409//    // Example sending a request using the DescribeDBInstancesRequest method.
6410//    req, resp := client.DescribeDBInstancesRequest(params)
6411//
6412//    err := req.Send()
6413//    if err == nil { // resp is now filled
6414//        fmt.Println(resp)
6415//    }
6416//
6417// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
6418func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
6419	op := &request.Operation{
6420		Name:       opDescribeDBInstances,
6421		HTTPMethod: "POST",
6422		HTTPPath:   "/",
6423		Paginator: &request.Paginator{
6424			InputTokens:     []string{"Marker"},
6425			OutputTokens:    []string{"Marker"},
6426			LimitToken:      "MaxRecords",
6427			TruncationToken: "",
6428		},
6429	}
6430
6431	if input == nil {
6432		input = &DescribeDBInstancesInput{}
6433	}
6434
6435	output = &DescribeDBInstancesOutput{}
6436	req = c.newRequest(op, input, output)
6437	return
6438}
6439
6440// DescribeDBInstances API operation for Amazon Relational Database Service.
6441//
6442// Returns information about provisioned RDS instances. This API supports pagination.
6443//
6444// This operation can also return information for Amazon Neptune DB instances
6445// and Amazon DocumentDB instances.
6446//
6447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6448// with awserr.Error's Code and Message methods to get detailed information about
6449// the error.
6450//
6451// See the AWS API reference guide for Amazon Relational Database Service's
6452// API operation DescribeDBInstances for usage and error information.
6453//
6454// Returned Error Codes:
6455//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6456//   DBInstanceIdentifier doesn't refer to an existing DB instance.
6457//
6458// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
6459func (c *RDS) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
6460	req, out := c.DescribeDBInstancesRequest(input)
6461	return out, req.Send()
6462}
6463
6464// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
6465// the ability to pass a context and additional request options.
6466//
6467// See DescribeDBInstances for details on how to use this API operation.
6468//
6469// The context must be non-nil and will be used for request cancellation. If
6470// the context is nil a panic will occur. In the future the SDK may create
6471// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6472// for more information on using Contexts.
6473func (c *RDS) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
6474	req, out := c.DescribeDBInstancesRequest(input)
6475	req.SetContext(ctx)
6476	req.ApplyOptions(opts...)
6477	return out, req.Send()
6478}
6479
6480// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
6481// calling the "fn" function with the response data for each page. To stop
6482// iterating, return false from the fn function.
6483//
6484// See DescribeDBInstances method for more information on how to use this operation.
6485//
6486// Note: This operation can generate multiple requests to a service.
6487//
6488//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
6489//    pageNum := 0
6490//    err := client.DescribeDBInstancesPages(params,
6491//        func(page *rds.DescribeDBInstancesOutput, lastPage bool) bool {
6492//            pageNum++
6493//            fmt.Println(page)
6494//            return pageNum <= 3
6495//        })
6496//
6497func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
6498	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
6499}
6500
6501// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
6502// it takes a Context and allows setting request options on the pages.
6503//
6504// The context must be non-nil and will be used for request cancellation. If
6505// the context is nil a panic will occur. In the future the SDK may create
6506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6507// for more information on using Contexts.
6508func (c *RDS) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
6509	p := request.Pagination{
6510		NewRequest: func() (*request.Request, error) {
6511			var inCpy *DescribeDBInstancesInput
6512			if input != nil {
6513				tmp := *input
6514				inCpy = &tmp
6515			}
6516			req, _ := c.DescribeDBInstancesRequest(inCpy)
6517			req.SetContext(ctx)
6518			req.ApplyOptions(opts...)
6519			return req, nil
6520		},
6521	}
6522
6523	for p.Next() {
6524		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
6525			break
6526		}
6527	}
6528
6529	return p.Err()
6530}
6531
6532const opDescribeDBLogFiles = "DescribeDBLogFiles"
6533
6534// DescribeDBLogFilesRequest generates a "aws/request.Request" representing the
6535// client's request for the DescribeDBLogFiles operation. The "output" return
6536// value will be populated with the request's response once the request completes
6537// successfully.
6538//
6539// Use "Send" method on the returned Request to send the API call to the service.
6540// the "output" return value is not valid until after Send returns without error.
6541//
6542// See DescribeDBLogFiles for more information on using the DescribeDBLogFiles
6543// API call, and error handling.
6544//
6545// This method is useful when you want to inject custom logic or configuration
6546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6547//
6548//
6549//    // Example sending a request using the DescribeDBLogFilesRequest method.
6550//    req, resp := client.DescribeDBLogFilesRequest(params)
6551//
6552//    err := req.Send()
6553//    if err == nil { // resp is now filled
6554//        fmt.Println(resp)
6555//    }
6556//
6557// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
6558func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *request.Request, output *DescribeDBLogFilesOutput) {
6559	op := &request.Operation{
6560		Name:       opDescribeDBLogFiles,
6561		HTTPMethod: "POST",
6562		HTTPPath:   "/",
6563		Paginator: &request.Paginator{
6564			InputTokens:     []string{"Marker"},
6565			OutputTokens:    []string{"Marker"},
6566			LimitToken:      "MaxRecords",
6567			TruncationToken: "",
6568		},
6569	}
6570
6571	if input == nil {
6572		input = &DescribeDBLogFilesInput{}
6573	}
6574
6575	output = &DescribeDBLogFilesOutput{}
6576	req = c.newRequest(op, input, output)
6577	return
6578}
6579
6580// DescribeDBLogFiles API operation for Amazon Relational Database Service.
6581//
6582// Returns a list of DB log files for the DB instance.
6583//
6584// This command doesn't apply to RDS Custom.
6585//
6586// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6587// with awserr.Error's Code and Message methods to get detailed information about
6588// the error.
6589//
6590// See the AWS API reference guide for Amazon Relational Database Service's
6591// API operation DescribeDBLogFiles for usage and error information.
6592//
6593// Returned Error Codes:
6594//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
6595//   DBInstanceIdentifier doesn't refer to an existing DB instance.
6596//
6597// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
6598func (c *RDS) DescribeDBLogFiles(input *DescribeDBLogFilesInput) (*DescribeDBLogFilesOutput, error) {
6599	req, out := c.DescribeDBLogFilesRequest(input)
6600	return out, req.Send()
6601}
6602
6603// DescribeDBLogFilesWithContext is the same as DescribeDBLogFiles with the addition of
6604// the ability to pass a context and additional request options.
6605//
6606// See DescribeDBLogFiles for details on how to use this API operation.
6607//
6608// The context must be non-nil and will be used for request cancellation. If
6609// the context is nil a panic will occur. In the future the SDK may create
6610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6611// for more information on using Contexts.
6612func (c *RDS) DescribeDBLogFilesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, opts ...request.Option) (*DescribeDBLogFilesOutput, error) {
6613	req, out := c.DescribeDBLogFilesRequest(input)
6614	req.SetContext(ctx)
6615	req.ApplyOptions(opts...)
6616	return out, req.Send()
6617}
6618
6619// DescribeDBLogFilesPages iterates over the pages of a DescribeDBLogFiles operation,
6620// calling the "fn" function with the response data for each page. To stop
6621// iterating, return false from the fn function.
6622//
6623// See DescribeDBLogFiles method for more information on how to use this operation.
6624//
6625// Note: This operation can generate multiple requests to a service.
6626//
6627//    // Example iterating over at most 3 pages of a DescribeDBLogFiles operation.
6628//    pageNum := 0
6629//    err := client.DescribeDBLogFilesPages(params,
6630//        func(page *rds.DescribeDBLogFilesOutput, lastPage bool) bool {
6631//            pageNum++
6632//            fmt.Println(page)
6633//            return pageNum <= 3
6634//        })
6635//
6636func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool) error {
6637	return c.DescribeDBLogFilesPagesWithContext(aws.BackgroundContext(), input, fn)
6638}
6639
6640// DescribeDBLogFilesPagesWithContext same as DescribeDBLogFilesPages except
6641// it takes a Context and allows setting request options on the pages.
6642//
6643// The context must be non-nil and will be used for request cancellation. If
6644// the context is nil a panic will occur. In the future the SDK may create
6645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6646// for more information on using Contexts.
6647func (c *RDS) DescribeDBLogFilesPagesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool, opts ...request.Option) error {
6648	p := request.Pagination{
6649		NewRequest: func() (*request.Request, error) {
6650			var inCpy *DescribeDBLogFilesInput
6651			if input != nil {
6652				tmp := *input
6653				inCpy = &tmp
6654			}
6655			req, _ := c.DescribeDBLogFilesRequest(inCpy)
6656			req.SetContext(ctx)
6657			req.ApplyOptions(opts...)
6658			return req, nil
6659		},
6660	}
6661
6662	for p.Next() {
6663		if !fn(p.Page().(*DescribeDBLogFilesOutput), !p.HasNextPage()) {
6664			break
6665		}
6666	}
6667
6668	return p.Err()
6669}
6670
6671const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
6672
6673// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
6674// client's request for the DescribeDBParameterGroups operation. The "output" return
6675// value will be populated with the request's response once the request completes
6676// successfully.
6677//
6678// Use "Send" method on the returned Request to send the API call to the service.
6679// the "output" return value is not valid until after Send returns without error.
6680//
6681// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
6682// API call, and error handling.
6683//
6684// This method is useful when you want to inject custom logic or configuration
6685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6686//
6687//
6688//    // Example sending a request using the DescribeDBParameterGroupsRequest method.
6689//    req, resp := client.DescribeDBParameterGroupsRequest(params)
6690//
6691//    err := req.Send()
6692//    if err == nil { // resp is now filled
6693//        fmt.Println(resp)
6694//    }
6695//
6696// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
6697func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
6698	op := &request.Operation{
6699		Name:       opDescribeDBParameterGroups,
6700		HTTPMethod: "POST",
6701		HTTPPath:   "/",
6702		Paginator: &request.Paginator{
6703			InputTokens:     []string{"Marker"},
6704			OutputTokens:    []string{"Marker"},
6705			LimitToken:      "MaxRecords",
6706			TruncationToken: "",
6707		},
6708	}
6709
6710	if input == nil {
6711		input = &DescribeDBParameterGroupsInput{}
6712	}
6713
6714	output = &DescribeDBParameterGroupsOutput{}
6715	req = c.newRequest(op, input, output)
6716	return
6717}
6718
6719// DescribeDBParameterGroups API operation for Amazon Relational Database Service.
6720//
6721// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
6722// is specified, the list will contain only the description of the specified
6723// DB parameter group.
6724//
6725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6726// with awserr.Error's Code and Message methods to get detailed information about
6727// the error.
6728//
6729// See the AWS API reference guide for Amazon Relational Database Service's
6730// API operation DescribeDBParameterGroups for usage and error information.
6731//
6732// Returned Error Codes:
6733//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
6734//   DBParameterGroupName doesn't refer to an existing DB parameter group.
6735//
6736// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
6737func (c *RDS) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
6738	req, out := c.DescribeDBParameterGroupsRequest(input)
6739	return out, req.Send()
6740}
6741
6742// DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
6743// the ability to pass a context and additional request options.
6744//
6745// See DescribeDBParameterGroups for details on how to use this API operation.
6746//
6747// The context must be non-nil and will be used for request cancellation. If
6748// the context is nil a panic will occur. In the future the SDK may create
6749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6750// for more information on using Contexts.
6751func (c *RDS) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
6752	req, out := c.DescribeDBParameterGroupsRequest(input)
6753	req.SetContext(ctx)
6754	req.ApplyOptions(opts...)
6755	return out, req.Send()
6756}
6757
6758// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
6759// calling the "fn" function with the response data for each page. To stop
6760// iterating, return false from the fn function.
6761//
6762// See DescribeDBParameterGroups method for more information on how to use this operation.
6763//
6764// Note: This operation can generate multiple requests to a service.
6765//
6766//    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
6767//    pageNum := 0
6768//    err := client.DescribeDBParameterGroupsPages(params,
6769//        func(page *rds.DescribeDBParameterGroupsOutput, lastPage bool) bool {
6770//            pageNum++
6771//            fmt.Println(page)
6772//            return pageNum <= 3
6773//        })
6774//
6775func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
6776	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6777}
6778
6779// DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
6780// it takes a Context and allows setting request options on the pages.
6781//
6782// The context must be non-nil and will be used for request cancellation. If
6783// the context is nil a panic will occur. In the future the SDK may create
6784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6785// for more information on using Contexts.
6786func (c *RDS) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
6787	p := request.Pagination{
6788		NewRequest: func() (*request.Request, error) {
6789			var inCpy *DescribeDBParameterGroupsInput
6790			if input != nil {
6791				tmp := *input
6792				inCpy = &tmp
6793			}
6794			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
6795			req.SetContext(ctx)
6796			req.ApplyOptions(opts...)
6797			return req, nil
6798		},
6799	}
6800
6801	for p.Next() {
6802		if !fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage()) {
6803			break
6804		}
6805	}
6806
6807	return p.Err()
6808}
6809
6810const opDescribeDBParameters = "DescribeDBParameters"
6811
6812// DescribeDBParametersRequest generates a "aws/request.Request" representing the
6813// client's request for the DescribeDBParameters operation. The "output" return
6814// value will be populated with the request's response once the request completes
6815// successfully.
6816//
6817// Use "Send" method on the returned Request to send the API call to the service.
6818// the "output" return value is not valid until after Send returns without error.
6819//
6820// See DescribeDBParameters for more information on using the DescribeDBParameters
6821// API call, and error handling.
6822//
6823// This method is useful when you want to inject custom logic or configuration
6824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6825//
6826//
6827//    // Example sending a request using the DescribeDBParametersRequest method.
6828//    req, resp := client.DescribeDBParametersRequest(params)
6829//
6830//    err := req.Send()
6831//    if err == nil { // resp is now filled
6832//        fmt.Println(resp)
6833//    }
6834//
6835// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
6836func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
6837	op := &request.Operation{
6838		Name:       opDescribeDBParameters,
6839		HTTPMethod: "POST",
6840		HTTPPath:   "/",
6841		Paginator: &request.Paginator{
6842			InputTokens:     []string{"Marker"},
6843			OutputTokens:    []string{"Marker"},
6844			LimitToken:      "MaxRecords",
6845			TruncationToken: "",
6846		},
6847	}
6848
6849	if input == nil {
6850		input = &DescribeDBParametersInput{}
6851	}
6852
6853	output = &DescribeDBParametersOutput{}
6854	req = c.newRequest(op, input, output)
6855	return
6856}
6857
6858// DescribeDBParameters API operation for Amazon Relational Database Service.
6859//
6860// Returns the detailed parameter list for a particular DB parameter group.
6861//
6862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6863// with awserr.Error's Code and Message methods to get detailed information about
6864// the error.
6865//
6866// See the AWS API reference guide for Amazon Relational Database Service's
6867// API operation DescribeDBParameters for usage and error information.
6868//
6869// Returned Error Codes:
6870//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
6871//   DBParameterGroupName doesn't refer to an existing DB parameter group.
6872//
6873// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
6874func (c *RDS) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
6875	req, out := c.DescribeDBParametersRequest(input)
6876	return out, req.Send()
6877}
6878
6879// DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
6880// the ability to pass a context and additional request options.
6881//
6882// See DescribeDBParameters for details on how to use this API operation.
6883//
6884// The context must be non-nil and will be used for request cancellation. If
6885// the context is nil a panic will occur. In the future the SDK may create
6886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6887// for more information on using Contexts.
6888func (c *RDS) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
6889	req, out := c.DescribeDBParametersRequest(input)
6890	req.SetContext(ctx)
6891	req.ApplyOptions(opts...)
6892	return out, req.Send()
6893}
6894
6895// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
6896// calling the "fn" function with the response data for each page. To stop
6897// iterating, return false from the fn function.
6898//
6899// See DescribeDBParameters method for more information on how to use this operation.
6900//
6901// Note: This operation can generate multiple requests to a service.
6902//
6903//    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
6904//    pageNum := 0
6905//    err := client.DescribeDBParametersPages(params,
6906//        func(page *rds.DescribeDBParametersOutput, lastPage bool) bool {
6907//            pageNum++
6908//            fmt.Println(page)
6909//            return pageNum <= 3
6910//        })
6911//
6912func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
6913	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
6914}
6915
6916// DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
6917// it takes a Context and allows setting request options on the pages.
6918//
6919// The context must be non-nil and will be used for request cancellation. If
6920// the context is nil a panic will occur. In the future the SDK may create
6921// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6922// for more information on using Contexts.
6923func (c *RDS) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
6924	p := request.Pagination{
6925		NewRequest: func() (*request.Request, error) {
6926			var inCpy *DescribeDBParametersInput
6927			if input != nil {
6928				tmp := *input
6929				inCpy = &tmp
6930			}
6931			req, _ := c.DescribeDBParametersRequest(inCpy)
6932			req.SetContext(ctx)
6933			req.ApplyOptions(opts...)
6934			return req, nil
6935		},
6936	}
6937
6938	for p.Next() {
6939		if !fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage()) {
6940			break
6941		}
6942	}
6943
6944	return p.Err()
6945}
6946
6947const opDescribeDBProxies = "DescribeDBProxies"
6948
6949// DescribeDBProxiesRequest generates a "aws/request.Request" representing the
6950// client's request for the DescribeDBProxies operation. The "output" return
6951// value will be populated with the request's response once the request completes
6952// successfully.
6953//
6954// Use "Send" method on the returned Request to send the API call to the service.
6955// the "output" return value is not valid until after Send returns without error.
6956//
6957// See DescribeDBProxies for more information on using the DescribeDBProxies
6958// API call, and error handling.
6959//
6960// This method is useful when you want to inject custom logic or configuration
6961// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6962//
6963//
6964//    // Example sending a request using the DescribeDBProxiesRequest method.
6965//    req, resp := client.DescribeDBProxiesRequest(params)
6966//
6967//    err := req.Send()
6968//    if err == nil { // resp is now filled
6969//        fmt.Println(resp)
6970//    }
6971//
6972// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
6973func (c *RDS) DescribeDBProxiesRequest(input *DescribeDBProxiesInput) (req *request.Request, output *DescribeDBProxiesOutput) {
6974	op := &request.Operation{
6975		Name:       opDescribeDBProxies,
6976		HTTPMethod: "POST",
6977		HTTPPath:   "/",
6978		Paginator: &request.Paginator{
6979			InputTokens:     []string{"Marker"},
6980			OutputTokens:    []string{"Marker"},
6981			LimitToken:      "MaxRecords",
6982			TruncationToken: "",
6983		},
6984	}
6985
6986	if input == nil {
6987		input = &DescribeDBProxiesInput{}
6988	}
6989
6990	output = &DescribeDBProxiesOutput{}
6991	req = c.newRequest(op, input, output)
6992	return
6993}
6994
6995// DescribeDBProxies API operation for Amazon Relational Database Service.
6996//
6997// Returns information about DB proxies.
6998//
6999// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7000// with awserr.Error's Code and Message methods to get detailed information about
7001// the error.
7002//
7003// See the AWS API reference guide for Amazon Relational Database Service's
7004// API operation DescribeDBProxies for usage and error information.
7005//
7006// Returned Error Codes:
7007//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
7008//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
7009//   Web Services account in the specified Amazon Web Services Region.
7010//
7011// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
7012func (c *RDS) DescribeDBProxies(input *DescribeDBProxiesInput) (*DescribeDBProxiesOutput, error) {
7013	req, out := c.DescribeDBProxiesRequest(input)
7014	return out, req.Send()
7015}
7016
7017// DescribeDBProxiesWithContext is the same as DescribeDBProxies with the addition of
7018// the ability to pass a context and additional request options.
7019//
7020// See DescribeDBProxies for details on how to use this API operation.
7021//
7022// The context must be non-nil and will be used for request cancellation. If
7023// the context is nil a panic will occur. In the future the SDK may create
7024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7025// for more information on using Contexts.
7026func (c *RDS) DescribeDBProxiesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, opts ...request.Option) (*DescribeDBProxiesOutput, error) {
7027	req, out := c.DescribeDBProxiesRequest(input)
7028	req.SetContext(ctx)
7029	req.ApplyOptions(opts...)
7030	return out, req.Send()
7031}
7032
7033// DescribeDBProxiesPages iterates over the pages of a DescribeDBProxies operation,
7034// calling the "fn" function with the response data for each page. To stop
7035// iterating, return false from the fn function.
7036//
7037// See DescribeDBProxies method for more information on how to use this operation.
7038//
7039// Note: This operation can generate multiple requests to a service.
7040//
7041//    // Example iterating over at most 3 pages of a DescribeDBProxies operation.
7042//    pageNum := 0
7043//    err := client.DescribeDBProxiesPages(params,
7044//        func(page *rds.DescribeDBProxiesOutput, lastPage bool) bool {
7045//            pageNum++
7046//            fmt.Println(page)
7047//            return pageNum <= 3
7048//        })
7049//
7050func (c *RDS) DescribeDBProxiesPages(input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool) error {
7051	return c.DescribeDBProxiesPagesWithContext(aws.BackgroundContext(), input, fn)
7052}
7053
7054// DescribeDBProxiesPagesWithContext same as DescribeDBProxiesPages except
7055// it takes a Context and allows setting request options on the pages.
7056//
7057// The context must be non-nil and will be used for request cancellation. If
7058// the context is nil a panic will occur. In the future the SDK may create
7059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7060// for more information on using Contexts.
7061func (c *RDS) DescribeDBProxiesPagesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool, opts ...request.Option) error {
7062	p := request.Pagination{
7063		NewRequest: func() (*request.Request, error) {
7064			var inCpy *DescribeDBProxiesInput
7065			if input != nil {
7066				tmp := *input
7067				inCpy = &tmp
7068			}
7069			req, _ := c.DescribeDBProxiesRequest(inCpy)
7070			req.SetContext(ctx)
7071			req.ApplyOptions(opts...)
7072			return req, nil
7073		},
7074	}
7075
7076	for p.Next() {
7077		if !fn(p.Page().(*DescribeDBProxiesOutput), !p.HasNextPage()) {
7078			break
7079		}
7080	}
7081
7082	return p.Err()
7083}
7084
7085const opDescribeDBProxyEndpoints = "DescribeDBProxyEndpoints"
7086
7087// DescribeDBProxyEndpointsRequest generates a "aws/request.Request" representing the
7088// client's request for the DescribeDBProxyEndpoints operation. The "output" return
7089// value will be populated with the request's response once the request completes
7090// successfully.
7091//
7092// Use "Send" method on the returned Request to send the API call to the service.
7093// the "output" return value is not valid until after Send returns without error.
7094//
7095// See DescribeDBProxyEndpoints for more information on using the DescribeDBProxyEndpoints
7096// API call, and error handling.
7097//
7098// This method is useful when you want to inject custom logic or configuration
7099// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7100//
7101//
7102//    // Example sending a request using the DescribeDBProxyEndpointsRequest method.
7103//    req, resp := client.DescribeDBProxyEndpointsRequest(params)
7104//
7105//    err := req.Send()
7106//    if err == nil { // resp is now filled
7107//        fmt.Println(resp)
7108//    }
7109//
7110// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyEndpoints
7111func (c *RDS) DescribeDBProxyEndpointsRequest(input *DescribeDBProxyEndpointsInput) (req *request.Request, output *DescribeDBProxyEndpointsOutput) {
7112	op := &request.Operation{
7113		Name:       opDescribeDBProxyEndpoints,
7114		HTTPMethod: "POST",
7115		HTTPPath:   "/",
7116		Paginator: &request.Paginator{
7117			InputTokens:     []string{"Marker"},
7118			OutputTokens:    []string{"Marker"},
7119			LimitToken:      "MaxRecords",
7120			TruncationToken: "",
7121		},
7122	}
7123
7124	if input == nil {
7125		input = &DescribeDBProxyEndpointsInput{}
7126	}
7127
7128	output = &DescribeDBProxyEndpointsOutput{}
7129	req = c.newRequest(op, input, output)
7130	return
7131}
7132
7133// DescribeDBProxyEndpoints API operation for Amazon Relational Database Service.
7134//
7135// Returns information about DB proxy endpoints.
7136//
7137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7138// with awserr.Error's Code and Message methods to get detailed information about
7139// the error.
7140//
7141// See the AWS API reference guide for Amazon Relational Database Service's
7142// API operation DescribeDBProxyEndpoints for usage and error information.
7143//
7144// Returned Error Codes:
7145//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
7146//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
7147//   Web Services account in the specified Amazon Web Services Region.
7148//
7149//   * ErrCodeDBProxyEndpointNotFoundFault "DBProxyEndpointNotFoundFault"
7150//   The DB proxy endpoint doesn't exist.
7151//
7152// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyEndpoints
7153func (c *RDS) DescribeDBProxyEndpoints(input *DescribeDBProxyEndpointsInput) (*DescribeDBProxyEndpointsOutput, error) {
7154	req, out := c.DescribeDBProxyEndpointsRequest(input)
7155	return out, req.Send()
7156}
7157
7158// DescribeDBProxyEndpointsWithContext is the same as DescribeDBProxyEndpoints with the addition of
7159// the ability to pass a context and additional request options.
7160//
7161// See DescribeDBProxyEndpoints for details on how to use this API operation.
7162//
7163// The context must be non-nil and will be used for request cancellation. If
7164// the context is nil a panic will occur. In the future the SDK may create
7165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7166// for more information on using Contexts.
7167func (c *RDS) DescribeDBProxyEndpointsWithContext(ctx aws.Context, input *DescribeDBProxyEndpointsInput, opts ...request.Option) (*DescribeDBProxyEndpointsOutput, error) {
7168	req, out := c.DescribeDBProxyEndpointsRequest(input)
7169	req.SetContext(ctx)
7170	req.ApplyOptions(opts...)
7171	return out, req.Send()
7172}
7173
7174// DescribeDBProxyEndpointsPages iterates over the pages of a DescribeDBProxyEndpoints operation,
7175// calling the "fn" function with the response data for each page. To stop
7176// iterating, return false from the fn function.
7177//
7178// See DescribeDBProxyEndpoints method for more information on how to use this operation.
7179//
7180// Note: This operation can generate multiple requests to a service.
7181//
7182//    // Example iterating over at most 3 pages of a DescribeDBProxyEndpoints operation.
7183//    pageNum := 0
7184//    err := client.DescribeDBProxyEndpointsPages(params,
7185//        func(page *rds.DescribeDBProxyEndpointsOutput, lastPage bool) bool {
7186//            pageNum++
7187//            fmt.Println(page)
7188//            return pageNum <= 3
7189//        })
7190//
7191func (c *RDS) DescribeDBProxyEndpointsPages(input *DescribeDBProxyEndpointsInput, fn func(*DescribeDBProxyEndpointsOutput, bool) bool) error {
7192	return c.DescribeDBProxyEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
7193}
7194
7195// DescribeDBProxyEndpointsPagesWithContext same as DescribeDBProxyEndpointsPages except
7196// it takes a Context and allows setting request options on the pages.
7197//
7198// The context must be non-nil and will be used for request cancellation. If
7199// the context is nil a panic will occur. In the future the SDK may create
7200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7201// for more information on using Contexts.
7202func (c *RDS) DescribeDBProxyEndpointsPagesWithContext(ctx aws.Context, input *DescribeDBProxyEndpointsInput, fn func(*DescribeDBProxyEndpointsOutput, bool) bool, opts ...request.Option) error {
7203	p := request.Pagination{
7204		NewRequest: func() (*request.Request, error) {
7205			var inCpy *DescribeDBProxyEndpointsInput
7206			if input != nil {
7207				tmp := *input
7208				inCpy = &tmp
7209			}
7210			req, _ := c.DescribeDBProxyEndpointsRequest(inCpy)
7211			req.SetContext(ctx)
7212			req.ApplyOptions(opts...)
7213			return req, nil
7214		},
7215	}
7216
7217	for p.Next() {
7218		if !fn(p.Page().(*DescribeDBProxyEndpointsOutput), !p.HasNextPage()) {
7219			break
7220		}
7221	}
7222
7223	return p.Err()
7224}
7225
7226const opDescribeDBProxyTargetGroups = "DescribeDBProxyTargetGroups"
7227
7228// DescribeDBProxyTargetGroupsRequest generates a "aws/request.Request" representing the
7229// client's request for the DescribeDBProxyTargetGroups operation. The "output" return
7230// value will be populated with the request's response once the request completes
7231// successfully.
7232//
7233// Use "Send" method on the returned Request to send the API call to the service.
7234// the "output" return value is not valid until after Send returns without error.
7235//
7236// See DescribeDBProxyTargetGroups for more information on using the DescribeDBProxyTargetGroups
7237// API call, and error handling.
7238//
7239// This method is useful when you want to inject custom logic or configuration
7240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7241//
7242//
7243//    // Example sending a request using the DescribeDBProxyTargetGroupsRequest method.
7244//    req, resp := client.DescribeDBProxyTargetGroupsRequest(params)
7245//
7246//    err := req.Send()
7247//    if err == nil { // resp is now filled
7248//        fmt.Println(resp)
7249//    }
7250//
7251// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
7252func (c *RDS) DescribeDBProxyTargetGroupsRequest(input *DescribeDBProxyTargetGroupsInput) (req *request.Request, output *DescribeDBProxyTargetGroupsOutput) {
7253	op := &request.Operation{
7254		Name:       opDescribeDBProxyTargetGroups,
7255		HTTPMethod: "POST",
7256		HTTPPath:   "/",
7257		Paginator: &request.Paginator{
7258			InputTokens:     []string{"Marker"},
7259			OutputTokens:    []string{"Marker"},
7260			LimitToken:      "MaxRecords",
7261			TruncationToken: "",
7262		},
7263	}
7264
7265	if input == nil {
7266		input = &DescribeDBProxyTargetGroupsInput{}
7267	}
7268
7269	output = &DescribeDBProxyTargetGroupsOutput{}
7270	req = c.newRequest(op, input, output)
7271	return
7272}
7273
7274// DescribeDBProxyTargetGroups API operation for Amazon Relational Database Service.
7275//
7276// Returns information about DB proxy target groups, represented by DBProxyTargetGroup
7277// data structures.
7278//
7279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7280// with awserr.Error's Code and Message methods to get detailed information about
7281// the error.
7282//
7283// See the AWS API reference guide for Amazon Relational Database Service's
7284// API operation DescribeDBProxyTargetGroups for usage and error information.
7285//
7286// Returned Error Codes:
7287//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
7288//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
7289//   Web Services account in the specified Amazon Web Services Region.
7290//
7291//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
7292//   The specified target group isn't available for a proxy owned by your Amazon
7293//   Web Services account in the specified Amazon Web Services Region.
7294//
7295//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
7296//   The requested operation can't be performed while the proxy is in this state.
7297//
7298// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
7299func (c *RDS) DescribeDBProxyTargetGroups(input *DescribeDBProxyTargetGroupsInput) (*DescribeDBProxyTargetGroupsOutput, error) {
7300	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
7301	return out, req.Send()
7302}
7303
7304// DescribeDBProxyTargetGroupsWithContext is the same as DescribeDBProxyTargetGroups with the addition of
7305// the ability to pass a context and additional request options.
7306//
7307// See DescribeDBProxyTargetGroups for details on how to use this API operation.
7308//
7309// The context must be non-nil and will be used for request cancellation. If
7310// the context is nil a panic will occur. In the future the SDK may create
7311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7312// for more information on using Contexts.
7313func (c *RDS) DescribeDBProxyTargetGroupsWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, opts ...request.Option) (*DescribeDBProxyTargetGroupsOutput, error) {
7314	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
7315	req.SetContext(ctx)
7316	req.ApplyOptions(opts...)
7317	return out, req.Send()
7318}
7319
7320// DescribeDBProxyTargetGroupsPages iterates over the pages of a DescribeDBProxyTargetGroups operation,
7321// calling the "fn" function with the response data for each page. To stop
7322// iterating, return false from the fn function.
7323//
7324// See DescribeDBProxyTargetGroups method for more information on how to use this operation.
7325//
7326// Note: This operation can generate multiple requests to a service.
7327//
7328//    // Example iterating over at most 3 pages of a DescribeDBProxyTargetGroups operation.
7329//    pageNum := 0
7330//    err := client.DescribeDBProxyTargetGroupsPages(params,
7331//        func(page *rds.DescribeDBProxyTargetGroupsOutput, lastPage bool) bool {
7332//            pageNum++
7333//            fmt.Println(page)
7334//            return pageNum <= 3
7335//        })
7336//
7337func (c *RDS) DescribeDBProxyTargetGroupsPages(input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool) error {
7338	return c.DescribeDBProxyTargetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
7339}
7340
7341// DescribeDBProxyTargetGroupsPagesWithContext same as DescribeDBProxyTargetGroupsPages except
7342// it takes a Context and allows setting request options on the pages.
7343//
7344// The context must be non-nil and will be used for request cancellation. If
7345// the context is nil a panic will occur. In the future the SDK may create
7346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7347// for more information on using Contexts.
7348func (c *RDS) DescribeDBProxyTargetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool, opts ...request.Option) error {
7349	p := request.Pagination{
7350		NewRequest: func() (*request.Request, error) {
7351			var inCpy *DescribeDBProxyTargetGroupsInput
7352			if input != nil {
7353				tmp := *input
7354				inCpy = &tmp
7355			}
7356			req, _ := c.DescribeDBProxyTargetGroupsRequest(inCpy)
7357			req.SetContext(ctx)
7358			req.ApplyOptions(opts...)
7359			return req, nil
7360		},
7361	}
7362
7363	for p.Next() {
7364		if !fn(p.Page().(*DescribeDBProxyTargetGroupsOutput), !p.HasNextPage()) {
7365			break
7366		}
7367	}
7368
7369	return p.Err()
7370}
7371
7372const opDescribeDBProxyTargets = "DescribeDBProxyTargets"
7373
7374// DescribeDBProxyTargetsRequest generates a "aws/request.Request" representing the
7375// client's request for the DescribeDBProxyTargets operation. The "output" return
7376// value will be populated with the request's response once the request completes
7377// successfully.
7378//
7379// Use "Send" method on the returned Request to send the API call to the service.
7380// the "output" return value is not valid until after Send returns without error.
7381//
7382// See DescribeDBProxyTargets for more information on using the DescribeDBProxyTargets
7383// API call, and error handling.
7384//
7385// This method is useful when you want to inject custom logic or configuration
7386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7387//
7388//
7389//    // Example sending a request using the DescribeDBProxyTargetsRequest method.
7390//    req, resp := client.DescribeDBProxyTargetsRequest(params)
7391//
7392//    err := req.Send()
7393//    if err == nil { // resp is now filled
7394//        fmt.Println(resp)
7395//    }
7396//
7397// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
7398func (c *RDS) DescribeDBProxyTargetsRequest(input *DescribeDBProxyTargetsInput) (req *request.Request, output *DescribeDBProxyTargetsOutput) {
7399	op := &request.Operation{
7400		Name:       opDescribeDBProxyTargets,
7401		HTTPMethod: "POST",
7402		HTTPPath:   "/",
7403		Paginator: &request.Paginator{
7404			InputTokens:     []string{"Marker"},
7405			OutputTokens:    []string{"Marker"},
7406			LimitToken:      "MaxRecords",
7407			TruncationToken: "",
7408		},
7409	}
7410
7411	if input == nil {
7412		input = &DescribeDBProxyTargetsInput{}
7413	}
7414
7415	output = &DescribeDBProxyTargetsOutput{}
7416	req = c.newRequest(op, input, output)
7417	return
7418}
7419
7420// DescribeDBProxyTargets API operation for Amazon Relational Database Service.
7421//
7422// Returns information about DBProxyTarget objects. This API supports pagination.
7423//
7424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7425// with awserr.Error's Code and Message methods to get detailed information about
7426// the error.
7427//
7428// See the AWS API reference guide for Amazon Relational Database Service's
7429// API operation DescribeDBProxyTargets for usage and error information.
7430//
7431// Returned Error Codes:
7432//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
7433//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
7434//   Web Services account in the specified Amazon Web Services Region.
7435//
7436//   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
7437//   The specified RDS DB instance or Aurora DB cluster isn't available for a
7438//   proxy owned by your Amazon Web Services account in the specified Amazon Web
7439//   Services Region.
7440//
7441//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
7442//   The specified target group isn't available for a proxy owned by your Amazon
7443//   Web Services account in the specified Amazon Web Services Region.
7444//
7445//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
7446//   The requested operation can't be performed while the proxy is in this state.
7447//
7448// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
7449func (c *RDS) DescribeDBProxyTargets(input *DescribeDBProxyTargetsInput) (*DescribeDBProxyTargetsOutput, error) {
7450	req, out := c.DescribeDBProxyTargetsRequest(input)
7451	return out, req.Send()
7452}
7453
7454// DescribeDBProxyTargetsWithContext is the same as DescribeDBProxyTargets with the addition of
7455// the ability to pass a context and additional request options.
7456//
7457// See DescribeDBProxyTargets for details on how to use this API operation.
7458//
7459// The context must be non-nil and will be used for request cancellation. If
7460// the context is nil a panic will occur. In the future the SDK may create
7461// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7462// for more information on using Contexts.
7463func (c *RDS) DescribeDBProxyTargetsWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, opts ...request.Option) (*DescribeDBProxyTargetsOutput, error) {
7464	req, out := c.DescribeDBProxyTargetsRequest(input)
7465	req.SetContext(ctx)
7466	req.ApplyOptions(opts...)
7467	return out, req.Send()
7468}
7469
7470// DescribeDBProxyTargetsPages iterates over the pages of a DescribeDBProxyTargets operation,
7471// calling the "fn" function with the response data for each page. To stop
7472// iterating, return false from the fn function.
7473//
7474// See DescribeDBProxyTargets method for more information on how to use this operation.
7475//
7476// Note: This operation can generate multiple requests to a service.
7477//
7478//    // Example iterating over at most 3 pages of a DescribeDBProxyTargets operation.
7479//    pageNum := 0
7480//    err := client.DescribeDBProxyTargetsPages(params,
7481//        func(page *rds.DescribeDBProxyTargetsOutput, lastPage bool) bool {
7482//            pageNum++
7483//            fmt.Println(page)
7484//            return pageNum <= 3
7485//        })
7486//
7487func (c *RDS) DescribeDBProxyTargetsPages(input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool) error {
7488	return c.DescribeDBProxyTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
7489}
7490
7491// DescribeDBProxyTargetsPagesWithContext same as DescribeDBProxyTargetsPages except
7492// it takes a Context and allows setting request options on the pages.
7493//
7494// The context must be non-nil and will be used for request cancellation. If
7495// the context is nil a panic will occur. In the future the SDK may create
7496// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7497// for more information on using Contexts.
7498func (c *RDS) DescribeDBProxyTargetsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool, opts ...request.Option) error {
7499	p := request.Pagination{
7500		NewRequest: func() (*request.Request, error) {
7501			var inCpy *DescribeDBProxyTargetsInput
7502			if input != nil {
7503				tmp := *input
7504				inCpy = &tmp
7505			}
7506			req, _ := c.DescribeDBProxyTargetsRequest(inCpy)
7507			req.SetContext(ctx)
7508			req.ApplyOptions(opts...)
7509			return req, nil
7510		},
7511	}
7512
7513	for p.Next() {
7514		if !fn(p.Page().(*DescribeDBProxyTargetsOutput), !p.HasNextPage()) {
7515			break
7516		}
7517	}
7518
7519	return p.Err()
7520}
7521
7522const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups"
7523
7524// DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the
7525// client's request for the DescribeDBSecurityGroups operation. The "output" return
7526// value will be populated with the request's response once the request completes
7527// successfully.
7528//
7529// Use "Send" method on the returned Request to send the API call to the service.
7530// the "output" return value is not valid until after Send returns without error.
7531//
7532// See DescribeDBSecurityGroups for more information on using the DescribeDBSecurityGroups
7533// API call, and error handling.
7534//
7535// This method is useful when you want to inject custom logic or configuration
7536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7537//
7538//
7539//    // Example sending a request using the DescribeDBSecurityGroupsRequest method.
7540//    req, resp := client.DescribeDBSecurityGroupsRequest(params)
7541//
7542//    err := req.Send()
7543//    if err == nil { // resp is now filled
7544//        fmt.Println(resp)
7545//    }
7546//
7547// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
7548func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInput) (req *request.Request, output *DescribeDBSecurityGroupsOutput) {
7549	op := &request.Operation{
7550		Name:       opDescribeDBSecurityGroups,
7551		HTTPMethod: "POST",
7552		HTTPPath:   "/",
7553		Paginator: &request.Paginator{
7554			InputTokens:     []string{"Marker"},
7555			OutputTokens:    []string{"Marker"},
7556			LimitToken:      "MaxRecords",
7557			TruncationToken: "",
7558		},
7559	}
7560
7561	if input == nil {
7562		input = &DescribeDBSecurityGroupsInput{}
7563	}
7564
7565	output = &DescribeDBSecurityGroupsOutput{}
7566	req = c.newRequest(op, input, output)
7567	return
7568}
7569
7570// DescribeDBSecurityGroups API operation for Amazon Relational Database Service.
7571//
7572// Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName
7573// is specified, the list will contain only the descriptions of the specified
7574// DB security group.
7575//
7576// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7577// with awserr.Error's Code and Message methods to get detailed information about
7578// the error.
7579//
7580// See the AWS API reference guide for Amazon Relational Database Service's
7581// API operation DescribeDBSecurityGroups for usage and error information.
7582//
7583// Returned Error Codes:
7584//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
7585//   DBSecurityGroupName doesn't refer to an existing DB security group.
7586//
7587// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
7588func (c *RDS) DescribeDBSecurityGroups(input *DescribeDBSecurityGroupsInput) (*DescribeDBSecurityGroupsOutput, error) {
7589	req, out := c.DescribeDBSecurityGroupsRequest(input)
7590	return out, req.Send()
7591}
7592
7593// DescribeDBSecurityGroupsWithContext is the same as DescribeDBSecurityGroups with the addition of
7594// the ability to pass a context and additional request options.
7595//
7596// See DescribeDBSecurityGroups for details on how to use this API operation.
7597//
7598// The context must be non-nil and will be used for request cancellation. If
7599// the context is nil a panic will occur. In the future the SDK may create
7600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7601// for more information on using Contexts.
7602func (c *RDS) DescribeDBSecurityGroupsWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, opts ...request.Option) (*DescribeDBSecurityGroupsOutput, error) {
7603	req, out := c.DescribeDBSecurityGroupsRequest(input)
7604	req.SetContext(ctx)
7605	req.ApplyOptions(opts...)
7606	return out, req.Send()
7607}
7608
7609// DescribeDBSecurityGroupsPages iterates over the pages of a DescribeDBSecurityGroups operation,
7610// calling the "fn" function with the response data for each page. To stop
7611// iterating, return false from the fn function.
7612//
7613// See DescribeDBSecurityGroups method for more information on how to use this operation.
7614//
7615// Note: This operation can generate multiple requests to a service.
7616//
7617//    // Example iterating over at most 3 pages of a DescribeDBSecurityGroups operation.
7618//    pageNum := 0
7619//    err := client.DescribeDBSecurityGroupsPages(params,
7620//        func(page *rds.DescribeDBSecurityGroupsOutput, lastPage bool) bool {
7621//            pageNum++
7622//            fmt.Println(page)
7623//            return pageNum <= 3
7624//        })
7625//
7626func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool) error {
7627	return c.DescribeDBSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
7628}
7629
7630// DescribeDBSecurityGroupsPagesWithContext same as DescribeDBSecurityGroupsPages except
7631// it takes a Context and allows setting request options on the pages.
7632//
7633// The context must be non-nil and will be used for request cancellation. If
7634// the context is nil a panic will occur. In the future the SDK may create
7635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7636// for more information on using Contexts.
7637func (c *RDS) DescribeDBSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
7638	p := request.Pagination{
7639		NewRequest: func() (*request.Request, error) {
7640			var inCpy *DescribeDBSecurityGroupsInput
7641			if input != nil {
7642				tmp := *input
7643				inCpy = &tmp
7644			}
7645			req, _ := c.DescribeDBSecurityGroupsRequest(inCpy)
7646			req.SetContext(ctx)
7647			req.ApplyOptions(opts...)
7648			return req, nil
7649		},
7650	}
7651
7652	for p.Next() {
7653		if !fn(p.Page().(*DescribeDBSecurityGroupsOutput), !p.HasNextPage()) {
7654			break
7655		}
7656	}
7657
7658	return p.Err()
7659}
7660
7661const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes"
7662
7663// DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the
7664// client's request for the DescribeDBSnapshotAttributes operation. The "output" return
7665// value will be populated with the request's response once the request completes
7666// successfully.
7667//
7668// Use "Send" method on the returned Request to send the API call to the service.
7669// the "output" return value is not valid until after Send returns without error.
7670//
7671// See DescribeDBSnapshotAttributes for more information on using the DescribeDBSnapshotAttributes
7672// API call, and error handling.
7673//
7674// This method is useful when you want to inject custom logic or configuration
7675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7676//
7677//
7678//    // Example sending a request using the DescribeDBSnapshotAttributesRequest method.
7679//    req, resp := client.DescribeDBSnapshotAttributesRequest(params)
7680//
7681//    err := req.Send()
7682//    if err == nil { // resp is now filled
7683//        fmt.Println(resp)
7684//    }
7685//
7686// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
7687func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttributesInput) (req *request.Request, output *DescribeDBSnapshotAttributesOutput) {
7688	op := &request.Operation{
7689		Name:       opDescribeDBSnapshotAttributes,
7690		HTTPMethod: "POST",
7691		HTTPPath:   "/",
7692	}
7693
7694	if input == nil {
7695		input = &DescribeDBSnapshotAttributesInput{}
7696	}
7697
7698	output = &DescribeDBSnapshotAttributesOutput{}
7699	req = c.newRequest(op, input, output)
7700	return
7701}
7702
7703// DescribeDBSnapshotAttributes API operation for Amazon Relational Database Service.
7704//
7705// Returns a list of DB snapshot attribute names and values for a manual DB
7706// snapshot.
7707//
7708// When sharing snapshots with other Amazon Web Services accounts, DescribeDBSnapshotAttributes
7709// returns the restore attribute and a list of IDs for the Amazon Web Services
7710// accounts that are authorized to copy or restore the manual DB snapshot. If
7711// all is included in the list of values for the restore attribute, then the
7712// manual DB snapshot is public and can be copied or restored by all Amazon
7713// Web Services accounts.
7714//
7715// To add or remove access for an Amazon Web Services account to copy or restore
7716// a manual DB snapshot, or to make the manual DB snapshot public or private,
7717// use the ModifyDBSnapshotAttribute API action.
7718//
7719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7720// with awserr.Error's Code and Message methods to get detailed information about
7721// the error.
7722//
7723// See the AWS API reference guide for Amazon Relational Database Service's
7724// API operation DescribeDBSnapshotAttributes for usage and error information.
7725//
7726// Returned Error Codes:
7727//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
7728//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
7729//
7730// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
7731func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesInput) (*DescribeDBSnapshotAttributesOutput, error) {
7732	req, out := c.DescribeDBSnapshotAttributesRequest(input)
7733	return out, req.Send()
7734}
7735
7736// DescribeDBSnapshotAttributesWithContext is the same as DescribeDBSnapshotAttributes with the addition of
7737// the ability to pass a context and additional request options.
7738//
7739// See DescribeDBSnapshotAttributes for details on how to use this API operation.
7740//
7741// The context must be non-nil and will be used for request cancellation. If
7742// the context is nil a panic will occur. In the future the SDK may create
7743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7744// for more information on using Contexts.
7745func (c *RDS) DescribeDBSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBSnapshotAttributesInput, opts ...request.Option) (*DescribeDBSnapshotAttributesOutput, error) {
7746	req, out := c.DescribeDBSnapshotAttributesRequest(input)
7747	req.SetContext(ctx)
7748	req.ApplyOptions(opts...)
7749	return out, req.Send()
7750}
7751
7752const opDescribeDBSnapshots = "DescribeDBSnapshots"
7753
7754// DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the
7755// client's request for the DescribeDBSnapshots operation. The "output" return
7756// value will be populated with the request's response once the request completes
7757// successfully.
7758//
7759// Use "Send" method on the returned Request to send the API call to the service.
7760// the "output" return value is not valid until after Send returns without error.
7761//
7762// See DescribeDBSnapshots for more information on using the DescribeDBSnapshots
7763// API call, and error handling.
7764//
7765// This method is useful when you want to inject custom logic or configuration
7766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7767//
7768//
7769//    // Example sending a request using the DescribeDBSnapshotsRequest method.
7770//    req, resp := client.DescribeDBSnapshotsRequest(params)
7771//
7772//    err := req.Send()
7773//    if err == nil { // resp is now filled
7774//        fmt.Println(resp)
7775//    }
7776//
7777// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
7778func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req *request.Request, output *DescribeDBSnapshotsOutput) {
7779	op := &request.Operation{
7780		Name:       opDescribeDBSnapshots,
7781		HTTPMethod: "POST",
7782		HTTPPath:   "/",
7783		Paginator: &request.Paginator{
7784			InputTokens:     []string{"Marker"},
7785			OutputTokens:    []string{"Marker"},
7786			LimitToken:      "MaxRecords",
7787			TruncationToken: "",
7788		},
7789	}
7790
7791	if input == nil {
7792		input = &DescribeDBSnapshotsInput{}
7793	}
7794
7795	output = &DescribeDBSnapshotsOutput{}
7796	req = c.newRequest(op, input, output)
7797	return
7798}
7799
7800// DescribeDBSnapshots API operation for Amazon Relational Database Service.
7801//
7802// Returns information about DB snapshots. This API action supports pagination.
7803//
7804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7805// with awserr.Error's Code and Message methods to get detailed information about
7806// the error.
7807//
7808// See the AWS API reference guide for Amazon Relational Database Service's
7809// API operation DescribeDBSnapshots for usage and error information.
7810//
7811// Returned Error Codes:
7812//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
7813//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
7814//
7815// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
7816func (c *RDS) DescribeDBSnapshots(input *DescribeDBSnapshotsInput) (*DescribeDBSnapshotsOutput, error) {
7817	req, out := c.DescribeDBSnapshotsRequest(input)
7818	return out, req.Send()
7819}
7820
7821// DescribeDBSnapshotsWithContext is the same as DescribeDBSnapshots with the addition of
7822// the ability to pass a context and additional request options.
7823//
7824// See DescribeDBSnapshots for details on how to use this API operation.
7825//
7826// The context must be non-nil and will be used for request cancellation. If
7827// the context is nil a panic will occur. In the future the SDK may create
7828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7829// for more information on using Contexts.
7830func (c *RDS) DescribeDBSnapshotsWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, opts ...request.Option) (*DescribeDBSnapshotsOutput, error) {
7831	req, out := c.DescribeDBSnapshotsRequest(input)
7832	req.SetContext(ctx)
7833	req.ApplyOptions(opts...)
7834	return out, req.Send()
7835}
7836
7837// DescribeDBSnapshotsPages iterates over the pages of a DescribeDBSnapshots operation,
7838// calling the "fn" function with the response data for each page. To stop
7839// iterating, return false from the fn function.
7840//
7841// See DescribeDBSnapshots method for more information on how to use this operation.
7842//
7843// Note: This operation can generate multiple requests to a service.
7844//
7845//    // Example iterating over at most 3 pages of a DescribeDBSnapshots operation.
7846//    pageNum := 0
7847//    err := client.DescribeDBSnapshotsPages(params,
7848//        func(page *rds.DescribeDBSnapshotsOutput, lastPage bool) bool {
7849//            pageNum++
7850//            fmt.Println(page)
7851//            return pageNum <= 3
7852//        })
7853//
7854func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool) error {
7855	return c.DescribeDBSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
7856}
7857
7858// DescribeDBSnapshotsPagesWithContext same as DescribeDBSnapshotsPages except
7859// it takes a Context and allows setting request options on the pages.
7860//
7861// The context must be non-nil and will be used for request cancellation. If
7862// the context is nil a panic will occur. In the future the SDK may create
7863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7864// for more information on using Contexts.
7865func (c *RDS) DescribeDBSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool, opts ...request.Option) error {
7866	p := request.Pagination{
7867		NewRequest: func() (*request.Request, error) {
7868			var inCpy *DescribeDBSnapshotsInput
7869			if input != nil {
7870				tmp := *input
7871				inCpy = &tmp
7872			}
7873			req, _ := c.DescribeDBSnapshotsRequest(inCpy)
7874			req.SetContext(ctx)
7875			req.ApplyOptions(opts...)
7876			return req, nil
7877		},
7878	}
7879
7880	for p.Next() {
7881		if !fn(p.Page().(*DescribeDBSnapshotsOutput), !p.HasNextPage()) {
7882			break
7883		}
7884	}
7885
7886	return p.Err()
7887}
7888
7889const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
7890
7891// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
7892// client's request for the DescribeDBSubnetGroups operation. The "output" return
7893// value will be populated with the request's response once the request completes
7894// successfully.
7895//
7896// Use "Send" method on the returned Request to send the API call to the service.
7897// the "output" return value is not valid until after Send returns without error.
7898//
7899// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
7900// API call, and error handling.
7901//
7902// This method is useful when you want to inject custom logic or configuration
7903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7904//
7905//
7906//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
7907//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
7908//
7909//    err := req.Send()
7910//    if err == nil { // resp is now filled
7911//        fmt.Println(resp)
7912//    }
7913//
7914// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
7915func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
7916	op := &request.Operation{
7917		Name:       opDescribeDBSubnetGroups,
7918		HTTPMethod: "POST",
7919		HTTPPath:   "/",
7920		Paginator: &request.Paginator{
7921			InputTokens:     []string{"Marker"},
7922			OutputTokens:    []string{"Marker"},
7923			LimitToken:      "MaxRecords",
7924			TruncationToken: "",
7925		},
7926	}
7927
7928	if input == nil {
7929		input = &DescribeDBSubnetGroupsInput{}
7930	}
7931
7932	output = &DescribeDBSubnetGroupsOutput{}
7933	req = c.newRequest(op, input, output)
7934	return
7935}
7936
7937// DescribeDBSubnetGroups API operation for Amazon Relational Database Service.
7938//
7939// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
7940// the list will contain only the descriptions of the specified DBSubnetGroup.
7941//
7942// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
7943//
7944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7945// with awserr.Error's Code and Message methods to get detailed information about
7946// the error.
7947//
7948// See the AWS API reference guide for Amazon Relational Database Service's
7949// API operation DescribeDBSubnetGroups for usage and error information.
7950//
7951// Returned Error Codes:
7952//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
7953//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
7954//
7955// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
7956func (c *RDS) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
7957	req, out := c.DescribeDBSubnetGroupsRequest(input)
7958	return out, req.Send()
7959}
7960
7961// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
7962// the ability to pass a context and additional request options.
7963//
7964// See DescribeDBSubnetGroups for details on how to use this API operation.
7965//
7966// The context must be non-nil and will be used for request cancellation. If
7967// the context is nil a panic will occur. In the future the SDK may create
7968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7969// for more information on using Contexts.
7970func (c *RDS) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
7971	req, out := c.DescribeDBSubnetGroupsRequest(input)
7972	req.SetContext(ctx)
7973	req.ApplyOptions(opts...)
7974	return out, req.Send()
7975}
7976
7977// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
7978// calling the "fn" function with the response data for each page. To stop
7979// iterating, return false from the fn function.
7980//
7981// See DescribeDBSubnetGroups method for more information on how to use this operation.
7982//
7983// Note: This operation can generate multiple requests to a service.
7984//
7985//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
7986//    pageNum := 0
7987//    err := client.DescribeDBSubnetGroupsPages(params,
7988//        func(page *rds.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
7989//            pageNum++
7990//            fmt.Println(page)
7991//            return pageNum <= 3
7992//        })
7993//
7994func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
7995	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
7996}
7997
7998// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
7999// it takes a Context and allows setting request options on the pages.
8000//
8001// The context must be non-nil and will be used for request cancellation. If
8002// the context is nil a panic will occur. In the future the SDK may create
8003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8004// for more information on using Contexts.
8005func (c *RDS) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
8006	p := request.Pagination{
8007		NewRequest: func() (*request.Request, error) {
8008			var inCpy *DescribeDBSubnetGroupsInput
8009			if input != nil {
8010				tmp := *input
8011				inCpy = &tmp
8012			}
8013			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
8014			req.SetContext(ctx)
8015			req.ApplyOptions(opts...)
8016			return req, nil
8017		},
8018	}
8019
8020	for p.Next() {
8021		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
8022			break
8023		}
8024	}
8025
8026	return p.Err()
8027}
8028
8029const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
8030
8031// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
8032// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
8033// value will be populated with the request's response once the request completes
8034// successfully.
8035//
8036// Use "Send" method on the returned Request to send the API call to the service.
8037// the "output" return value is not valid until after Send returns without error.
8038//
8039// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
8040// API call, and error handling.
8041//
8042// This method is useful when you want to inject custom logic or configuration
8043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8044//
8045//
8046//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
8047//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
8048//
8049//    err := req.Send()
8050//    if err == nil { // resp is now filled
8051//        fmt.Println(resp)
8052//    }
8053//
8054// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
8055func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
8056	op := &request.Operation{
8057		Name:       opDescribeEngineDefaultClusterParameters,
8058		HTTPMethod: "POST",
8059		HTTPPath:   "/",
8060	}
8061
8062	if input == nil {
8063		input = &DescribeEngineDefaultClusterParametersInput{}
8064	}
8065
8066	output = &DescribeEngineDefaultClusterParametersOutput{}
8067	req = c.newRequest(op, input, output)
8068	return
8069}
8070
8071// DescribeEngineDefaultClusterParameters API operation for Amazon Relational Database Service.
8072//
8073// Returns the default engine and system parameter information for the cluster
8074// database engine.
8075//
8076// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
8077// in the Amazon Aurora User Guide.
8078//
8079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8080// with awserr.Error's Code and Message methods to get detailed information about
8081// the error.
8082//
8083// See the AWS API reference guide for Amazon Relational Database Service's
8084// API operation DescribeEngineDefaultClusterParameters for usage and error information.
8085// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
8086func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
8087	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
8088	return out, req.Send()
8089}
8090
8091// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
8092// the ability to pass a context and additional request options.
8093//
8094// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
8095//
8096// The context must be non-nil and will be used for request cancellation. If
8097// the context is nil a panic will occur. In the future the SDK may create
8098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8099// for more information on using Contexts.
8100func (c *RDS) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
8101	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
8102	req.SetContext(ctx)
8103	req.ApplyOptions(opts...)
8104	return out, req.Send()
8105}
8106
8107const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
8108
8109// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
8110// client's request for the DescribeEngineDefaultParameters operation. The "output" return
8111// value will be populated with the request's response once the request completes
8112// successfully.
8113//
8114// Use "Send" method on the returned Request to send the API call to the service.
8115// the "output" return value is not valid until after Send returns without error.
8116//
8117// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
8118// API call, and error handling.
8119//
8120// This method is useful when you want to inject custom logic or configuration
8121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8122//
8123//
8124//    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
8125//    req, resp := client.DescribeEngineDefaultParametersRequest(params)
8126//
8127//    err := req.Send()
8128//    if err == nil { // resp is now filled
8129//        fmt.Println(resp)
8130//    }
8131//
8132// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
8133func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
8134	op := &request.Operation{
8135		Name:       opDescribeEngineDefaultParameters,
8136		HTTPMethod: "POST",
8137		HTTPPath:   "/",
8138		Paginator: &request.Paginator{
8139			InputTokens:     []string{"Marker"},
8140			OutputTokens:    []string{"EngineDefaults.Marker"},
8141			LimitToken:      "MaxRecords",
8142			TruncationToken: "",
8143		},
8144	}
8145
8146	if input == nil {
8147		input = &DescribeEngineDefaultParametersInput{}
8148	}
8149
8150	output = &DescribeEngineDefaultParametersOutput{}
8151	req = c.newRequest(op, input, output)
8152	return
8153}
8154
8155// DescribeEngineDefaultParameters API operation for Amazon Relational Database Service.
8156//
8157// Returns the default engine and system parameter information for the specified
8158// database engine.
8159//
8160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8161// with awserr.Error's Code and Message methods to get detailed information about
8162// the error.
8163//
8164// See the AWS API reference guide for Amazon Relational Database Service's
8165// API operation DescribeEngineDefaultParameters for usage and error information.
8166// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
8167func (c *RDS) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
8168	req, out := c.DescribeEngineDefaultParametersRequest(input)
8169	return out, req.Send()
8170}
8171
8172// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
8173// the ability to pass a context and additional request options.
8174//
8175// See DescribeEngineDefaultParameters for details on how to use this API operation.
8176//
8177// The context must be non-nil and will be used for request cancellation. If
8178// the context is nil a panic will occur. In the future the SDK may create
8179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8180// for more information on using Contexts.
8181func (c *RDS) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
8182	req, out := c.DescribeEngineDefaultParametersRequest(input)
8183	req.SetContext(ctx)
8184	req.ApplyOptions(opts...)
8185	return out, req.Send()
8186}
8187
8188// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
8189// calling the "fn" function with the response data for each page. To stop
8190// iterating, return false from the fn function.
8191//
8192// See DescribeEngineDefaultParameters method for more information on how to use this operation.
8193//
8194// Note: This operation can generate multiple requests to a service.
8195//
8196//    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
8197//    pageNum := 0
8198//    err := client.DescribeEngineDefaultParametersPages(params,
8199//        func(page *rds.DescribeEngineDefaultParametersOutput, lastPage bool) bool {
8200//            pageNum++
8201//            fmt.Println(page)
8202//            return pageNum <= 3
8203//        })
8204//
8205func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
8206	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
8207}
8208
8209// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
8210// it takes a Context and allows setting request options on the pages.
8211//
8212// The context must be non-nil and will be used for request cancellation. If
8213// the context is nil a panic will occur. In the future the SDK may create
8214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8215// for more information on using Contexts.
8216func (c *RDS) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
8217	p := request.Pagination{
8218		NewRequest: func() (*request.Request, error) {
8219			var inCpy *DescribeEngineDefaultParametersInput
8220			if input != nil {
8221				tmp := *input
8222				inCpy = &tmp
8223			}
8224			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
8225			req.SetContext(ctx)
8226			req.ApplyOptions(opts...)
8227			return req, nil
8228		},
8229	}
8230
8231	for p.Next() {
8232		if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) {
8233			break
8234		}
8235	}
8236
8237	return p.Err()
8238}
8239
8240const opDescribeEventCategories = "DescribeEventCategories"
8241
8242// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
8243// client's request for the DescribeEventCategories operation. The "output" return
8244// value will be populated with the request's response once the request completes
8245// successfully.
8246//
8247// Use "Send" method on the returned Request to send the API call to the service.
8248// the "output" return value is not valid until after Send returns without error.
8249//
8250// See DescribeEventCategories for more information on using the DescribeEventCategories
8251// API call, and error handling.
8252//
8253// This method is useful when you want to inject custom logic or configuration
8254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8255//
8256//
8257//    // Example sending a request using the DescribeEventCategoriesRequest method.
8258//    req, resp := client.DescribeEventCategoriesRequest(params)
8259//
8260//    err := req.Send()
8261//    if err == nil { // resp is now filled
8262//        fmt.Println(resp)
8263//    }
8264//
8265// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
8266func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
8267	op := &request.Operation{
8268		Name:       opDescribeEventCategories,
8269		HTTPMethod: "POST",
8270		HTTPPath:   "/",
8271	}
8272
8273	if input == nil {
8274		input = &DescribeEventCategoriesInput{}
8275	}
8276
8277	output = &DescribeEventCategoriesOutput{}
8278	req = c.newRequest(op, input, output)
8279	return
8280}
8281
8282// DescribeEventCategories API operation for Amazon Relational Database Service.
8283//
8284// Displays a list of categories for all event source types, or, if specified,
8285// for a specified source type. You can see a list of the event categories and
8286// source types in Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
8287// in the Amazon RDS User Guide.
8288//
8289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8290// with awserr.Error's Code and Message methods to get detailed information about
8291// the error.
8292//
8293// See the AWS API reference guide for Amazon Relational Database Service's
8294// API operation DescribeEventCategories for usage and error information.
8295// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
8296func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
8297	req, out := c.DescribeEventCategoriesRequest(input)
8298	return out, req.Send()
8299}
8300
8301// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
8302// the ability to pass a context and additional request options.
8303//
8304// See DescribeEventCategories for details on how to use this API operation.
8305//
8306// The context must be non-nil and will be used for request cancellation. If
8307// the context is nil a panic will occur. In the future the SDK may create
8308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8309// for more information on using Contexts.
8310func (c *RDS) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
8311	req, out := c.DescribeEventCategoriesRequest(input)
8312	req.SetContext(ctx)
8313	req.ApplyOptions(opts...)
8314	return out, req.Send()
8315}
8316
8317const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
8318
8319// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
8320// client's request for the DescribeEventSubscriptions operation. The "output" return
8321// value will be populated with the request's response once the request completes
8322// successfully.
8323//
8324// Use "Send" method on the returned Request to send the API call to the service.
8325// the "output" return value is not valid until after Send returns without error.
8326//
8327// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
8328// API call, and error handling.
8329//
8330// This method is useful when you want to inject custom logic or configuration
8331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8332//
8333//
8334//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
8335//    req, resp := client.DescribeEventSubscriptionsRequest(params)
8336//
8337//    err := req.Send()
8338//    if err == nil { // resp is now filled
8339//        fmt.Println(resp)
8340//    }
8341//
8342// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
8343func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
8344	op := &request.Operation{
8345		Name:       opDescribeEventSubscriptions,
8346		HTTPMethod: "POST",
8347		HTTPPath:   "/",
8348		Paginator: &request.Paginator{
8349			InputTokens:     []string{"Marker"},
8350			OutputTokens:    []string{"Marker"},
8351			LimitToken:      "MaxRecords",
8352			TruncationToken: "",
8353		},
8354	}
8355
8356	if input == nil {
8357		input = &DescribeEventSubscriptionsInput{}
8358	}
8359
8360	output = &DescribeEventSubscriptionsOutput{}
8361	req = c.newRequest(op, input, output)
8362	return
8363}
8364
8365// DescribeEventSubscriptions API operation for Amazon Relational Database Service.
8366//
8367// Lists all the subscription descriptions for a customer account. The description
8368// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
8369// SourceID, CreationTime, and Status.
8370//
8371// If you specify a SubscriptionName, lists the description for that subscription.
8372//
8373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8374// with awserr.Error's Code and Message methods to get detailed information about
8375// the error.
8376//
8377// See the AWS API reference guide for Amazon Relational Database Service's
8378// API operation DescribeEventSubscriptions for usage and error information.
8379//
8380// Returned Error Codes:
8381//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
8382//   The subscription name does not exist.
8383//
8384// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
8385func (c *RDS) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
8386	req, out := c.DescribeEventSubscriptionsRequest(input)
8387	return out, req.Send()
8388}
8389
8390// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
8391// the ability to pass a context and additional request options.
8392//
8393// See DescribeEventSubscriptions for details on how to use this API operation.
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) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
8400	req, out := c.DescribeEventSubscriptionsRequest(input)
8401	req.SetContext(ctx)
8402	req.ApplyOptions(opts...)
8403	return out, req.Send()
8404}
8405
8406// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
8407// calling the "fn" function with the response data for each page. To stop
8408// iterating, return false from the fn function.
8409//
8410// See DescribeEventSubscriptions method for more information on how to use this operation.
8411//
8412// Note: This operation can generate multiple requests to a service.
8413//
8414//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
8415//    pageNum := 0
8416//    err := client.DescribeEventSubscriptionsPages(params,
8417//        func(page *rds.DescribeEventSubscriptionsOutput, lastPage bool) bool {
8418//            pageNum++
8419//            fmt.Println(page)
8420//            return pageNum <= 3
8421//        })
8422//
8423func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
8424	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
8425}
8426
8427// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
8428// it takes a Context and allows setting request options on the pages.
8429//
8430// The context must be non-nil and will be used for request cancellation. If
8431// the context is nil a panic will occur. In the future the SDK may create
8432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8433// for more information on using Contexts.
8434func (c *RDS) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
8435	p := request.Pagination{
8436		NewRequest: func() (*request.Request, error) {
8437			var inCpy *DescribeEventSubscriptionsInput
8438			if input != nil {
8439				tmp := *input
8440				inCpy = &tmp
8441			}
8442			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
8443			req.SetContext(ctx)
8444			req.ApplyOptions(opts...)
8445			return req, nil
8446		},
8447	}
8448
8449	for p.Next() {
8450		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
8451			break
8452		}
8453	}
8454
8455	return p.Err()
8456}
8457
8458const opDescribeEvents = "DescribeEvents"
8459
8460// DescribeEventsRequest generates a "aws/request.Request" representing the
8461// client's request for the DescribeEvents operation. The "output" return
8462// value will be populated with the request's response once the request completes
8463// successfully.
8464//
8465// Use "Send" method on the returned Request to send the API call to the service.
8466// the "output" return value is not valid until after Send returns without error.
8467//
8468// See DescribeEvents for more information on using the DescribeEvents
8469// API call, and error handling.
8470//
8471// This method is useful when you want to inject custom logic or configuration
8472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8473//
8474//
8475//    // Example sending a request using the DescribeEventsRequest method.
8476//    req, resp := client.DescribeEventsRequest(params)
8477//
8478//    err := req.Send()
8479//    if err == nil { // resp is now filled
8480//        fmt.Println(resp)
8481//    }
8482//
8483// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
8484func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
8485	op := &request.Operation{
8486		Name:       opDescribeEvents,
8487		HTTPMethod: "POST",
8488		HTTPPath:   "/",
8489		Paginator: &request.Paginator{
8490			InputTokens:     []string{"Marker"},
8491			OutputTokens:    []string{"Marker"},
8492			LimitToken:      "MaxRecords",
8493			TruncationToken: "",
8494		},
8495	}
8496
8497	if input == nil {
8498		input = &DescribeEventsInput{}
8499	}
8500
8501	output = &DescribeEventsOutput{}
8502	req = c.newRequest(op, input, output)
8503	return
8504}
8505
8506// DescribeEvents API operation for Amazon Relational Database Service.
8507//
8508// Returns events related to DB instances, DB clusters, DB parameter groups,
8509// DB security groups, DB snapshots, and DB cluster snapshots for the past 14
8510// days. Events specific to a particular DB instances, DB clusters, DB parameter
8511// groups, DB security groups, DB snapshots, and DB cluster snapshots group
8512// can be obtained by providing the name as a parameter.
8513//
8514// By default, the past hour of events are returned.
8515//
8516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8517// with awserr.Error's Code and Message methods to get detailed information about
8518// the error.
8519//
8520// See the AWS API reference guide for Amazon Relational Database Service's
8521// API operation DescribeEvents for usage and error information.
8522// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
8523func (c *RDS) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
8524	req, out := c.DescribeEventsRequest(input)
8525	return out, req.Send()
8526}
8527
8528// DescribeEventsWithContext is the same as DescribeEvents with the addition of
8529// the ability to pass a context and additional request options.
8530//
8531// See DescribeEvents for details on how to use this API operation.
8532//
8533// The context must be non-nil and will be used for request cancellation. If
8534// the context is nil a panic will occur. In the future the SDK may create
8535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8536// for more information on using Contexts.
8537func (c *RDS) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
8538	req, out := c.DescribeEventsRequest(input)
8539	req.SetContext(ctx)
8540	req.ApplyOptions(opts...)
8541	return out, req.Send()
8542}
8543
8544// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
8545// calling the "fn" function with the response data for each page. To stop
8546// iterating, return false from the fn function.
8547//
8548// See DescribeEvents method for more information on how to use this operation.
8549//
8550// Note: This operation can generate multiple requests to a service.
8551//
8552//    // Example iterating over at most 3 pages of a DescribeEvents operation.
8553//    pageNum := 0
8554//    err := client.DescribeEventsPages(params,
8555//        func(page *rds.DescribeEventsOutput, lastPage bool) bool {
8556//            pageNum++
8557//            fmt.Println(page)
8558//            return pageNum <= 3
8559//        })
8560//
8561func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
8562	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
8563}
8564
8565// DescribeEventsPagesWithContext same as DescribeEventsPages except
8566// it takes a Context and allows setting request options on the pages.
8567//
8568// The context must be non-nil and will be used for request cancellation. If
8569// the context is nil a panic will occur. In the future the SDK may create
8570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8571// for more information on using Contexts.
8572func (c *RDS) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
8573	p := request.Pagination{
8574		NewRequest: func() (*request.Request, error) {
8575			var inCpy *DescribeEventsInput
8576			if input != nil {
8577				tmp := *input
8578				inCpy = &tmp
8579			}
8580			req, _ := c.DescribeEventsRequest(inCpy)
8581			req.SetContext(ctx)
8582			req.ApplyOptions(opts...)
8583			return req, nil
8584		},
8585	}
8586
8587	for p.Next() {
8588		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
8589			break
8590		}
8591	}
8592
8593	return p.Err()
8594}
8595
8596const opDescribeExportTasks = "DescribeExportTasks"
8597
8598// DescribeExportTasksRequest generates a "aws/request.Request" representing the
8599// client's request for the DescribeExportTasks operation. The "output" return
8600// value will be populated with the request's response once the request completes
8601// successfully.
8602//
8603// Use "Send" method on the returned Request to send the API call to the service.
8604// the "output" return value is not valid until after Send returns without error.
8605//
8606// See DescribeExportTasks for more information on using the DescribeExportTasks
8607// API call, and error handling.
8608//
8609// This method is useful when you want to inject custom logic or configuration
8610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8611//
8612//
8613//    // Example sending a request using the DescribeExportTasksRequest method.
8614//    req, resp := client.DescribeExportTasksRequest(params)
8615//
8616//    err := req.Send()
8617//    if err == nil { // resp is now filled
8618//        fmt.Println(resp)
8619//    }
8620//
8621// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks
8622func (c *RDS) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
8623	op := &request.Operation{
8624		Name:       opDescribeExportTasks,
8625		HTTPMethod: "POST",
8626		HTTPPath:   "/",
8627		Paginator: &request.Paginator{
8628			InputTokens:     []string{"Marker"},
8629			OutputTokens:    []string{"Marker"},
8630			LimitToken:      "MaxRecords",
8631			TruncationToken: "",
8632		},
8633	}
8634
8635	if input == nil {
8636		input = &DescribeExportTasksInput{}
8637	}
8638
8639	output = &DescribeExportTasksOutput{}
8640	req = c.newRequest(op, input, output)
8641	return
8642}
8643
8644// DescribeExportTasks API operation for Amazon Relational Database Service.
8645//
8646// Returns information about a snapshot export to Amazon S3. This API operation
8647// supports pagination.
8648//
8649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8650// with awserr.Error's Code and Message methods to get detailed information about
8651// the error.
8652//
8653// See the AWS API reference guide for Amazon Relational Database Service's
8654// API operation DescribeExportTasks for usage and error information.
8655//
8656// Returned Error Codes:
8657//   * ErrCodeExportTaskNotFoundFault "ExportTaskNotFound"
8658//   The export task doesn't exist.
8659//
8660// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks
8661func (c *RDS) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
8662	req, out := c.DescribeExportTasksRequest(input)
8663	return out, req.Send()
8664}
8665
8666// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
8667// the ability to pass a context and additional request options.
8668//
8669// See DescribeExportTasks for details on how to use this API operation.
8670//
8671// The context must be non-nil and will be used for request cancellation. If
8672// the context is nil a panic will occur. In the future the SDK may create
8673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8674// for more information on using Contexts.
8675func (c *RDS) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
8676	req, out := c.DescribeExportTasksRequest(input)
8677	req.SetContext(ctx)
8678	req.ApplyOptions(opts...)
8679	return out, req.Send()
8680}
8681
8682// DescribeExportTasksPages iterates over the pages of a DescribeExportTasks operation,
8683// calling the "fn" function with the response data for each page. To stop
8684// iterating, return false from the fn function.
8685//
8686// See DescribeExportTasks method for more information on how to use this operation.
8687//
8688// Note: This operation can generate multiple requests to a service.
8689//
8690//    // Example iterating over at most 3 pages of a DescribeExportTasks operation.
8691//    pageNum := 0
8692//    err := client.DescribeExportTasksPages(params,
8693//        func(page *rds.DescribeExportTasksOutput, lastPage bool) bool {
8694//            pageNum++
8695//            fmt.Println(page)
8696//            return pageNum <= 3
8697//        })
8698//
8699func (c *RDS) DescribeExportTasksPages(input *DescribeExportTasksInput, fn func(*DescribeExportTasksOutput, bool) bool) error {
8700	return c.DescribeExportTasksPagesWithContext(aws.BackgroundContext(), input, fn)
8701}
8702
8703// DescribeExportTasksPagesWithContext same as DescribeExportTasksPages except
8704// it takes a Context and allows setting request options on the pages.
8705//
8706// The context must be non-nil and will be used for request cancellation. If
8707// the context is nil a panic will occur. In the future the SDK may create
8708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8709// for more information on using Contexts.
8710func (c *RDS) DescribeExportTasksPagesWithContext(ctx aws.Context, input *DescribeExportTasksInput, fn func(*DescribeExportTasksOutput, bool) bool, opts ...request.Option) error {
8711	p := request.Pagination{
8712		NewRequest: func() (*request.Request, error) {
8713			var inCpy *DescribeExportTasksInput
8714			if input != nil {
8715				tmp := *input
8716				inCpy = &tmp
8717			}
8718			req, _ := c.DescribeExportTasksRequest(inCpy)
8719			req.SetContext(ctx)
8720			req.ApplyOptions(opts...)
8721			return req, nil
8722		},
8723	}
8724
8725	for p.Next() {
8726		if !fn(p.Page().(*DescribeExportTasksOutput), !p.HasNextPage()) {
8727			break
8728		}
8729	}
8730
8731	return p.Err()
8732}
8733
8734const opDescribeGlobalClusters = "DescribeGlobalClusters"
8735
8736// DescribeGlobalClustersRequest generates a "aws/request.Request" representing the
8737// client's request for the DescribeGlobalClusters operation. The "output" return
8738// value will be populated with the request's response once the request completes
8739// successfully.
8740//
8741// Use "Send" method on the returned Request to send the API call to the service.
8742// the "output" return value is not valid until after Send returns without error.
8743//
8744// See DescribeGlobalClusters for more information on using the DescribeGlobalClusters
8745// API call, and error handling.
8746//
8747// This method is useful when you want to inject custom logic or configuration
8748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8749//
8750//
8751//    // Example sending a request using the DescribeGlobalClustersRequest method.
8752//    req, resp := client.DescribeGlobalClustersRequest(params)
8753//
8754//    err := req.Send()
8755//    if err == nil { // resp is now filled
8756//        fmt.Println(resp)
8757//    }
8758//
8759// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
8760func (c *RDS) DescribeGlobalClustersRequest(input *DescribeGlobalClustersInput) (req *request.Request, output *DescribeGlobalClustersOutput) {
8761	op := &request.Operation{
8762		Name:       opDescribeGlobalClusters,
8763		HTTPMethod: "POST",
8764		HTTPPath:   "/",
8765		Paginator: &request.Paginator{
8766			InputTokens:     []string{"Marker"},
8767			OutputTokens:    []string{"Marker"},
8768			LimitToken:      "MaxRecords",
8769			TruncationToken: "",
8770		},
8771	}
8772
8773	if input == nil {
8774		input = &DescribeGlobalClustersInput{}
8775	}
8776
8777	output = &DescribeGlobalClustersOutput{}
8778	req = c.newRequest(op, input, output)
8779	return
8780}
8781
8782// DescribeGlobalClusters API operation for Amazon Relational Database Service.
8783//
8784// Returns information about Aurora global database clusters. This API supports
8785// pagination.
8786//
8787// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
8788// in the Amazon Aurora User Guide.
8789//
8790// This action only applies to Aurora DB clusters.
8791//
8792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8793// with awserr.Error's Code and Message methods to get detailed information about
8794// the error.
8795//
8796// See the AWS API reference guide for Amazon Relational Database Service's
8797// API operation DescribeGlobalClusters for usage and error information.
8798//
8799// Returned Error Codes:
8800//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
8801//   The GlobalClusterIdentifier doesn't refer to an existing global database
8802//   cluster.
8803//
8804// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
8805func (c *RDS) DescribeGlobalClusters(input *DescribeGlobalClustersInput) (*DescribeGlobalClustersOutput, error) {
8806	req, out := c.DescribeGlobalClustersRequest(input)
8807	return out, req.Send()
8808}
8809
8810// DescribeGlobalClustersWithContext is the same as DescribeGlobalClusters with the addition of
8811// the ability to pass a context and additional request options.
8812//
8813// See DescribeGlobalClusters for details on how to use this API operation.
8814//
8815// The context must be non-nil and will be used for request cancellation. If
8816// the context is nil a panic will occur. In the future the SDK may create
8817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8818// for more information on using Contexts.
8819func (c *RDS) DescribeGlobalClustersWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, opts ...request.Option) (*DescribeGlobalClustersOutput, error) {
8820	req, out := c.DescribeGlobalClustersRequest(input)
8821	req.SetContext(ctx)
8822	req.ApplyOptions(opts...)
8823	return out, req.Send()
8824}
8825
8826// DescribeGlobalClustersPages iterates over the pages of a DescribeGlobalClusters operation,
8827// calling the "fn" function with the response data for each page. To stop
8828// iterating, return false from the fn function.
8829//
8830// See DescribeGlobalClusters method for more information on how to use this operation.
8831//
8832// Note: This operation can generate multiple requests to a service.
8833//
8834//    // Example iterating over at most 3 pages of a DescribeGlobalClusters operation.
8835//    pageNum := 0
8836//    err := client.DescribeGlobalClustersPages(params,
8837//        func(page *rds.DescribeGlobalClustersOutput, lastPage bool) bool {
8838//            pageNum++
8839//            fmt.Println(page)
8840//            return pageNum <= 3
8841//        })
8842//
8843func (c *RDS) DescribeGlobalClustersPages(input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool) error {
8844	return c.DescribeGlobalClustersPagesWithContext(aws.BackgroundContext(), input, fn)
8845}
8846
8847// DescribeGlobalClustersPagesWithContext same as DescribeGlobalClustersPages except
8848// it takes a Context and allows setting request options on the pages.
8849//
8850// The context must be non-nil and will be used for request cancellation. If
8851// the context is nil a panic will occur. In the future the SDK may create
8852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8853// for more information on using Contexts.
8854func (c *RDS) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool, opts ...request.Option) error {
8855	p := request.Pagination{
8856		NewRequest: func() (*request.Request, error) {
8857			var inCpy *DescribeGlobalClustersInput
8858			if input != nil {
8859				tmp := *input
8860				inCpy = &tmp
8861			}
8862			req, _ := c.DescribeGlobalClustersRequest(inCpy)
8863			req.SetContext(ctx)
8864			req.ApplyOptions(opts...)
8865			return req, nil
8866		},
8867	}
8868
8869	for p.Next() {
8870		if !fn(p.Page().(*DescribeGlobalClustersOutput), !p.HasNextPage()) {
8871			break
8872		}
8873	}
8874
8875	return p.Err()
8876}
8877
8878const opDescribeInstallationMedia = "DescribeInstallationMedia"
8879
8880// DescribeInstallationMediaRequest generates a "aws/request.Request" representing the
8881// client's request for the DescribeInstallationMedia operation. The "output" return
8882// value will be populated with the request's response once the request completes
8883// successfully.
8884//
8885// Use "Send" method on the returned Request to send the API call to the service.
8886// the "output" return value is not valid until after Send returns without error.
8887//
8888// See DescribeInstallationMedia for more information on using the DescribeInstallationMedia
8889// API call, and error handling.
8890//
8891// This method is useful when you want to inject custom logic or configuration
8892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8893//
8894//
8895//    // Example sending a request using the DescribeInstallationMediaRequest method.
8896//    req, resp := client.DescribeInstallationMediaRequest(params)
8897//
8898//    err := req.Send()
8899//    if err == nil { // resp is now filled
8900//        fmt.Println(resp)
8901//    }
8902//
8903// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
8904func (c *RDS) DescribeInstallationMediaRequest(input *DescribeInstallationMediaInput) (req *request.Request, output *DescribeInstallationMediaOutput) {
8905	op := &request.Operation{
8906		Name:       opDescribeInstallationMedia,
8907		HTTPMethod: "POST",
8908		HTTPPath:   "/",
8909		Paginator: &request.Paginator{
8910			InputTokens:     []string{"Marker"},
8911			OutputTokens:    []string{"Marker"},
8912			LimitToken:      "MaxRecords",
8913			TruncationToken: "",
8914		},
8915	}
8916
8917	if input == nil {
8918		input = &DescribeInstallationMediaInput{}
8919	}
8920
8921	output = &DescribeInstallationMediaOutput{}
8922	req = c.newRequest(op, input, output)
8923	return
8924}
8925
8926// DescribeInstallationMedia API operation for Amazon Relational Database Service.
8927//
8928// Describes the available installation media for a DB engine that requires
8929// an on-premises customer provided license, such as Microsoft SQL Server.
8930//
8931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8932// with awserr.Error's Code and Message methods to get detailed information about
8933// the error.
8934//
8935// See the AWS API reference guide for Amazon Relational Database Service's
8936// API operation DescribeInstallationMedia for usage and error information.
8937//
8938// Returned Error Codes:
8939//   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
8940//   InstallationMediaID doesn't refer to an existing installation medium.
8941//
8942// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
8943func (c *RDS) DescribeInstallationMedia(input *DescribeInstallationMediaInput) (*DescribeInstallationMediaOutput, error) {
8944	req, out := c.DescribeInstallationMediaRequest(input)
8945	return out, req.Send()
8946}
8947
8948// DescribeInstallationMediaWithContext is the same as DescribeInstallationMedia with the addition of
8949// the ability to pass a context and additional request options.
8950//
8951// See DescribeInstallationMedia for details on how to use this API operation.
8952//
8953// The context must be non-nil and will be used for request cancellation. If
8954// the context is nil a panic will occur. In the future the SDK may create
8955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8956// for more information on using Contexts.
8957func (c *RDS) DescribeInstallationMediaWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, opts ...request.Option) (*DescribeInstallationMediaOutput, error) {
8958	req, out := c.DescribeInstallationMediaRequest(input)
8959	req.SetContext(ctx)
8960	req.ApplyOptions(opts...)
8961	return out, req.Send()
8962}
8963
8964// DescribeInstallationMediaPages iterates over the pages of a DescribeInstallationMedia operation,
8965// calling the "fn" function with the response data for each page. To stop
8966// iterating, return false from the fn function.
8967//
8968// See DescribeInstallationMedia method for more information on how to use this operation.
8969//
8970// Note: This operation can generate multiple requests to a service.
8971//
8972//    // Example iterating over at most 3 pages of a DescribeInstallationMedia operation.
8973//    pageNum := 0
8974//    err := client.DescribeInstallationMediaPages(params,
8975//        func(page *rds.DescribeInstallationMediaOutput, lastPage bool) bool {
8976//            pageNum++
8977//            fmt.Println(page)
8978//            return pageNum <= 3
8979//        })
8980//
8981func (c *RDS) DescribeInstallationMediaPages(input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool) error {
8982	return c.DescribeInstallationMediaPagesWithContext(aws.BackgroundContext(), input, fn)
8983}
8984
8985// DescribeInstallationMediaPagesWithContext same as DescribeInstallationMediaPages except
8986// it takes a Context and allows setting request options on the pages.
8987//
8988// The context must be non-nil and will be used for request cancellation. If
8989// the context is nil a panic will occur. In the future the SDK may create
8990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8991// for more information on using Contexts.
8992func (c *RDS) DescribeInstallationMediaPagesWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool, opts ...request.Option) error {
8993	p := request.Pagination{
8994		NewRequest: func() (*request.Request, error) {
8995			var inCpy *DescribeInstallationMediaInput
8996			if input != nil {
8997				tmp := *input
8998				inCpy = &tmp
8999			}
9000			req, _ := c.DescribeInstallationMediaRequest(inCpy)
9001			req.SetContext(ctx)
9002			req.ApplyOptions(opts...)
9003			return req, nil
9004		},
9005	}
9006
9007	for p.Next() {
9008		if !fn(p.Page().(*DescribeInstallationMediaOutput), !p.HasNextPage()) {
9009			break
9010		}
9011	}
9012
9013	return p.Err()
9014}
9015
9016const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions"
9017
9018// DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the
9019// client's request for the DescribeOptionGroupOptions operation. The "output" return
9020// value will be populated with the request's response once the request completes
9021// successfully.
9022//
9023// Use "Send" method on the returned Request to send the API call to the service.
9024// the "output" return value is not valid until after Send returns without error.
9025//
9026// See DescribeOptionGroupOptions for more information on using the DescribeOptionGroupOptions
9027// API call, and error handling.
9028//
9029// This method is useful when you want to inject custom logic or configuration
9030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9031//
9032//
9033//    // Example sending a request using the DescribeOptionGroupOptionsRequest method.
9034//    req, resp := client.DescribeOptionGroupOptionsRequest(params)
9035//
9036//    err := req.Send()
9037//    if err == nil { // resp is now filled
9038//        fmt.Println(resp)
9039//    }
9040//
9041// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
9042func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) {
9043	op := &request.Operation{
9044		Name:       opDescribeOptionGroupOptions,
9045		HTTPMethod: "POST",
9046		HTTPPath:   "/",
9047		Paginator: &request.Paginator{
9048			InputTokens:     []string{"Marker"},
9049			OutputTokens:    []string{"Marker"},
9050			LimitToken:      "MaxRecords",
9051			TruncationToken: "",
9052		},
9053	}
9054
9055	if input == nil {
9056		input = &DescribeOptionGroupOptionsInput{}
9057	}
9058
9059	output = &DescribeOptionGroupOptionsOutput{}
9060	req = c.newRequest(op, input, output)
9061	return
9062}
9063
9064// DescribeOptionGroupOptions API operation for Amazon Relational Database Service.
9065//
9066// Describes all available options.
9067//
9068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9069// with awserr.Error's Code and Message methods to get detailed information about
9070// the error.
9071//
9072// See the AWS API reference guide for Amazon Relational Database Service's
9073// API operation DescribeOptionGroupOptions for usage and error information.
9074// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
9075func (c *RDS) DescribeOptionGroupOptions(input *DescribeOptionGroupOptionsInput) (*DescribeOptionGroupOptionsOutput, error) {
9076	req, out := c.DescribeOptionGroupOptionsRequest(input)
9077	return out, req.Send()
9078}
9079
9080// DescribeOptionGroupOptionsWithContext is the same as DescribeOptionGroupOptions with the addition of
9081// the ability to pass a context and additional request options.
9082//
9083// See DescribeOptionGroupOptions for details on how to use this API operation.
9084//
9085// The context must be non-nil and will be used for request cancellation. If
9086// the context is nil a panic will occur. In the future the SDK may create
9087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9088// for more information on using Contexts.
9089func (c *RDS) DescribeOptionGroupOptionsWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, opts ...request.Option) (*DescribeOptionGroupOptionsOutput, error) {
9090	req, out := c.DescribeOptionGroupOptionsRequest(input)
9091	req.SetContext(ctx)
9092	req.ApplyOptions(opts...)
9093	return out, req.Send()
9094}
9095
9096// DescribeOptionGroupOptionsPages iterates over the pages of a DescribeOptionGroupOptions operation,
9097// calling the "fn" function with the response data for each page. To stop
9098// iterating, return false from the fn function.
9099//
9100// See DescribeOptionGroupOptions method for more information on how to use this operation.
9101//
9102// Note: This operation can generate multiple requests to a service.
9103//
9104//    // Example iterating over at most 3 pages of a DescribeOptionGroupOptions operation.
9105//    pageNum := 0
9106//    err := client.DescribeOptionGroupOptionsPages(params,
9107//        func(page *rds.DescribeOptionGroupOptionsOutput, lastPage bool) bool {
9108//            pageNum++
9109//            fmt.Println(page)
9110//            return pageNum <= 3
9111//        })
9112//
9113func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool) error {
9114	return c.DescribeOptionGroupOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
9115}
9116
9117// DescribeOptionGroupOptionsPagesWithContext same as DescribeOptionGroupOptionsPages except
9118// it takes a Context and allows setting request options on the pages.
9119//
9120// The context must be non-nil and will be used for request cancellation. If
9121// the context is nil a panic will occur. In the future the SDK may create
9122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9123// for more information on using Contexts.
9124func (c *RDS) DescribeOptionGroupOptionsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool, opts ...request.Option) error {
9125	p := request.Pagination{
9126		NewRequest: func() (*request.Request, error) {
9127			var inCpy *DescribeOptionGroupOptionsInput
9128			if input != nil {
9129				tmp := *input
9130				inCpy = &tmp
9131			}
9132			req, _ := c.DescribeOptionGroupOptionsRequest(inCpy)
9133			req.SetContext(ctx)
9134			req.ApplyOptions(opts...)
9135			return req, nil
9136		},
9137	}
9138
9139	for p.Next() {
9140		if !fn(p.Page().(*DescribeOptionGroupOptionsOutput), !p.HasNextPage()) {
9141			break
9142		}
9143	}
9144
9145	return p.Err()
9146}
9147
9148const opDescribeOptionGroups = "DescribeOptionGroups"
9149
9150// DescribeOptionGroupsRequest generates a "aws/request.Request" representing the
9151// client's request for the DescribeOptionGroups operation. The "output" return
9152// value will be populated with the request's response once the request completes
9153// successfully.
9154//
9155// Use "Send" method on the returned Request to send the API call to the service.
9156// the "output" return value is not valid until after Send returns without error.
9157//
9158// See DescribeOptionGroups for more information on using the DescribeOptionGroups
9159// API call, and error handling.
9160//
9161// This method is useful when you want to inject custom logic or configuration
9162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9163//
9164//
9165//    // Example sending a request using the DescribeOptionGroupsRequest method.
9166//    req, resp := client.DescribeOptionGroupsRequest(params)
9167//
9168//    err := req.Send()
9169//    if err == nil { // resp is now filled
9170//        fmt.Println(resp)
9171//    }
9172//
9173// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
9174func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req *request.Request, output *DescribeOptionGroupsOutput) {
9175	op := &request.Operation{
9176		Name:       opDescribeOptionGroups,
9177		HTTPMethod: "POST",
9178		HTTPPath:   "/",
9179		Paginator: &request.Paginator{
9180			InputTokens:     []string{"Marker"},
9181			OutputTokens:    []string{"Marker"},
9182			LimitToken:      "MaxRecords",
9183			TruncationToken: "",
9184		},
9185	}
9186
9187	if input == nil {
9188		input = &DescribeOptionGroupsInput{}
9189	}
9190
9191	output = &DescribeOptionGroupsOutput{}
9192	req = c.newRequest(op, input, output)
9193	return
9194}
9195
9196// DescribeOptionGroups API operation for Amazon Relational Database Service.
9197//
9198// Describes the available option groups.
9199//
9200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9201// with awserr.Error's Code and Message methods to get detailed information about
9202// the error.
9203//
9204// See the AWS API reference guide for Amazon Relational Database Service's
9205// API operation DescribeOptionGroups for usage and error information.
9206//
9207// Returned Error Codes:
9208//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
9209//   The specified option group could not be found.
9210//
9211// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
9212func (c *RDS) DescribeOptionGroups(input *DescribeOptionGroupsInput) (*DescribeOptionGroupsOutput, error) {
9213	req, out := c.DescribeOptionGroupsRequest(input)
9214	return out, req.Send()
9215}
9216
9217// DescribeOptionGroupsWithContext is the same as DescribeOptionGroups with the addition of
9218// the ability to pass a context and additional request options.
9219//
9220// See DescribeOptionGroups for details on how to use this API operation.
9221//
9222// The context must be non-nil and will be used for request cancellation. If
9223// the context is nil a panic will occur. In the future the SDK may create
9224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9225// for more information on using Contexts.
9226func (c *RDS) DescribeOptionGroupsWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, opts ...request.Option) (*DescribeOptionGroupsOutput, error) {
9227	req, out := c.DescribeOptionGroupsRequest(input)
9228	req.SetContext(ctx)
9229	req.ApplyOptions(opts...)
9230	return out, req.Send()
9231}
9232
9233// DescribeOptionGroupsPages iterates over the pages of a DescribeOptionGroups operation,
9234// calling the "fn" function with the response data for each page. To stop
9235// iterating, return false from the fn function.
9236//
9237// See DescribeOptionGroups method for more information on how to use this operation.
9238//
9239// Note: This operation can generate multiple requests to a service.
9240//
9241//    // Example iterating over at most 3 pages of a DescribeOptionGroups operation.
9242//    pageNum := 0
9243//    err := client.DescribeOptionGroupsPages(params,
9244//        func(page *rds.DescribeOptionGroupsOutput, lastPage bool) bool {
9245//            pageNum++
9246//            fmt.Println(page)
9247//            return pageNum <= 3
9248//        })
9249//
9250func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool) error {
9251	return c.DescribeOptionGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
9252}
9253
9254// DescribeOptionGroupsPagesWithContext same as DescribeOptionGroupsPages except
9255// it takes a Context and allows setting request options on the pages.
9256//
9257// The context must be non-nil and will be used for request cancellation. If
9258// the context is nil a panic will occur. In the future the SDK may create
9259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9260// for more information on using Contexts.
9261func (c *RDS) DescribeOptionGroupsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool, opts ...request.Option) error {
9262	p := request.Pagination{
9263		NewRequest: func() (*request.Request, error) {
9264			var inCpy *DescribeOptionGroupsInput
9265			if input != nil {
9266				tmp := *input
9267				inCpy = &tmp
9268			}
9269			req, _ := c.DescribeOptionGroupsRequest(inCpy)
9270			req.SetContext(ctx)
9271			req.ApplyOptions(opts...)
9272			return req, nil
9273		},
9274	}
9275
9276	for p.Next() {
9277		if !fn(p.Page().(*DescribeOptionGroupsOutput), !p.HasNextPage()) {
9278			break
9279		}
9280	}
9281
9282	return p.Err()
9283}
9284
9285const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
9286
9287// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
9288// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
9289// value will be populated with the request's response once the request completes
9290// successfully.
9291//
9292// Use "Send" method on the returned Request to send the API call to the service.
9293// the "output" return value is not valid until after Send returns without error.
9294//
9295// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
9296// API call, and error handling.
9297//
9298// This method is useful when you want to inject custom logic or configuration
9299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9300//
9301//
9302//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
9303//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
9304//
9305//    err := req.Send()
9306//    if err == nil { // resp is now filled
9307//        fmt.Println(resp)
9308//    }
9309//
9310// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
9311func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
9312	op := &request.Operation{
9313		Name:       opDescribeOrderableDBInstanceOptions,
9314		HTTPMethod: "POST",
9315		HTTPPath:   "/",
9316		Paginator: &request.Paginator{
9317			InputTokens:     []string{"Marker"},
9318			OutputTokens:    []string{"Marker"},
9319			LimitToken:      "MaxRecords",
9320			TruncationToken: "",
9321		},
9322	}
9323
9324	if input == nil {
9325		input = &DescribeOrderableDBInstanceOptionsInput{}
9326	}
9327
9328	output = &DescribeOrderableDBInstanceOptionsOutput{}
9329	req = c.newRequest(op, input, output)
9330	return
9331}
9332
9333// DescribeOrderableDBInstanceOptions API operation for Amazon Relational Database Service.
9334//
9335// Returns a list of orderable DB instance options for the specified engine.
9336//
9337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9338// with awserr.Error's Code and Message methods to get detailed information about
9339// the error.
9340//
9341// See the AWS API reference guide for Amazon Relational Database Service's
9342// API operation DescribeOrderableDBInstanceOptions for usage and error information.
9343// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
9344func (c *RDS) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
9345	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
9346	return out, req.Send()
9347}
9348
9349// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
9350// the ability to pass a context and additional request options.
9351//
9352// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
9353//
9354// The context must be non-nil and will be used for request cancellation. If
9355// the context is nil a panic will occur. In the future the SDK may create
9356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9357// for more information on using Contexts.
9358func (c *RDS) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
9359	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
9360	req.SetContext(ctx)
9361	req.ApplyOptions(opts...)
9362	return out, req.Send()
9363}
9364
9365// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
9366// calling the "fn" function with the response data for each page. To stop
9367// iterating, return false from the fn function.
9368//
9369// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
9370//
9371// Note: This operation can generate multiple requests to a service.
9372//
9373//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
9374//    pageNum := 0
9375//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
9376//        func(page *rds.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
9377//            pageNum++
9378//            fmt.Println(page)
9379//            return pageNum <= 3
9380//        })
9381//
9382func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
9383	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
9384}
9385
9386// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
9387// it takes a Context and allows setting request options on the pages.
9388//
9389// The context must be non-nil and will be used for request cancellation. If
9390// the context is nil a panic will occur. In the future the SDK may create
9391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9392// for more information on using Contexts.
9393func (c *RDS) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
9394	p := request.Pagination{
9395		NewRequest: func() (*request.Request, error) {
9396			var inCpy *DescribeOrderableDBInstanceOptionsInput
9397			if input != nil {
9398				tmp := *input
9399				inCpy = &tmp
9400			}
9401			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
9402			req.SetContext(ctx)
9403			req.ApplyOptions(opts...)
9404			return req, nil
9405		},
9406	}
9407
9408	for p.Next() {
9409		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
9410			break
9411		}
9412	}
9413
9414	return p.Err()
9415}
9416
9417const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
9418
9419// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
9420// client's request for the DescribePendingMaintenanceActions operation. The "output" return
9421// value will be populated with the request's response once the request completes
9422// successfully.
9423//
9424// Use "Send" method on the returned Request to send the API call to the service.
9425// the "output" return value is not valid until after Send returns without error.
9426//
9427// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
9428// API call, and error handling.
9429//
9430// This method is useful when you want to inject custom logic or configuration
9431// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9432//
9433//
9434//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
9435//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
9436//
9437//    err := req.Send()
9438//    if err == nil { // resp is now filled
9439//        fmt.Println(resp)
9440//    }
9441//
9442// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
9443func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
9444	op := &request.Operation{
9445		Name:       opDescribePendingMaintenanceActions,
9446		HTTPMethod: "POST",
9447		HTTPPath:   "/",
9448		Paginator: &request.Paginator{
9449			InputTokens:     []string{"Marker"},
9450			OutputTokens:    []string{"Marker"},
9451			LimitToken:      "MaxRecords",
9452			TruncationToken: "",
9453		},
9454	}
9455
9456	if input == nil {
9457		input = &DescribePendingMaintenanceActionsInput{}
9458	}
9459
9460	output = &DescribePendingMaintenanceActionsOutput{}
9461	req = c.newRequest(op, input, output)
9462	return
9463}
9464
9465// DescribePendingMaintenanceActions API operation for Amazon Relational Database Service.
9466//
9467// Returns a list of resources (for example, DB instances) that have at least
9468// one pending maintenance action.
9469//
9470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9471// with awserr.Error's Code and Message methods to get detailed information about
9472// the error.
9473//
9474// See the AWS API reference guide for Amazon Relational Database Service's
9475// API operation DescribePendingMaintenanceActions for usage and error information.
9476//
9477// Returned Error Codes:
9478//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
9479//   The specified resource ID was not found.
9480//
9481// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
9482func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
9483	req, out := c.DescribePendingMaintenanceActionsRequest(input)
9484	return out, req.Send()
9485}
9486
9487// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
9488// the ability to pass a context and additional request options.
9489//
9490// See DescribePendingMaintenanceActions for details on how to use this API operation.
9491//
9492// The context must be non-nil and will be used for request cancellation. If
9493// the context is nil a panic will occur. In the future the SDK may create
9494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9495// for more information on using Contexts.
9496func (c *RDS) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
9497	req, out := c.DescribePendingMaintenanceActionsRequest(input)
9498	req.SetContext(ctx)
9499	req.ApplyOptions(opts...)
9500	return out, req.Send()
9501}
9502
9503// DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation,
9504// calling the "fn" function with the response data for each page. To stop
9505// iterating, return false from the fn function.
9506//
9507// See DescribePendingMaintenanceActions method for more information on how to use this operation.
9508//
9509// Note: This operation can generate multiple requests to a service.
9510//
9511//    // Example iterating over at most 3 pages of a DescribePendingMaintenanceActions operation.
9512//    pageNum := 0
9513//    err := client.DescribePendingMaintenanceActionsPages(params,
9514//        func(page *rds.DescribePendingMaintenanceActionsOutput, lastPage bool) bool {
9515//            pageNum++
9516//            fmt.Println(page)
9517//            return pageNum <= 3
9518//        })
9519//
9520func (c *RDS) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error {
9521	return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
9522}
9523
9524// DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages except
9525// it takes a Context and allows setting request options on the pages.
9526//
9527// The context must be non-nil and will be used for request cancellation. If
9528// the context is nil a panic will occur. In the future the SDK may create
9529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9530// for more information on using Contexts.
9531func (c *RDS) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error {
9532	p := request.Pagination{
9533		NewRequest: func() (*request.Request, error) {
9534			var inCpy *DescribePendingMaintenanceActionsInput
9535			if input != nil {
9536				tmp := *input
9537				inCpy = &tmp
9538			}
9539			req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy)
9540			req.SetContext(ctx)
9541			req.ApplyOptions(opts...)
9542			return req, nil
9543		},
9544	}
9545
9546	for p.Next() {
9547		if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) {
9548			break
9549		}
9550	}
9551
9552	return p.Err()
9553}
9554
9555const opDescribeReservedDBInstances = "DescribeReservedDBInstances"
9556
9557// DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the
9558// client's request for the DescribeReservedDBInstances operation. The "output" return
9559// value will be populated with the request's response once the request completes
9560// successfully.
9561//
9562// Use "Send" method on the returned Request to send the API call to the service.
9563// the "output" return value is not valid until after Send returns without error.
9564//
9565// See DescribeReservedDBInstances for more information on using the DescribeReservedDBInstances
9566// API call, and error handling.
9567//
9568// This method is useful when you want to inject custom logic or configuration
9569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9570//
9571//
9572//    // Example sending a request using the DescribeReservedDBInstancesRequest method.
9573//    req, resp := client.DescribeReservedDBInstancesRequest(params)
9574//
9575//    err := req.Send()
9576//    if err == nil { // resp is now filled
9577//        fmt.Println(resp)
9578//    }
9579//
9580// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
9581func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstancesInput) (req *request.Request, output *DescribeReservedDBInstancesOutput) {
9582	op := &request.Operation{
9583		Name:       opDescribeReservedDBInstances,
9584		HTTPMethod: "POST",
9585		HTTPPath:   "/",
9586		Paginator: &request.Paginator{
9587			InputTokens:     []string{"Marker"},
9588			OutputTokens:    []string{"Marker"},
9589			LimitToken:      "MaxRecords",
9590			TruncationToken: "",
9591		},
9592	}
9593
9594	if input == nil {
9595		input = &DescribeReservedDBInstancesInput{}
9596	}
9597
9598	output = &DescribeReservedDBInstancesOutput{}
9599	req = c.newRequest(op, input, output)
9600	return
9601}
9602
9603// DescribeReservedDBInstances API operation for Amazon Relational Database Service.
9604//
9605// Returns information about reserved DB instances for this account, or about
9606// a specified reserved DB instance.
9607//
9608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9609// with awserr.Error's Code and Message methods to get detailed information about
9610// the error.
9611//
9612// See the AWS API reference guide for Amazon Relational Database Service's
9613// API operation DescribeReservedDBInstances for usage and error information.
9614//
9615// Returned Error Codes:
9616//   * ErrCodeReservedDBInstanceNotFoundFault "ReservedDBInstanceNotFound"
9617//   The specified reserved DB Instance not found.
9618//
9619// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
9620func (c *RDS) DescribeReservedDBInstances(input *DescribeReservedDBInstancesInput) (*DescribeReservedDBInstancesOutput, error) {
9621	req, out := c.DescribeReservedDBInstancesRequest(input)
9622	return out, req.Send()
9623}
9624
9625// DescribeReservedDBInstancesWithContext is the same as DescribeReservedDBInstances with the addition of
9626// the ability to pass a context and additional request options.
9627//
9628// See DescribeReservedDBInstances for details on how to use this API operation.
9629//
9630// The context must be non-nil and will be used for request cancellation. If
9631// the context is nil a panic will occur. In the future the SDK may create
9632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9633// for more information on using Contexts.
9634func (c *RDS) DescribeReservedDBInstancesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, opts ...request.Option) (*DescribeReservedDBInstancesOutput, error) {
9635	req, out := c.DescribeReservedDBInstancesRequest(input)
9636	req.SetContext(ctx)
9637	req.ApplyOptions(opts...)
9638	return out, req.Send()
9639}
9640
9641// DescribeReservedDBInstancesPages iterates over the pages of a DescribeReservedDBInstances operation,
9642// calling the "fn" function with the response data for each page. To stop
9643// iterating, return false from the fn function.
9644//
9645// See DescribeReservedDBInstances method for more information on how to use this operation.
9646//
9647// Note: This operation can generate multiple requests to a service.
9648//
9649//    // Example iterating over at most 3 pages of a DescribeReservedDBInstances operation.
9650//    pageNum := 0
9651//    err := client.DescribeReservedDBInstancesPages(params,
9652//        func(page *rds.DescribeReservedDBInstancesOutput, lastPage bool) bool {
9653//            pageNum++
9654//            fmt.Println(page)
9655//            return pageNum <= 3
9656//        })
9657//
9658func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool) error {
9659	return c.DescribeReservedDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
9660}
9661
9662// DescribeReservedDBInstancesPagesWithContext same as DescribeReservedDBInstancesPages except
9663// it takes a Context and allows setting request options on the pages.
9664//
9665// The context must be non-nil and will be used for request cancellation. If
9666// the context is nil a panic will occur. In the future the SDK may create
9667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9668// for more information on using Contexts.
9669func (c *RDS) DescribeReservedDBInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool, opts ...request.Option) error {
9670	p := request.Pagination{
9671		NewRequest: func() (*request.Request, error) {
9672			var inCpy *DescribeReservedDBInstancesInput
9673			if input != nil {
9674				tmp := *input
9675				inCpy = &tmp
9676			}
9677			req, _ := c.DescribeReservedDBInstancesRequest(inCpy)
9678			req.SetContext(ctx)
9679			req.ApplyOptions(opts...)
9680			return req, nil
9681		},
9682	}
9683
9684	for p.Next() {
9685		if !fn(p.Page().(*DescribeReservedDBInstancesOutput), !p.HasNextPage()) {
9686			break
9687		}
9688	}
9689
9690	return p.Err()
9691}
9692
9693const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOfferings"
9694
9695// DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the
9696// client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return
9697// value will be populated with the request's response once the request completes
9698// successfully.
9699//
9700// Use "Send" method on the returned Request to send the API call to the service.
9701// the "output" return value is not valid until after Send returns without error.
9702//
9703// See DescribeReservedDBInstancesOfferings for more information on using the DescribeReservedDBInstancesOfferings
9704// API call, and error handling.
9705//
9706// This method is useful when you want to inject custom logic or configuration
9707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9708//
9709//
9710//    // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method.
9711//    req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params)
9712//
9713//    err := req.Send()
9714//    if err == nil { // resp is now filled
9715//        fmt.Println(resp)
9716//    }
9717//
9718// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
9719func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReservedDBInstancesOfferingsInput) (req *request.Request, output *DescribeReservedDBInstancesOfferingsOutput) {
9720	op := &request.Operation{
9721		Name:       opDescribeReservedDBInstancesOfferings,
9722		HTTPMethod: "POST",
9723		HTTPPath:   "/",
9724		Paginator: &request.Paginator{
9725			InputTokens:     []string{"Marker"},
9726			OutputTokens:    []string{"Marker"},
9727			LimitToken:      "MaxRecords",
9728			TruncationToken: "",
9729		},
9730	}
9731
9732	if input == nil {
9733		input = &DescribeReservedDBInstancesOfferingsInput{}
9734	}
9735
9736	output = &DescribeReservedDBInstancesOfferingsOutput{}
9737	req = c.newRequest(op, input, output)
9738	return
9739}
9740
9741// DescribeReservedDBInstancesOfferings API operation for Amazon Relational Database Service.
9742//
9743// Lists available reserved DB instance offerings.
9744//
9745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9746// with awserr.Error's Code and Message methods to get detailed information about
9747// the error.
9748//
9749// See the AWS API reference guide for Amazon Relational Database Service's
9750// API operation DescribeReservedDBInstancesOfferings for usage and error information.
9751//
9752// Returned Error Codes:
9753//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
9754//   Specified offering does not exist.
9755//
9756// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
9757func (c *RDS) DescribeReservedDBInstancesOfferings(input *DescribeReservedDBInstancesOfferingsInput) (*DescribeReservedDBInstancesOfferingsOutput, error) {
9758	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
9759	return out, req.Send()
9760}
9761
9762// DescribeReservedDBInstancesOfferingsWithContext is the same as DescribeReservedDBInstancesOfferings with the addition of
9763// the ability to pass a context and additional request options.
9764//
9765// See DescribeReservedDBInstancesOfferings for details on how to use this API operation.
9766//
9767// The context must be non-nil and will be used for request cancellation. If
9768// the context is nil a panic will occur. In the future the SDK may create
9769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9770// for more information on using Contexts.
9771func (c *RDS) DescribeReservedDBInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedDBInstancesOfferingsOutput, error) {
9772	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
9773	req.SetContext(ctx)
9774	req.ApplyOptions(opts...)
9775	return out, req.Send()
9776}
9777
9778// DescribeReservedDBInstancesOfferingsPages iterates over the pages of a DescribeReservedDBInstancesOfferings operation,
9779// calling the "fn" function with the response data for each page. To stop
9780// iterating, return false from the fn function.
9781//
9782// See DescribeReservedDBInstancesOfferings method for more information on how to use this operation.
9783//
9784// Note: This operation can generate multiple requests to a service.
9785//
9786//    // Example iterating over at most 3 pages of a DescribeReservedDBInstancesOfferings operation.
9787//    pageNum := 0
9788//    err := client.DescribeReservedDBInstancesOfferingsPages(params,
9789//        func(page *rds.DescribeReservedDBInstancesOfferingsOutput, lastPage bool) bool {
9790//            pageNum++
9791//            fmt.Println(page)
9792//            return pageNum <= 3
9793//        })
9794//
9795func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool) error {
9796	return c.DescribeReservedDBInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
9797}
9798
9799// DescribeReservedDBInstancesOfferingsPagesWithContext same as DescribeReservedDBInstancesOfferingsPages except
9800// it takes a Context and allows setting request options on the pages.
9801//
9802// The context must be non-nil and will be used for request cancellation. If
9803// the context is nil a panic will occur. In the future the SDK may create
9804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9805// for more information on using Contexts.
9806func (c *RDS) DescribeReservedDBInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
9807	p := request.Pagination{
9808		NewRequest: func() (*request.Request, error) {
9809			var inCpy *DescribeReservedDBInstancesOfferingsInput
9810			if input != nil {
9811				tmp := *input
9812				inCpy = &tmp
9813			}
9814			req, _ := c.DescribeReservedDBInstancesOfferingsRequest(inCpy)
9815			req.SetContext(ctx)
9816			req.ApplyOptions(opts...)
9817			return req, nil
9818		},
9819	}
9820
9821	for p.Next() {
9822		if !fn(p.Page().(*DescribeReservedDBInstancesOfferingsOutput), !p.HasNextPage()) {
9823			break
9824		}
9825	}
9826
9827	return p.Err()
9828}
9829
9830const opDescribeSourceRegions = "DescribeSourceRegions"
9831
9832// DescribeSourceRegionsRequest generates a "aws/request.Request" representing the
9833// client's request for the DescribeSourceRegions operation. The "output" return
9834// value will be populated with the request's response once the request completes
9835// successfully.
9836//
9837// Use "Send" method on the returned Request to send the API call to the service.
9838// the "output" return value is not valid until after Send returns without error.
9839//
9840// See DescribeSourceRegions for more information on using the DescribeSourceRegions
9841// API call, and error handling.
9842//
9843// This method is useful when you want to inject custom logic or configuration
9844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9845//
9846//
9847//    // Example sending a request using the DescribeSourceRegionsRequest method.
9848//    req, resp := client.DescribeSourceRegionsRequest(params)
9849//
9850//    err := req.Send()
9851//    if err == nil { // resp is now filled
9852//        fmt.Println(resp)
9853//    }
9854//
9855// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
9856func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (req *request.Request, output *DescribeSourceRegionsOutput) {
9857	op := &request.Operation{
9858		Name:       opDescribeSourceRegions,
9859		HTTPMethod: "POST",
9860		HTTPPath:   "/",
9861		Paginator: &request.Paginator{
9862			InputTokens:     []string{"Marker"},
9863			OutputTokens:    []string{"Marker"},
9864			LimitToken:      "MaxRecords",
9865			TruncationToken: "",
9866		},
9867	}
9868
9869	if input == nil {
9870		input = &DescribeSourceRegionsInput{}
9871	}
9872
9873	output = &DescribeSourceRegionsOutput{}
9874	req = c.newRequest(op, input, output)
9875	return
9876}
9877
9878// DescribeSourceRegions API operation for Amazon Relational Database Service.
9879//
9880// Returns a list of the source Amazon Web Services Regions where the current
9881// Amazon Web Services Region can create a read replica, copy a DB snapshot
9882// from, or replicate automated backups from. This API action supports pagination.
9883//
9884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9885// with awserr.Error's Code and Message methods to get detailed information about
9886// the error.
9887//
9888// See the AWS API reference guide for Amazon Relational Database Service's
9889// API operation DescribeSourceRegions for usage and error information.
9890// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
9891func (c *RDS) DescribeSourceRegions(input *DescribeSourceRegionsInput) (*DescribeSourceRegionsOutput, error) {
9892	req, out := c.DescribeSourceRegionsRequest(input)
9893	return out, req.Send()
9894}
9895
9896// DescribeSourceRegionsWithContext is the same as DescribeSourceRegions with the addition of
9897// the ability to pass a context and additional request options.
9898//
9899// See DescribeSourceRegions for details on how to use this API operation.
9900//
9901// The context must be non-nil and will be used for request cancellation. If
9902// the context is nil a panic will occur. In the future the SDK may create
9903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9904// for more information on using Contexts.
9905func (c *RDS) DescribeSourceRegionsWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, opts ...request.Option) (*DescribeSourceRegionsOutput, error) {
9906	req, out := c.DescribeSourceRegionsRequest(input)
9907	req.SetContext(ctx)
9908	req.ApplyOptions(opts...)
9909	return out, req.Send()
9910}
9911
9912// DescribeSourceRegionsPages iterates over the pages of a DescribeSourceRegions operation,
9913// calling the "fn" function with the response data for each page. To stop
9914// iterating, return false from the fn function.
9915//
9916// See DescribeSourceRegions method for more information on how to use this operation.
9917//
9918// Note: This operation can generate multiple requests to a service.
9919//
9920//    // Example iterating over at most 3 pages of a DescribeSourceRegions operation.
9921//    pageNum := 0
9922//    err := client.DescribeSourceRegionsPages(params,
9923//        func(page *rds.DescribeSourceRegionsOutput, lastPage bool) bool {
9924//            pageNum++
9925//            fmt.Println(page)
9926//            return pageNum <= 3
9927//        })
9928//
9929func (c *RDS) DescribeSourceRegionsPages(input *DescribeSourceRegionsInput, fn func(*DescribeSourceRegionsOutput, bool) bool) error {
9930	return c.DescribeSourceRegionsPagesWithContext(aws.BackgroundContext(), input, fn)
9931}
9932
9933// DescribeSourceRegionsPagesWithContext same as DescribeSourceRegionsPages except
9934// it takes a Context and allows setting request options on the pages.
9935//
9936// The context must be non-nil and will be used for request cancellation. If
9937// the context is nil a panic will occur. In the future the SDK may create
9938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9939// for more information on using Contexts.
9940func (c *RDS) DescribeSourceRegionsPagesWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, fn func(*DescribeSourceRegionsOutput, bool) bool, opts ...request.Option) error {
9941	p := request.Pagination{
9942		NewRequest: func() (*request.Request, error) {
9943			var inCpy *DescribeSourceRegionsInput
9944			if input != nil {
9945				tmp := *input
9946				inCpy = &tmp
9947			}
9948			req, _ := c.DescribeSourceRegionsRequest(inCpy)
9949			req.SetContext(ctx)
9950			req.ApplyOptions(opts...)
9951			return req, nil
9952		},
9953	}
9954
9955	for p.Next() {
9956		if !fn(p.Page().(*DescribeSourceRegionsOutput), !p.HasNextPage()) {
9957			break
9958		}
9959	}
9960
9961	return p.Err()
9962}
9963
9964const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
9965
9966// DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
9967// client's request for the DescribeValidDBInstanceModifications operation. The "output" return
9968// value will be populated with the request's response once the request completes
9969// successfully.
9970//
9971// Use "Send" method on the returned Request to send the API call to the service.
9972// the "output" return value is not valid until after Send returns without error.
9973//
9974// See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
9975// API call, and error handling.
9976//
9977// This method is useful when you want to inject custom logic or configuration
9978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9979//
9980//
9981//    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
9982//    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
9983//
9984//    err := req.Send()
9985//    if err == nil { // resp is now filled
9986//        fmt.Println(resp)
9987//    }
9988//
9989// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
9990func (c *RDS) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
9991	op := &request.Operation{
9992		Name:       opDescribeValidDBInstanceModifications,
9993		HTTPMethod: "POST",
9994		HTTPPath:   "/",
9995	}
9996
9997	if input == nil {
9998		input = &DescribeValidDBInstanceModificationsInput{}
9999	}
10000
10001	output = &DescribeValidDBInstanceModificationsOutput{}
10002	req = c.newRequest(op, input, output)
10003	return
10004}
10005
10006// DescribeValidDBInstanceModifications API operation for Amazon Relational Database Service.
10007//
10008// You can call DescribeValidDBInstanceModifications to learn what modifications
10009// you can make to your DB instance. You can use this information when you call
10010// ModifyDBInstance.
10011//
10012// This command doesn't apply to RDS Custom.
10013//
10014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10015// with awserr.Error's Code and Message methods to get detailed information about
10016// the error.
10017//
10018// See the AWS API reference guide for Amazon Relational Database Service's
10019// API operation DescribeValidDBInstanceModifications for usage and error information.
10020//
10021// Returned Error Codes:
10022//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
10023//   DBInstanceIdentifier doesn't refer to an existing DB instance.
10024//
10025//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
10026//   The DB instance isn't in a valid state.
10027//
10028// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
10029func (c *RDS) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
10030	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
10031	return out, req.Send()
10032}
10033
10034// DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
10035// the ability to pass a context and additional request options.
10036//
10037// See DescribeValidDBInstanceModifications for details on how to use this API operation.
10038//
10039// The context must be non-nil and will be used for request cancellation. If
10040// the context is nil a panic will occur. In the future the SDK may create
10041// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10042// for more information on using Contexts.
10043func (c *RDS) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
10044	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
10045	req.SetContext(ctx)
10046	req.ApplyOptions(opts...)
10047	return out, req.Send()
10048}
10049
10050const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion"
10051
10052// DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the
10053// client's request for the DownloadDBLogFilePortion operation. The "output" return
10054// value will be populated with the request's response once the request completes
10055// successfully.
10056//
10057// Use "Send" method on the returned Request to send the API call to the service.
10058// the "output" return value is not valid until after Send returns without error.
10059//
10060// See DownloadDBLogFilePortion for more information on using the DownloadDBLogFilePortion
10061// API call, and error handling.
10062//
10063// This method is useful when you want to inject custom logic or configuration
10064// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10065//
10066//
10067//    // Example sending a request using the DownloadDBLogFilePortionRequest method.
10068//    req, resp := client.DownloadDBLogFilePortionRequest(params)
10069//
10070//    err := req.Send()
10071//    if err == nil { // resp is now filled
10072//        fmt.Println(resp)
10073//    }
10074//
10075// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
10076func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInput) (req *request.Request, output *DownloadDBLogFilePortionOutput) {
10077	op := &request.Operation{
10078		Name:       opDownloadDBLogFilePortion,
10079		HTTPMethod: "POST",
10080		HTTPPath:   "/",
10081		Paginator: &request.Paginator{
10082			InputTokens:     []string{"Marker"},
10083			OutputTokens:    []string{"Marker"},
10084			LimitToken:      "NumberOfLines",
10085			TruncationToken: "AdditionalDataPending",
10086		},
10087	}
10088
10089	if input == nil {
10090		input = &DownloadDBLogFilePortionInput{}
10091	}
10092
10093	output = &DownloadDBLogFilePortionOutput{}
10094	req = c.newRequest(op, input, output)
10095	return
10096}
10097
10098// DownloadDBLogFilePortion API operation for Amazon Relational Database Service.
10099//
10100// Downloads all or a portion of the specified log file, up to 1 MB in size.
10101//
10102// This command doesn't apply to RDS Custom.
10103//
10104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10105// with awserr.Error's Code and Message methods to get detailed information about
10106// the error.
10107//
10108// See the AWS API reference guide for Amazon Relational Database Service's
10109// API operation DownloadDBLogFilePortion for usage and error information.
10110//
10111// Returned Error Codes:
10112//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
10113//   DBInstanceIdentifier doesn't refer to an existing DB instance.
10114//
10115//   * ErrCodeDBLogFileNotFoundFault "DBLogFileNotFoundFault"
10116//   LogFileName doesn't refer to an existing DB log file.
10117//
10118// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
10119func (c *RDS) DownloadDBLogFilePortion(input *DownloadDBLogFilePortionInput) (*DownloadDBLogFilePortionOutput, error) {
10120	req, out := c.DownloadDBLogFilePortionRequest(input)
10121	return out, req.Send()
10122}
10123
10124// DownloadDBLogFilePortionWithContext is the same as DownloadDBLogFilePortion with the addition of
10125// the ability to pass a context and additional request options.
10126//
10127// See DownloadDBLogFilePortion for details on how to use this API operation.
10128//
10129// The context must be non-nil and will be used for request cancellation. If
10130// the context is nil a panic will occur. In the future the SDK may create
10131// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10132// for more information on using Contexts.
10133func (c *RDS) DownloadDBLogFilePortionWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, opts ...request.Option) (*DownloadDBLogFilePortionOutput, error) {
10134	req, out := c.DownloadDBLogFilePortionRequest(input)
10135	req.SetContext(ctx)
10136	req.ApplyOptions(opts...)
10137	return out, req.Send()
10138}
10139
10140// DownloadDBLogFilePortionPages iterates over the pages of a DownloadDBLogFilePortion operation,
10141// calling the "fn" function with the response data for each page. To stop
10142// iterating, return false from the fn function.
10143//
10144// See DownloadDBLogFilePortion method for more information on how to use this operation.
10145//
10146// Note: This operation can generate multiple requests to a service.
10147//
10148//    // Example iterating over at most 3 pages of a DownloadDBLogFilePortion operation.
10149//    pageNum := 0
10150//    err := client.DownloadDBLogFilePortionPages(params,
10151//        func(page *rds.DownloadDBLogFilePortionOutput, lastPage bool) bool {
10152//            pageNum++
10153//            fmt.Println(page)
10154//            return pageNum <= 3
10155//        })
10156//
10157func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool) error {
10158	return c.DownloadDBLogFilePortionPagesWithContext(aws.BackgroundContext(), input, fn)
10159}
10160
10161// DownloadDBLogFilePortionPagesWithContext same as DownloadDBLogFilePortionPages except
10162// it takes a Context and allows setting request options on the pages.
10163//
10164// The context must be non-nil and will be used for request cancellation. If
10165// the context is nil a panic will occur. In the future the SDK may create
10166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10167// for more information on using Contexts.
10168func (c *RDS) DownloadDBLogFilePortionPagesWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool, opts ...request.Option) error {
10169	p := request.Pagination{
10170		NewRequest: func() (*request.Request, error) {
10171			var inCpy *DownloadDBLogFilePortionInput
10172			if input != nil {
10173				tmp := *input
10174				inCpy = &tmp
10175			}
10176			req, _ := c.DownloadDBLogFilePortionRequest(inCpy)
10177			req.SetContext(ctx)
10178			req.ApplyOptions(opts...)
10179			return req, nil
10180		},
10181	}
10182
10183	for p.Next() {
10184		if !fn(p.Page().(*DownloadDBLogFilePortionOutput), !p.HasNextPage()) {
10185			break
10186		}
10187	}
10188
10189	return p.Err()
10190}
10191
10192const opFailoverDBCluster = "FailoverDBCluster"
10193
10194// FailoverDBClusterRequest generates a "aws/request.Request" representing the
10195// client's request for the FailoverDBCluster operation. The "output" return
10196// value will be populated with the request's response once the request completes
10197// successfully.
10198//
10199// Use "Send" method on the returned Request to send the API call to the service.
10200// the "output" return value is not valid until after Send returns without error.
10201//
10202// See FailoverDBCluster for more information on using the FailoverDBCluster
10203// API call, and error handling.
10204//
10205// This method is useful when you want to inject custom logic or configuration
10206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10207//
10208//
10209//    // Example sending a request using the FailoverDBClusterRequest method.
10210//    req, resp := client.FailoverDBClusterRequest(params)
10211//
10212//    err := req.Send()
10213//    if err == nil { // resp is now filled
10214//        fmt.Println(resp)
10215//    }
10216//
10217// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
10218func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
10219	op := &request.Operation{
10220		Name:       opFailoverDBCluster,
10221		HTTPMethod: "POST",
10222		HTTPPath:   "/",
10223	}
10224
10225	if input == nil {
10226		input = &FailoverDBClusterInput{}
10227	}
10228
10229	output = &FailoverDBClusterOutput{}
10230	req = c.newRequest(op, input, output)
10231	return
10232}
10233
10234// FailoverDBCluster API operation for Amazon Relational Database Service.
10235//
10236// Forces a failover for a DB cluster.
10237//
10238// A failover for a DB cluster promotes one of the Aurora Replicas (read-only
10239// instances) in the DB cluster to be the primary instance (the cluster writer).
10240//
10241// Amazon Aurora will automatically fail over to an Aurora Replica, if one exists,
10242// when the primary instance fails. You can force a failover when you want to
10243// simulate a failure of a primary instance for testing. Because each instance
10244// in a DB cluster has its own endpoint address, you will need to clean up and
10245// re-establish any existing connections that use those endpoint addresses when
10246// the failover is complete.
10247//
10248// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
10249// in the Amazon Aurora User Guide.
10250//
10251// This action only applies to Aurora DB clusters.
10252//
10253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10254// with awserr.Error's Code and Message methods to get detailed information about
10255// the error.
10256//
10257// See the AWS API reference guide for Amazon Relational Database Service's
10258// API operation FailoverDBCluster for usage and error information.
10259//
10260// Returned Error Codes:
10261//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
10262//   DBClusterIdentifier doesn't refer to an existing DB cluster.
10263//
10264//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10265//   The requested operation can't be performed while the cluster is in this state.
10266//
10267//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
10268//   The DB instance isn't in a valid state.
10269//
10270// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
10271func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
10272	req, out := c.FailoverDBClusterRequest(input)
10273	return out, req.Send()
10274}
10275
10276// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
10277// the ability to pass a context and additional request options.
10278//
10279// See FailoverDBCluster for details on how to use this API operation.
10280//
10281// The context must be non-nil and will be used for request cancellation. If
10282// the context is nil a panic will occur. In the future the SDK may create
10283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10284// for more information on using Contexts.
10285func (c *RDS) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
10286	req, out := c.FailoverDBClusterRequest(input)
10287	req.SetContext(ctx)
10288	req.ApplyOptions(opts...)
10289	return out, req.Send()
10290}
10291
10292const opFailoverGlobalCluster = "FailoverGlobalCluster"
10293
10294// FailoverGlobalClusterRequest generates a "aws/request.Request" representing the
10295// client's request for the FailoverGlobalCluster operation. The "output" return
10296// value will be populated with the request's response once the request completes
10297// successfully.
10298//
10299// Use "Send" method on the returned Request to send the API call to the service.
10300// the "output" return value is not valid until after Send returns without error.
10301//
10302// See FailoverGlobalCluster for more information on using the FailoverGlobalCluster
10303// API call, and error handling.
10304//
10305// This method is useful when you want to inject custom logic or configuration
10306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10307//
10308//
10309//    // Example sending a request using the FailoverGlobalClusterRequest method.
10310//    req, resp := client.FailoverGlobalClusterRequest(params)
10311//
10312//    err := req.Send()
10313//    if err == nil { // resp is now filled
10314//        fmt.Println(resp)
10315//    }
10316//
10317// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverGlobalCluster
10318func (c *RDS) FailoverGlobalClusterRequest(input *FailoverGlobalClusterInput) (req *request.Request, output *FailoverGlobalClusterOutput) {
10319	op := &request.Operation{
10320		Name:       opFailoverGlobalCluster,
10321		HTTPMethod: "POST",
10322		HTTPPath:   "/",
10323	}
10324
10325	if input == nil {
10326		input = &FailoverGlobalClusterInput{}
10327	}
10328
10329	output = &FailoverGlobalClusterOutput{}
10330	req = c.newRequest(op, input, output)
10331	return
10332}
10333
10334// FailoverGlobalCluster API operation for Amazon Relational Database Service.
10335//
10336// Initiates the failover process for an Aurora global database (GlobalCluster).
10337//
10338// A failover for an Aurora global database promotes one of secondary read-only
10339// DB clusters to be the primary DB cluster and demotes the primary DB cluster
10340// to being a secondary (read-only) DB cluster. In other words, the role of
10341// the current primary DB cluster and the selected (target) DB cluster are switched.
10342// The selected secondary DB cluster assumes full read/write capabilities for
10343// the Aurora global database.
10344//
10345// For more information about failing over an Amazon Aurora global database,
10346// see Managed planned failover for Amazon Aurora global databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-disaster-recovery.managed-failover)
10347// in the Amazon Aurora User Guide.
10348//
10349// This action applies to GlobalCluster (Aurora global databases) only. Use
10350// this action only on healthy Aurora global databases with running Aurora DB
10351// clusters and no Region-wide outages, to test disaster recovery scenarios
10352// or to reconfigure your Aurora global database topology.
10353//
10354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10355// with awserr.Error's Code and Message methods to get detailed information about
10356// the error.
10357//
10358// See the AWS API reference guide for Amazon Relational Database Service's
10359// API operation FailoverGlobalCluster for usage and error information.
10360//
10361// Returned Error Codes:
10362//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
10363//   The GlobalClusterIdentifier doesn't refer to an existing global database
10364//   cluster.
10365//
10366//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
10367//   The global cluster is in an invalid state and can't perform the requested
10368//   operation.
10369//
10370//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10371//   The requested operation can't be performed while the cluster is in this state.
10372//
10373//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
10374//   DBClusterIdentifier doesn't refer to an existing DB cluster.
10375//
10376// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverGlobalCluster
10377func (c *RDS) FailoverGlobalCluster(input *FailoverGlobalClusterInput) (*FailoverGlobalClusterOutput, error) {
10378	req, out := c.FailoverGlobalClusterRequest(input)
10379	return out, req.Send()
10380}
10381
10382// FailoverGlobalClusterWithContext is the same as FailoverGlobalCluster with the addition of
10383// the ability to pass a context and additional request options.
10384//
10385// See FailoverGlobalCluster for details on how to use this API operation.
10386//
10387// The context must be non-nil and will be used for request cancellation. If
10388// the context is nil a panic will occur. In the future the SDK may create
10389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10390// for more information on using Contexts.
10391func (c *RDS) FailoverGlobalClusterWithContext(ctx aws.Context, input *FailoverGlobalClusterInput, opts ...request.Option) (*FailoverGlobalClusterOutput, error) {
10392	req, out := c.FailoverGlobalClusterRequest(input)
10393	req.SetContext(ctx)
10394	req.ApplyOptions(opts...)
10395	return out, req.Send()
10396}
10397
10398const opImportInstallationMedia = "ImportInstallationMedia"
10399
10400// ImportInstallationMediaRequest generates a "aws/request.Request" representing the
10401// client's request for the ImportInstallationMedia operation. The "output" return
10402// value will be populated with the request's response once the request completes
10403// successfully.
10404//
10405// Use "Send" method on the returned Request to send the API call to the service.
10406// the "output" return value is not valid until after Send returns without error.
10407//
10408// See ImportInstallationMedia for more information on using the ImportInstallationMedia
10409// API call, and error handling.
10410//
10411// This method is useful when you want to inject custom logic or configuration
10412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10413//
10414//
10415//    // Example sending a request using the ImportInstallationMediaRequest method.
10416//    req, resp := client.ImportInstallationMediaRequest(params)
10417//
10418//    err := req.Send()
10419//    if err == nil { // resp is now filled
10420//        fmt.Println(resp)
10421//    }
10422//
10423// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
10424func (c *RDS) ImportInstallationMediaRequest(input *ImportInstallationMediaInput) (req *request.Request, output *ImportInstallationMediaOutput) {
10425	op := &request.Operation{
10426		Name:       opImportInstallationMedia,
10427		HTTPMethod: "POST",
10428		HTTPPath:   "/",
10429	}
10430
10431	if input == nil {
10432		input = &ImportInstallationMediaInput{}
10433	}
10434
10435	output = &ImportInstallationMediaOutput{}
10436	req = c.newRequest(op, input, output)
10437	return
10438}
10439
10440// ImportInstallationMedia API operation for Amazon Relational Database Service.
10441//
10442// Imports the installation media for a DB engine that requires an on-premises
10443// customer provided license, such as SQL Server.
10444//
10445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10446// with awserr.Error's Code and Message methods to get detailed information about
10447// the error.
10448//
10449// See the AWS API reference guide for Amazon Relational Database Service's
10450// API operation ImportInstallationMedia for usage and error information.
10451//
10452// Returned Error Codes:
10453//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
10454//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
10455//   Zone identifier.
10456//
10457//   * ErrCodeInstallationMediaAlreadyExistsFault "InstallationMediaAlreadyExists"
10458//   The specified installation medium has already been imported.
10459//
10460// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
10461func (c *RDS) ImportInstallationMedia(input *ImportInstallationMediaInput) (*ImportInstallationMediaOutput, error) {
10462	req, out := c.ImportInstallationMediaRequest(input)
10463	return out, req.Send()
10464}
10465
10466// ImportInstallationMediaWithContext is the same as ImportInstallationMedia with the addition of
10467// the ability to pass a context and additional request options.
10468//
10469// See ImportInstallationMedia for details on how to use this API operation.
10470//
10471// The context must be non-nil and will be used for request cancellation. If
10472// the context is nil a panic will occur. In the future the SDK may create
10473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10474// for more information on using Contexts.
10475func (c *RDS) ImportInstallationMediaWithContext(ctx aws.Context, input *ImportInstallationMediaInput, opts ...request.Option) (*ImportInstallationMediaOutput, error) {
10476	req, out := c.ImportInstallationMediaRequest(input)
10477	req.SetContext(ctx)
10478	req.ApplyOptions(opts...)
10479	return out, req.Send()
10480}
10481
10482const opListTagsForResource = "ListTagsForResource"
10483
10484// ListTagsForResourceRequest generates a "aws/request.Request" representing the
10485// client's request for the ListTagsForResource operation. The "output" return
10486// value will be populated with the request's response once the request completes
10487// successfully.
10488//
10489// Use "Send" method on the returned Request to send the API call to the service.
10490// the "output" return value is not valid until after Send returns without error.
10491//
10492// See ListTagsForResource for more information on using the ListTagsForResource
10493// API call, and error handling.
10494//
10495// This method is useful when you want to inject custom logic or configuration
10496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10497//
10498//
10499//    // Example sending a request using the ListTagsForResourceRequest method.
10500//    req, resp := client.ListTagsForResourceRequest(params)
10501//
10502//    err := req.Send()
10503//    if err == nil { // resp is now filled
10504//        fmt.Println(resp)
10505//    }
10506//
10507// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
10508func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
10509	op := &request.Operation{
10510		Name:       opListTagsForResource,
10511		HTTPMethod: "POST",
10512		HTTPPath:   "/",
10513	}
10514
10515	if input == nil {
10516		input = &ListTagsForResourceInput{}
10517	}
10518
10519	output = &ListTagsForResourceOutput{}
10520	req = c.newRequest(op, input, output)
10521	return
10522}
10523
10524// ListTagsForResource API operation for Amazon Relational Database Service.
10525//
10526// Lists all tags on an Amazon RDS resource.
10527//
10528// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
10529// Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
10530// in the Amazon RDS User Guide.
10531//
10532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10533// with awserr.Error's Code and Message methods to get detailed information about
10534// the error.
10535//
10536// See the AWS API reference guide for Amazon Relational Database Service's
10537// API operation ListTagsForResource for usage and error information.
10538//
10539// Returned Error Codes:
10540//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
10541//   DBInstanceIdentifier doesn't refer to an existing DB instance.
10542//
10543//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
10544//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
10545//
10546//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
10547//   DBClusterIdentifier doesn't refer to an existing DB cluster.
10548//
10549//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
10550//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
10551//   Web Services account in the specified Amazon Web Services Region.
10552//
10553//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
10554//   The specified target group isn't available for a proxy owned by your Amazon
10555//   Web Services account in the specified Amazon Web Services Region.
10556//
10557// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
10558func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
10559	req, out := c.ListTagsForResourceRequest(input)
10560	return out, req.Send()
10561}
10562
10563// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
10564// the ability to pass a context and additional request options.
10565//
10566// See ListTagsForResource for details on how to use this API operation.
10567//
10568// The context must be non-nil and will be used for request cancellation. If
10569// the context is nil a panic will occur. In the future the SDK may create
10570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10571// for more information on using Contexts.
10572func (c *RDS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
10573	req, out := c.ListTagsForResourceRequest(input)
10574	req.SetContext(ctx)
10575	req.ApplyOptions(opts...)
10576	return out, req.Send()
10577}
10578
10579const opModifyCertificates = "ModifyCertificates"
10580
10581// ModifyCertificatesRequest generates a "aws/request.Request" representing the
10582// client's request for the ModifyCertificates operation. The "output" return
10583// value will be populated with the request's response once the request completes
10584// successfully.
10585//
10586// Use "Send" method on the returned Request to send the API call to the service.
10587// the "output" return value is not valid until after Send returns without error.
10588//
10589// See ModifyCertificates for more information on using the ModifyCertificates
10590// API call, and error handling.
10591//
10592// This method is useful when you want to inject custom logic or configuration
10593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10594//
10595//
10596//    // Example sending a request using the ModifyCertificatesRequest method.
10597//    req, resp := client.ModifyCertificatesRequest(params)
10598//
10599//    err := req.Send()
10600//    if err == nil { // resp is now filled
10601//        fmt.Println(resp)
10602//    }
10603//
10604// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates
10605func (c *RDS) ModifyCertificatesRequest(input *ModifyCertificatesInput) (req *request.Request, output *ModifyCertificatesOutput) {
10606	op := &request.Operation{
10607		Name:       opModifyCertificates,
10608		HTTPMethod: "POST",
10609		HTTPPath:   "/",
10610	}
10611
10612	if input == nil {
10613		input = &ModifyCertificatesInput{}
10614	}
10615
10616	output = &ModifyCertificatesOutput{}
10617	req = c.newRequest(op, input, output)
10618	return
10619}
10620
10621// ModifyCertificates API operation for Amazon Relational Database Service.
10622//
10623// Override the system-default Secure Sockets Layer/Transport Layer Security
10624// (SSL/TLS) certificate for Amazon RDS for new DB instances temporarily, or
10625// remove the override.
10626//
10627// By using this operation, you can specify an RDS-approved SSL/TLS certificate
10628// for new DB instances that is different from the default certificate provided
10629// by RDS. You can also use this operation to remove the override, so that new
10630// DB instances use the default certificate provided by RDS.
10631//
10632// You might need to override the default certificate in the following situations:
10633//
10634//    * You already migrated your applications to support the latest certificate
10635//    authority (CA) certificate, but the new CA certificate is not yet the
10636//    RDS default CA certificate for the specified Amazon Web Services Region.
10637//
10638//    * RDS has already moved to a new default CA certificate for the specified
10639//    Amazon Web Services Region, but you are still in the process of supporting
10640//    the new CA certificate. In this case, you temporarily need additional
10641//    time to finish your application changes.
10642//
10643// For more information about rotating your SSL/TLS certificate for RDS DB engines,
10644// see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
10645// in the Amazon RDS User Guide.
10646//
10647// For more information about rotating your SSL/TLS certificate for Aurora DB
10648// engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
10649// in the Amazon Aurora User Guide.
10650//
10651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10652// with awserr.Error's Code and Message methods to get detailed information about
10653// the error.
10654//
10655// See the AWS API reference guide for Amazon Relational Database Service's
10656// API operation ModifyCertificates for usage and error information.
10657//
10658// Returned Error Codes:
10659//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
10660//   CertificateIdentifier doesn't refer to an existing certificate.
10661//
10662// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates
10663func (c *RDS) ModifyCertificates(input *ModifyCertificatesInput) (*ModifyCertificatesOutput, error) {
10664	req, out := c.ModifyCertificatesRequest(input)
10665	return out, req.Send()
10666}
10667
10668// ModifyCertificatesWithContext is the same as ModifyCertificates with the addition of
10669// the ability to pass a context and additional request options.
10670//
10671// See ModifyCertificates for details on how to use this API operation.
10672//
10673// The context must be non-nil and will be used for request cancellation. If
10674// the context is nil a panic will occur. In the future the SDK may create
10675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10676// for more information on using Contexts.
10677func (c *RDS) ModifyCertificatesWithContext(ctx aws.Context, input *ModifyCertificatesInput, opts ...request.Option) (*ModifyCertificatesOutput, error) {
10678	req, out := c.ModifyCertificatesRequest(input)
10679	req.SetContext(ctx)
10680	req.ApplyOptions(opts...)
10681	return out, req.Send()
10682}
10683
10684const opModifyCurrentDBClusterCapacity = "ModifyCurrentDBClusterCapacity"
10685
10686// ModifyCurrentDBClusterCapacityRequest generates a "aws/request.Request" representing the
10687// client's request for the ModifyCurrentDBClusterCapacity operation. The "output" return
10688// value will be populated with the request's response once the request completes
10689// successfully.
10690//
10691// Use "Send" method on the returned Request to send the API call to the service.
10692// the "output" return value is not valid until after Send returns without error.
10693//
10694// See ModifyCurrentDBClusterCapacity for more information on using the ModifyCurrentDBClusterCapacity
10695// API call, and error handling.
10696//
10697// This method is useful when you want to inject custom logic or configuration
10698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10699//
10700//
10701//    // Example sending a request using the ModifyCurrentDBClusterCapacityRequest method.
10702//    req, resp := client.ModifyCurrentDBClusterCapacityRequest(params)
10703//
10704//    err := req.Send()
10705//    if err == nil { // resp is now filled
10706//        fmt.Println(resp)
10707//    }
10708//
10709// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
10710func (c *RDS) ModifyCurrentDBClusterCapacityRequest(input *ModifyCurrentDBClusterCapacityInput) (req *request.Request, output *ModifyCurrentDBClusterCapacityOutput) {
10711	op := &request.Operation{
10712		Name:       opModifyCurrentDBClusterCapacity,
10713		HTTPMethod: "POST",
10714		HTTPPath:   "/",
10715	}
10716
10717	if input == nil {
10718		input = &ModifyCurrentDBClusterCapacityInput{}
10719	}
10720
10721	output = &ModifyCurrentDBClusterCapacityOutput{}
10722	req = c.newRequest(op, input, output)
10723	return
10724}
10725
10726// ModifyCurrentDBClusterCapacity API operation for Amazon Relational Database Service.
10727//
10728// Set the capacity of an Aurora Serverless DB cluster to a specific value.
10729//
10730// Aurora Serverless scales seamlessly based on the workload on the DB cluster.
10731// In some cases, the capacity might not scale fast enough to meet a sudden
10732// change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity
10733// to set the capacity explicitly.
10734//
10735// After this call sets the DB cluster capacity, Aurora Serverless can automatically
10736// scale the DB cluster based on the cooldown period for scaling up and the
10737// cooldown period for scaling down.
10738//
10739// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
10740// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
10741// in the Amazon Aurora User Guide.
10742//
10743// If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction,
10744// connections that prevent Aurora Serverless from finding a scaling point might
10745// be dropped. For more information about scaling points, see Autoscaling for
10746// Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling)
10747// in the Amazon Aurora User Guide.
10748//
10749// This action only applies to Aurora Serverless DB clusters.
10750//
10751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10752// with awserr.Error's Code and Message methods to get detailed information about
10753// the error.
10754//
10755// See the AWS API reference guide for Amazon Relational Database Service's
10756// API operation ModifyCurrentDBClusterCapacity for usage and error information.
10757//
10758// Returned Error Codes:
10759//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
10760//   DBClusterIdentifier doesn't refer to an existing DB cluster.
10761//
10762//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10763//   The requested operation can't be performed while the cluster is in this state.
10764//
10765//   * ErrCodeInvalidDBClusterCapacityFault "InvalidDBClusterCapacityFault"
10766//   Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity
10767//   values are 2, 4, 8, 16, 32, 64, 128, and 256.
10768//
10769// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
10770func (c *RDS) ModifyCurrentDBClusterCapacity(input *ModifyCurrentDBClusterCapacityInput) (*ModifyCurrentDBClusterCapacityOutput, error) {
10771	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
10772	return out, req.Send()
10773}
10774
10775// ModifyCurrentDBClusterCapacityWithContext is the same as ModifyCurrentDBClusterCapacity with the addition of
10776// the ability to pass a context and additional request options.
10777//
10778// See ModifyCurrentDBClusterCapacity for details on how to use this API operation.
10779//
10780// The context must be non-nil and will be used for request cancellation. If
10781// the context is nil a panic will occur. In the future the SDK may create
10782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10783// for more information on using Contexts.
10784func (c *RDS) ModifyCurrentDBClusterCapacityWithContext(ctx aws.Context, input *ModifyCurrentDBClusterCapacityInput, opts ...request.Option) (*ModifyCurrentDBClusterCapacityOutput, error) {
10785	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
10786	req.SetContext(ctx)
10787	req.ApplyOptions(opts...)
10788	return out, req.Send()
10789}
10790
10791const opModifyCustomDBEngineVersion = "ModifyCustomDBEngineVersion"
10792
10793// ModifyCustomDBEngineVersionRequest generates a "aws/request.Request" representing the
10794// client's request for the ModifyCustomDBEngineVersion operation. The "output" return
10795// value will be populated with the request's response once the request completes
10796// successfully.
10797//
10798// Use "Send" method on the returned Request to send the API call to the service.
10799// the "output" return value is not valid until after Send returns without error.
10800//
10801// See ModifyCustomDBEngineVersion for more information on using the ModifyCustomDBEngineVersion
10802// API call, and error handling.
10803//
10804// This method is useful when you want to inject custom logic or configuration
10805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10806//
10807//
10808//    // Example sending a request using the ModifyCustomDBEngineVersionRequest method.
10809//    req, resp := client.ModifyCustomDBEngineVersionRequest(params)
10810//
10811//    err := req.Send()
10812//    if err == nil { // resp is now filled
10813//        fmt.Println(resp)
10814//    }
10815//
10816// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCustomDBEngineVersion
10817func (c *RDS) ModifyCustomDBEngineVersionRequest(input *ModifyCustomDBEngineVersionInput) (req *request.Request, output *ModifyCustomDBEngineVersionOutput) {
10818	op := &request.Operation{
10819		Name:       opModifyCustomDBEngineVersion,
10820		HTTPMethod: "POST",
10821		HTTPPath:   "/",
10822	}
10823
10824	if input == nil {
10825		input = &ModifyCustomDBEngineVersionInput{}
10826	}
10827
10828	output = &ModifyCustomDBEngineVersionOutput{}
10829	req = c.newRequest(op, input, output)
10830	return
10831}
10832
10833// ModifyCustomDBEngineVersion API operation for Amazon Relational Database Service.
10834//
10835// Modifies the status of a custom engine version (CEV). You can find CEVs to
10836// modify by calling DescribeDBEngineVersions.
10837//
10838// The MediaImport service that imports files from Amazon S3 to create CEVs
10839// isn't integrated with Amazon Web Services CloudTrail. If you turn on data
10840// logging for Amazon RDS in CloudTrail, calls to the ModifyCustomDbEngineVersion
10841// event aren't logged. However, you might see calls from the API gateway that
10842// accesses your Amazon S3 bucket. These calls originate from the MediaImport
10843// service for the ModifyCustomDbEngineVersion event.
10844//
10845// For more information, see Modifying CEV status (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest)
10846// in the Amazon RDS User Guide.
10847//
10848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10849// with awserr.Error's Code and Message methods to get detailed information about
10850// the error.
10851//
10852// See the AWS API reference guide for Amazon Relational Database Service's
10853// API operation ModifyCustomDBEngineVersion for usage and error information.
10854//
10855// Returned Error Codes:
10856//   * ErrCodeCustomDBEngineVersionNotFoundFault "CustomDBEngineVersionNotFoundFault"
10857//   The specified CEV was not found.
10858//
10859//   * ErrCodeInvalidCustomDBEngineVersionStateFault "InvalidCustomDBEngineVersionStateFault"
10860//   You can't delete the CEV.
10861//
10862// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCustomDBEngineVersion
10863func (c *RDS) ModifyCustomDBEngineVersion(input *ModifyCustomDBEngineVersionInput) (*ModifyCustomDBEngineVersionOutput, error) {
10864	req, out := c.ModifyCustomDBEngineVersionRequest(input)
10865	return out, req.Send()
10866}
10867
10868// ModifyCustomDBEngineVersionWithContext is the same as ModifyCustomDBEngineVersion with the addition of
10869// the ability to pass a context and additional request options.
10870//
10871// See ModifyCustomDBEngineVersion for details on how to use this API operation.
10872//
10873// The context must be non-nil and will be used for request cancellation. If
10874// the context is nil a panic will occur. In the future the SDK may create
10875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10876// for more information on using Contexts.
10877func (c *RDS) ModifyCustomDBEngineVersionWithContext(ctx aws.Context, input *ModifyCustomDBEngineVersionInput, opts ...request.Option) (*ModifyCustomDBEngineVersionOutput, error) {
10878	req, out := c.ModifyCustomDBEngineVersionRequest(input)
10879	req.SetContext(ctx)
10880	req.ApplyOptions(opts...)
10881	return out, req.Send()
10882}
10883
10884const opModifyDBCluster = "ModifyDBCluster"
10885
10886// ModifyDBClusterRequest generates a "aws/request.Request" representing the
10887// client's request for the ModifyDBCluster operation. The "output" return
10888// value will be populated with the request's response once the request completes
10889// successfully.
10890//
10891// Use "Send" method on the returned Request to send the API call to the service.
10892// the "output" return value is not valid until after Send returns without error.
10893//
10894// See ModifyDBCluster for more information on using the ModifyDBCluster
10895// API call, and error handling.
10896//
10897// This method is useful when you want to inject custom logic or configuration
10898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10899//
10900//
10901//    // Example sending a request using the ModifyDBClusterRequest method.
10902//    req, resp := client.ModifyDBClusterRequest(params)
10903//
10904//    err := req.Send()
10905//    if err == nil { // resp is now filled
10906//        fmt.Println(resp)
10907//    }
10908//
10909// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
10910func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
10911	op := &request.Operation{
10912		Name:       opModifyDBCluster,
10913		HTTPMethod: "POST",
10914		HTTPPath:   "/",
10915	}
10916
10917	if input == nil {
10918		input = &ModifyDBClusterInput{}
10919	}
10920
10921	output = &ModifyDBClusterOutput{}
10922	req = c.newRequest(op, input, output)
10923	return
10924}
10925
10926// ModifyDBCluster API operation for Amazon Relational Database Service.
10927//
10928// Modify a setting for an Amazon Aurora DB cluster. You can change one or more
10929// database configuration parameters by specifying these parameters and the
10930// new values in the request. For more information on Amazon Aurora, see What
10931// Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
10932// in the Amazon Aurora User Guide.
10933//
10934// This action only applies to Aurora DB clusters.
10935//
10936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10937// with awserr.Error's Code and Message methods to get detailed information about
10938// the error.
10939//
10940// See the AWS API reference guide for Amazon Relational Database Service's
10941// API operation ModifyDBCluster for usage and error information.
10942//
10943// Returned Error Codes:
10944//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
10945//   DBClusterIdentifier doesn't refer to an existing DB cluster.
10946//
10947//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10948//   The requested operation can't be performed while the cluster is in this state.
10949//
10950//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
10951//   The request would result in the user exceeding the allowed amount of storage
10952//   available across all DB instances.
10953//
10954//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
10955//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
10956//
10957//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
10958//   The DB subnet group doesn't cover all Availability Zones after it's created
10959//   because of users' change.
10960//
10961//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
10962//   The DB subnet group cannot be deleted because it's in use.
10963//
10964//   * ErrCodeInvalidSubnet "InvalidSubnet"
10965//   The requested subnet is invalid, or multiple subnets were requested that
10966//   are not all in a common VPC.
10967//
10968//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
10969//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
10970//   group.
10971//
10972//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
10973//   The state of the DB security group doesn't allow deletion.
10974//
10975//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
10976//   The DB instance isn't in a valid state.
10977//
10978//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
10979//   The user already has a DB cluster with the given identifier.
10980//
10981//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
10982//   Domain doesn't refer to an existing Active Directory domain.
10983//
10984// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
10985func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
10986	req, out := c.ModifyDBClusterRequest(input)
10987	return out, req.Send()
10988}
10989
10990// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
10991// the ability to pass a context and additional request options.
10992//
10993// See ModifyDBCluster for details on how to use this API operation.
10994//
10995// The context must be non-nil and will be used for request cancellation. If
10996// the context is nil a panic will occur. In the future the SDK may create
10997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10998// for more information on using Contexts.
10999func (c *RDS) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
11000	req, out := c.ModifyDBClusterRequest(input)
11001	req.SetContext(ctx)
11002	req.ApplyOptions(opts...)
11003	return out, req.Send()
11004}
11005
11006const opModifyDBClusterEndpoint = "ModifyDBClusterEndpoint"
11007
11008// ModifyDBClusterEndpointRequest generates a "aws/request.Request" representing the
11009// client's request for the ModifyDBClusterEndpoint operation. The "output" return
11010// value will be populated with the request's response once the request completes
11011// successfully.
11012//
11013// Use "Send" method on the returned Request to send the API call to the service.
11014// the "output" return value is not valid until after Send returns without error.
11015//
11016// See ModifyDBClusterEndpoint for more information on using the ModifyDBClusterEndpoint
11017// API call, and error handling.
11018//
11019// This method is useful when you want to inject custom logic or configuration
11020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11021//
11022//
11023//    // Example sending a request using the ModifyDBClusterEndpointRequest method.
11024//    req, resp := client.ModifyDBClusterEndpointRequest(params)
11025//
11026//    err := req.Send()
11027//    if err == nil { // resp is now filled
11028//        fmt.Println(resp)
11029//    }
11030//
11031// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
11032func (c *RDS) ModifyDBClusterEndpointRequest(input *ModifyDBClusterEndpointInput) (req *request.Request, output *ModifyDBClusterEndpointOutput) {
11033	op := &request.Operation{
11034		Name:       opModifyDBClusterEndpoint,
11035		HTTPMethod: "POST",
11036		HTTPPath:   "/",
11037	}
11038
11039	if input == nil {
11040		input = &ModifyDBClusterEndpointInput{}
11041	}
11042
11043	output = &ModifyDBClusterEndpointOutput{}
11044	req = c.newRequest(op, input, output)
11045	return
11046}
11047
11048// ModifyDBClusterEndpoint API operation for Amazon Relational Database Service.
11049//
11050// Modifies the properties of an endpoint in an Amazon Aurora DB cluster.
11051//
11052// This action only applies to Aurora DB clusters.
11053//
11054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11055// with awserr.Error's Code and Message methods to get detailed information about
11056// the error.
11057//
11058// See the AWS API reference guide for Amazon Relational Database Service's
11059// API operation ModifyDBClusterEndpoint for usage and error information.
11060//
11061// Returned Error Codes:
11062//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11063//   The requested operation can't be performed while the cluster is in this state.
11064//
11065//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
11066//   The requested operation can't be performed on the endpoint while the endpoint
11067//   is in this state.
11068//
11069//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
11070//   The specified custom endpoint doesn't exist.
11071//
11072//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11073//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11074//
11075//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11076//   The DB instance isn't in a valid state.
11077//
11078// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
11079func (c *RDS) ModifyDBClusterEndpoint(input *ModifyDBClusterEndpointInput) (*ModifyDBClusterEndpointOutput, error) {
11080	req, out := c.ModifyDBClusterEndpointRequest(input)
11081	return out, req.Send()
11082}
11083
11084// ModifyDBClusterEndpointWithContext is the same as ModifyDBClusterEndpoint with the addition of
11085// the ability to pass a context and additional request options.
11086//
11087// See ModifyDBClusterEndpoint for details on how to use this API operation.
11088//
11089// The context must be non-nil and will be used for request cancellation. If
11090// the context is nil a panic will occur. In the future the SDK may create
11091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11092// for more information on using Contexts.
11093func (c *RDS) ModifyDBClusterEndpointWithContext(ctx aws.Context, input *ModifyDBClusterEndpointInput, opts ...request.Option) (*ModifyDBClusterEndpointOutput, error) {
11094	req, out := c.ModifyDBClusterEndpointRequest(input)
11095	req.SetContext(ctx)
11096	req.ApplyOptions(opts...)
11097	return out, req.Send()
11098}
11099
11100const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
11101
11102// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
11103// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
11104// value will be populated with the request's response once the request completes
11105// successfully.
11106//
11107// Use "Send" method on the returned Request to send the API call to the service.
11108// the "output" return value is not valid until after Send returns without error.
11109//
11110// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
11111// API call, and error handling.
11112//
11113// This method is useful when you want to inject custom logic or configuration
11114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11115//
11116//
11117//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
11118//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
11119//
11120//    err := req.Send()
11121//    if err == nil { // resp is now filled
11122//        fmt.Println(resp)
11123//    }
11124//
11125// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
11126func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
11127	op := &request.Operation{
11128		Name:       opModifyDBClusterParameterGroup,
11129		HTTPMethod: "POST",
11130		HTTPPath:   "/",
11131	}
11132
11133	if input == nil {
11134		input = &ModifyDBClusterParameterGroupInput{}
11135	}
11136
11137	output = &DBClusterParameterGroupNameMessage{}
11138	req = c.newRequest(op, input, output)
11139	return
11140}
11141
11142// ModifyDBClusterParameterGroup API operation for Amazon Relational Database Service.
11143//
11144// Modifies the parameters of a DB cluster parameter group. To modify more than
11145// one parameter, submit a list of the following: ParameterName, ParameterValue,
11146// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
11147//
11148// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
11149// in the Amazon Aurora User Guide.
11150//
11151// After you create a DB cluster parameter group, you should wait at least 5
11152// minutes before creating your first DB cluster that uses that DB cluster parameter
11153// group as the default parameter group. This allows Amazon RDS to fully complete
11154// the create action before the parameter group is used as the default for a
11155// new DB cluster. This is especially important for parameters that are critical
11156// when creating the default database for a DB cluster, such as the character
11157// set for the default database defined by the character_set_database parameter.
11158// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
11159// or the DescribeDBClusterParameters action to verify that your DB cluster
11160// parameter group has been created or modified.
11161//
11162// If the modified DB cluster parameter group is used by an Aurora Serverless
11163// cluster, Aurora applies the update immediately. The cluster restart might
11164// interrupt your workload. In that case, your application must reopen any connections
11165// and retry any transactions that were active when the parameter changes took
11166// effect.
11167//
11168// This action only applies to Aurora DB clusters.
11169//
11170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11171// with awserr.Error's Code and Message methods to get detailed information about
11172// the error.
11173//
11174// See the AWS API reference guide for Amazon Relational Database Service's
11175// API operation ModifyDBClusterParameterGroup for usage and error information.
11176//
11177// Returned Error Codes:
11178//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
11179//   DBParameterGroupName doesn't refer to an existing DB parameter group.
11180//
11181//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
11182//   The DB parameter group is in use or is in an invalid state. If you are attempting
11183//   to delete the parameter group, you can't delete it when the parameter group
11184//   is in this state.
11185//
11186// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
11187func (c *RDS) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
11188	req, out := c.ModifyDBClusterParameterGroupRequest(input)
11189	return out, req.Send()
11190}
11191
11192// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
11193// the ability to pass a context and additional request options.
11194//
11195// See ModifyDBClusterParameterGroup for details on how to use this API operation.
11196//
11197// The context must be non-nil and will be used for request cancellation. If
11198// the context is nil a panic will occur. In the future the SDK may create
11199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11200// for more information on using Contexts.
11201func (c *RDS) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
11202	req, out := c.ModifyDBClusterParameterGroupRequest(input)
11203	req.SetContext(ctx)
11204	req.ApplyOptions(opts...)
11205	return out, req.Send()
11206}
11207
11208const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
11209
11210// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
11211// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
11212// value will be populated with the request's response once the request completes
11213// successfully.
11214//
11215// Use "Send" method on the returned Request to send the API call to the service.
11216// the "output" return value is not valid until after Send returns without error.
11217//
11218// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
11219// API call, and error handling.
11220//
11221// This method is useful when you want to inject custom logic or configuration
11222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11223//
11224//
11225//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
11226//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
11227//
11228//    err := req.Send()
11229//    if err == nil { // resp is now filled
11230//        fmt.Println(resp)
11231//    }
11232//
11233// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
11234func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
11235	op := &request.Operation{
11236		Name:       opModifyDBClusterSnapshotAttribute,
11237		HTTPMethod: "POST",
11238		HTTPPath:   "/",
11239	}
11240
11241	if input == nil {
11242		input = &ModifyDBClusterSnapshotAttributeInput{}
11243	}
11244
11245	output = &ModifyDBClusterSnapshotAttributeOutput{}
11246	req = c.newRequest(op, input, output)
11247	return
11248}
11249
11250// ModifyDBClusterSnapshotAttribute API operation for Amazon Relational Database Service.
11251//
11252// Adds an attribute and values to, or removes an attribute and values from,
11253// a manual DB cluster snapshot.
11254//
11255// To share a manual DB cluster snapshot with other Amazon Web Services accounts,
11256// specify restore as the AttributeName and use the ValuesToAdd parameter to
11257// add a list of IDs of the Amazon Web Services accounts that are authorized
11258// to restore the manual DB cluster snapshot. Use the value all to make the
11259// manual DB cluster snapshot public, which means that it can be copied or restored
11260// by all Amazon Web Services accounts.
11261//
11262// Don't add the all value for any manual DB cluster snapshots that contain
11263// private information that you don't want available to all Amazon Web Services
11264// accounts.
11265//
11266// If a manual DB cluster snapshot is encrypted, it can be shared, but only
11267// by specifying a list of authorized Amazon Web Services account IDs for the
11268// ValuesToAdd parameter. You can't use all as a value for that parameter in
11269// this case.
11270//
11271// To view which Amazon Web Services accounts have access to copy or restore
11272// a manual DB cluster snapshot, or whether a manual DB cluster snapshot is
11273// public or private, use the DescribeDBClusterSnapshotAttributes API action.
11274// The accounts are returned as values for the restore attribute.
11275//
11276// This action only applies to Aurora DB clusters.
11277//
11278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11279// with awserr.Error's Code and Message methods to get detailed information about
11280// the error.
11281//
11282// See the AWS API reference guide for Amazon Relational Database Service's
11283// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
11284//
11285// Returned Error Codes:
11286//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
11287//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
11288//
11289//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
11290//   The supplied value isn't a valid DB cluster snapshot state.
11291//
11292//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
11293//   You have exceeded the maximum number of accounts that you can share a manual
11294//   DB snapshot with.
11295//
11296// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
11297func (c *RDS) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
11298	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
11299	return out, req.Send()
11300}
11301
11302// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
11303// the ability to pass a context and additional request options.
11304//
11305// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
11306//
11307// The context must be non-nil and will be used for request cancellation. If
11308// the context is nil a panic will occur. In the future the SDK may create
11309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11310// for more information on using Contexts.
11311func (c *RDS) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
11312	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
11313	req.SetContext(ctx)
11314	req.ApplyOptions(opts...)
11315	return out, req.Send()
11316}
11317
11318const opModifyDBInstance = "ModifyDBInstance"
11319
11320// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
11321// client's request for the ModifyDBInstance operation. The "output" return
11322// value will be populated with the request's response once the request completes
11323// successfully.
11324//
11325// Use "Send" method on the returned Request to send the API call to the service.
11326// the "output" return value is not valid until after Send returns without error.
11327//
11328// See ModifyDBInstance for more information on using the ModifyDBInstance
11329// API call, and error handling.
11330//
11331// This method is useful when you want to inject custom logic or configuration
11332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11333//
11334//
11335//    // Example sending a request using the ModifyDBInstanceRequest method.
11336//    req, resp := client.ModifyDBInstanceRequest(params)
11337//
11338//    err := req.Send()
11339//    if err == nil { // resp is now filled
11340//        fmt.Println(resp)
11341//    }
11342//
11343// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
11344func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
11345	op := &request.Operation{
11346		Name:       opModifyDBInstance,
11347		HTTPMethod: "POST",
11348		HTTPPath:   "/",
11349	}
11350
11351	if input == nil {
11352		input = &ModifyDBInstanceInput{}
11353	}
11354
11355	output = &ModifyDBInstanceOutput{}
11356	req = c.newRequest(op, input, output)
11357	return
11358}
11359
11360// ModifyDBInstance API operation for Amazon Relational Database Service.
11361//
11362// Modifies settings for a DB instance. You can change one or more database
11363// configuration parameters by specifying these parameters and the new values
11364// in the request. To learn what modifications you can make to your DB instance,
11365// call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
11366//
11367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11368// with awserr.Error's Code and Message methods to get detailed information about
11369// the error.
11370//
11371// See the AWS API reference guide for Amazon Relational Database Service's
11372// API operation ModifyDBInstance for usage and error information.
11373//
11374// Returned Error Codes:
11375//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11376//   The DB instance isn't in a valid state.
11377//
11378//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
11379//   The state of the DB security group doesn't allow deletion.
11380//
11381//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
11382//   The user already has a DB instance with the given identifier.
11383//
11384//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11385//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11386//
11387//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
11388//   DBSecurityGroupName doesn't refer to an existing DB security group.
11389//
11390//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
11391//   DBParameterGroupName doesn't refer to an existing DB parameter group.
11392//
11393//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
11394//   The specified DB instance class isn't available in the specified Availability
11395//   Zone.
11396//
11397//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
11398//   The request would result in the user exceeding the allowed amount of storage
11399//   available across all DB instances.
11400//
11401//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
11402//   The DB subnet group doesn't cover all Availability Zones after it's created
11403//   because of users' change.
11404//
11405//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
11406//   Provisioned IOPS not available in the specified Availability Zone.
11407//
11408//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
11409//   The specified option group could not be found.
11410//
11411//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
11412//   The DB upgrade failed because a resource the DB depends on can't be modified.
11413//
11414//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
11415//   Storage of the StorageType specified can't be associated with the DB instance.
11416//
11417//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
11418//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
11419//   for the specified DB security group.
11420//
11421//   Or, RDS might not be authorized to perform necessary actions using IAM on
11422//   your behalf.
11423//
11424//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
11425//   CertificateIdentifier doesn't refer to an existing certificate.
11426//
11427//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
11428//   Domain doesn't refer to an existing Active Directory domain.
11429//
11430//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
11431//
11432//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
11433//   An error occurred accessing an Amazon Web Services KMS key.
11434//
11435//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11436//   The requested operation can't be performed while the cluster is in this state.
11437//
11438// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
11439func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
11440	req, out := c.ModifyDBInstanceRequest(input)
11441	return out, req.Send()
11442}
11443
11444// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
11445// the ability to pass a context and additional request options.
11446//
11447// See ModifyDBInstance for details on how to use this API operation.
11448//
11449// The context must be non-nil and will be used for request cancellation. If
11450// the context is nil a panic will occur. In the future the SDK may create
11451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11452// for more information on using Contexts.
11453func (c *RDS) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
11454	req, out := c.ModifyDBInstanceRequest(input)
11455	req.SetContext(ctx)
11456	req.ApplyOptions(opts...)
11457	return out, req.Send()
11458}
11459
11460const opModifyDBParameterGroup = "ModifyDBParameterGroup"
11461
11462// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
11463// client's request for the ModifyDBParameterGroup operation. The "output" return
11464// value will be populated with the request's response once the request completes
11465// successfully.
11466//
11467// Use "Send" method on the returned Request to send the API call to the service.
11468// the "output" return value is not valid until after Send returns without error.
11469//
11470// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
11471// API call, and error handling.
11472//
11473// This method is useful when you want to inject custom logic or configuration
11474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11475//
11476//
11477//    // Example sending a request using the ModifyDBParameterGroupRequest method.
11478//    req, resp := client.ModifyDBParameterGroupRequest(params)
11479//
11480//    err := req.Send()
11481//    if err == nil { // resp is now filled
11482//        fmt.Println(resp)
11483//    }
11484//
11485// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
11486func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
11487	op := &request.Operation{
11488		Name:       opModifyDBParameterGroup,
11489		HTTPMethod: "POST",
11490		HTTPPath:   "/",
11491	}
11492
11493	if input == nil {
11494		input = &ModifyDBParameterGroupInput{}
11495	}
11496
11497	output = &DBParameterGroupNameMessage{}
11498	req = c.newRequest(op, input, output)
11499	return
11500}
11501
11502// ModifyDBParameterGroup API operation for Amazon Relational Database Service.
11503//
11504// Modifies the parameters of a DB parameter group. To modify more than one
11505// parameter, submit a list of the following: ParameterName, ParameterValue,
11506// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
11507//
11508// After you modify a DB parameter group, you should wait at least 5 minutes
11509// before creating your first DB instance that uses that DB parameter group
11510// as the default parameter group. This allows Amazon RDS to fully complete
11511// the modify action before the parameter group is used as the default for a
11512// new DB instance. This is especially important for parameters that are critical
11513// when creating the default database for a DB instance, such as the character
11514// set for the default database defined by the character_set_database parameter.
11515// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
11516// or the DescribeDBParameters command to verify that your DB parameter group
11517// has been created or modified.
11518//
11519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11520// with awserr.Error's Code and Message methods to get detailed information about
11521// the error.
11522//
11523// See the AWS API reference guide for Amazon Relational Database Service's
11524// API operation ModifyDBParameterGroup for usage and error information.
11525//
11526// Returned Error Codes:
11527//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
11528//   DBParameterGroupName doesn't refer to an existing DB parameter group.
11529//
11530//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
11531//   The DB parameter group is in use or is in an invalid state. If you are attempting
11532//   to delete the parameter group, you can't delete it when the parameter group
11533//   is in this state.
11534//
11535// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
11536func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
11537	req, out := c.ModifyDBParameterGroupRequest(input)
11538	return out, req.Send()
11539}
11540
11541// ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
11542// the ability to pass a context and additional request options.
11543//
11544// See ModifyDBParameterGroup for details on how to use this API operation.
11545//
11546// The context must be non-nil and will be used for request cancellation. If
11547// the context is nil a panic will occur. In the future the SDK may create
11548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11549// for more information on using Contexts.
11550func (c *RDS) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
11551	req, out := c.ModifyDBParameterGroupRequest(input)
11552	req.SetContext(ctx)
11553	req.ApplyOptions(opts...)
11554	return out, req.Send()
11555}
11556
11557const opModifyDBProxy = "ModifyDBProxy"
11558
11559// ModifyDBProxyRequest generates a "aws/request.Request" representing the
11560// client's request for the ModifyDBProxy operation. The "output" return
11561// value will be populated with the request's response once the request completes
11562// successfully.
11563//
11564// Use "Send" method on the returned Request to send the API call to the service.
11565// the "output" return value is not valid until after Send returns without error.
11566//
11567// See ModifyDBProxy for more information on using the ModifyDBProxy
11568// API call, and error handling.
11569//
11570// This method is useful when you want to inject custom logic or configuration
11571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11572//
11573//
11574//    // Example sending a request using the ModifyDBProxyRequest method.
11575//    req, resp := client.ModifyDBProxyRequest(params)
11576//
11577//    err := req.Send()
11578//    if err == nil { // resp is now filled
11579//        fmt.Println(resp)
11580//    }
11581//
11582// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
11583func (c *RDS) ModifyDBProxyRequest(input *ModifyDBProxyInput) (req *request.Request, output *ModifyDBProxyOutput) {
11584	op := &request.Operation{
11585		Name:       opModifyDBProxy,
11586		HTTPMethod: "POST",
11587		HTTPPath:   "/",
11588	}
11589
11590	if input == nil {
11591		input = &ModifyDBProxyInput{}
11592	}
11593
11594	output = &ModifyDBProxyOutput{}
11595	req = c.newRequest(op, input, output)
11596	return
11597}
11598
11599// ModifyDBProxy API operation for Amazon Relational Database Service.
11600//
11601// Changes the settings for an existing DB proxy.
11602//
11603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11604// with awserr.Error's Code and Message methods to get detailed information about
11605// the error.
11606//
11607// See the AWS API reference guide for Amazon Relational Database Service's
11608// API operation ModifyDBProxy for usage and error information.
11609//
11610// Returned Error Codes:
11611//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
11612//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
11613//   Web Services account in the specified Amazon Web Services Region.
11614//
11615//   * ErrCodeDBProxyAlreadyExistsFault "DBProxyAlreadyExistsFault"
11616//   The specified proxy name must be unique for all proxies owned by your Amazon
11617//   Web Services account in the specified Amazon Web Services Region.
11618//
11619//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
11620//   The requested operation can't be performed while the proxy is in this state.
11621//
11622// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
11623func (c *RDS) ModifyDBProxy(input *ModifyDBProxyInput) (*ModifyDBProxyOutput, error) {
11624	req, out := c.ModifyDBProxyRequest(input)
11625	return out, req.Send()
11626}
11627
11628// ModifyDBProxyWithContext is the same as ModifyDBProxy with the addition of
11629// the ability to pass a context and additional request options.
11630//
11631// See ModifyDBProxy for details on how to use this API operation.
11632//
11633// The context must be non-nil and will be used for request cancellation. If
11634// the context is nil a panic will occur. In the future the SDK may create
11635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11636// for more information on using Contexts.
11637func (c *RDS) ModifyDBProxyWithContext(ctx aws.Context, input *ModifyDBProxyInput, opts ...request.Option) (*ModifyDBProxyOutput, error) {
11638	req, out := c.ModifyDBProxyRequest(input)
11639	req.SetContext(ctx)
11640	req.ApplyOptions(opts...)
11641	return out, req.Send()
11642}
11643
11644const opModifyDBProxyEndpoint = "ModifyDBProxyEndpoint"
11645
11646// ModifyDBProxyEndpointRequest generates a "aws/request.Request" representing the
11647// client's request for the ModifyDBProxyEndpoint operation. The "output" return
11648// value will be populated with the request's response once the request completes
11649// successfully.
11650//
11651// Use "Send" method on the returned Request to send the API call to the service.
11652// the "output" return value is not valid until after Send returns without error.
11653//
11654// See ModifyDBProxyEndpoint for more information on using the ModifyDBProxyEndpoint
11655// API call, and error handling.
11656//
11657// This method is useful when you want to inject custom logic or configuration
11658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11659//
11660//
11661//    // Example sending a request using the ModifyDBProxyEndpointRequest method.
11662//    req, resp := client.ModifyDBProxyEndpointRequest(params)
11663//
11664//    err := req.Send()
11665//    if err == nil { // resp is now filled
11666//        fmt.Println(resp)
11667//    }
11668//
11669// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyEndpoint
11670func (c *RDS) ModifyDBProxyEndpointRequest(input *ModifyDBProxyEndpointInput) (req *request.Request, output *ModifyDBProxyEndpointOutput) {
11671	op := &request.Operation{
11672		Name:       opModifyDBProxyEndpoint,
11673		HTTPMethod: "POST",
11674		HTTPPath:   "/",
11675	}
11676
11677	if input == nil {
11678		input = &ModifyDBProxyEndpointInput{}
11679	}
11680
11681	output = &ModifyDBProxyEndpointOutput{}
11682	req = c.newRequest(op, input, output)
11683	return
11684}
11685
11686// ModifyDBProxyEndpoint API operation for Amazon Relational Database Service.
11687//
11688// Changes the settings for an existing DB proxy endpoint.
11689//
11690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11691// with awserr.Error's Code and Message methods to get detailed information about
11692// the error.
11693//
11694// See the AWS API reference guide for Amazon Relational Database Service's
11695// API operation ModifyDBProxyEndpoint for usage and error information.
11696//
11697// Returned Error Codes:
11698//   * ErrCodeDBProxyEndpointNotFoundFault "DBProxyEndpointNotFoundFault"
11699//   The DB proxy endpoint doesn't exist.
11700//
11701//   * ErrCodeDBProxyEndpointAlreadyExistsFault "DBProxyEndpointAlreadyExistsFault"
11702//   The specified DB proxy endpoint name must be unique for all DB proxy endpoints
11703//   owned by your Amazon Web Services account in the specified Amazon Web Services
11704//   Region.
11705//
11706//   * ErrCodeInvalidDBProxyEndpointStateFault "InvalidDBProxyEndpointStateFault"
11707//   You can't perform this operation while the DB proxy endpoint is in a particular
11708//   state.
11709//
11710//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
11711//   The requested operation can't be performed while the proxy is in this state.
11712//
11713// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyEndpoint
11714func (c *RDS) ModifyDBProxyEndpoint(input *ModifyDBProxyEndpointInput) (*ModifyDBProxyEndpointOutput, error) {
11715	req, out := c.ModifyDBProxyEndpointRequest(input)
11716	return out, req.Send()
11717}
11718
11719// ModifyDBProxyEndpointWithContext is the same as ModifyDBProxyEndpoint with the addition of
11720// the ability to pass a context and additional request options.
11721//
11722// See ModifyDBProxyEndpoint for details on how to use this API operation.
11723//
11724// The context must be non-nil and will be used for request cancellation. If
11725// the context is nil a panic will occur. In the future the SDK may create
11726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11727// for more information on using Contexts.
11728func (c *RDS) ModifyDBProxyEndpointWithContext(ctx aws.Context, input *ModifyDBProxyEndpointInput, opts ...request.Option) (*ModifyDBProxyEndpointOutput, error) {
11729	req, out := c.ModifyDBProxyEndpointRequest(input)
11730	req.SetContext(ctx)
11731	req.ApplyOptions(opts...)
11732	return out, req.Send()
11733}
11734
11735const opModifyDBProxyTargetGroup = "ModifyDBProxyTargetGroup"
11736
11737// ModifyDBProxyTargetGroupRequest generates a "aws/request.Request" representing the
11738// client's request for the ModifyDBProxyTargetGroup operation. The "output" return
11739// value will be populated with the request's response once the request completes
11740// successfully.
11741//
11742// Use "Send" method on the returned Request to send the API call to the service.
11743// the "output" return value is not valid until after Send returns without error.
11744//
11745// See ModifyDBProxyTargetGroup for more information on using the ModifyDBProxyTargetGroup
11746// API call, and error handling.
11747//
11748// This method is useful when you want to inject custom logic or configuration
11749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11750//
11751//
11752//    // Example sending a request using the ModifyDBProxyTargetGroupRequest method.
11753//    req, resp := client.ModifyDBProxyTargetGroupRequest(params)
11754//
11755//    err := req.Send()
11756//    if err == nil { // resp is now filled
11757//        fmt.Println(resp)
11758//    }
11759//
11760// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
11761func (c *RDS) ModifyDBProxyTargetGroupRequest(input *ModifyDBProxyTargetGroupInput) (req *request.Request, output *ModifyDBProxyTargetGroupOutput) {
11762	op := &request.Operation{
11763		Name:       opModifyDBProxyTargetGroup,
11764		HTTPMethod: "POST",
11765		HTTPPath:   "/",
11766	}
11767
11768	if input == nil {
11769		input = &ModifyDBProxyTargetGroupInput{}
11770	}
11771
11772	output = &ModifyDBProxyTargetGroupOutput{}
11773	req = c.newRequest(op, input, output)
11774	return
11775}
11776
11777// ModifyDBProxyTargetGroup API operation for Amazon Relational Database Service.
11778//
11779// Modifies the properties of a DBProxyTargetGroup.
11780//
11781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11782// with awserr.Error's Code and Message methods to get detailed information about
11783// the error.
11784//
11785// See the AWS API reference guide for Amazon Relational Database Service's
11786// API operation ModifyDBProxyTargetGroup for usage and error information.
11787//
11788// Returned Error Codes:
11789//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
11790//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
11791//   Web Services account in the specified Amazon Web Services Region.
11792//
11793//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
11794//   The specified target group isn't available for a proxy owned by your Amazon
11795//   Web Services account in the specified Amazon Web Services Region.
11796//
11797//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
11798//   The requested operation can't be performed while the proxy is in this state.
11799//
11800// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
11801func (c *RDS) ModifyDBProxyTargetGroup(input *ModifyDBProxyTargetGroupInput) (*ModifyDBProxyTargetGroupOutput, error) {
11802	req, out := c.ModifyDBProxyTargetGroupRequest(input)
11803	return out, req.Send()
11804}
11805
11806// ModifyDBProxyTargetGroupWithContext is the same as ModifyDBProxyTargetGroup with the addition of
11807// the ability to pass a context and additional request options.
11808//
11809// See ModifyDBProxyTargetGroup for details on how to use this API operation.
11810//
11811// The context must be non-nil and will be used for request cancellation. If
11812// the context is nil a panic will occur. In the future the SDK may create
11813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11814// for more information on using Contexts.
11815func (c *RDS) ModifyDBProxyTargetGroupWithContext(ctx aws.Context, input *ModifyDBProxyTargetGroupInput, opts ...request.Option) (*ModifyDBProxyTargetGroupOutput, error) {
11816	req, out := c.ModifyDBProxyTargetGroupRequest(input)
11817	req.SetContext(ctx)
11818	req.ApplyOptions(opts...)
11819	return out, req.Send()
11820}
11821
11822const opModifyDBSnapshot = "ModifyDBSnapshot"
11823
11824// ModifyDBSnapshotRequest generates a "aws/request.Request" representing the
11825// client's request for the ModifyDBSnapshot operation. The "output" return
11826// value will be populated with the request's response once the request completes
11827// successfully.
11828//
11829// Use "Send" method on the returned Request to send the API call to the service.
11830// the "output" return value is not valid until after Send returns without error.
11831//
11832// See ModifyDBSnapshot for more information on using the ModifyDBSnapshot
11833// API call, and error handling.
11834//
11835// This method is useful when you want to inject custom logic or configuration
11836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11837//
11838//
11839//    // Example sending a request using the ModifyDBSnapshotRequest method.
11840//    req, resp := client.ModifyDBSnapshotRequest(params)
11841//
11842//    err := req.Send()
11843//    if err == nil { // resp is now filled
11844//        fmt.Println(resp)
11845//    }
11846//
11847// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
11848func (c *RDS) ModifyDBSnapshotRequest(input *ModifyDBSnapshotInput) (req *request.Request, output *ModifyDBSnapshotOutput) {
11849	op := &request.Operation{
11850		Name:       opModifyDBSnapshot,
11851		HTTPMethod: "POST",
11852		HTTPPath:   "/",
11853	}
11854
11855	if input == nil {
11856		input = &ModifyDBSnapshotInput{}
11857	}
11858
11859	output = &ModifyDBSnapshotOutput{}
11860	req = c.newRequest(op, input, output)
11861	return
11862}
11863
11864// ModifyDBSnapshot API operation for Amazon Relational Database Service.
11865//
11866// Updates a manual DB snapshot with a new engine version. The snapshot can
11867// be encrypted or unencrypted, but not shared or public.
11868//
11869// Amazon RDS supports upgrading DB snapshots for MySQL, PostgreSQL, and Oracle.
11870// This command doesn't apply to RDS Custom.
11871//
11872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11873// with awserr.Error's Code and Message methods to get detailed information about
11874// the error.
11875//
11876// See the AWS API reference guide for Amazon Relational Database Service's
11877// API operation ModifyDBSnapshot for usage and error information.
11878//
11879// Returned Error Codes:
11880//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
11881//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
11882//
11883// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
11884func (c *RDS) ModifyDBSnapshot(input *ModifyDBSnapshotInput) (*ModifyDBSnapshotOutput, error) {
11885	req, out := c.ModifyDBSnapshotRequest(input)
11886	return out, req.Send()
11887}
11888
11889// ModifyDBSnapshotWithContext is the same as ModifyDBSnapshot with the addition of
11890// the ability to pass a context and additional request options.
11891//
11892// See ModifyDBSnapshot for details on how to use this API operation.
11893//
11894// The context must be non-nil and will be used for request cancellation. If
11895// the context is nil a panic will occur. In the future the SDK may create
11896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11897// for more information on using Contexts.
11898func (c *RDS) ModifyDBSnapshotWithContext(ctx aws.Context, input *ModifyDBSnapshotInput, opts ...request.Option) (*ModifyDBSnapshotOutput, error) {
11899	req, out := c.ModifyDBSnapshotRequest(input)
11900	req.SetContext(ctx)
11901	req.ApplyOptions(opts...)
11902	return out, req.Send()
11903}
11904
11905const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute"
11906
11907// ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the
11908// client's request for the ModifyDBSnapshotAttribute operation. The "output" return
11909// value will be populated with the request's response once the request completes
11910// successfully.
11911//
11912// Use "Send" method on the returned Request to send the API call to the service.
11913// the "output" return value is not valid until after Send returns without error.
11914//
11915// See ModifyDBSnapshotAttribute for more information on using the ModifyDBSnapshotAttribute
11916// API call, and error handling.
11917//
11918// This method is useful when you want to inject custom logic or configuration
11919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11920//
11921//
11922//    // Example sending a request using the ModifyDBSnapshotAttributeRequest method.
11923//    req, resp := client.ModifyDBSnapshotAttributeRequest(params)
11924//
11925//    err := req.Send()
11926//    if err == nil { // resp is now filled
11927//        fmt.Println(resp)
11928//    }
11929//
11930// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
11931func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeInput) (req *request.Request, output *ModifyDBSnapshotAttributeOutput) {
11932	op := &request.Operation{
11933		Name:       opModifyDBSnapshotAttribute,
11934		HTTPMethod: "POST",
11935		HTTPPath:   "/",
11936	}
11937
11938	if input == nil {
11939		input = &ModifyDBSnapshotAttributeInput{}
11940	}
11941
11942	output = &ModifyDBSnapshotAttributeOutput{}
11943	req = c.newRequest(op, input, output)
11944	return
11945}
11946
11947// ModifyDBSnapshotAttribute API operation for Amazon Relational Database Service.
11948//
11949// Adds an attribute and values to, or removes an attribute and values from,
11950// a manual DB snapshot.
11951//
11952// To share a manual DB snapshot with other Amazon Web Services accounts, specify
11953// restore as the AttributeName and use the ValuesToAdd parameter to add a list
11954// of IDs of the Amazon Web Services accounts that are authorized to restore
11955// the manual DB snapshot. Uses the value all to make the manual DB snapshot
11956// public, which means it can be copied or restored by all Amazon Web Services
11957// accounts.
11958//
11959// Don't add the all value for any manual DB snapshots that contain private
11960// information that you don't want available to all Amazon Web Services accounts.
11961//
11962// If the manual DB snapshot is encrypted, it can be shared, but only by specifying
11963// a list of authorized Amazon Web Services account IDs for the ValuesToAdd
11964// parameter. You can't use all as a value for that parameter in this case.
11965//
11966// To view which Amazon Web Services accounts have access to copy or restore
11967// a manual DB snapshot, or whether a manual DB snapshot public or private,
11968// use the DescribeDBSnapshotAttributes API action. The accounts are returned
11969// as values for the restore attribute.
11970//
11971// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11972// with awserr.Error's Code and Message methods to get detailed information about
11973// the error.
11974//
11975// See the AWS API reference guide for Amazon Relational Database Service's
11976// API operation ModifyDBSnapshotAttribute for usage and error information.
11977//
11978// Returned Error Codes:
11979//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
11980//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
11981//
11982//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
11983//   The state of the DB snapshot doesn't allow deletion.
11984//
11985//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
11986//   You have exceeded the maximum number of accounts that you can share a manual
11987//   DB snapshot with.
11988//
11989// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
11990func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) (*ModifyDBSnapshotAttributeOutput, error) {
11991	req, out := c.ModifyDBSnapshotAttributeRequest(input)
11992	return out, req.Send()
11993}
11994
11995// ModifyDBSnapshotAttributeWithContext is the same as ModifyDBSnapshotAttribute with the addition of
11996// the ability to pass a context and additional request options.
11997//
11998// See ModifyDBSnapshotAttribute for details on how to use this API operation.
11999//
12000// The context must be non-nil and will be used for request cancellation. If
12001// the context is nil a panic will occur. In the future the SDK may create
12002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12003// for more information on using Contexts.
12004func (c *RDS) ModifyDBSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBSnapshotAttributeInput, opts ...request.Option) (*ModifyDBSnapshotAttributeOutput, error) {
12005	req, out := c.ModifyDBSnapshotAttributeRequest(input)
12006	req.SetContext(ctx)
12007	req.ApplyOptions(opts...)
12008	return out, req.Send()
12009}
12010
12011const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
12012
12013// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
12014// client's request for the ModifyDBSubnetGroup operation. The "output" return
12015// value will be populated with the request's response once the request completes
12016// successfully.
12017//
12018// Use "Send" method on the returned Request to send the API call to the service.
12019// the "output" return value is not valid until after Send returns without error.
12020//
12021// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
12022// API call, and error handling.
12023//
12024// This method is useful when you want to inject custom logic or configuration
12025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12026//
12027//
12028//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
12029//    req, resp := client.ModifyDBSubnetGroupRequest(params)
12030//
12031//    err := req.Send()
12032//    if err == nil { // resp is now filled
12033//        fmt.Println(resp)
12034//    }
12035//
12036// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
12037func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
12038	op := &request.Operation{
12039		Name:       opModifyDBSubnetGroup,
12040		HTTPMethod: "POST",
12041		HTTPPath:   "/",
12042	}
12043
12044	if input == nil {
12045		input = &ModifyDBSubnetGroupInput{}
12046	}
12047
12048	output = &ModifyDBSubnetGroupOutput{}
12049	req = c.newRequest(op, input, output)
12050	return
12051}
12052
12053// ModifyDBSubnetGroup API operation for Amazon Relational Database Service.
12054//
12055// Modifies an existing DB subnet group. DB subnet groups must contain at least
12056// one subnet in at least two AZs in the Amazon Web Services Region.
12057//
12058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12059// with awserr.Error's Code and Message methods to get detailed information about
12060// the error.
12061//
12062// See the AWS API reference guide for Amazon Relational Database Service's
12063// API operation ModifyDBSubnetGroup for usage and error information.
12064//
12065// Returned Error Codes:
12066//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12067//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12068//
12069//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
12070//   The request would result in the user exceeding the allowed number of subnets
12071//   in a DB subnet groups.
12072//
12073//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
12074//   The DB subnet is already in use in the Availability Zone.
12075//
12076//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
12077//   Subnets in the DB subnet group should cover at least two Availability Zones
12078//   unless there is only one Availability Zone.
12079//
12080//   * ErrCodeInvalidSubnet "InvalidSubnet"
12081//   The requested subnet is invalid, or multiple subnets were requested that
12082//   are not all in a common VPC.
12083//
12084// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
12085func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
12086	req, out := c.ModifyDBSubnetGroupRequest(input)
12087	return out, req.Send()
12088}
12089
12090// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
12091// the ability to pass a context and additional request options.
12092//
12093// See ModifyDBSubnetGroup for details on how to use this API operation.
12094//
12095// The context must be non-nil and will be used for request cancellation. If
12096// the context is nil a panic will occur. In the future the SDK may create
12097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12098// for more information on using Contexts.
12099func (c *RDS) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
12100	req, out := c.ModifyDBSubnetGroupRequest(input)
12101	req.SetContext(ctx)
12102	req.ApplyOptions(opts...)
12103	return out, req.Send()
12104}
12105
12106const opModifyEventSubscription = "ModifyEventSubscription"
12107
12108// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
12109// client's request for the ModifyEventSubscription operation. The "output" return
12110// value will be populated with the request's response once the request completes
12111// successfully.
12112//
12113// Use "Send" method on the returned Request to send the API call to the service.
12114// the "output" return value is not valid until after Send returns without error.
12115//
12116// See ModifyEventSubscription for more information on using the ModifyEventSubscription
12117// API call, and error handling.
12118//
12119// This method is useful when you want to inject custom logic or configuration
12120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12121//
12122//
12123//    // Example sending a request using the ModifyEventSubscriptionRequest method.
12124//    req, resp := client.ModifyEventSubscriptionRequest(params)
12125//
12126//    err := req.Send()
12127//    if err == nil { // resp is now filled
12128//        fmt.Println(resp)
12129//    }
12130//
12131// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
12132func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
12133	op := &request.Operation{
12134		Name:       opModifyEventSubscription,
12135		HTTPMethod: "POST",
12136		HTTPPath:   "/",
12137	}
12138
12139	if input == nil {
12140		input = &ModifyEventSubscriptionInput{}
12141	}
12142
12143	output = &ModifyEventSubscriptionOutput{}
12144	req = c.newRequest(op, input, output)
12145	return
12146}
12147
12148// ModifyEventSubscription API operation for Amazon Relational Database Service.
12149//
12150// Modifies an existing RDS event notification subscription. You can't modify
12151// the source identifiers using this call. To change source identifiers for
12152// a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
12153// calls.
12154//
12155// You can see a list of the event categories for a given source type (SourceType)
12156// in Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
12157// in the Amazon RDS User Guide or by using the DescribeEventCategories operation.
12158//
12159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12160// with awserr.Error's Code and Message methods to get detailed information about
12161// the error.
12162//
12163// See the AWS API reference guide for Amazon Relational Database Service's
12164// API operation ModifyEventSubscription for usage and error information.
12165//
12166// Returned Error Codes:
12167//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
12168//   You have reached the maximum number of event subscriptions.
12169//
12170//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
12171//   The subscription name does not exist.
12172//
12173//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
12174//   SNS has responded that there is a problem with the SND topic specified.
12175//
12176//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
12177//   You do not have permission to publish to the SNS topic ARN.
12178//
12179//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
12180//   The SNS topic ARN does not exist.
12181//
12182//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
12183//   The supplied category does not exist.
12184//
12185// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
12186func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
12187	req, out := c.ModifyEventSubscriptionRequest(input)
12188	return out, req.Send()
12189}
12190
12191// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
12192// the ability to pass a context and additional request options.
12193//
12194// See ModifyEventSubscription for details on how to use this API operation.
12195//
12196// The context must be non-nil and will be used for request cancellation. If
12197// the context is nil a panic will occur. In the future the SDK may create
12198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12199// for more information on using Contexts.
12200func (c *RDS) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
12201	req, out := c.ModifyEventSubscriptionRequest(input)
12202	req.SetContext(ctx)
12203	req.ApplyOptions(opts...)
12204	return out, req.Send()
12205}
12206
12207const opModifyGlobalCluster = "ModifyGlobalCluster"
12208
12209// ModifyGlobalClusterRequest generates a "aws/request.Request" representing the
12210// client's request for the ModifyGlobalCluster operation. The "output" return
12211// value will be populated with the request's response once the request completes
12212// successfully.
12213//
12214// Use "Send" method on the returned Request to send the API call to the service.
12215// the "output" return value is not valid until after Send returns without error.
12216//
12217// See ModifyGlobalCluster for more information on using the ModifyGlobalCluster
12218// API call, and error handling.
12219//
12220// This method is useful when you want to inject custom logic or configuration
12221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12222//
12223//
12224//    // Example sending a request using the ModifyGlobalClusterRequest method.
12225//    req, resp := client.ModifyGlobalClusterRequest(params)
12226//
12227//    err := req.Send()
12228//    if err == nil { // resp is now filled
12229//        fmt.Println(resp)
12230//    }
12231//
12232// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
12233func (c *RDS) ModifyGlobalClusterRequest(input *ModifyGlobalClusterInput) (req *request.Request, output *ModifyGlobalClusterOutput) {
12234	op := &request.Operation{
12235		Name:       opModifyGlobalCluster,
12236		HTTPMethod: "POST",
12237		HTTPPath:   "/",
12238	}
12239
12240	if input == nil {
12241		input = &ModifyGlobalClusterInput{}
12242	}
12243
12244	output = &ModifyGlobalClusterOutput{}
12245	req = c.newRequest(op, input, output)
12246	return
12247}
12248
12249// ModifyGlobalCluster API operation for Amazon Relational Database Service.
12250//
12251// Modify a setting for an Amazon Aurora global cluster. You can change one
12252// or more database configuration parameters by specifying these parameters
12253// and the new values in the request. For more information on Amazon Aurora,
12254// see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
12255// in the Amazon Aurora User Guide.
12256//
12257// This action only applies to Aurora DB clusters.
12258//
12259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12260// with awserr.Error's Code and Message methods to get detailed information about
12261// the error.
12262//
12263// See the AWS API reference guide for Amazon Relational Database Service's
12264// API operation ModifyGlobalCluster for usage and error information.
12265//
12266// Returned Error Codes:
12267//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
12268//   The GlobalClusterIdentifier doesn't refer to an existing global database
12269//   cluster.
12270//
12271//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
12272//   The global cluster is in an invalid state and can't perform the requested
12273//   operation.
12274//
12275//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12276//   The requested operation can't be performed while the cluster is in this state.
12277//
12278//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12279//   The DB instance isn't in a valid state.
12280//
12281// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
12282func (c *RDS) ModifyGlobalCluster(input *ModifyGlobalClusterInput) (*ModifyGlobalClusterOutput, error) {
12283	req, out := c.ModifyGlobalClusterRequest(input)
12284	return out, req.Send()
12285}
12286
12287// ModifyGlobalClusterWithContext is the same as ModifyGlobalCluster with the addition of
12288// the ability to pass a context and additional request options.
12289//
12290// See ModifyGlobalCluster for details on how to use this API operation.
12291//
12292// The context must be non-nil and will be used for request cancellation. If
12293// the context is nil a panic will occur. In the future the SDK may create
12294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12295// for more information on using Contexts.
12296func (c *RDS) ModifyGlobalClusterWithContext(ctx aws.Context, input *ModifyGlobalClusterInput, opts ...request.Option) (*ModifyGlobalClusterOutput, error) {
12297	req, out := c.ModifyGlobalClusterRequest(input)
12298	req.SetContext(ctx)
12299	req.ApplyOptions(opts...)
12300	return out, req.Send()
12301}
12302
12303const opModifyOptionGroup = "ModifyOptionGroup"
12304
12305// ModifyOptionGroupRequest generates a "aws/request.Request" representing the
12306// client's request for the ModifyOptionGroup operation. The "output" return
12307// value will be populated with the request's response once the request completes
12308// successfully.
12309//
12310// Use "Send" method on the returned Request to send the API call to the service.
12311// the "output" return value is not valid until after Send returns without error.
12312//
12313// See ModifyOptionGroup for more information on using the ModifyOptionGroup
12314// API call, and error handling.
12315//
12316// This method is useful when you want to inject custom logic or configuration
12317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12318//
12319//
12320//    // Example sending a request using the ModifyOptionGroupRequest method.
12321//    req, resp := client.ModifyOptionGroupRequest(params)
12322//
12323//    err := req.Send()
12324//    if err == nil { // resp is now filled
12325//        fmt.Println(resp)
12326//    }
12327//
12328// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
12329func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *request.Request, output *ModifyOptionGroupOutput) {
12330	op := &request.Operation{
12331		Name:       opModifyOptionGroup,
12332		HTTPMethod: "POST",
12333		HTTPPath:   "/",
12334	}
12335
12336	if input == nil {
12337		input = &ModifyOptionGroupInput{}
12338	}
12339
12340	output = &ModifyOptionGroupOutput{}
12341	req = c.newRequest(op, input, output)
12342	return
12343}
12344
12345// ModifyOptionGroup API operation for Amazon Relational Database Service.
12346//
12347// Modifies an existing option group.
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 ModifyOptionGroup for usage and error information.
12355//
12356// Returned Error Codes:
12357//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
12358//   The option group isn't in the available state.
12359//
12360//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12361//   The specified option group could not be found.
12362//
12363// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
12364func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGroupOutput, error) {
12365	req, out := c.ModifyOptionGroupRequest(input)
12366	return out, req.Send()
12367}
12368
12369// ModifyOptionGroupWithContext is the same as ModifyOptionGroup with the addition of
12370// the ability to pass a context and additional request options.
12371//
12372// See ModifyOptionGroup for details on how to use this API operation.
12373//
12374// The context must be non-nil and will be used for request cancellation. If
12375// the context is nil a panic will occur. In the future the SDK may create
12376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12377// for more information on using Contexts.
12378func (c *RDS) ModifyOptionGroupWithContext(ctx aws.Context, input *ModifyOptionGroupInput, opts ...request.Option) (*ModifyOptionGroupOutput, error) {
12379	req, out := c.ModifyOptionGroupRequest(input)
12380	req.SetContext(ctx)
12381	req.ApplyOptions(opts...)
12382	return out, req.Send()
12383}
12384
12385const opPromoteReadReplica = "PromoteReadReplica"
12386
12387// PromoteReadReplicaRequest generates a "aws/request.Request" representing the
12388// client's request for the PromoteReadReplica operation. The "output" return
12389// value will be populated with the request's response once the request completes
12390// successfully.
12391//
12392// Use "Send" method on the returned Request to send the API call to the service.
12393// the "output" return value is not valid until after Send returns without error.
12394//
12395// See PromoteReadReplica for more information on using the PromoteReadReplica
12396// API call, and error handling.
12397//
12398// This method is useful when you want to inject custom logic or configuration
12399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12400//
12401//
12402//    // Example sending a request using the PromoteReadReplicaRequest method.
12403//    req, resp := client.PromoteReadReplicaRequest(params)
12404//
12405//    err := req.Send()
12406//    if err == nil { // resp is now filled
12407//        fmt.Println(resp)
12408//    }
12409//
12410// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
12411func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *request.Request, output *PromoteReadReplicaOutput) {
12412	op := &request.Operation{
12413		Name:       opPromoteReadReplica,
12414		HTTPMethod: "POST",
12415		HTTPPath:   "/",
12416	}
12417
12418	if input == nil {
12419		input = &PromoteReadReplicaInput{}
12420	}
12421
12422	output = &PromoteReadReplicaOutput{}
12423	req = c.newRequest(op, input, output)
12424	return
12425}
12426
12427// PromoteReadReplica API operation for Amazon Relational Database Service.
12428//
12429// Promotes a read replica DB instance to a standalone DB instance.
12430//
12431//    * Backup duration is a function of the amount of changes to the database
12432//    since the previous backup. If you plan to promote a read replica to a
12433//    standalone instance, we recommend that you enable backups and complete
12434//    at least one backup prior to promotion. In addition, a read replica cannot
12435//    be promoted to a standalone instance when it is in the backing-up status.
12436//    If you have enabled backups on your read replica, configure the automated
12437//    backup window so that daily backups do not interfere with read replica
12438//    promotion.
12439//
12440//    * This command doesn't apply to Aurora MySQL, Aurora PostgreSQL, or RDS
12441//    Custom.
12442//
12443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12444// with awserr.Error's Code and Message methods to get detailed information about
12445// the error.
12446//
12447// See the AWS API reference guide for Amazon Relational Database Service's
12448// API operation PromoteReadReplica for usage and error information.
12449//
12450// Returned Error Codes:
12451//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12452//   The DB instance isn't in a valid state.
12453//
12454//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
12455//   DBInstanceIdentifier doesn't refer to an existing DB instance.
12456//
12457// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
12458func (c *RDS) PromoteReadReplica(input *PromoteReadReplicaInput) (*PromoteReadReplicaOutput, error) {
12459	req, out := c.PromoteReadReplicaRequest(input)
12460	return out, req.Send()
12461}
12462
12463// PromoteReadReplicaWithContext is the same as PromoteReadReplica with the addition of
12464// the ability to pass a context and additional request options.
12465//
12466// See PromoteReadReplica for details on how to use this API operation.
12467//
12468// The context must be non-nil and will be used for request cancellation. If
12469// the context is nil a panic will occur. In the future the SDK may create
12470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12471// for more information on using Contexts.
12472func (c *RDS) PromoteReadReplicaWithContext(ctx aws.Context, input *PromoteReadReplicaInput, opts ...request.Option) (*PromoteReadReplicaOutput, error) {
12473	req, out := c.PromoteReadReplicaRequest(input)
12474	req.SetContext(ctx)
12475	req.ApplyOptions(opts...)
12476	return out, req.Send()
12477}
12478
12479const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
12480
12481// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
12482// client's request for the PromoteReadReplicaDBCluster operation. The "output" return
12483// value will be populated with the request's response once the request completes
12484// successfully.
12485//
12486// Use "Send" method on the returned Request to send the API call to the service.
12487// the "output" return value is not valid until after Send returns without error.
12488//
12489// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
12490// API call, and error handling.
12491//
12492// This method is useful when you want to inject custom logic or configuration
12493// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12494//
12495//
12496//    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
12497//    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
12498//
12499//    err := req.Send()
12500//    if err == nil { // resp is now filled
12501//        fmt.Println(resp)
12502//    }
12503//
12504// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
12505func (c *RDS) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
12506	op := &request.Operation{
12507		Name:       opPromoteReadReplicaDBCluster,
12508		HTTPMethod: "POST",
12509		HTTPPath:   "/",
12510	}
12511
12512	if input == nil {
12513		input = &PromoteReadReplicaDBClusterInput{}
12514	}
12515
12516	output = &PromoteReadReplicaDBClusterOutput{}
12517	req = c.newRequest(op, input, output)
12518	return
12519}
12520
12521// PromoteReadReplicaDBCluster API operation for Amazon Relational Database Service.
12522//
12523// Promotes a read replica DB cluster to a standalone DB cluster.
12524//
12525// This action only applies to Aurora DB clusters.
12526//
12527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12528// with awserr.Error's Code and Message methods to get detailed information about
12529// the error.
12530//
12531// See the AWS API reference guide for Amazon Relational Database Service's
12532// API operation PromoteReadReplicaDBCluster for usage and error information.
12533//
12534// Returned Error Codes:
12535//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12536//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12537//
12538//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12539//   The requested operation can't be performed while the cluster is in this state.
12540//
12541// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
12542func (c *RDS) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
12543	req, out := c.PromoteReadReplicaDBClusterRequest(input)
12544	return out, req.Send()
12545}
12546
12547// PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
12548// the ability to pass a context and additional request options.
12549//
12550// See PromoteReadReplicaDBCluster for details on how to use this API operation.
12551//
12552// The context must be non-nil and will be used for request cancellation. If
12553// the context is nil a panic will occur. In the future the SDK may create
12554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12555// for more information on using Contexts.
12556func (c *RDS) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
12557	req, out := c.PromoteReadReplicaDBClusterRequest(input)
12558	req.SetContext(ctx)
12559	req.ApplyOptions(opts...)
12560	return out, req.Send()
12561}
12562
12563const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOffering"
12564
12565// PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the
12566// client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return
12567// value will be populated with the request's response once the request completes
12568// successfully.
12569//
12570// Use "Send" method on the returned Request to send the API call to the service.
12571// the "output" return value is not valid until after Send returns without error.
12572//
12573// See PurchaseReservedDBInstancesOffering for more information on using the PurchaseReservedDBInstancesOffering
12574// API call, and error handling.
12575//
12576// This method is useful when you want to inject custom logic or configuration
12577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12578//
12579//
12580//    // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method.
12581//    req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params)
12582//
12583//    err := req.Send()
12584//    if err == nil { // resp is now filled
12585//        fmt.Println(resp)
12586//    }
12587//
12588// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
12589func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReservedDBInstancesOfferingInput) (req *request.Request, output *PurchaseReservedDBInstancesOfferingOutput) {
12590	op := &request.Operation{
12591		Name:       opPurchaseReservedDBInstancesOffering,
12592		HTTPMethod: "POST",
12593		HTTPPath:   "/",
12594	}
12595
12596	if input == nil {
12597		input = &PurchaseReservedDBInstancesOfferingInput{}
12598	}
12599
12600	output = &PurchaseReservedDBInstancesOfferingOutput{}
12601	req = c.newRequest(op, input, output)
12602	return
12603}
12604
12605// PurchaseReservedDBInstancesOffering API operation for Amazon Relational Database Service.
12606//
12607// Purchases a reserved DB instance offering.
12608//
12609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12610// with awserr.Error's Code and Message methods to get detailed information about
12611// the error.
12612//
12613// See the AWS API reference guide for Amazon Relational Database Service's
12614// API operation PurchaseReservedDBInstancesOffering for usage and error information.
12615//
12616// Returned Error Codes:
12617//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
12618//   Specified offering does not exist.
12619//
12620//   * ErrCodeReservedDBInstanceAlreadyExistsFault "ReservedDBInstanceAlreadyExists"
12621//   User already has a reservation with the given identifier.
12622//
12623//   * ErrCodeReservedDBInstanceQuotaExceededFault "ReservedDBInstanceQuotaExceeded"
12624//   Request would exceed the user's DB Instance quota.
12625//
12626// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
12627func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInstancesOfferingInput) (*PurchaseReservedDBInstancesOfferingOutput, error) {
12628	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
12629	return out, req.Send()
12630}
12631
12632// PurchaseReservedDBInstancesOfferingWithContext is the same as PurchaseReservedDBInstancesOffering with the addition of
12633// the ability to pass a context and additional request options.
12634//
12635// See PurchaseReservedDBInstancesOffering for details on how to use this API operation.
12636//
12637// The context must be non-nil and will be used for request cancellation. If
12638// the context is nil a panic will occur. In the future the SDK may create
12639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12640// for more information on using Contexts.
12641func (c *RDS) PurchaseReservedDBInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedDBInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedDBInstancesOfferingOutput, error) {
12642	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
12643	req.SetContext(ctx)
12644	req.ApplyOptions(opts...)
12645	return out, req.Send()
12646}
12647
12648const opRebootDBInstance = "RebootDBInstance"
12649
12650// RebootDBInstanceRequest generates a "aws/request.Request" representing the
12651// client's request for the RebootDBInstance operation. The "output" return
12652// value will be populated with the request's response once the request completes
12653// successfully.
12654//
12655// Use "Send" method on the returned Request to send the API call to the service.
12656// the "output" return value is not valid until after Send returns without error.
12657//
12658// See RebootDBInstance for more information on using the RebootDBInstance
12659// API call, and error handling.
12660//
12661// This method is useful when you want to inject custom logic or configuration
12662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12663//
12664//
12665//    // Example sending a request using the RebootDBInstanceRequest method.
12666//    req, resp := client.RebootDBInstanceRequest(params)
12667//
12668//    err := req.Send()
12669//    if err == nil { // resp is now filled
12670//        fmt.Println(resp)
12671//    }
12672//
12673// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
12674func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
12675	op := &request.Operation{
12676		Name:       opRebootDBInstance,
12677		HTTPMethod: "POST",
12678		HTTPPath:   "/",
12679	}
12680
12681	if input == nil {
12682		input = &RebootDBInstanceInput{}
12683	}
12684
12685	output = &RebootDBInstanceOutput{}
12686	req = c.newRequest(op, input, output)
12687	return
12688}
12689
12690// RebootDBInstance API operation for Amazon Relational Database Service.
12691//
12692// You might need to reboot your DB instance, usually for maintenance reasons.
12693// For example, if you make certain modifications, or if you change the DB parameter
12694// group associated with the DB instance, you must reboot the instance for the
12695// changes to take effect.
12696//
12697// Rebooting a DB instance restarts the database engine service. Rebooting a
12698// DB instance results in a momentary outage, during which the DB instance status
12699// is set to rebooting.
12700//
12701// For more information about rebooting, see Rebooting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html)
12702// in the Amazon RDS User Guide.
12703//
12704// This command doesn't apply to RDS Custom.
12705//
12706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12707// with awserr.Error's Code and Message methods to get detailed information about
12708// the error.
12709//
12710// See the AWS API reference guide for Amazon Relational Database Service's
12711// API operation RebootDBInstance for usage and error information.
12712//
12713// Returned Error Codes:
12714//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12715//   The DB instance isn't in a valid state.
12716//
12717//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
12718//   DBInstanceIdentifier doesn't refer to an existing DB instance.
12719//
12720// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
12721func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
12722	req, out := c.RebootDBInstanceRequest(input)
12723	return out, req.Send()
12724}
12725
12726// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
12727// the ability to pass a context and additional request options.
12728//
12729// See RebootDBInstance for details on how to use this API operation.
12730//
12731// The context must be non-nil and will be used for request cancellation. If
12732// the context is nil a panic will occur. In the future the SDK may create
12733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12734// for more information on using Contexts.
12735func (c *RDS) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
12736	req, out := c.RebootDBInstanceRequest(input)
12737	req.SetContext(ctx)
12738	req.ApplyOptions(opts...)
12739	return out, req.Send()
12740}
12741
12742const opRegisterDBProxyTargets = "RegisterDBProxyTargets"
12743
12744// RegisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
12745// client's request for the RegisterDBProxyTargets operation. The "output" return
12746// value will be populated with the request's response once the request completes
12747// successfully.
12748//
12749// Use "Send" method on the returned Request to send the API call to the service.
12750// the "output" return value is not valid until after Send returns without error.
12751//
12752// See RegisterDBProxyTargets for more information on using the RegisterDBProxyTargets
12753// API call, and error handling.
12754//
12755// This method is useful when you want to inject custom logic or configuration
12756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12757//
12758//
12759//    // Example sending a request using the RegisterDBProxyTargetsRequest method.
12760//    req, resp := client.RegisterDBProxyTargetsRequest(params)
12761//
12762//    err := req.Send()
12763//    if err == nil { // resp is now filled
12764//        fmt.Println(resp)
12765//    }
12766//
12767// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
12768func (c *RDS) RegisterDBProxyTargetsRequest(input *RegisterDBProxyTargetsInput) (req *request.Request, output *RegisterDBProxyTargetsOutput) {
12769	op := &request.Operation{
12770		Name:       opRegisterDBProxyTargets,
12771		HTTPMethod: "POST",
12772		HTTPPath:   "/",
12773	}
12774
12775	if input == nil {
12776		input = &RegisterDBProxyTargetsInput{}
12777	}
12778
12779	output = &RegisterDBProxyTargetsOutput{}
12780	req = c.newRequest(op, input, output)
12781	return
12782}
12783
12784// RegisterDBProxyTargets API operation for Amazon Relational Database Service.
12785//
12786// Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup.
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 RegisterDBProxyTargets for usage and error information.
12794//
12795// Returned Error Codes:
12796//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
12797//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
12798//   Web Services account in the specified Amazon Web Services Region.
12799//
12800//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
12801//   The specified target group isn't available for a proxy owned by your Amazon
12802//   Web Services account in the specified Amazon Web Services Region.
12803//
12804//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12805//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12806//
12807//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
12808//   DBInstanceIdentifier doesn't refer to an existing DB instance.
12809//
12810//   * ErrCodeDBProxyTargetAlreadyRegisteredFault "DBProxyTargetAlreadyRegisteredFault"
12811//   The proxy is already associated with the specified RDS DB instance or Aurora
12812//   DB cluster.
12813//
12814//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12815//   The DB instance isn't in a valid state.
12816//
12817//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12818//   The requested operation can't be performed while the cluster is in this state.
12819//
12820//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
12821//   The requested operation can't be performed while the proxy is in this state.
12822//
12823//   * ErrCodeInsufficientAvailableIPsInSubnetFault "InsufficientAvailableIPsInSubnetFault"
12824//   The requested operation can't be performed because there aren't enough available
12825//   IP addresses in the proxy's subnets. Add more CIDR blocks to the VPC or remove
12826//   IP address that aren't required from the subnets.
12827//
12828// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
12829func (c *RDS) RegisterDBProxyTargets(input *RegisterDBProxyTargetsInput) (*RegisterDBProxyTargetsOutput, error) {
12830	req, out := c.RegisterDBProxyTargetsRequest(input)
12831	return out, req.Send()
12832}
12833
12834// RegisterDBProxyTargetsWithContext is the same as RegisterDBProxyTargets with the addition of
12835// the ability to pass a context and additional request options.
12836//
12837// See RegisterDBProxyTargets for details on how to use this API operation.
12838//
12839// The context must be non-nil and will be used for request cancellation. If
12840// the context is nil a panic will occur. In the future the SDK may create
12841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12842// for more information on using Contexts.
12843func (c *RDS) RegisterDBProxyTargetsWithContext(ctx aws.Context, input *RegisterDBProxyTargetsInput, opts ...request.Option) (*RegisterDBProxyTargetsOutput, error) {
12844	req, out := c.RegisterDBProxyTargetsRequest(input)
12845	req.SetContext(ctx)
12846	req.ApplyOptions(opts...)
12847	return out, req.Send()
12848}
12849
12850const opRemoveFromGlobalCluster = "RemoveFromGlobalCluster"
12851
12852// RemoveFromGlobalClusterRequest generates a "aws/request.Request" representing the
12853// client's request for the RemoveFromGlobalCluster operation. The "output" return
12854// value will be populated with the request's response once the request completes
12855// successfully.
12856//
12857// Use "Send" method on the returned Request to send the API call to the service.
12858// the "output" return value is not valid until after Send returns without error.
12859//
12860// See RemoveFromGlobalCluster for more information on using the RemoveFromGlobalCluster
12861// API call, and error handling.
12862//
12863// This method is useful when you want to inject custom logic or configuration
12864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12865//
12866//
12867//    // Example sending a request using the RemoveFromGlobalClusterRequest method.
12868//    req, resp := client.RemoveFromGlobalClusterRequest(params)
12869//
12870//    err := req.Send()
12871//    if err == nil { // resp is now filled
12872//        fmt.Println(resp)
12873//    }
12874//
12875// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
12876func (c *RDS) RemoveFromGlobalClusterRequest(input *RemoveFromGlobalClusterInput) (req *request.Request, output *RemoveFromGlobalClusterOutput) {
12877	op := &request.Operation{
12878		Name:       opRemoveFromGlobalCluster,
12879		HTTPMethod: "POST",
12880		HTTPPath:   "/",
12881	}
12882
12883	if input == nil {
12884		input = &RemoveFromGlobalClusterInput{}
12885	}
12886
12887	output = &RemoveFromGlobalClusterOutput{}
12888	req = c.newRequest(op, input, output)
12889	return
12890}
12891
12892// RemoveFromGlobalCluster API operation for Amazon Relational Database Service.
12893//
12894// Detaches an Aurora secondary cluster from an Aurora global database cluster.
12895// The cluster becomes a standalone cluster with read-write capability instead
12896// of being read-only and receiving data from a primary cluster in a different
12897// region.
12898//
12899// This action only applies to Aurora DB clusters.
12900//
12901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12902// with awserr.Error's Code and Message methods to get detailed information about
12903// the error.
12904//
12905// See the AWS API reference guide for Amazon Relational Database Service's
12906// API operation RemoveFromGlobalCluster for usage and error information.
12907//
12908// Returned Error Codes:
12909//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
12910//   The GlobalClusterIdentifier doesn't refer to an existing global database
12911//   cluster.
12912//
12913//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
12914//   The global cluster is in an invalid state and can't perform the requested
12915//   operation.
12916//
12917//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12918//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12919//
12920// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
12921func (c *RDS) RemoveFromGlobalCluster(input *RemoveFromGlobalClusterInput) (*RemoveFromGlobalClusterOutput, error) {
12922	req, out := c.RemoveFromGlobalClusterRequest(input)
12923	return out, req.Send()
12924}
12925
12926// RemoveFromGlobalClusterWithContext is the same as RemoveFromGlobalCluster with the addition of
12927// the ability to pass a context and additional request options.
12928//
12929// See RemoveFromGlobalCluster for details on how to use this API operation.
12930//
12931// The context must be non-nil and will be used for request cancellation. If
12932// the context is nil a panic will occur. In the future the SDK may create
12933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12934// for more information on using Contexts.
12935func (c *RDS) RemoveFromGlobalClusterWithContext(ctx aws.Context, input *RemoveFromGlobalClusterInput, opts ...request.Option) (*RemoveFromGlobalClusterOutput, error) {
12936	req, out := c.RemoveFromGlobalClusterRequest(input)
12937	req.SetContext(ctx)
12938	req.ApplyOptions(opts...)
12939	return out, req.Send()
12940}
12941
12942const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
12943
12944// RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
12945// client's request for the RemoveRoleFromDBCluster operation. The "output" return
12946// value will be populated with the request's response once the request completes
12947// successfully.
12948//
12949// Use "Send" method on the returned Request to send the API call to the service.
12950// the "output" return value is not valid until after Send returns without error.
12951//
12952// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
12953// API call, and error handling.
12954//
12955// This method is useful when you want to inject custom logic or configuration
12956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12957//
12958//
12959//    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
12960//    req, resp := client.RemoveRoleFromDBClusterRequest(params)
12961//
12962//    err := req.Send()
12963//    if err == nil { // resp is now filled
12964//        fmt.Println(resp)
12965//    }
12966//
12967// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
12968func (c *RDS) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
12969	op := &request.Operation{
12970		Name:       opRemoveRoleFromDBCluster,
12971		HTTPMethod: "POST",
12972		HTTPPath:   "/",
12973	}
12974
12975	if input == nil {
12976		input = &RemoveRoleFromDBClusterInput{}
12977	}
12978
12979	output = &RemoveRoleFromDBClusterOutput{}
12980	req = c.newRequest(op, input, output)
12981	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12982	return
12983}
12984
12985// RemoveRoleFromDBCluster API operation for Amazon Relational Database Service.
12986//
12987// Disassociates an Amazon Web Services Identity and Access Management (IAM)
12988// role from an Amazon Aurora DB cluster. For more information, see Authorizing
12989// Amazon Aurora MySQL to Access Other Amazon Web Services Services on Your
12990// Behalf (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html)
12991// in the Amazon Aurora User Guide.
12992//
12993// This action only applies to Aurora DB clusters.
12994//
12995// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12996// with awserr.Error's Code and Message methods to get detailed information about
12997// the error.
12998//
12999// See the AWS API reference guide for Amazon Relational Database Service's
13000// API operation RemoveRoleFromDBCluster for usage and error information.
13001//
13002// Returned Error Codes:
13003//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13004//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13005//
13006//   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
13007//   The specified IAM role Amazon Resource Name (ARN) isn't associated with the
13008//   specified DB cluster.
13009//
13010//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13011//   The requested operation can't be performed while the cluster is in this state.
13012//
13013// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
13014func (c *RDS) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
13015	req, out := c.RemoveRoleFromDBClusterRequest(input)
13016	return out, req.Send()
13017}
13018
13019// RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
13020// the ability to pass a context and additional request options.
13021//
13022// See RemoveRoleFromDBCluster for details on how to use this API operation.
13023//
13024// The context must be non-nil and will be used for request cancellation. If
13025// the context is nil a panic will occur. In the future the SDK may create
13026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13027// for more information on using Contexts.
13028func (c *RDS) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
13029	req, out := c.RemoveRoleFromDBClusterRequest(input)
13030	req.SetContext(ctx)
13031	req.ApplyOptions(opts...)
13032	return out, req.Send()
13033}
13034
13035const opRemoveRoleFromDBInstance = "RemoveRoleFromDBInstance"
13036
13037// RemoveRoleFromDBInstanceRequest generates a "aws/request.Request" representing the
13038// client's request for the RemoveRoleFromDBInstance operation. The "output" return
13039// value will be populated with the request's response once the request completes
13040// successfully.
13041//
13042// Use "Send" method on the returned Request to send the API call to the service.
13043// the "output" return value is not valid until after Send returns without error.
13044//
13045// See RemoveRoleFromDBInstance for more information on using the RemoveRoleFromDBInstance
13046// API call, and error handling.
13047//
13048// This method is useful when you want to inject custom logic or configuration
13049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13050//
13051//
13052//    // Example sending a request using the RemoveRoleFromDBInstanceRequest method.
13053//    req, resp := client.RemoveRoleFromDBInstanceRequest(params)
13054//
13055//    err := req.Send()
13056//    if err == nil { // resp is now filled
13057//        fmt.Println(resp)
13058//    }
13059//
13060// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
13061func (c *RDS) RemoveRoleFromDBInstanceRequest(input *RemoveRoleFromDBInstanceInput) (req *request.Request, output *RemoveRoleFromDBInstanceOutput) {
13062	op := &request.Operation{
13063		Name:       opRemoveRoleFromDBInstance,
13064		HTTPMethod: "POST",
13065		HTTPPath:   "/",
13066	}
13067
13068	if input == nil {
13069		input = &RemoveRoleFromDBInstanceInput{}
13070	}
13071
13072	output = &RemoveRoleFromDBInstanceOutput{}
13073	req = c.newRequest(op, input, output)
13074	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13075	return
13076}
13077
13078// RemoveRoleFromDBInstance API operation for Amazon Relational Database Service.
13079//
13080// Disassociates an Amazon Web Services Identity and Access Management (IAM)
13081// role from a DB instance.
13082//
13083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13084// with awserr.Error's Code and Message methods to get detailed information about
13085// the error.
13086//
13087// See the AWS API reference guide for Amazon Relational Database Service's
13088// API operation RemoveRoleFromDBInstance for usage and error information.
13089//
13090// Returned Error Codes:
13091//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13092//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13093//
13094//   * ErrCodeDBInstanceRoleNotFoundFault "DBInstanceRoleNotFound"
13095//   The specified RoleArn value doesn't match the specified feature for the DB
13096//   instance.
13097//
13098//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13099//   The DB instance isn't in a valid state.
13100//
13101// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
13102func (c *RDS) RemoveRoleFromDBInstance(input *RemoveRoleFromDBInstanceInput) (*RemoveRoleFromDBInstanceOutput, error) {
13103	req, out := c.RemoveRoleFromDBInstanceRequest(input)
13104	return out, req.Send()
13105}
13106
13107// RemoveRoleFromDBInstanceWithContext is the same as RemoveRoleFromDBInstance with the addition of
13108// the ability to pass a context and additional request options.
13109//
13110// See RemoveRoleFromDBInstance for details on how to use this API operation.
13111//
13112// The context must be non-nil and will be used for request cancellation. If
13113// the context is nil a panic will occur. In the future the SDK may create
13114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13115// for more information on using Contexts.
13116func (c *RDS) RemoveRoleFromDBInstanceWithContext(ctx aws.Context, input *RemoveRoleFromDBInstanceInput, opts ...request.Option) (*RemoveRoleFromDBInstanceOutput, error) {
13117	req, out := c.RemoveRoleFromDBInstanceRequest(input)
13118	req.SetContext(ctx)
13119	req.ApplyOptions(opts...)
13120	return out, req.Send()
13121}
13122
13123const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
13124
13125// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
13126// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
13127// value will be populated with the request's response once the request completes
13128// successfully.
13129//
13130// Use "Send" method on the returned Request to send the API call to the service.
13131// the "output" return value is not valid until after Send returns without error.
13132//
13133// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
13134// API call, and error handling.
13135//
13136// This method is useful when you want to inject custom logic or configuration
13137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13138//
13139//
13140//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
13141//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
13142//
13143//    err := req.Send()
13144//    if err == nil { // resp is now filled
13145//        fmt.Println(resp)
13146//    }
13147//
13148// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
13149func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
13150	op := &request.Operation{
13151		Name:       opRemoveSourceIdentifierFromSubscription,
13152		HTTPMethod: "POST",
13153		HTTPPath:   "/",
13154	}
13155
13156	if input == nil {
13157		input = &RemoveSourceIdentifierFromSubscriptionInput{}
13158	}
13159
13160	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
13161	req = c.newRequest(op, input, output)
13162	return
13163}
13164
13165// RemoveSourceIdentifierFromSubscription API operation for Amazon Relational Database Service.
13166//
13167// Removes a source identifier from an existing RDS event notification subscription.
13168//
13169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13170// with awserr.Error's Code and Message methods to get detailed information about
13171// the error.
13172//
13173// See the AWS API reference guide for Amazon Relational Database Service's
13174// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
13175//
13176// Returned Error Codes:
13177//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
13178//   The subscription name does not exist.
13179//
13180//   * ErrCodeSourceNotFoundFault "SourceNotFound"
13181//   The requested source could not be found.
13182//
13183// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
13184func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
13185	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
13186	return out, req.Send()
13187}
13188
13189// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
13190// the ability to pass a context and additional request options.
13191//
13192// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
13193//
13194// The context must be non-nil and will be used for request cancellation. If
13195// the context is nil a panic will occur. In the future the SDK may create
13196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13197// for more information on using Contexts.
13198func (c *RDS) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
13199	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
13200	req.SetContext(ctx)
13201	req.ApplyOptions(opts...)
13202	return out, req.Send()
13203}
13204
13205const opRemoveTagsFromResource = "RemoveTagsFromResource"
13206
13207// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
13208// client's request for the RemoveTagsFromResource operation. The "output" return
13209// value will be populated with the request's response once the request completes
13210// successfully.
13211//
13212// Use "Send" method on the returned Request to send the API call to the service.
13213// the "output" return value is not valid until after Send returns without error.
13214//
13215// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
13216// API call, and error handling.
13217//
13218// This method is useful when you want to inject custom logic or configuration
13219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13220//
13221//
13222//    // Example sending a request using the RemoveTagsFromResourceRequest method.
13223//    req, resp := client.RemoveTagsFromResourceRequest(params)
13224//
13225//    err := req.Send()
13226//    if err == nil { // resp is now filled
13227//        fmt.Println(resp)
13228//    }
13229//
13230// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
13231func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
13232	op := &request.Operation{
13233		Name:       opRemoveTagsFromResource,
13234		HTTPMethod: "POST",
13235		HTTPPath:   "/",
13236	}
13237
13238	if input == nil {
13239		input = &RemoveTagsFromResourceInput{}
13240	}
13241
13242	output = &RemoveTagsFromResourceOutput{}
13243	req = c.newRequest(op, input, output)
13244	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13245	return
13246}
13247
13248// RemoveTagsFromResource API operation for Amazon Relational Database Service.
13249//
13250// Removes metadata tags from an Amazon RDS resource.
13251//
13252// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
13253// Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
13254// in the Amazon RDS User Guide.
13255//
13256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13257// with awserr.Error's Code and Message methods to get detailed information about
13258// the error.
13259//
13260// See the AWS API reference guide for Amazon Relational Database Service's
13261// API operation RemoveTagsFromResource for usage and error information.
13262//
13263// Returned Error Codes:
13264//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13265//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13266//
13267//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
13268//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
13269//
13270//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13271//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13272//
13273//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
13274//   The specified proxy name doesn't correspond to a proxy owned by your Amazon
13275//   Web Services account in the specified Amazon Web Services Region.
13276//
13277//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
13278//   The specified target group isn't available for a proxy owned by your Amazon
13279//   Web Services account in the specified Amazon Web Services Region.
13280//
13281// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
13282func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
13283	req, out := c.RemoveTagsFromResourceRequest(input)
13284	return out, req.Send()
13285}
13286
13287// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
13288// the ability to pass a context and additional request options.
13289//
13290// See RemoveTagsFromResource for details on how to use this API operation.
13291//
13292// The context must be non-nil and will be used for request cancellation. If
13293// the context is nil a panic will occur. In the future the SDK may create
13294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13295// for more information on using Contexts.
13296func (c *RDS) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
13297	req, out := c.RemoveTagsFromResourceRequest(input)
13298	req.SetContext(ctx)
13299	req.ApplyOptions(opts...)
13300	return out, req.Send()
13301}
13302
13303const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
13304
13305// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
13306// client's request for the ResetDBClusterParameterGroup operation. The "output" return
13307// value will be populated with the request's response once the request completes
13308// successfully.
13309//
13310// Use "Send" method on the returned Request to send the API call to the service.
13311// the "output" return value is not valid until after Send returns without error.
13312//
13313// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
13314// API call, and error handling.
13315//
13316// This method is useful when you want to inject custom logic or configuration
13317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13318//
13319//
13320//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
13321//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
13322//
13323//    err := req.Send()
13324//    if err == nil { // resp is now filled
13325//        fmt.Println(resp)
13326//    }
13327//
13328// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
13329func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
13330	op := &request.Operation{
13331		Name:       opResetDBClusterParameterGroup,
13332		HTTPMethod: "POST",
13333		HTTPPath:   "/",
13334	}
13335
13336	if input == nil {
13337		input = &ResetDBClusterParameterGroupInput{}
13338	}
13339
13340	output = &DBClusterParameterGroupNameMessage{}
13341	req = c.newRequest(op, input, output)
13342	return
13343}
13344
13345// ResetDBClusterParameterGroup API operation for Amazon Relational Database Service.
13346//
13347// Modifies the parameters of a DB cluster parameter group to the default value.
13348// To reset specific parameters submit a list of the following: ParameterName
13349// and ApplyMethod. To reset the entire DB cluster parameter group, specify
13350// the DBClusterParameterGroupName and ResetAllParameters parameters.
13351//
13352// When resetting the entire group, dynamic parameters are updated immediately
13353// and static parameters are set to pending-reboot to take effect on the next
13354// DB instance restart or RebootDBInstance request. You must call RebootDBInstance
13355// for every DB instance in your DB cluster that you want the updated static
13356// parameter to apply to.
13357//
13358// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
13359// in the Amazon Aurora User Guide.
13360//
13361// This action only applies to Aurora DB clusters.
13362//
13363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13364// with awserr.Error's Code and Message methods to get detailed information about
13365// the error.
13366//
13367// See the AWS API reference guide for Amazon Relational Database Service's
13368// API operation ResetDBClusterParameterGroup for usage and error information.
13369//
13370// Returned Error Codes:
13371//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
13372//   The DB parameter group is in use or is in an invalid state. If you are attempting
13373//   to delete the parameter group, you can't delete it when the parameter group
13374//   is in this state.
13375//
13376//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
13377//   DBParameterGroupName doesn't refer to an existing DB parameter group.
13378//
13379// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
13380func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
13381	req, out := c.ResetDBClusterParameterGroupRequest(input)
13382	return out, req.Send()
13383}
13384
13385// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
13386// the ability to pass a context and additional request options.
13387//
13388// See ResetDBClusterParameterGroup for details on how to use this API operation.
13389//
13390// The context must be non-nil and will be used for request cancellation. If
13391// the context is nil a panic will occur. In the future the SDK may create
13392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13393// for more information on using Contexts.
13394func (c *RDS) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
13395	req, out := c.ResetDBClusterParameterGroupRequest(input)
13396	req.SetContext(ctx)
13397	req.ApplyOptions(opts...)
13398	return out, req.Send()
13399}
13400
13401const opResetDBParameterGroup = "ResetDBParameterGroup"
13402
13403// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
13404// client's request for the ResetDBParameterGroup operation. The "output" return
13405// value will be populated with the request's response once the request completes
13406// successfully.
13407//
13408// Use "Send" method on the returned Request to send the API call to the service.
13409// the "output" return value is not valid until after Send returns without error.
13410//
13411// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
13412// API call, and error handling.
13413//
13414// This method is useful when you want to inject custom logic or configuration
13415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13416//
13417//
13418//    // Example sending a request using the ResetDBParameterGroupRequest method.
13419//    req, resp := client.ResetDBParameterGroupRequest(params)
13420//
13421//    err := req.Send()
13422//    if err == nil { // resp is now filled
13423//        fmt.Println(resp)
13424//    }
13425//
13426// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
13427func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
13428	op := &request.Operation{
13429		Name:       opResetDBParameterGroup,
13430		HTTPMethod: "POST",
13431		HTTPPath:   "/",
13432	}
13433
13434	if input == nil {
13435		input = &ResetDBParameterGroupInput{}
13436	}
13437
13438	output = &DBParameterGroupNameMessage{}
13439	req = c.newRequest(op, input, output)
13440	return
13441}
13442
13443// ResetDBParameterGroup API operation for Amazon Relational Database Service.
13444//
13445// Modifies the parameters of a DB parameter group to the engine/system default
13446// value. To reset specific parameters, provide a list of the following: ParameterName
13447// and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
13448// name and ResetAllParameters parameters. When resetting the entire group,
13449// dynamic parameters are updated immediately and static parameters are set
13450// to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
13451// request.
13452//
13453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13454// with awserr.Error's Code and Message methods to get detailed information about
13455// the error.
13456//
13457// See the AWS API reference guide for Amazon Relational Database Service's
13458// API operation ResetDBParameterGroup for usage and error information.
13459//
13460// Returned Error Codes:
13461//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
13462//   The DB parameter group is in use or is in an invalid state. If you are attempting
13463//   to delete the parameter group, you can't delete it when the parameter group
13464//   is in this state.
13465//
13466//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
13467//   DBParameterGroupName doesn't refer to an existing DB parameter group.
13468//
13469// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
13470func (c *RDS) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
13471	req, out := c.ResetDBParameterGroupRequest(input)
13472	return out, req.Send()
13473}
13474
13475// ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
13476// the ability to pass a context and additional request options.
13477//
13478// See ResetDBParameterGroup for details on how to use this API operation.
13479//
13480// The context must be non-nil and will be used for request cancellation. If
13481// the context is nil a panic will occur. In the future the SDK may create
13482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13483// for more information on using Contexts.
13484func (c *RDS) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
13485	req, out := c.ResetDBParameterGroupRequest(input)
13486	req.SetContext(ctx)
13487	req.ApplyOptions(opts...)
13488	return out, req.Send()
13489}
13490
13491const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3"
13492
13493// RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the
13494// client's request for the RestoreDBClusterFromS3 operation. The "output" return
13495// value will be populated with the request's response once the request completes
13496// successfully.
13497//
13498// Use "Send" method on the returned Request to send the API call to the service.
13499// the "output" return value is not valid until after Send returns without error.
13500//
13501// See RestoreDBClusterFromS3 for more information on using the RestoreDBClusterFromS3
13502// API call, and error handling.
13503//
13504// This method is useful when you want to inject custom logic or configuration
13505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13506//
13507//
13508//    // Example sending a request using the RestoreDBClusterFromS3Request method.
13509//    req, resp := client.RestoreDBClusterFromS3Request(params)
13510//
13511//    err := req.Send()
13512//    if err == nil { // resp is now filled
13513//        fmt.Println(resp)
13514//    }
13515//
13516// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
13517func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) (req *request.Request, output *RestoreDBClusterFromS3Output) {
13518	op := &request.Operation{
13519		Name:       opRestoreDBClusterFromS3,
13520		HTTPMethod: "POST",
13521		HTTPPath:   "/",
13522	}
13523
13524	if input == nil {
13525		input = &RestoreDBClusterFromS3Input{}
13526	}
13527
13528	output = &RestoreDBClusterFromS3Output{}
13529	req = c.newRequest(op, input, output)
13530	return
13531}
13532
13533// RestoreDBClusterFromS3 API operation for Amazon Relational Database Service.
13534//
13535// Creates an Amazon Aurora DB cluster from MySQL data stored in an Amazon S3
13536// bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and
13537// the data must be created using the Percona XtraBackup utility as described
13538// in Migrating Data from MySQL by Using an Amazon S3 Bucket (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3)
13539// in the Amazon Aurora User Guide.
13540//
13541// This action only restores the DB cluster, not the DB instances for that DB
13542// cluster. You must invoke the CreateDBInstance action to create DB instances
13543// for the restored DB cluster, specifying the identifier of the restored DB
13544// cluster in DBClusterIdentifier. You can create DB instances only after the
13545// RestoreDBClusterFromS3 action has completed and the DB cluster is available.
13546//
13547// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
13548// in the Amazon Aurora User Guide.
13549//
13550// This action only applies to Aurora DB clusters. The source DB engine must
13551// be MySQL.
13552//
13553// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13554// with awserr.Error's Code and Message methods to get detailed information about
13555// the error.
13556//
13557// See the AWS API reference guide for Amazon Relational Database Service's
13558// API operation RestoreDBClusterFromS3 for usage and error information.
13559//
13560// Returned Error Codes:
13561//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
13562//   The user already has a DB cluster with the given identifier.
13563//
13564//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
13565//   The user attempted to create a new DB cluster and the user has already reached
13566//   the maximum allowed DB cluster quota.
13567//
13568//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
13569//   The request would result in the user exceeding the allowed amount of storage
13570//   available across all DB instances.
13571//
13572//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13573//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13574//
13575//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13576//   The DB subnet group doesn't cover all Availability Zones after it's created
13577//   because of users' change.
13578//
13579//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13580//   The requested operation can't be performed while the cluster is in this state.
13581//
13582//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
13583//   The DB subnet group cannot be deleted because it's in use.
13584//
13585//   * ErrCodeInvalidSubnet "InvalidSubnet"
13586//   The requested subnet is invalid, or multiple subnets were requested that
13587//   are not all in a common VPC.
13588//
13589//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
13590//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
13591//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
13592//   S3IngestionRoleArn values and try again.
13593//
13594//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
13595//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
13596//   group.
13597//
13598//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13599//   An error occurred accessing an Amazon Web Services KMS key.
13600//
13601//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13602//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13603//
13604//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
13605//   Domain doesn't refer to an existing Active Directory domain.
13606//
13607//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
13608//   There is insufficient storage available for the current action. You might
13609//   be able to resolve this error by updating your subnet group to use different
13610//   Availability Zones that have more storage available.
13611//
13612// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
13613func (c *RDS) RestoreDBClusterFromS3(input *RestoreDBClusterFromS3Input) (*RestoreDBClusterFromS3Output, error) {
13614	req, out := c.RestoreDBClusterFromS3Request(input)
13615	return out, req.Send()
13616}
13617
13618// RestoreDBClusterFromS3WithContext is the same as RestoreDBClusterFromS3 with the addition of
13619// the ability to pass a context and additional request options.
13620//
13621// See RestoreDBClusterFromS3 for details on how to use this API operation.
13622//
13623// The context must be non-nil and will be used for request cancellation. If
13624// the context is nil a panic will occur. In the future the SDK may create
13625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13626// for more information on using Contexts.
13627func (c *RDS) RestoreDBClusterFromS3WithContext(ctx aws.Context, input *RestoreDBClusterFromS3Input, opts ...request.Option) (*RestoreDBClusterFromS3Output, error) {
13628	req, out := c.RestoreDBClusterFromS3Request(input)
13629	req.SetContext(ctx)
13630	req.ApplyOptions(opts...)
13631	return out, req.Send()
13632}
13633
13634const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
13635
13636// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
13637// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
13638// value will be populated with the request's response once the request completes
13639// successfully.
13640//
13641// Use "Send" method on the returned Request to send the API call to the service.
13642// the "output" return value is not valid until after Send returns without error.
13643//
13644// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
13645// API call, and error handling.
13646//
13647// This method is useful when you want to inject custom logic or configuration
13648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13649//
13650//
13651//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
13652//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
13653//
13654//    err := req.Send()
13655//    if err == nil { // resp is now filled
13656//        fmt.Println(resp)
13657//    }
13658//
13659// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
13660func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
13661	op := &request.Operation{
13662		Name:       opRestoreDBClusterFromSnapshot,
13663		HTTPMethod: "POST",
13664		HTTPPath:   "/",
13665	}
13666
13667	if input == nil {
13668		input = &RestoreDBClusterFromSnapshotInput{}
13669	}
13670
13671	output = &RestoreDBClusterFromSnapshotOutput{}
13672	req = c.newRequest(op, input, output)
13673	return
13674}
13675
13676// RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service.
13677//
13678// Creates a new DB cluster from a DB snapshot or DB cluster snapshot. This
13679// action only applies to Aurora DB clusters.
13680//
13681// The target DB cluster is created from the source snapshot with a default
13682// configuration. If you don't specify a security group, the new DB cluster
13683// is associated with the default security group.
13684//
13685// This action only restores the DB cluster, not the DB instances for that DB
13686// cluster. You must invoke the CreateDBInstance action to create DB instances
13687// for the restored DB cluster, specifying the identifier of the restored DB
13688// cluster in DBClusterIdentifier. You can create DB instances only after the
13689// RestoreDBClusterFromSnapshot action has completed and the DB cluster is available.
13690//
13691// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
13692// in the Amazon Aurora User Guide.
13693//
13694// This action only applies to Aurora DB clusters.
13695//
13696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13697// with awserr.Error's Code and Message methods to get detailed information about
13698// the error.
13699//
13700// See the AWS API reference guide for Amazon Relational Database Service's
13701// API operation RestoreDBClusterFromSnapshot for usage and error information.
13702//
13703// Returned Error Codes:
13704//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
13705//   The user already has a DB cluster with the given identifier.
13706//
13707//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
13708//   The user attempted to create a new DB cluster and the user has already reached
13709//   the maximum allowed DB cluster quota.
13710//
13711//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
13712//   The request would result in the user exceeding the allowed amount of storage
13713//   available across all DB instances.
13714//
13715//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13716//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13717//
13718//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
13719//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
13720//
13721//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
13722//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
13723//
13724//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
13725//   The DB cluster doesn't have enough capacity for the current operation.
13726//
13727//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
13728//   There is insufficient storage available for the current action. You might
13729//   be able to resolve this error by updating your subnet group to use different
13730//   Availability Zones that have more storage available.
13731//
13732//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
13733//   The state of the DB snapshot doesn't allow deletion.
13734//
13735//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
13736//   The supplied value isn't a valid DB cluster snapshot state.
13737//
13738//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
13739//   The request would result in the user exceeding the allowed amount of storage
13740//   available across all DB instances.
13741//
13742//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13743//   The DB subnet group doesn't cover all Availability Zones after it's created
13744//   because of users' change.
13745//
13746//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
13747//   Cannot restore from VPC backup to non-VPC DB instance.
13748//
13749//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13750//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13751//
13752//   * ErrCodeInvalidSubnet "InvalidSubnet"
13753//   The requested subnet is invalid, or multiple subnets were requested that
13754//   are not all in a common VPC.
13755//
13756//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
13757//   The specified option group could not be found.
13758//
13759//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13760//   An error occurred accessing an Amazon Web Services KMS key.
13761//
13762//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
13763//   Domain doesn't refer to an existing Active Directory domain.
13764//
13765//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
13766//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
13767//   group.
13768//
13769// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
13770func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
13771	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
13772	return out, req.Send()
13773}
13774
13775// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
13776// the ability to pass a context and additional request options.
13777//
13778// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
13779//
13780// The context must be non-nil and will be used for request cancellation. If
13781// the context is nil a panic will occur. In the future the SDK may create
13782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13783// for more information on using Contexts.
13784func (c *RDS) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
13785	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
13786	req.SetContext(ctx)
13787	req.ApplyOptions(opts...)
13788	return out, req.Send()
13789}
13790
13791const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
13792
13793// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
13794// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
13795// value will be populated with the request's response once the request completes
13796// successfully.
13797//
13798// Use "Send" method on the returned Request to send the API call to the service.
13799// the "output" return value is not valid until after Send returns without error.
13800//
13801// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
13802// API call, and error handling.
13803//
13804// This method is useful when you want to inject custom logic or configuration
13805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13806//
13807//
13808//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
13809//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
13810//
13811//    err := req.Send()
13812//    if err == nil { // resp is now filled
13813//        fmt.Println(resp)
13814//    }
13815//
13816// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
13817func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
13818	op := &request.Operation{
13819		Name:       opRestoreDBClusterToPointInTime,
13820		HTTPMethod: "POST",
13821		HTTPPath:   "/",
13822	}
13823
13824	if input == nil {
13825		input = &RestoreDBClusterToPointInTimeInput{}
13826	}
13827
13828	output = &RestoreDBClusterToPointInTimeOutput{}
13829	req = c.newRequest(op, input, output)
13830	return
13831}
13832
13833// RestoreDBClusterToPointInTime API operation for Amazon Relational Database Service.
13834//
13835// Restores a DB cluster to an arbitrary point in time. Users can restore to
13836// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
13837// days. The target DB cluster is created from the source DB cluster with the
13838// same configuration as the original DB cluster, except that the new DB cluster
13839// is created with the default DB security group.
13840//
13841// This action only restores the DB cluster, not the DB instances for that DB
13842// cluster. You must invoke the CreateDBInstance action to create DB instances
13843// for the restored DB cluster, specifying the identifier of the restored DB
13844// cluster in DBClusterIdentifier. You can create DB instances only after the
13845// RestoreDBClusterToPointInTime action has completed and the DB cluster is
13846// available.
13847//
13848// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
13849// in the Amazon Aurora User Guide.
13850//
13851// This action only applies to Aurora DB clusters.
13852//
13853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13854// with awserr.Error's Code and Message methods to get detailed information about
13855// the error.
13856//
13857// See the AWS API reference guide for Amazon Relational Database Service's
13858// API operation RestoreDBClusterToPointInTime for usage and error information.
13859//
13860// Returned Error Codes:
13861//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
13862//   The user already has a DB cluster with the given identifier.
13863//
13864//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13865//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13866//
13867//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
13868//   The user attempted to create a new DB cluster and the user has already reached
13869//   the maximum allowed DB cluster quota.
13870//
13871//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
13872//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
13873//
13874//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13875//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13876//
13877//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
13878//   The DB cluster doesn't have enough capacity for the current operation.
13879//
13880//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
13881//   There is insufficient storage available for the current action. You might
13882//   be able to resolve this error by updating your subnet group to use different
13883//   Availability Zones that have more storage available.
13884//
13885//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
13886//   The supplied value isn't a valid DB cluster snapshot state.
13887//
13888//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13889//   The requested operation can't be performed while the cluster is in this state.
13890//
13891//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
13892//   The state of the DB snapshot doesn't allow deletion.
13893//
13894//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
13895//   Cannot restore from VPC backup to non-VPC DB instance.
13896//
13897//   * ErrCodeInvalidSubnet "InvalidSubnet"
13898//   The requested subnet is invalid, or multiple subnets were requested that
13899//   are not all in a common VPC.
13900//
13901//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13902//   The DB subnet group doesn't cover all Availability Zones after it's created
13903//   because of users' change.
13904//
13905//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13906//   An error occurred accessing an Amazon Web Services KMS key.
13907//
13908//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
13909//   The specified option group could not be found.
13910//
13911//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
13912//   The request would result in the user exceeding the allowed amount of storage
13913//   available across all DB instances.
13914//
13915//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
13916//   Domain doesn't refer to an existing Active Directory domain.
13917//
13918//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
13919//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
13920//   group.
13921//
13922// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
13923func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
13924	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
13925	return out, req.Send()
13926}
13927
13928// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
13929// the ability to pass a context and additional request options.
13930//
13931// See RestoreDBClusterToPointInTime for details on how to use this API operation.
13932//
13933// The context must be non-nil and will be used for request cancellation. If
13934// the context is nil a panic will occur. In the future the SDK may create
13935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13936// for more information on using Contexts.
13937func (c *RDS) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
13938	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
13939	req.SetContext(ctx)
13940	req.ApplyOptions(opts...)
13941	return out, req.Send()
13942}
13943
13944const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot"
13945
13946// RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the
13947// client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return
13948// value will be populated with the request's response once the request completes
13949// successfully.
13950//
13951// Use "Send" method on the returned Request to send the API call to the service.
13952// the "output" return value is not valid until after Send returns without error.
13953//
13954// See RestoreDBInstanceFromDBSnapshot for more information on using the RestoreDBInstanceFromDBSnapshot
13955// API call, and error handling.
13956//
13957// This method is useful when you want to inject custom logic or configuration
13958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13959//
13960//
13961//    // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method.
13962//    req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params)
13963//
13964//    err := req.Send()
13965//    if err == nil { // resp is now filled
13966//        fmt.Println(resp)
13967//    }
13968//
13969// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
13970func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFromDBSnapshotInput) (req *request.Request, output *RestoreDBInstanceFromDBSnapshotOutput) {
13971	op := &request.Operation{
13972		Name:       opRestoreDBInstanceFromDBSnapshot,
13973		HTTPMethod: "POST",
13974		HTTPPath:   "/",
13975	}
13976
13977	if input == nil {
13978		input = &RestoreDBInstanceFromDBSnapshotInput{}
13979	}
13980
13981	output = &RestoreDBInstanceFromDBSnapshotOutput{}
13982	req = c.newRequest(op, input, output)
13983	return
13984}
13985
13986// RestoreDBInstanceFromDBSnapshot API operation for Amazon Relational Database Service.
13987//
13988// Creates a new DB instance from a DB snapshot. The target database is created
13989// from the source database restore point with most of the source's original
13990// configuration, including the default security group and DB parameter group.
13991// By default, the new DB instance is created as a Single-AZ deployment, except
13992// when the instance is a SQL Server instance that has an option group associated
13993// with mirroring. In this case, the instance becomes a Multi-AZ deployment,
13994// not a Single-AZ deployment.
13995//
13996// If you want to replace your original DB instance with the new, restored DB
13997// instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot
13998// action. RDS doesn't allow two DB instances with the same name. After you
13999// have renamed your original DB instance with a different identifier, then
14000// you can pass the original name of the DB instance as the DBInstanceIdentifier
14001// in the call to the RestoreDBInstanceFromDBSnapshot action. The result is
14002// that you replace the original DB instance with the DB instance created from
14003// the snapshot.
14004//
14005// If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
14006// must be the ARN of the shared DB snapshot.
14007//
14008// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
14009// use RestoreDBClusterFromSnapshot.
14010//
14011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14012// with awserr.Error's Code and Message methods to get detailed information about
14013// the error.
14014//
14015// See the AWS API reference guide for Amazon Relational Database Service's
14016// API operation RestoreDBInstanceFromDBSnapshot for usage and error information.
14017//
14018// Returned Error Codes:
14019//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
14020//   The user already has a DB instance with the given identifier.
14021//
14022//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
14023//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
14024//
14025//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
14026//   The request would result in the user exceeding the allowed number of DB instances.
14027//
14028//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
14029//   The specified DB instance class isn't available in the specified Availability
14030//   Zone.
14031//
14032//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
14033//   The state of the DB snapshot doesn't allow deletion.
14034//
14035//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
14036//   The request would result in the user exceeding the allowed amount of storage
14037//   available across all DB instances.
14038//
14039//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
14040//   The DB subnet group doesn't cover all Availability Zones after it's created
14041//   because of users' change.
14042//
14043//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
14044//   Cannot restore from VPC backup to non-VPC DB instance.
14045//
14046//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
14047//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
14048//
14049//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
14050//   Subnets in the DB subnet group should cover at least two Availability Zones
14051//   unless there is only one Availability Zone.
14052//
14053//   * ErrCodeInvalidSubnet "InvalidSubnet"
14054//   The requested subnet is invalid, or multiple subnets were requested that
14055//   are not all in a common VPC.
14056//
14057//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
14058//   Provisioned IOPS not available in the specified Availability Zone.
14059//
14060//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
14061//   The specified option group could not be found.
14062//
14063//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
14064//   Storage of the StorageType specified can't be associated with the DB instance.
14065//
14066//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
14067//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
14068//   for the specified DB security group.
14069//
14070//   Or, RDS might not be authorized to perform necessary actions using IAM on
14071//   your behalf.
14072//
14073//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
14074//   An error occurred accessing an Amazon Web Services KMS key.
14075//
14076//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
14077//   DBSecurityGroupName doesn't refer to an existing DB security group.
14078//
14079//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
14080//   Domain doesn't refer to an existing Active Directory domain.
14081//
14082//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
14083//   DBParameterGroupName doesn't refer to an existing DB parameter group.
14084//
14085//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
14086//
14087// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
14088func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
14089	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
14090	return out, req.Send()
14091}
14092
14093// RestoreDBInstanceFromDBSnapshotWithContext is the same as RestoreDBInstanceFromDBSnapshot with the addition of
14094// the ability to pass a context and additional request options.
14095//
14096// See RestoreDBInstanceFromDBSnapshot for details on how to use this API operation.
14097//
14098// The context must be non-nil and will be used for request cancellation. If
14099// the context is nil a panic will occur. In the future the SDK may create
14100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14101// for more information on using Contexts.
14102func (c *RDS) RestoreDBInstanceFromDBSnapshotWithContext(ctx aws.Context, input *RestoreDBInstanceFromDBSnapshotInput, opts ...request.Option) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
14103	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
14104	req.SetContext(ctx)
14105	req.ApplyOptions(opts...)
14106	return out, req.Send()
14107}
14108
14109const opRestoreDBInstanceFromS3 = "RestoreDBInstanceFromS3"
14110
14111// RestoreDBInstanceFromS3Request generates a "aws/request.Request" representing the
14112// client's request for the RestoreDBInstanceFromS3 operation. The "output" return
14113// value will be populated with the request's response once the request completes
14114// successfully.
14115//
14116// Use "Send" method on the returned Request to send the API call to the service.
14117// the "output" return value is not valid until after Send returns without error.
14118//
14119// See RestoreDBInstanceFromS3 for more information on using the RestoreDBInstanceFromS3
14120// API call, and error handling.
14121//
14122// This method is useful when you want to inject custom logic or configuration
14123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14124//
14125//
14126//    // Example sending a request using the RestoreDBInstanceFromS3Request method.
14127//    req, resp := client.RestoreDBInstanceFromS3Request(params)
14128//
14129//    err := req.Send()
14130//    if err == nil { // resp is now filled
14131//        fmt.Println(resp)
14132//    }
14133//
14134// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
14135func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input) (req *request.Request, output *RestoreDBInstanceFromS3Output) {
14136	op := &request.Operation{
14137		Name:       opRestoreDBInstanceFromS3,
14138		HTTPMethod: "POST",
14139		HTTPPath:   "/",
14140	}
14141
14142	if input == nil {
14143		input = &RestoreDBInstanceFromS3Input{}
14144	}
14145
14146	output = &RestoreDBInstanceFromS3Output{}
14147	req = c.newRequest(op, input, output)
14148	return
14149}
14150
14151// RestoreDBInstanceFromS3 API operation for Amazon Relational Database Service.
14152//
14153// Amazon Relational Database Service (Amazon RDS) supports importing MySQL
14154// databases by using backup files. You can create a backup of your on-premises
14155// database, store it on Amazon Simple Storage Service (Amazon S3), and then
14156// restore the backup file onto a new Amazon RDS DB instance running MySQL.
14157// For more information, see Importing Data into an Amazon RDS MySQL DB Instance
14158// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html)
14159// in the Amazon RDS User Guide.
14160//
14161// This command doesn't apply to RDS Custom.
14162//
14163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14164// with awserr.Error's Code and Message methods to get detailed information about
14165// the error.
14166//
14167// See the AWS API reference guide for Amazon Relational Database Service's
14168// API operation RestoreDBInstanceFromS3 for usage and error information.
14169//
14170// Returned Error Codes:
14171//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
14172//   The user already has a DB instance with the given identifier.
14173//
14174//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
14175//   The specified DB instance class isn't available in the specified Availability
14176//   Zone.
14177//
14178//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
14179//   DBParameterGroupName doesn't refer to an existing DB parameter group.
14180//
14181//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
14182//   DBSecurityGroupName doesn't refer to an existing DB security group.
14183//
14184//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
14185//   The request would result in the user exceeding the allowed number of DB instances.
14186//
14187//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
14188//   The request would result in the user exceeding the allowed amount of storage
14189//   available across all DB instances.
14190//
14191//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
14192//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
14193//
14194//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
14195//   Subnets in the DB subnet group should cover at least two Availability Zones
14196//   unless there is only one Availability Zone.
14197//
14198//   * ErrCodeInvalidSubnet "InvalidSubnet"
14199//   The requested subnet is invalid, or multiple subnets were requested that
14200//   are not all in a common VPC.
14201//
14202//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
14203//   The DB subnet group doesn't cover all Availability Zones after it's created
14204//   because of users' change.
14205//
14206//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
14207//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
14208//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
14209//   S3IngestionRoleArn values and try again.
14210//
14211//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
14212//   Provisioned IOPS not available in the specified Availability Zone.
14213//
14214//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
14215//   The specified option group could not be found.
14216//
14217//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
14218//   Storage of the StorageType specified can't be associated with the DB instance.
14219//
14220//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
14221//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
14222//   for the specified DB security group.
14223//
14224//   Or, RDS might not be authorized to perform necessary actions using IAM on
14225//   your behalf.
14226//
14227//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
14228//   An error occurred accessing an Amazon Web Services KMS key.
14229//
14230//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
14231//
14232// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
14233func (c *RDS) RestoreDBInstanceFromS3(input *RestoreDBInstanceFromS3Input) (*RestoreDBInstanceFromS3Output, error) {
14234	req, out := c.RestoreDBInstanceFromS3Request(input)
14235	return out, req.Send()
14236}
14237
14238// RestoreDBInstanceFromS3WithContext is the same as RestoreDBInstanceFromS3 with the addition of
14239// the ability to pass a context and additional request options.
14240//
14241// See RestoreDBInstanceFromS3 for details on how to use this API operation.
14242//
14243// The context must be non-nil and will be used for request cancellation. If
14244// the context is nil a panic will occur. In the future the SDK may create
14245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14246// for more information on using Contexts.
14247func (c *RDS) RestoreDBInstanceFromS3WithContext(ctx aws.Context, input *RestoreDBInstanceFromS3Input, opts ...request.Option) (*RestoreDBInstanceFromS3Output, error) {
14248	req, out := c.RestoreDBInstanceFromS3Request(input)
14249	req.SetContext(ctx)
14250	req.ApplyOptions(opts...)
14251	return out, req.Send()
14252}
14253
14254const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime"
14255
14256// RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the
14257// client's request for the RestoreDBInstanceToPointInTime operation. The "output" return
14258// value will be populated with the request's response once the request completes
14259// successfully.
14260//
14261// Use "Send" method on the returned Request to send the API call to the service.
14262// the "output" return value is not valid until after Send returns without error.
14263//
14264// See RestoreDBInstanceToPointInTime for more information on using the RestoreDBInstanceToPointInTime
14265// API call, and error handling.
14266//
14267// This method is useful when you want to inject custom logic or configuration
14268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14269//
14270//
14271//    // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method.
14272//    req, resp := client.RestoreDBInstanceToPointInTimeRequest(params)
14273//
14274//    err := req.Send()
14275//    if err == nil { // resp is now filled
14276//        fmt.Println(resp)
14277//    }
14278//
14279// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
14280func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPointInTimeInput) (req *request.Request, output *RestoreDBInstanceToPointInTimeOutput) {
14281	op := &request.Operation{
14282		Name:       opRestoreDBInstanceToPointInTime,
14283		HTTPMethod: "POST",
14284		HTTPPath:   "/",
14285	}
14286
14287	if input == nil {
14288		input = &RestoreDBInstanceToPointInTimeInput{}
14289	}
14290
14291	output = &RestoreDBInstanceToPointInTimeOutput{}
14292	req = c.newRequest(op, input, output)
14293	return
14294}
14295
14296// RestoreDBInstanceToPointInTime API operation for Amazon Relational Database Service.
14297//
14298// Restores a DB instance to an arbitrary point in time. You can restore to
14299// any point in time before the time identified by the LatestRestorableTime
14300// property. You can restore to a point up to the number of days specified by
14301// the BackupRetentionPeriod property.
14302//
14303// The target database is created with most of the original configuration, but
14304// in a system-selected Availability Zone, with the default security group,
14305// the default subnet group, and the default DB parameter group. By default,
14306// the new DB instance is created as a single-AZ deployment except when the
14307// instance is a SQL Server instance that has an option group that is associated
14308// with mirroring; in this case, the instance becomes a mirrored deployment
14309// and not a single-AZ deployment.
14310//
14311// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
14312// use RestoreDBClusterToPointInTime.
14313//
14314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14315// with awserr.Error's Code and Message methods to get detailed information about
14316// the error.
14317//
14318// See the AWS API reference guide for Amazon Relational Database Service's
14319// API operation RestoreDBInstanceToPointInTime for usage and error information.
14320//
14321// Returned Error Codes:
14322//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
14323//   The user already has a DB instance with the given identifier.
14324//
14325//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
14326//   DBInstanceIdentifier doesn't refer to an existing DB instance.
14327//
14328//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
14329//   The request would result in the user exceeding the allowed number of DB instances.
14330//
14331//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
14332//   The specified DB instance class isn't available in the specified Availability
14333//   Zone.
14334//
14335//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
14336//   The DB instance isn't in a valid state.
14337//
14338//   * ErrCodePointInTimeRestoreNotEnabledFault "PointInTimeRestoreNotEnabled"
14339//   SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod
14340//   equal to 0.
14341//
14342//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
14343//   The request would result in the user exceeding the allowed amount of storage
14344//   available across all DB instances.
14345//
14346//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
14347//   The DB subnet group doesn't cover all Availability Zones after it's created
14348//   because of users' change.
14349//
14350//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
14351//   Cannot restore from VPC backup to non-VPC DB instance.
14352//
14353//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
14354//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
14355//
14356//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
14357//   Subnets in the DB subnet group should cover at least two Availability Zones
14358//   unless there is only one Availability Zone.
14359//
14360//   * ErrCodeInvalidSubnet "InvalidSubnet"
14361//   The requested subnet is invalid, or multiple subnets were requested that
14362//   are not all in a common VPC.
14363//
14364//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
14365//   Provisioned IOPS not available in the specified Availability Zone.
14366//
14367//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
14368//   The specified option group could not be found.
14369//
14370//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
14371//   Storage of the StorageType specified can't be associated with the DB instance.
14372//
14373//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
14374//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
14375//   for the specified DB security group.
14376//
14377//   Or, RDS might not be authorized to perform necessary actions using IAM on
14378//   your behalf.
14379//
14380//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
14381//   An error occurred accessing an Amazon Web Services KMS key.
14382//
14383//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
14384//   DBSecurityGroupName doesn't refer to an existing DB security group.
14385//
14386//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
14387//   Domain doesn't refer to an existing Active Directory domain.
14388//
14389//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
14390//
14391//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
14392//   DBParameterGroupName doesn't refer to an existing DB parameter group.
14393//
14394//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
14395//   No automated backup for this DB instance was found.
14396//
14397// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
14398func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) {
14399	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
14400	return out, req.Send()
14401}
14402
14403// RestoreDBInstanceToPointInTimeWithContext is the same as RestoreDBInstanceToPointInTime with the addition of
14404// the ability to pass a context and additional request options.
14405//
14406// See RestoreDBInstanceToPointInTime for details on how to use this API operation.
14407//
14408// The context must be non-nil and will be used for request cancellation. If
14409// the context is nil a panic will occur. In the future the SDK may create
14410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14411// for more information on using Contexts.
14412func (c *RDS) RestoreDBInstanceToPointInTimeWithContext(ctx aws.Context, input *RestoreDBInstanceToPointInTimeInput, opts ...request.Option) (*RestoreDBInstanceToPointInTimeOutput, error) {
14413	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
14414	req.SetContext(ctx)
14415	req.ApplyOptions(opts...)
14416	return out, req.Send()
14417}
14418
14419const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress"
14420
14421// RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
14422// client's request for the RevokeDBSecurityGroupIngress operation. The "output" return
14423// value will be populated with the request's response once the request completes
14424// successfully.
14425//
14426// Use "Send" method on the returned Request to send the API call to the service.
14427// the "output" return value is not valid until after Send returns without error.
14428//
14429// See RevokeDBSecurityGroupIngress for more information on using the RevokeDBSecurityGroupIngress
14430// API call, and error handling.
14431//
14432// This method is useful when you want to inject custom logic or configuration
14433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14434//
14435//
14436//    // Example sending a request using the RevokeDBSecurityGroupIngressRequest method.
14437//    req, resp := client.RevokeDBSecurityGroupIngressRequest(params)
14438//
14439//    err := req.Send()
14440//    if err == nil { // resp is now filled
14441//        fmt.Println(resp)
14442//    }
14443//
14444// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
14445func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIngressInput) (req *request.Request, output *RevokeDBSecurityGroupIngressOutput) {
14446	op := &request.Operation{
14447		Name:       opRevokeDBSecurityGroupIngress,
14448		HTTPMethod: "POST",
14449		HTTPPath:   "/",
14450	}
14451
14452	if input == nil {
14453		input = &RevokeDBSecurityGroupIngressInput{}
14454	}
14455
14456	output = &RevokeDBSecurityGroupIngressOutput{}
14457	req = c.newRequest(op, input, output)
14458	return
14459}
14460
14461// RevokeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
14462//
14463// Revokes ingress from a DBSecurityGroup for previously authorized IP ranges
14464// or EC2 or VPC security groups. Required parameters for this API are one of
14465// CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
14466// EC2SecurityGroupName or EC2SecurityGroupId).
14467//
14468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14469// with awserr.Error's Code and Message methods to get detailed information about
14470// the error.
14471//
14472// See the AWS API reference guide for Amazon Relational Database Service's
14473// API operation RevokeDBSecurityGroupIngress for usage and error information.
14474//
14475// Returned Error Codes:
14476//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
14477//   DBSecurityGroupName doesn't refer to an existing DB security group.
14478//
14479//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
14480//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
14481//   for the specified DB security group.
14482//
14483//   Or, RDS might not be authorized to perform necessary actions using IAM on
14484//   your behalf.
14485//
14486//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
14487//   The state of the DB security group doesn't allow deletion.
14488//
14489// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
14490func (c *RDS) RevokeDBSecurityGroupIngress(input *RevokeDBSecurityGroupIngressInput) (*RevokeDBSecurityGroupIngressOutput, error) {
14491	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
14492	return out, req.Send()
14493}
14494
14495// RevokeDBSecurityGroupIngressWithContext is the same as RevokeDBSecurityGroupIngress with the addition of
14496// the ability to pass a context and additional request options.
14497//
14498// See RevokeDBSecurityGroupIngress for details on how to use this API operation.
14499//
14500// The context must be non-nil and will be used for request cancellation. If
14501// the context is nil a panic will occur. In the future the SDK may create
14502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14503// for more information on using Contexts.
14504func (c *RDS) RevokeDBSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeDBSecurityGroupIngressInput, opts ...request.Option) (*RevokeDBSecurityGroupIngressOutput, error) {
14505	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
14506	req.SetContext(ctx)
14507	req.ApplyOptions(opts...)
14508	return out, req.Send()
14509}
14510
14511const opStartActivityStream = "StartActivityStream"
14512
14513// StartActivityStreamRequest generates a "aws/request.Request" representing the
14514// client's request for the StartActivityStream operation. The "output" return
14515// value will be populated with the request's response once the request completes
14516// successfully.
14517//
14518// Use "Send" method on the returned Request to send the API call to the service.
14519// the "output" return value is not valid until after Send returns without error.
14520//
14521// See StartActivityStream for more information on using the StartActivityStream
14522// API call, and error handling.
14523//
14524// This method is useful when you want to inject custom logic or configuration
14525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14526//
14527//
14528//    // Example sending a request using the StartActivityStreamRequest method.
14529//    req, resp := client.StartActivityStreamRequest(params)
14530//
14531//    err := req.Send()
14532//    if err == nil { // resp is now filled
14533//        fmt.Println(resp)
14534//    }
14535//
14536// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
14537func (c *RDS) StartActivityStreamRequest(input *StartActivityStreamInput) (req *request.Request, output *StartActivityStreamOutput) {
14538	op := &request.Operation{
14539		Name:       opStartActivityStream,
14540		HTTPMethod: "POST",
14541		HTTPPath:   "/",
14542	}
14543
14544	if input == nil {
14545		input = &StartActivityStreamInput{}
14546	}
14547
14548	output = &StartActivityStreamOutput{}
14549	req = c.newRequest(op, input, output)
14550	return
14551}
14552
14553// StartActivityStream API operation for Amazon Relational Database Service.
14554//
14555// Starts a database activity stream to monitor activity on the database. For
14556// more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
14557// in the Amazon Aurora User Guide.
14558//
14559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14560// with awserr.Error's Code and Message methods to get detailed information about
14561// the error.
14562//
14563// See the AWS API reference guide for Amazon Relational Database Service's
14564// API operation StartActivityStream for usage and error information.
14565//
14566// Returned Error Codes:
14567//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
14568//   The DB instance isn't in a valid state.
14569//
14570//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
14571//   The requested operation can't be performed while the cluster is in this state.
14572//
14573//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
14574//   The specified resource ID was not found.
14575//
14576//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
14577//   DBClusterIdentifier doesn't refer to an existing DB cluster.
14578//
14579//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
14580//   DBInstanceIdentifier doesn't refer to an existing DB instance.
14581//
14582//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
14583//   An error occurred accessing an Amazon Web Services KMS key.
14584//
14585// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
14586func (c *RDS) StartActivityStream(input *StartActivityStreamInput) (*StartActivityStreamOutput, error) {
14587	req, out := c.StartActivityStreamRequest(input)
14588	return out, req.Send()
14589}
14590
14591// StartActivityStreamWithContext is the same as StartActivityStream with the addition of
14592// the ability to pass a context and additional request options.
14593//
14594// See StartActivityStream for details on how to use this API operation.
14595//
14596// The context must be non-nil and will be used for request cancellation. If
14597// the context is nil a panic will occur. In the future the SDK may create
14598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14599// for more information on using Contexts.
14600func (c *RDS) StartActivityStreamWithContext(ctx aws.Context, input *StartActivityStreamInput, opts ...request.Option) (*StartActivityStreamOutput, error) {
14601	req, out := c.StartActivityStreamRequest(input)
14602	req.SetContext(ctx)
14603	req.ApplyOptions(opts...)
14604	return out, req.Send()
14605}
14606
14607const opStartDBCluster = "StartDBCluster"
14608
14609// StartDBClusterRequest generates a "aws/request.Request" representing the
14610// client's request for the StartDBCluster operation. The "output" return
14611// value will be populated with the request's response once the request completes
14612// successfully.
14613//
14614// Use "Send" method on the returned Request to send the API call to the service.
14615// the "output" return value is not valid until after Send returns without error.
14616//
14617// See StartDBCluster for more information on using the StartDBCluster
14618// API call, and error handling.
14619//
14620// This method is useful when you want to inject custom logic or configuration
14621// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14622//
14623//
14624//    // Example sending a request using the StartDBClusterRequest method.
14625//    req, resp := client.StartDBClusterRequest(params)
14626//
14627//    err := req.Send()
14628//    if err == nil { // resp is now filled
14629//        fmt.Println(resp)
14630//    }
14631//
14632// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
14633func (c *RDS) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
14634	op := &request.Operation{
14635		Name:       opStartDBCluster,
14636		HTTPMethod: "POST",
14637		HTTPPath:   "/",
14638	}
14639
14640	if input == nil {
14641		input = &StartDBClusterInput{}
14642	}
14643
14644	output = &StartDBClusterOutput{}
14645	req = c.newRequest(op, input, output)
14646	return
14647}
14648
14649// StartDBCluster API operation for Amazon Relational Database Service.
14650//
14651// Starts an Amazon Aurora DB cluster that was stopped using the Amazon Web
14652// Services console, the stop-db-cluster CLI command, or the StopDBCluster action.
14653//
14654// For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
14655// in the Amazon Aurora User Guide.
14656//
14657// This action only applies to Aurora DB clusters.
14658//
14659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14660// with awserr.Error's Code and Message methods to get detailed information about
14661// the error.
14662//
14663// See the AWS API reference guide for Amazon Relational Database Service's
14664// API operation StartDBCluster for usage and error information.
14665//
14666// Returned Error Codes:
14667//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
14668//   DBClusterIdentifier doesn't refer to an existing DB cluster.
14669//
14670//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
14671//   The requested operation can't be performed while the cluster is in this state.
14672//
14673//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
14674//   The DB instance isn't in a valid state.
14675//
14676// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
14677func (c *RDS) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
14678	req, out := c.StartDBClusterRequest(input)
14679	return out, req.Send()
14680}
14681
14682// StartDBClusterWithContext is the same as StartDBCluster with the addition of
14683// the ability to pass a context and additional request options.
14684//
14685// See StartDBCluster for details on how to use this API operation.
14686//
14687// The context must be non-nil and will be used for request cancellation. If
14688// the context is nil a panic will occur. In the future the SDK may create
14689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14690// for more information on using Contexts.
14691func (c *RDS) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
14692	req, out := c.StartDBClusterRequest(input)
14693	req.SetContext(ctx)
14694	req.ApplyOptions(opts...)
14695	return out, req.Send()
14696}
14697
14698const opStartDBInstance = "StartDBInstance"
14699
14700// StartDBInstanceRequest generates a "aws/request.Request" representing the
14701// client's request for the StartDBInstance operation. The "output" return
14702// value will be populated with the request's response once the request completes
14703// successfully.
14704//
14705// Use "Send" method on the returned Request to send the API call to the service.
14706// the "output" return value is not valid until after Send returns without error.
14707//
14708// See StartDBInstance for more information on using the StartDBInstance
14709// API call, and error handling.
14710//
14711// This method is useful when you want to inject custom logic or configuration
14712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14713//
14714//
14715//    // Example sending a request using the StartDBInstanceRequest method.
14716//    req, resp := client.StartDBInstanceRequest(params)
14717//
14718//    err := req.Send()
14719//    if err == nil { // resp is now filled
14720//        fmt.Println(resp)
14721//    }
14722//
14723// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
14724func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request.Request, output *StartDBInstanceOutput) {
14725	op := &request.Operation{
14726		Name:       opStartDBInstance,
14727		HTTPMethod: "POST",
14728		HTTPPath:   "/",
14729	}
14730
14731	if input == nil {
14732		input = &StartDBInstanceInput{}
14733	}
14734
14735	output = &StartDBInstanceOutput{}
14736	req = c.newRequest(op, input, output)
14737	return
14738}
14739
14740// StartDBInstance API operation for Amazon Relational Database Service.
14741//
14742// Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services
14743// console, the stop-db-instance CLI command, or the StopDBInstance action.
14744//
14745// For more information, see Starting an Amazon RDS DB instance That Was Previously
14746// Stopped (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StartInstance.html)
14747// in the Amazon RDS User Guide.
14748//
14749// This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL.
14750// For Aurora DB clusters, use StartDBCluster instead.
14751//
14752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14753// with awserr.Error's Code and Message methods to get detailed information about
14754// the error.
14755//
14756// See the AWS API reference guide for Amazon Relational Database Service's
14757// API operation StartDBInstance for usage and error information.
14758//
14759// Returned Error Codes:
14760//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
14761//   DBInstanceIdentifier doesn't refer to an existing DB instance.
14762//
14763//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
14764//   The DB instance isn't in a valid state.
14765//
14766//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
14767//   The specified DB instance class isn't available in the specified Availability
14768//   Zone.
14769//
14770//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
14771//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
14772//
14773//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
14774//   Subnets in the DB subnet group should cover at least two Availability Zones
14775//   unless there is only one Availability Zone.
14776//
14777//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
14778//   The requested operation can't be performed while the cluster is in this state.
14779//
14780//   * ErrCodeInvalidSubnet "InvalidSubnet"
14781//   The requested subnet is invalid, or multiple subnets were requested that
14782//   are not all in a common VPC.
14783//
14784//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
14785//   The DB subnet group doesn't cover all Availability Zones after it's created
14786//   because of users' change.
14787//
14788//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
14789//   DBClusterIdentifier doesn't refer to an existing DB cluster.
14790//
14791//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
14792//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
14793//   for the specified DB security group.
14794//
14795//   Or, RDS might not be authorized to perform necessary actions using IAM on
14796//   your behalf.
14797//
14798//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
14799//   An error occurred accessing an Amazon Web Services KMS key.
14800//
14801// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
14802func (c *RDS) StartDBInstance(input *StartDBInstanceInput) (*StartDBInstanceOutput, error) {
14803	req, out := c.StartDBInstanceRequest(input)
14804	return out, req.Send()
14805}
14806
14807// StartDBInstanceWithContext is the same as StartDBInstance with the addition of
14808// the ability to pass a context and additional request options.
14809//
14810// See StartDBInstance for details on how to use this API operation.
14811//
14812// The context must be non-nil and will be used for request cancellation. If
14813// the context is nil a panic will occur. In the future the SDK may create
14814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14815// for more information on using Contexts.
14816func (c *RDS) StartDBInstanceWithContext(ctx aws.Context, input *StartDBInstanceInput, opts ...request.Option) (*StartDBInstanceOutput, error) {
14817	req, out := c.StartDBInstanceRequest(input)
14818	req.SetContext(ctx)
14819	req.ApplyOptions(opts...)
14820	return out, req.Send()
14821}
14822
14823const opStartDBInstanceAutomatedBackupsReplication = "StartDBInstanceAutomatedBackupsReplication"
14824
14825// StartDBInstanceAutomatedBackupsReplicationRequest generates a "aws/request.Request" representing the
14826// client's request for the StartDBInstanceAutomatedBackupsReplication operation. The "output" return
14827// value will be populated with the request's response once the request completes
14828// successfully.
14829//
14830// Use "Send" method on the returned Request to send the API call to the service.
14831// the "output" return value is not valid until after Send returns without error.
14832//
14833// See StartDBInstanceAutomatedBackupsReplication for more information on using the StartDBInstanceAutomatedBackupsReplication
14834// API call, and error handling.
14835//
14836// This method is useful when you want to inject custom logic or configuration
14837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14838//
14839//
14840//    // Example sending a request using the StartDBInstanceAutomatedBackupsReplicationRequest method.
14841//    req, resp := client.StartDBInstanceAutomatedBackupsReplicationRequest(params)
14842//
14843//    err := req.Send()
14844//    if err == nil { // resp is now filled
14845//        fmt.Println(resp)
14846//    }
14847//
14848// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstanceAutomatedBackupsReplication
14849func (c *RDS) StartDBInstanceAutomatedBackupsReplicationRequest(input *StartDBInstanceAutomatedBackupsReplicationInput) (req *request.Request, output *StartDBInstanceAutomatedBackupsReplicationOutput) {
14850	op := &request.Operation{
14851		Name:       opStartDBInstanceAutomatedBackupsReplication,
14852		HTTPMethod: "POST",
14853		HTTPPath:   "/",
14854	}
14855
14856	if input == nil {
14857		input = &StartDBInstanceAutomatedBackupsReplicationInput{}
14858	}
14859
14860	output = &StartDBInstanceAutomatedBackupsReplicationOutput{}
14861	req = c.newRequest(op, input, output)
14862	return
14863}
14864
14865// StartDBInstanceAutomatedBackupsReplication API operation for Amazon Relational Database Service.
14866//
14867// Enables replication of automated backups to a different Amazon Web Services
14868// Region.
14869//
14870// This command doesn't apply to RDS Custom.
14871//
14872// For more information, see Replicating Automated Backups to Another Amazon
14873// Web Services Region (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)
14874// in the Amazon RDS User Guide.
14875//
14876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14877// with awserr.Error's Code and Message methods to get detailed information about
14878// the error.
14879//
14880// See the AWS API reference guide for Amazon Relational Database Service's
14881// API operation StartDBInstanceAutomatedBackupsReplication for usage and error information.
14882//
14883// Returned Error Codes:
14884//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
14885//   DBInstanceIdentifier doesn't refer to an existing DB instance.
14886//
14887//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
14888//   The DB instance isn't in a valid state.
14889//
14890//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
14891//   An error occurred accessing an Amazon Web Services KMS key.
14892//
14893//   * ErrCodeDBInstanceAutomatedBackupQuotaExceededFault "DBInstanceAutomatedBackupQuotaExceeded"
14894//   The quota for retained automated backups was exceeded. This prevents you
14895//   from retaining any additional automated backups. The retained automated backups
14896//   quota is the same as your DB Instance quota.
14897//
14898//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
14899//   Storage of the StorageType specified can't be associated with the DB instance.
14900//
14901// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstanceAutomatedBackupsReplication
14902func (c *RDS) StartDBInstanceAutomatedBackupsReplication(input *StartDBInstanceAutomatedBackupsReplicationInput) (*StartDBInstanceAutomatedBackupsReplicationOutput, error) {
14903	req, out := c.StartDBInstanceAutomatedBackupsReplicationRequest(input)
14904	return out, req.Send()
14905}
14906
14907// StartDBInstanceAutomatedBackupsReplicationWithContext is the same as StartDBInstanceAutomatedBackupsReplication with the addition of
14908// the ability to pass a context and additional request options.
14909//
14910// See StartDBInstanceAutomatedBackupsReplication for details on how to use this API operation.
14911//
14912// The context must be non-nil and will be used for request cancellation. If
14913// the context is nil a panic will occur. In the future the SDK may create
14914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14915// for more information on using Contexts.
14916func (c *RDS) StartDBInstanceAutomatedBackupsReplicationWithContext(ctx aws.Context, input *StartDBInstanceAutomatedBackupsReplicationInput, opts ...request.Option) (*StartDBInstanceAutomatedBackupsReplicationOutput, error) {
14917	req, out := c.StartDBInstanceAutomatedBackupsReplicationRequest(input)
14918	req.SetContext(ctx)
14919	req.ApplyOptions(opts...)
14920	return out, req.Send()
14921}
14922
14923const opStartExportTask = "StartExportTask"
14924
14925// StartExportTaskRequest generates a "aws/request.Request" representing the
14926// client's request for the StartExportTask operation. The "output" return
14927// value will be populated with the request's response once the request completes
14928// successfully.
14929//
14930// Use "Send" method on the returned Request to send the API call to the service.
14931// the "output" return value is not valid until after Send returns without error.
14932//
14933// See StartExportTask for more information on using the StartExportTask
14934// API call, and error handling.
14935//
14936// This method is useful when you want to inject custom logic or configuration
14937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14938//
14939//
14940//    // Example sending a request using the StartExportTaskRequest method.
14941//    req, resp := client.StartExportTaskRequest(params)
14942//
14943//    err := req.Send()
14944//    if err == nil { // resp is now filled
14945//        fmt.Println(resp)
14946//    }
14947//
14948// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask
14949func (c *RDS) StartExportTaskRequest(input *StartExportTaskInput) (req *request.Request, output *StartExportTaskOutput) {
14950	op := &request.Operation{
14951		Name:       opStartExportTask,
14952		HTTPMethod: "POST",
14953		HTTPPath:   "/",
14954	}
14955
14956	if input == nil {
14957		input = &StartExportTaskInput{}
14958	}
14959
14960	output = &StartExportTaskOutput{}
14961	req = c.newRequest(op, input, output)
14962	return
14963}
14964
14965// StartExportTask API operation for Amazon Relational Database Service.
14966//
14967// Starts an export of a snapshot to Amazon S3. The provided IAM role must have
14968// access to the S3 bucket.
14969//
14970// This command doesn't apply to RDS Custom.
14971//
14972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14973// with awserr.Error's Code and Message methods to get detailed information about
14974// the error.
14975//
14976// See the AWS API reference guide for Amazon Relational Database Service's
14977// API operation StartExportTask for usage and error information.
14978//
14979// Returned Error Codes:
14980//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
14981//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
14982//
14983//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
14984//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
14985//
14986//   * ErrCodeExportTaskAlreadyExistsFault "ExportTaskAlreadyExists"
14987//   You can't start an export task that's already running.
14988//
14989//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
14990//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
14991//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
14992//   S3IngestionRoleArn values and try again.
14993//
14994//   * ErrCodeIamRoleNotFoundFault "IamRoleNotFound"
14995//   The IAM role is missing for exporting to an Amazon S3 bucket.
14996//
14997//   * ErrCodeIamRoleMissingPermissionsFault "IamRoleMissingPermissions"
14998//   The IAM role requires additional permissions to export to an Amazon S3 bucket.
14999//
15000//   * ErrCodeInvalidExportOnlyFault "InvalidExportOnly"
15001//   The export is invalid for exporting to an Amazon S3 bucket.
15002//
15003//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
15004//   An error occurred accessing an Amazon Web Services KMS key.
15005//
15006//   * ErrCodeInvalidExportSourceStateFault "InvalidExportSourceState"
15007//   The state of the export snapshot is invalid for exporting to an Amazon S3
15008//   bucket.
15009//
15010// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask
15011func (c *RDS) StartExportTask(input *StartExportTaskInput) (*StartExportTaskOutput, error) {
15012	req, out := c.StartExportTaskRequest(input)
15013	return out, req.Send()
15014}
15015
15016// StartExportTaskWithContext is the same as StartExportTask with the addition of
15017// the ability to pass a context and additional request options.
15018//
15019// See StartExportTask for details on how to use this API operation.
15020//
15021// The context must be non-nil and will be used for request cancellation. If
15022// the context is nil a panic will occur. In the future the SDK may create
15023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15024// for more information on using Contexts.
15025func (c *RDS) StartExportTaskWithContext(ctx aws.Context, input *StartExportTaskInput, opts ...request.Option) (*StartExportTaskOutput, error) {
15026	req, out := c.StartExportTaskRequest(input)
15027	req.SetContext(ctx)
15028	req.ApplyOptions(opts...)
15029	return out, req.Send()
15030}
15031
15032const opStopActivityStream = "StopActivityStream"
15033
15034// StopActivityStreamRequest generates a "aws/request.Request" representing the
15035// client's request for the StopActivityStream operation. The "output" return
15036// value will be populated with the request's response once the request completes
15037// successfully.
15038//
15039// Use "Send" method on the returned Request to send the API call to the service.
15040// the "output" return value is not valid until after Send returns without error.
15041//
15042// See StopActivityStream for more information on using the StopActivityStream
15043// API call, and error handling.
15044//
15045// This method is useful when you want to inject custom logic or configuration
15046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15047//
15048//
15049//    // Example sending a request using the StopActivityStreamRequest method.
15050//    req, resp := client.StopActivityStreamRequest(params)
15051//
15052//    err := req.Send()
15053//    if err == nil { // resp is now filled
15054//        fmt.Println(resp)
15055//    }
15056//
15057// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
15058func (c *RDS) StopActivityStreamRequest(input *StopActivityStreamInput) (req *request.Request, output *StopActivityStreamOutput) {
15059	op := &request.Operation{
15060		Name:       opStopActivityStream,
15061		HTTPMethod: "POST",
15062		HTTPPath:   "/",
15063	}
15064
15065	if input == nil {
15066		input = &StopActivityStreamInput{}
15067	}
15068
15069	output = &StopActivityStreamOutput{}
15070	req = c.newRequest(op, input, output)
15071	return
15072}
15073
15074// StopActivityStream API operation for Amazon Relational Database Service.
15075//
15076// Stops a database activity stream that was started using the Amazon Web Services
15077// console, the start-activity-stream CLI command, or the StartActivityStream
15078// action.
15079//
15080// For more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
15081// in the Amazon Aurora User Guide.
15082//
15083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15084// with awserr.Error's Code and Message methods to get detailed information about
15085// the error.
15086//
15087// See the AWS API reference guide for Amazon Relational Database Service's
15088// API operation StopActivityStream for usage and error information.
15089//
15090// Returned Error Codes:
15091//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
15092//   The DB instance isn't in a valid state.
15093//
15094//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
15095//   The requested operation can't be performed while the cluster is in this state.
15096//
15097//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
15098//   The specified resource ID was not found.
15099//
15100//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
15101//   DBClusterIdentifier doesn't refer to an existing DB cluster.
15102//
15103//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
15104//   DBInstanceIdentifier doesn't refer to an existing DB instance.
15105//
15106// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
15107func (c *RDS) StopActivityStream(input *StopActivityStreamInput) (*StopActivityStreamOutput, error) {
15108	req, out := c.StopActivityStreamRequest(input)
15109	return out, req.Send()
15110}
15111
15112// StopActivityStreamWithContext is the same as StopActivityStream with the addition of
15113// the ability to pass a context and additional request options.
15114//
15115// See StopActivityStream for details on how to use this API operation.
15116//
15117// The context must be non-nil and will be used for request cancellation. If
15118// the context is nil a panic will occur. In the future the SDK may create
15119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15120// for more information on using Contexts.
15121func (c *RDS) StopActivityStreamWithContext(ctx aws.Context, input *StopActivityStreamInput, opts ...request.Option) (*StopActivityStreamOutput, error) {
15122	req, out := c.StopActivityStreamRequest(input)
15123	req.SetContext(ctx)
15124	req.ApplyOptions(opts...)
15125	return out, req.Send()
15126}
15127
15128const opStopDBCluster = "StopDBCluster"
15129
15130// StopDBClusterRequest generates a "aws/request.Request" representing the
15131// client's request for the StopDBCluster operation. The "output" return
15132// value will be populated with the request's response once the request completes
15133// successfully.
15134//
15135// Use "Send" method on the returned Request to send the API call to the service.
15136// the "output" return value is not valid until after Send returns without error.
15137//
15138// See StopDBCluster for more information on using the StopDBCluster
15139// API call, and error handling.
15140//
15141// This method is useful when you want to inject custom logic or configuration
15142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15143//
15144//
15145//    // Example sending a request using the StopDBClusterRequest method.
15146//    req, resp := client.StopDBClusterRequest(params)
15147//
15148//    err := req.Send()
15149//    if err == nil { // resp is now filled
15150//        fmt.Println(resp)
15151//    }
15152//
15153// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
15154func (c *RDS) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
15155	op := &request.Operation{
15156		Name:       opStopDBCluster,
15157		HTTPMethod: "POST",
15158		HTTPPath:   "/",
15159	}
15160
15161	if input == nil {
15162		input = &StopDBClusterInput{}
15163	}
15164
15165	output = &StopDBClusterOutput{}
15166	req = c.newRequest(op, input, output)
15167	return
15168}
15169
15170// StopDBCluster API operation for Amazon Relational Database Service.
15171//
15172// Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains
15173// the DB cluster's metadata, including its endpoints and DB parameter groups.
15174// Aurora also retains the transaction logs so you can do a point-in-time restore
15175// if necessary.
15176//
15177// For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
15178// in the Amazon Aurora User Guide.
15179//
15180// This action only applies to Aurora DB clusters.
15181//
15182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15183// with awserr.Error's Code and Message methods to get detailed information about
15184// the error.
15185//
15186// See the AWS API reference guide for Amazon Relational Database Service's
15187// API operation StopDBCluster for usage and error information.
15188//
15189// Returned Error Codes:
15190//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
15191//   DBClusterIdentifier doesn't refer to an existing DB cluster.
15192//
15193//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
15194//   The requested operation can't be performed while the cluster is in this state.
15195//
15196//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
15197//   The DB instance isn't in a valid state.
15198//
15199// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
15200func (c *RDS) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
15201	req, out := c.StopDBClusterRequest(input)
15202	return out, req.Send()
15203}
15204
15205// StopDBClusterWithContext is the same as StopDBCluster with the addition of
15206// the ability to pass a context and additional request options.
15207//
15208// See StopDBCluster for details on how to use this API operation.
15209//
15210// The context must be non-nil and will be used for request cancellation. If
15211// the context is nil a panic will occur. In the future the SDK may create
15212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15213// for more information on using Contexts.
15214func (c *RDS) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
15215	req, out := c.StopDBClusterRequest(input)
15216	req.SetContext(ctx)
15217	req.ApplyOptions(opts...)
15218	return out, req.Send()
15219}
15220
15221const opStopDBInstance = "StopDBInstance"
15222
15223// StopDBInstanceRequest generates a "aws/request.Request" representing the
15224// client's request for the StopDBInstance operation. The "output" return
15225// value will be populated with the request's response once the request completes
15226// successfully.
15227//
15228// Use "Send" method on the returned Request to send the API call to the service.
15229// the "output" return value is not valid until after Send returns without error.
15230//
15231// See StopDBInstance for more information on using the StopDBInstance
15232// API call, and error handling.
15233//
15234// This method is useful when you want to inject custom logic or configuration
15235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15236//
15237//
15238//    // Example sending a request using the StopDBInstanceRequest method.
15239//    req, resp := client.StopDBInstanceRequest(params)
15240//
15241//    err := req.Send()
15242//    if err == nil { // resp is now filled
15243//        fmt.Println(resp)
15244//    }
15245//
15246// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
15247func (c *RDS) StopDBInstanceRequest(input *StopDBInstanceInput) (req *request.Request, output *StopDBInstanceOutput) {
15248	op := &request.Operation{
15249		Name:       opStopDBInstance,
15250		HTTPMethod: "POST",
15251		HTTPPath:   "/",
15252	}
15253
15254	if input == nil {
15255		input = &StopDBInstanceInput{}
15256	}
15257
15258	output = &StopDBInstanceOutput{}
15259	req = c.newRequest(op, input, output)
15260	return
15261}
15262
15263// StopDBInstance API operation for Amazon Relational Database Service.
15264//
15265// Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS
15266// retains the DB instance's metadata, including its endpoint, DB parameter
15267// group, and option group membership. Amazon RDS also retains the transaction
15268// logs so you can do a point-in-time restore if necessary.
15269//
15270// For more information, see Stopping an Amazon RDS DB Instance Temporarily
15271// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html)
15272// in the Amazon RDS User Guide.
15273//
15274// This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL.
15275// For Aurora clusters, use StopDBCluster instead.
15276//
15277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15278// with awserr.Error's Code and Message methods to get detailed information about
15279// the error.
15280//
15281// See the AWS API reference guide for Amazon Relational Database Service's
15282// API operation StopDBInstance for usage and error information.
15283//
15284// Returned Error Codes:
15285//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
15286//   DBInstanceIdentifier doesn't refer to an existing DB instance.
15287//
15288//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
15289//   The DB instance isn't in a valid state.
15290//
15291//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
15292//   DBSnapshotIdentifier is already used by an existing snapshot.
15293//
15294//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
15295//   The request would result in the user exceeding the allowed number of DB snapshots.
15296//
15297//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
15298//   The requested operation can't be performed while the cluster is in this state.
15299//
15300// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
15301func (c *RDS) StopDBInstance(input *StopDBInstanceInput) (*StopDBInstanceOutput, error) {
15302	req, out := c.StopDBInstanceRequest(input)
15303	return out, req.Send()
15304}
15305
15306// StopDBInstanceWithContext is the same as StopDBInstance with the addition of
15307// the ability to pass a context and additional request options.
15308//
15309// See StopDBInstance for details on how to use this API operation.
15310//
15311// The context must be non-nil and will be used for request cancellation. If
15312// the context is nil a panic will occur. In the future the SDK may create
15313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15314// for more information on using Contexts.
15315func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceInput, opts ...request.Option) (*StopDBInstanceOutput, error) {
15316	req, out := c.StopDBInstanceRequest(input)
15317	req.SetContext(ctx)
15318	req.ApplyOptions(opts...)
15319	return out, req.Send()
15320}
15321
15322const opStopDBInstanceAutomatedBackupsReplication = "StopDBInstanceAutomatedBackupsReplication"
15323
15324// StopDBInstanceAutomatedBackupsReplicationRequest generates a "aws/request.Request" representing the
15325// client's request for the StopDBInstanceAutomatedBackupsReplication operation. The "output" return
15326// value will be populated with the request's response once the request completes
15327// successfully.
15328//
15329// Use "Send" method on the returned Request to send the API call to the service.
15330// the "output" return value is not valid until after Send returns without error.
15331//
15332// See StopDBInstanceAutomatedBackupsReplication for more information on using the StopDBInstanceAutomatedBackupsReplication
15333// API call, and error handling.
15334//
15335// This method is useful when you want to inject custom logic or configuration
15336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15337//
15338//
15339//    // Example sending a request using the StopDBInstanceAutomatedBackupsReplicationRequest method.
15340//    req, resp := client.StopDBInstanceAutomatedBackupsReplicationRequest(params)
15341//
15342//    err := req.Send()
15343//    if err == nil { // resp is now filled
15344//        fmt.Println(resp)
15345//    }
15346//
15347// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstanceAutomatedBackupsReplication
15348func (c *RDS) StopDBInstanceAutomatedBackupsReplicationRequest(input *StopDBInstanceAutomatedBackupsReplicationInput) (req *request.Request, output *StopDBInstanceAutomatedBackupsReplicationOutput) {
15349	op := &request.Operation{
15350		Name:       opStopDBInstanceAutomatedBackupsReplication,
15351		HTTPMethod: "POST",
15352		HTTPPath:   "/",
15353	}
15354
15355	if input == nil {
15356		input = &StopDBInstanceAutomatedBackupsReplicationInput{}
15357	}
15358
15359	output = &StopDBInstanceAutomatedBackupsReplicationOutput{}
15360	req = c.newRequest(op, input, output)
15361	return
15362}
15363
15364// StopDBInstanceAutomatedBackupsReplication API operation for Amazon Relational Database Service.
15365//
15366// Stops automated backup replication for a DB instance.
15367//
15368// This command doesn't apply to RDS Custom.
15369//
15370// For more information, see Replicating Automated Backups to Another Amazon
15371// Web Services Region (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)
15372// in the Amazon RDS User Guide.
15373//
15374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15375// with awserr.Error's Code and Message methods to get detailed information about
15376// the error.
15377//
15378// See the AWS API reference guide for Amazon Relational Database Service's
15379// API operation StopDBInstanceAutomatedBackupsReplication for usage and error information.
15380//
15381// Returned Error Codes:
15382//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
15383//   DBInstanceIdentifier doesn't refer to an existing DB instance.
15384//
15385//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
15386//   The DB instance isn't in a valid state.
15387//
15388// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstanceAutomatedBackupsReplication
15389func (c *RDS) StopDBInstanceAutomatedBackupsReplication(input *StopDBInstanceAutomatedBackupsReplicationInput) (*StopDBInstanceAutomatedBackupsReplicationOutput, error) {
15390	req, out := c.StopDBInstanceAutomatedBackupsReplicationRequest(input)
15391	return out, req.Send()
15392}
15393
15394// StopDBInstanceAutomatedBackupsReplicationWithContext is the same as StopDBInstanceAutomatedBackupsReplication with the addition of
15395// the ability to pass a context and additional request options.
15396//
15397// See StopDBInstanceAutomatedBackupsReplication for details on how to use this API operation.
15398//
15399// The context must be non-nil and will be used for request cancellation. If
15400// the context is nil a panic will occur. In the future the SDK may create
15401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15402// for more information on using Contexts.
15403func (c *RDS) StopDBInstanceAutomatedBackupsReplicationWithContext(ctx aws.Context, input *StopDBInstanceAutomatedBackupsReplicationInput, opts ...request.Option) (*StopDBInstanceAutomatedBackupsReplicationOutput, error) {
15404	req, out := c.StopDBInstanceAutomatedBackupsReplicationRequest(input)
15405	req.SetContext(ctx)
15406	req.ApplyOptions(opts...)
15407	return out, req.Send()
15408}
15409
15410// Describes a quota for an Amazon Web Services account.
15411//
15412// The following are account quotas:
15413//
15414//    * AllocatedStorage - The total allocated storage per account, in GiB.
15415//    The used value is the total allocated storage in the account, in GiB.
15416//
15417//    * AuthorizationsPerDBSecurityGroup - The number of ingress rules per DB
15418//    security group. The used value is the highest number of ingress rules
15419//    in a DB security group in the account. Other DB security groups in the
15420//    account might have a lower number of ingress rules.
15421//
15422//    * CustomEndpointsPerDBCluster - The number of custom endpoints per DB
15423//    cluster. The used value is the highest number of custom endpoints in a
15424//    DB clusters in the account. Other DB clusters in the account might have
15425//    a lower number of custom endpoints.
15426//
15427//    * DBClusterParameterGroups - The number of DB cluster parameter groups
15428//    per account, excluding default parameter groups. The used value is the
15429//    count of nondefault DB cluster parameter groups in the account.
15430//
15431//    * DBClusterRoles - The number of associated Amazon Web Services Identity
15432//    and Access Management (IAM) roles per DB cluster. The used value is the
15433//    highest number of associated IAM roles for a DB cluster in the account.
15434//    Other DB clusters in the account might have a lower number of associated
15435//    IAM roles.
15436//
15437//    * DBClusters - The number of DB clusters per account. The used value is
15438//    the count of DB clusters in the account.
15439//
15440//    * DBInstanceRoles - The number of associated IAM roles per DB instance.
15441//    The used value is the highest number of associated IAM roles for a DB
15442//    instance in the account. Other DB instances in the account might have
15443//    a lower number of associated IAM roles.
15444//
15445//    * DBInstances - The number of DB instances per account. The used value
15446//    is the count of the DB instances in the account. Amazon RDS DB instances,
15447//    Amazon Aurora DB instances, Amazon Neptune instances, and Amazon DocumentDB
15448//    instances apply to this quota.
15449//
15450//    * DBParameterGroups - The number of DB parameter groups per account, excluding
15451//    default parameter groups. The used value is the count of nondefault DB
15452//    parameter groups in the account.
15453//
15454//    * DBSecurityGroups - The number of DB security groups (not VPC security
15455//    groups) per account, excluding the default security group. The used value
15456//    is the count of nondefault DB security groups in the account.
15457//
15458//    * DBSubnetGroups - The number of DB subnet groups per account. The used
15459//    value is the count of the DB subnet groups in the account.
15460//
15461//    * EventSubscriptions - The number of event subscriptions per account.
15462//    The used value is the count of the event subscriptions in the account.
15463//
15464//    * ManualClusterSnapshots - The number of manual DB cluster snapshots per
15465//    account. The used value is the count of the manual DB cluster snapshots
15466//    in the account.
15467//
15468//    * ManualSnapshots - The number of manual DB instance snapshots per account.
15469//    The used value is the count of the manual DB instance snapshots in the
15470//    account.
15471//
15472//    * OptionGroups - The number of DB option groups per account, excluding
15473//    default option groups. The used value is the count of nondefault DB option
15474//    groups in the account.
15475//
15476//    * ReadReplicasPerMaster - The number of read replicas per DB instance.
15477//    The used value is the highest number of read replicas for a DB instance
15478//    in the account. Other DB instances in the account might have a lower number
15479//    of read replicas.
15480//
15481//    * ReservedDBInstances - The number of reserved DB instances per account.
15482//    The used value is the count of the active reserved DB instances in the
15483//    account.
15484//
15485//    * SubnetsPerDBSubnetGroup - The number of subnets per DB subnet group.
15486//    The used value is highest number of subnets for a DB subnet group in the
15487//    account. Other DB subnet groups in the account might have a lower number
15488//    of subnets.
15489//
15490// For more information, see Quotas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html)
15491// in the Amazon RDS User Guide and Quotas for Amazon Aurora (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html)
15492// in the Amazon Aurora User Guide.
15493type AccountQuota struct {
15494	_ struct{} `type:"structure"`
15495
15496	// The name of the Amazon RDS quota for this Amazon Web Services account.
15497	AccountQuotaName *string `type:"string"`
15498
15499	// The maximum allowed value for the quota.
15500	Max *int64 `type:"long"`
15501
15502	// The amount currently used toward the quota maximum.
15503	Used *int64 `type:"long"`
15504}
15505
15506// String returns the string representation.
15507//
15508// API parameter values that are decorated as "sensitive" in the API will not
15509// be included in the string output. The member name will be present, but the
15510// value will be replaced with "sensitive".
15511func (s AccountQuota) String() string {
15512	return awsutil.Prettify(s)
15513}
15514
15515// GoString returns the string representation.
15516//
15517// API parameter values that are decorated as "sensitive" in the API will not
15518// be included in the string output. The member name will be present, but the
15519// value will be replaced with "sensitive".
15520func (s AccountQuota) GoString() string {
15521	return s.String()
15522}
15523
15524// SetAccountQuotaName sets the AccountQuotaName field's value.
15525func (s *AccountQuota) SetAccountQuotaName(v string) *AccountQuota {
15526	s.AccountQuotaName = &v
15527	return s
15528}
15529
15530// SetMax sets the Max field's value.
15531func (s *AccountQuota) SetMax(v int64) *AccountQuota {
15532	s.Max = &v
15533	return s
15534}
15535
15536// SetUsed sets the Used field's value.
15537func (s *AccountQuota) SetUsed(v int64) *AccountQuota {
15538	s.Used = &v
15539	return s
15540}
15541
15542type AddRoleToDBClusterInput struct {
15543	_ struct{} `type:"structure"`
15544
15545	// The name of the DB cluster to associate the IAM role with.
15546	//
15547	// DBClusterIdentifier is a required field
15548	DBClusterIdentifier *string `type:"string" required:"true"`
15549
15550	// The name of the feature for the DB cluster that the IAM role is to be associated
15551	// with. For information about supported feature names, see DBEngineVersion.
15552	FeatureName *string `type:"string"`
15553
15554	// The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora
15555	// DB cluster, for example, arn:aws:iam::123456789012:role/AuroraAccessRole.
15556	//
15557	// RoleArn is a required field
15558	RoleArn *string `type:"string" required:"true"`
15559}
15560
15561// String returns the string representation.
15562//
15563// API parameter values that are decorated as "sensitive" in the API will not
15564// be included in the string output. The member name will be present, but the
15565// value will be replaced with "sensitive".
15566func (s AddRoleToDBClusterInput) String() string {
15567	return awsutil.Prettify(s)
15568}
15569
15570// GoString returns the string representation.
15571//
15572// API parameter values that are decorated as "sensitive" in the API will not
15573// be included in the string output. The member name will be present, but the
15574// value will be replaced with "sensitive".
15575func (s AddRoleToDBClusterInput) GoString() string {
15576	return s.String()
15577}
15578
15579// Validate inspects the fields of the type to determine if they are valid.
15580func (s *AddRoleToDBClusterInput) Validate() error {
15581	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
15582	if s.DBClusterIdentifier == nil {
15583		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
15584	}
15585	if s.RoleArn == nil {
15586		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
15587	}
15588
15589	if invalidParams.Len() > 0 {
15590		return invalidParams
15591	}
15592	return nil
15593}
15594
15595// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15596func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
15597	s.DBClusterIdentifier = &v
15598	return s
15599}
15600
15601// SetFeatureName sets the FeatureName field's value.
15602func (s *AddRoleToDBClusterInput) SetFeatureName(v string) *AddRoleToDBClusterInput {
15603	s.FeatureName = &v
15604	return s
15605}
15606
15607// SetRoleArn sets the RoleArn field's value.
15608func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
15609	s.RoleArn = &v
15610	return s
15611}
15612
15613type AddRoleToDBClusterOutput struct {
15614	_ struct{} `type:"structure"`
15615}
15616
15617// String returns the string representation.
15618//
15619// API parameter values that are decorated as "sensitive" in the API will not
15620// be included in the string output. The member name will be present, but the
15621// value will be replaced with "sensitive".
15622func (s AddRoleToDBClusterOutput) String() string {
15623	return awsutil.Prettify(s)
15624}
15625
15626// GoString returns the string representation.
15627//
15628// API parameter values that are decorated as "sensitive" in the API will not
15629// be included in the string output. The member name will be present, but the
15630// value will be replaced with "sensitive".
15631func (s AddRoleToDBClusterOutput) GoString() string {
15632	return s.String()
15633}
15634
15635type AddRoleToDBInstanceInput struct {
15636	_ struct{} `type:"structure"`
15637
15638	// The name of the DB instance to associate the IAM role with.
15639	//
15640	// DBInstanceIdentifier is a required field
15641	DBInstanceIdentifier *string `type:"string" required:"true"`
15642
15643	// The name of the feature for the DB instance that the IAM role is to be associated
15644	// with. For information about supported feature names, see DBEngineVersion.
15645	//
15646	// FeatureName is a required field
15647	FeatureName *string `type:"string" required:"true"`
15648
15649	// The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance,
15650	// for example arn:aws:iam::123456789012:role/AccessRole.
15651	//
15652	// RoleArn is a required field
15653	RoleArn *string `type:"string" required:"true"`
15654}
15655
15656// String returns the string representation.
15657//
15658// API parameter values that are decorated as "sensitive" in the API will not
15659// be included in the string output. The member name will be present, but the
15660// value will be replaced with "sensitive".
15661func (s AddRoleToDBInstanceInput) String() string {
15662	return awsutil.Prettify(s)
15663}
15664
15665// GoString returns the string representation.
15666//
15667// API parameter values that are decorated as "sensitive" in the API will not
15668// be included in the string output. The member name will be present, but the
15669// value will be replaced with "sensitive".
15670func (s AddRoleToDBInstanceInput) GoString() string {
15671	return s.String()
15672}
15673
15674// Validate inspects the fields of the type to determine if they are valid.
15675func (s *AddRoleToDBInstanceInput) Validate() error {
15676	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBInstanceInput"}
15677	if s.DBInstanceIdentifier == nil {
15678		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
15679	}
15680	if s.FeatureName == nil {
15681		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
15682	}
15683	if s.RoleArn == nil {
15684		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
15685	}
15686
15687	if invalidParams.Len() > 0 {
15688		return invalidParams
15689	}
15690	return nil
15691}
15692
15693// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15694func (s *AddRoleToDBInstanceInput) SetDBInstanceIdentifier(v string) *AddRoleToDBInstanceInput {
15695	s.DBInstanceIdentifier = &v
15696	return s
15697}
15698
15699// SetFeatureName sets the FeatureName field's value.
15700func (s *AddRoleToDBInstanceInput) SetFeatureName(v string) *AddRoleToDBInstanceInput {
15701	s.FeatureName = &v
15702	return s
15703}
15704
15705// SetRoleArn sets the RoleArn field's value.
15706func (s *AddRoleToDBInstanceInput) SetRoleArn(v string) *AddRoleToDBInstanceInput {
15707	s.RoleArn = &v
15708	return s
15709}
15710
15711type AddRoleToDBInstanceOutput struct {
15712	_ struct{} `type:"structure"`
15713}
15714
15715// String returns the string representation.
15716//
15717// API parameter values that are decorated as "sensitive" in the API will not
15718// be included in the string output. The member name will be present, but the
15719// value will be replaced with "sensitive".
15720func (s AddRoleToDBInstanceOutput) String() string {
15721	return awsutil.Prettify(s)
15722}
15723
15724// GoString returns the string representation.
15725//
15726// API parameter values that are decorated as "sensitive" in the API will not
15727// be included in the string output. The member name will be present, but the
15728// value will be replaced with "sensitive".
15729func (s AddRoleToDBInstanceOutput) GoString() string {
15730	return s.String()
15731}
15732
15733type AddSourceIdentifierToSubscriptionInput struct {
15734	_ struct{} `type:"structure"`
15735
15736	// The identifier of the event source to be added.
15737	//
15738	// Constraints:
15739	//
15740	//    * If the source type is a DB instance, a DBInstanceIdentifier value must
15741	//    be supplied.
15742	//
15743	//    * If the source type is a DB cluster, a DBClusterIdentifier value must
15744	//    be supplied.
15745	//
15746	//    * If the source type is a DB parameter group, a DBParameterGroupName value
15747	//    must be supplied.
15748	//
15749	//    * If the source type is a DB security group, a DBSecurityGroupName value
15750	//    must be supplied.
15751	//
15752	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier value must
15753	//    be supplied.
15754	//
15755	//    * If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier
15756	//    value must be supplied.
15757	//
15758	// SourceIdentifier is a required field
15759	SourceIdentifier *string `type:"string" required:"true"`
15760
15761	// The name of the RDS event notification subscription you want to add a source
15762	// identifier to.
15763	//
15764	// SubscriptionName is a required field
15765	SubscriptionName *string `type:"string" required:"true"`
15766}
15767
15768// String returns the string representation.
15769//
15770// API parameter values that are decorated as "sensitive" in the API will not
15771// be included in the string output. The member name will be present, but the
15772// value will be replaced with "sensitive".
15773func (s AddSourceIdentifierToSubscriptionInput) String() string {
15774	return awsutil.Prettify(s)
15775}
15776
15777// GoString returns the string representation.
15778//
15779// API parameter values that are decorated as "sensitive" in the API will not
15780// be included in the string output. The member name will be present, but the
15781// value will be replaced with "sensitive".
15782func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
15783	return s.String()
15784}
15785
15786// Validate inspects the fields of the type to determine if they are valid.
15787func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
15788	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
15789	if s.SourceIdentifier == nil {
15790		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
15791	}
15792	if s.SubscriptionName == nil {
15793		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
15794	}
15795
15796	if invalidParams.Len() > 0 {
15797		return invalidParams
15798	}
15799	return nil
15800}
15801
15802// SetSourceIdentifier sets the SourceIdentifier field's value.
15803func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
15804	s.SourceIdentifier = &v
15805	return s
15806}
15807
15808// SetSubscriptionName sets the SubscriptionName field's value.
15809func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
15810	s.SubscriptionName = &v
15811	return s
15812}
15813
15814type AddSourceIdentifierToSubscriptionOutput struct {
15815	_ struct{} `type:"structure"`
15816
15817	// Contains the results of a successful invocation of the DescribeEventSubscriptions
15818	// action.
15819	EventSubscription *EventSubscription `type:"structure"`
15820}
15821
15822// String returns the string representation.
15823//
15824// API parameter values that are decorated as "sensitive" in the API will not
15825// be included in the string output. The member name will be present, but the
15826// value will be replaced with "sensitive".
15827func (s AddSourceIdentifierToSubscriptionOutput) String() string {
15828	return awsutil.Prettify(s)
15829}
15830
15831// GoString returns the string representation.
15832//
15833// API parameter values that are decorated as "sensitive" in the API will not
15834// be included in the string output. The member name will be present, but the
15835// value will be replaced with "sensitive".
15836func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
15837	return s.String()
15838}
15839
15840// SetEventSubscription sets the EventSubscription field's value.
15841func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
15842	s.EventSubscription = v
15843	return s
15844}
15845
15846type AddTagsToResourceInput struct {
15847	_ struct{} `type:"structure"`
15848
15849	// The Amazon RDS resource that the tags are added to. This value is an Amazon
15850	// Resource Name (ARN). For information about creating an ARN, see Constructing
15851	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
15852	//
15853	// ResourceName is a required field
15854	ResourceName *string `type:"string" required:"true"`
15855
15856	// The tags to be assigned to the Amazon RDS resource.
15857	//
15858	// Tags is a required field
15859	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
15860}
15861
15862// String returns the string representation.
15863//
15864// API parameter values that are decorated as "sensitive" in the API will not
15865// be included in the string output. The member name will be present, but the
15866// value will be replaced with "sensitive".
15867func (s AddTagsToResourceInput) String() string {
15868	return awsutil.Prettify(s)
15869}
15870
15871// GoString returns the string representation.
15872//
15873// API parameter values that are decorated as "sensitive" in the API will not
15874// be included in the string output. The member name will be present, but the
15875// value will be replaced with "sensitive".
15876func (s AddTagsToResourceInput) GoString() string {
15877	return s.String()
15878}
15879
15880// Validate inspects the fields of the type to determine if they are valid.
15881func (s *AddTagsToResourceInput) Validate() error {
15882	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
15883	if s.ResourceName == nil {
15884		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
15885	}
15886	if s.Tags == nil {
15887		invalidParams.Add(request.NewErrParamRequired("Tags"))
15888	}
15889
15890	if invalidParams.Len() > 0 {
15891		return invalidParams
15892	}
15893	return nil
15894}
15895
15896// SetResourceName sets the ResourceName field's value.
15897func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
15898	s.ResourceName = &v
15899	return s
15900}
15901
15902// SetTags sets the Tags field's value.
15903func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
15904	s.Tags = v
15905	return s
15906}
15907
15908type AddTagsToResourceOutput struct {
15909	_ struct{} `type:"structure"`
15910}
15911
15912// String returns the string representation.
15913//
15914// API parameter values that are decorated as "sensitive" in the API will not
15915// be included in the string output. The member name will be present, but the
15916// value will be replaced with "sensitive".
15917func (s AddTagsToResourceOutput) String() string {
15918	return awsutil.Prettify(s)
15919}
15920
15921// GoString returns the string representation.
15922//
15923// API parameter values that are decorated as "sensitive" in the API will not
15924// be included in the string output. The member name will be present, but the
15925// value will be replaced with "sensitive".
15926func (s AddTagsToResourceOutput) GoString() string {
15927	return s.String()
15928}
15929
15930type ApplyPendingMaintenanceActionInput struct {
15931	_ struct{} `type:"structure"`
15932
15933	// The pending maintenance action to apply to this resource.
15934	//
15935	// Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation
15936	//
15937	// ApplyAction is a required field
15938	ApplyAction *string `type:"string" required:"true"`
15939
15940	// A value that specifies the type of opt-in request, or undoes an opt-in request.
15941	// An opt-in request of type immediate can't be undone.
15942	//
15943	// Valid values:
15944	//
15945	//    * immediate - Apply the maintenance action immediately.
15946	//
15947	//    * next-maintenance - Apply the maintenance action during the next maintenance
15948	//    window for the resource.
15949	//
15950	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
15951	//
15952	// OptInType is a required field
15953	OptInType *string `type:"string" required:"true"`
15954
15955	// The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance
15956	// action applies to. For information about creating an ARN, see Constructing
15957	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
15958	//
15959	// ResourceIdentifier is a required field
15960	ResourceIdentifier *string `type:"string" required:"true"`
15961}
15962
15963// String returns the string representation.
15964//
15965// API parameter values that are decorated as "sensitive" in the API will not
15966// be included in the string output. The member name will be present, but the
15967// value will be replaced with "sensitive".
15968func (s ApplyPendingMaintenanceActionInput) String() string {
15969	return awsutil.Prettify(s)
15970}
15971
15972// GoString returns the string representation.
15973//
15974// API parameter values that are decorated as "sensitive" in the API will not
15975// be included in the string output. The member name will be present, but the
15976// value will be replaced with "sensitive".
15977func (s ApplyPendingMaintenanceActionInput) GoString() string {
15978	return s.String()
15979}
15980
15981// Validate inspects the fields of the type to determine if they are valid.
15982func (s *ApplyPendingMaintenanceActionInput) Validate() error {
15983	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
15984	if s.ApplyAction == nil {
15985		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
15986	}
15987	if s.OptInType == nil {
15988		invalidParams.Add(request.NewErrParamRequired("OptInType"))
15989	}
15990	if s.ResourceIdentifier == nil {
15991		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
15992	}
15993
15994	if invalidParams.Len() > 0 {
15995		return invalidParams
15996	}
15997	return nil
15998}
15999
16000// SetApplyAction sets the ApplyAction field's value.
16001func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
16002	s.ApplyAction = &v
16003	return s
16004}
16005
16006// SetOptInType sets the OptInType field's value.
16007func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
16008	s.OptInType = &v
16009	return s
16010}
16011
16012// SetResourceIdentifier sets the ResourceIdentifier field's value.
16013func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
16014	s.ResourceIdentifier = &v
16015	return s
16016}
16017
16018type ApplyPendingMaintenanceActionOutput struct {
16019	_ struct{} `type:"structure"`
16020
16021	// Describes the pending maintenance actions for a resource.
16022	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
16023}
16024
16025// String returns the string representation.
16026//
16027// API parameter values that are decorated as "sensitive" in the API will not
16028// be included in the string output. The member name will be present, but the
16029// value will be replaced with "sensitive".
16030func (s ApplyPendingMaintenanceActionOutput) String() string {
16031	return awsutil.Prettify(s)
16032}
16033
16034// GoString returns the string representation.
16035//
16036// API parameter values that are decorated as "sensitive" in the API will not
16037// be included in the string output. The member name will be present, but the
16038// value will be replaced with "sensitive".
16039func (s ApplyPendingMaintenanceActionOutput) GoString() string {
16040	return s.String()
16041}
16042
16043// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
16044func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
16045	s.ResourcePendingMaintenanceActions = v
16046	return s
16047}
16048
16049type AuthorizeDBSecurityGroupIngressInput struct {
16050	_ struct{} `type:"structure"`
16051
16052	// The IP range to authorize.
16053	CIDRIP *string `type:"string"`
16054
16055	// The name of the DB security group to add authorization to.
16056	//
16057	// DBSecurityGroupName is a required field
16058	DBSecurityGroupName *string `type:"string" required:"true"`
16059
16060	// Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
16061	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
16062	// or EC2SecurityGroupId must be provided.
16063	EC2SecurityGroupId *string `type:"string"`
16064
16065	// Name of the EC2 security group to authorize. For VPC DB security groups,
16066	// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
16067	// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
16068	EC2SecurityGroupName *string `type:"string"`
16069
16070	// Amazon Web Services account number of the owner of the EC2 security group
16071	// specified in the EC2SecurityGroupName parameter. The Amazon Web Services
16072	// access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId
16073	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
16074	// or EC2SecurityGroupId must be provided.
16075	EC2SecurityGroupOwnerId *string `type:"string"`
16076}
16077
16078// String returns the string representation.
16079//
16080// API parameter values that are decorated as "sensitive" in the API will not
16081// be included in the string output. The member name will be present, but the
16082// value will be replaced with "sensitive".
16083func (s AuthorizeDBSecurityGroupIngressInput) String() string {
16084	return awsutil.Prettify(s)
16085}
16086
16087// GoString returns the string representation.
16088//
16089// API parameter values that are decorated as "sensitive" in the API will not
16090// be included in the string output. The member name will be present, but the
16091// value will be replaced with "sensitive".
16092func (s AuthorizeDBSecurityGroupIngressInput) GoString() string {
16093	return s.String()
16094}
16095
16096// Validate inspects the fields of the type to determine if they are valid.
16097func (s *AuthorizeDBSecurityGroupIngressInput) Validate() error {
16098	invalidParams := request.ErrInvalidParams{Context: "AuthorizeDBSecurityGroupIngressInput"}
16099	if s.DBSecurityGroupName == nil {
16100		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
16101	}
16102
16103	if invalidParams.Len() > 0 {
16104		return invalidParams
16105	}
16106	return nil
16107}
16108
16109// SetCIDRIP sets the CIDRIP field's value.
16110func (s *AuthorizeDBSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeDBSecurityGroupIngressInput {
16111	s.CIDRIP = &v
16112	return s
16113}
16114
16115// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
16116func (s *AuthorizeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
16117	s.DBSecurityGroupName = &v
16118	return s
16119}
16120
16121// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
16122func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *AuthorizeDBSecurityGroupIngressInput {
16123	s.EC2SecurityGroupId = &v
16124	return s
16125}
16126
16127// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
16128func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
16129	s.EC2SecurityGroupName = &v
16130	return s
16131}
16132
16133// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
16134func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeDBSecurityGroupIngressInput {
16135	s.EC2SecurityGroupOwnerId = &v
16136	return s
16137}
16138
16139type AuthorizeDBSecurityGroupIngressOutput struct {
16140	_ struct{} `type:"structure"`
16141
16142	// Contains the details for an Amazon RDS DB security group.
16143	//
16144	// This data type is used as a response element in the DescribeDBSecurityGroups
16145	// action.
16146	DBSecurityGroup *DBSecurityGroup `type:"structure"`
16147}
16148
16149// String returns the string representation.
16150//
16151// API parameter values that are decorated as "sensitive" in the API will not
16152// be included in the string output. The member name will be present, but the
16153// value will be replaced with "sensitive".
16154func (s AuthorizeDBSecurityGroupIngressOutput) String() string {
16155	return awsutil.Prettify(s)
16156}
16157
16158// GoString returns the string representation.
16159//
16160// API parameter values that are decorated as "sensitive" in the API will not
16161// be included in the string output. The member name will be present, but the
16162// value will be replaced with "sensitive".
16163func (s AuthorizeDBSecurityGroupIngressOutput) GoString() string {
16164	return s.String()
16165}
16166
16167// SetDBSecurityGroup sets the DBSecurityGroup field's value.
16168func (s *AuthorizeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *AuthorizeDBSecurityGroupIngressOutput {
16169	s.DBSecurityGroup = v
16170	return s
16171}
16172
16173// Contains Availability Zone information.
16174//
16175// This data type is used as an element in the OrderableDBInstanceOption data
16176// type.
16177type AvailabilityZone struct {
16178	_ struct{} `type:"structure"`
16179
16180	// The name of the Availability Zone.
16181	Name *string `type:"string"`
16182}
16183
16184// String returns the string representation.
16185//
16186// API parameter values that are decorated as "sensitive" in the API will not
16187// be included in the string output. The member name will be present, but the
16188// value will be replaced with "sensitive".
16189func (s AvailabilityZone) String() string {
16190	return awsutil.Prettify(s)
16191}
16192
16193// GoString returns the string representation.
16194//
16195// API parameter values that are decorated as "sensitive" in the API will not
16196// be included in the string output. The member name will be present, but the
16197// value will be replaced with "sensitive".
16198func (s AvailabilityZone) GoString() string {
16199	return s.String()
16200}
16201
16202// SetName sets the Name field's value.
16203func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
16204	s.Name = &v
16205	return s
16206}
16207
16208// Contains the available processor feature information for the DB instance
16209// class of a DB instance.
16210//
16211// For more information, see Configuring the Processor of the DB Instance Class
16212// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
16213// in the Amazon RDS User Guide.
16214type AvailableProcessorFeature struct {
16215	_ struct{} `type:"structure"`
16216
16217	// The allowed values for the processor feature of the DB instance class.
16218	AllowedValues *string `type:"string"`
16219
16220	// The default value for the processor feature of the DB instance class.
16221	DefaultValue *string `type:"string"`
16222
16223	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
16224	Name *string `type:"string"`
16225}
16226
16227// String returns the string representation.
16228//
16229// API parameter values that are decorated as "sensitive" in the API will not
16230// be included in the string output. The member name will be present, but the
16231// value will be replaced with "sensitive".
16232func (s AvailableProcessorFeature) String() string {
16233	return awsutil.Prettify(s)
16234}
16235
16236// GoString returns the string representation.
16237//
16238// API parameter values that are decorated as "sensitive" in the API will not
16239// be included in the string output. The member name will be present, but the
16240// value will be replaced with "sensitive".
16241func (s AvailableProcessorFeature) GoString() string {
16242	return s.String()
16243}
16244
16245// SetAllowedValues sets the AllowedValues field's value.
16246func (s *AvailableProcessorFeature) SetAllowedValues(v string) *AvailableProcessorFeature {
16247	s.AllowedValues = &v
16248	return s
16249}
16250
16251// SetDefaultValue sets the DefaultValue field's value.
16252func (s *AvailableProcessorFeature) SetDefaultValue(v string) *AvailableProcessorFeature {
16253	s.DefaultValue = &v
16254	return s
16255}
16256
16257// SetName sets the Name field's value.
16258func (s *AvailableProcessorFeature) SetName(v string) *AvailableProcessorFeature {
16259	s.Name = &v
16260	return s
16261}
16262
16263type BacktrackDBClusterInput struct {
16264	_ struct{} `type:"structure"`
16265
16266	// The timestamp of the time to backtrack the DB cluster to, specified in ISO
16267	// 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia
16268	// page. (http://en.wikipedia.org/wiki/ISO_8601)
16269	//
16270	// If the specified time isn't a consistent time for the DB cluster, Aurora
16271	// automatically chooses the nearest possible consistent time for the DB cluster.
16272	//
16273	// Constraints:
16274	//
16275	//    * Must contain a valid ISO 8601 timestamp.
16276	//
16277	//    * Can't contain a timestamp set in the future.
16278	//
16279	// Example: 2017-07-08T18:00Z
16280	//
16281	// BacktrackTo is a required field
16282	BacktrackTo *time.Time `type:"timestamp" required:"true"`
16283
16284	// The DB cluster identifier of the DB cluster to be backtracked. This parameter
16285	// is stored as a lowercase string.
16286	//
16287	// Constraints:
16288	//
16289	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
16290	//
16291	//    * First character must be a letter.
16292	//
16293	//    * Can't end with a hyphen or contain two consecutive hyphens.
16294	//
16295	// Example: my-cluster1
16296	//
16297	// DBClusterIdentifier is a required field
16298	DBClusterIdentifier *string `type:"string" required:"true"`
16299
16300	// A value that indicates whether to force the DB cluster to backtrack when
16301	// binary logging is enabled. Otherwise, an error occurs when binary logging
16302	// is enabled.
16303	Force *bool `type:"boolean"`
16304
16305	// A value that indicates whether to backtrack the DB cluster to the earliest
16306	// possible backtrack time when BacktrackTo is set to a timestamp earlier than
16307	// the earliest backtrack time. When this parameter is disabled and BacktrackTo
16308	// is set to a timestamp earlier than the earliest backtrack time, an error
16309	// occurs.
16310	UseEarliestTimeOnPointInTimeUnavailable *bool `type:"boolean"`
16311}
16312
16313// String returns the string representation.
16314//
16315// API parameter values that are decorated as "sensitive" in the API will not
16316// be included in the string output. The member name will be present, but the
16317// value will be replaced with "sensitive".
16318func (s BacktrackDBClusterInput) String() string {
16319	return awsutil.Prettify(s)
16320}
16321
16322// GoString returns the string representation.
16323//
16324// API parameter values that are decorated as "sensitive" in the API will not
16325// be included in the string output. The member name will be present, but the
16326// value will be replaced with "sensitive".
16327func (s BacktrackDBClusterInput) GoString() string {
16328	return s.String()
16329}
16330
16331// Validate inspects the fields of the type to determine if they are valid.
16332func (s *BacktrackDBClusterInput) Validate() error {
16333	invalidParams := request.ErrInvalidParams{Context: "BacktrackDBClusterInput"}
16334	if s.BacktrackTo == nil {
16335		invalidParams.Add(request.NewErrParamRequired("BacktrackTo"))
16336	}
16337	if s.DBClusterIdentifier == nil {
16338		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16339	}
16340
16341	if invalidParams.Len() > 0 {
16342		return invalidParams
16343	}
16344	return nil
16345}
16346
16347// SetBacktrackTo sets the BacktrackTo field's value.
16348func (s *BacktrackDBClusterInput) SetBacktrackTo(v time.Time) *BacktrackDBClusterInput {
16349	s.BacktrackTo = &v
16350	return s
16351}
16352
16353// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16354func (s *BacktrackDBClusterInput) SetDBClusterIdentifier(v string) *BacktrackDBClusterInput {
16355	s.DBClusterIdentifier = &v
16356	return s
16357}
16358
16359// SetForce sets the Force field's value.
16360func (s *BacktrackDBClusterInput) SetForce(v bool) *BacktrackDBClusterInput {
16361	s.Force = &v
16362	return s
16363}
16364
16365// SetUseEarliestTimeOnPointInTimeUnavailable sets the UseEarliestTimeOnPointInTimeUnavailable field's value.
16366func (s *BacktrackDBClusterInput) SetUseEarliestTimeOnPointInTimeUnavailable(v bool) *BacktrackDBClusterInput {
16367	s.UseEarliestTimeOnPointInTimeUnavailable = &v
16368	return s
16369}
16370
16371// This data type is used as a response element in the DescribeDBClusterBacktracks
16372// action.
16373type BacktrackDBClusterOutput struct {
16374	_ struct{} `type:"structure"`
16375
16376	// Contains the backtrack identifier.
16377	BacktrackIdentifier *string `type:"string"`
16378
16379	// The timestamp of the time at which the backtrack was requested.
16380	BacktrackRequestCreationTime *time.Time `type:"timestamp"`
16381
16382	// The timestamp of the time to which the DB cluster was backtracked.
16383	BacktrackTo *time.Time `type:"timestamp"`
16384
16385	// The timestamp of the time from which the DB cluster was backtracked.
16386	BacktrackedFrom *time.Time `type:"timestamp"`
16387
16388	// Contains a user-supplied DB cluster identifier. This identifier is the unique
16389	// key that identifies a DB cluster.
16390	DBClusterIdentifier *string `type:"string"`
16391
16392	// The status of the backtrack. This property returns one of the following values:
16393	//
16394	//    * applying - The backtrack is currently being applied to or rolled back
16395	//    from the DB cluster.
16396	//
16397	//    * completed - The backtrack has successfully been applied to or rolled
16398	//    back from the DB cluster.
16399	//
16400	//    * failed - An error occurred while the backtrack was applied to or rolled
16401	//    back from the DB cluster.
16402	//
16403	//    * pending - The backtrack is currently pending application to or rollback
16404	//    from the DB cluster.
16405	Status *string `type:"string"`
16406}
16407
16408// String returns the string representation.
16409//
16410// API parameter values that are decorated as "sensitive" in the API will not
16411// be included in the string output. The member name will be present, but the
16412// value will be replaced with "sensitive".
16413func (s BacktrackDBClusterOutput) String() string {
16414	return awsutil.Prettify(s)
16415}
16416
16417// GoString returns the string representation.
16418//
16419// API parameter values that are decorated as "sensitive" in the API will not
16420// be included in the string output. The member name will be present, but the
16421// value will be replaced with "sensitive".
16422func (s BacktrackDBClusterOutput) GoString() string {
16423	return s.String()
16424}
16425
16426// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
16427func (s *BacktrackDBClusterOutput) SetBacktrackIdentifier(v string) *BacktrackDBClusterOutput {
16428	s.BacktrackIdentifier = &v
16429	return s
16430}
16431
16432// SetBacktrackRequestCreationTime sets the BacktrackRequestCreationTime field's value.
16433func (s *BacktrackDBClusterOutput) SetBacktrackRequestCreationTime(v time.Time) *BacktrackDBClusterOutput {
16434	s.BacktrackRequestCreationTime = &v
16435	return s
16436}
16437
16438// SetBacktrackTo sets the BacktrackTo field's value.
16439func (s *BacktrackDBClusterOutput) SetBacktrackTo(v time.Time) *BacktrackDBClusterOutput {
16440	s.BacktrackTo = &v
16441	return s
16442}
16443
16444// SetBacktrackedFrom sets the BacktrackedFrom field's value.
16445func (s *BacktrackDBClusterOutput) SetBacktrackedFrom(v time.Time) *BacktrackDBClusterOutput {
16446	s.BacktrackedFrom = &v
16447	return s
16448}
16449
16450// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16451func (s *BacktrackDBClusterOutput) SetDBClusterIdentifier(v string) *BacktrackDBClusterOutput {
16452	s.DBClusterIdentifier = &v
16453	return s
16454}
16455
16456// SetStatus sets the Status field's value.
16457func (s *BacktrackDBClusterOutput) SetStatus(v string) *BacktrackDBClusterOutput {
16458	s.Status = &v
16459	return s
16460}
16461
16462type CancelExportTaskInput struct {
16463	_ struct{} `type:"structure"`
16464
16465	// The identifier of the snapshot export task to cancel.
16466	//
16467	// ExportTaskIdentifier is a required field
16468	ExportTaskIdentifier *string `type:"string" required:"true"`
16469}
16470
16471// String returns the string representation.
16472//
16473// API parameter values that are decorated as "sensitive" in the API will not
16474// be included in the string output. The member name will be present, but the
16475// value will be replaced with "sensitive".
16476func (s CancelExportTaskInput) String() string {
16477	return awsutil.Prettify(s)
16478}
16479
16480// GoString returns the string representation.
16481//
16482// API parameter values that are decorated as "sensitive" in the API will not
16483// be included in the string output. The member name will be present, but the
16484// value will be replaced with "sensitive".
16485func (s CancelExportTaskInput) GoString() string {
16486	return s.String()
16487}
16488
16489// Validate inspects the fields of the type to determine if they are valid.
16490func (s *CancelExportTaskInput) Validate() error {
16491	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
16492	if s.ExportTaskIdentifier == nil {
16493		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
16494	}
16495
16496	if invalidParams.Len() > 0 {
16497		return invalidParams
16498	}
16499	return nil
16500}
16501
16502// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
16503func (s *CancelExportTaskInput) SetExportTaskIdentifier(v string) *CancelExportTaskInput {
16504	s.ExportTaskIdentifier = &v
16505	return s
16506}
16507
16508// Contains the details of a snapshot export to Amazon S3.
16509//
16510// This data type is used as a response element in the DescribeExportTasks action.
16511type CancelExportTaskOutput struct {
16512	_ struct{} `type:"structure"`
16513
16514	// The data exported from the snapshot. Valid values are the following:
16515	//
16516	//    * database - Export all the data from a specified database.
16517	//
16518	//    * database.table table-name - Export a table of the snapshot. This format
16519	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
16520	//
16521	//    * database.schema schema-name - Export a database schema of the snapshot.
16522	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
16523	//
16524	//    * database.schema.table table-name - Export a table of the database schema.
16525	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
16526	ExportOnly []*string `type:"list"`
16527
16528	// A unique identifier for the snapshot export task. This ID isn't an identifier
16529	// for the Amazon S3 bucket where the snapshot is exported to.
16530	ExportTaskIdentifier *string `type:"string"`
16531
16532	// The reason the export failed, if it failed.
16533	FailureCause *string `type:"string"`
16534
16535	// The name of the IAM role that is used to write to Amazon S3 when exporting
16536	// a snapshot.
16537	IamRoleArn *string `type:"string"`
16538
16539	// The key identifier of the Amazon Web Services KMS key that is used to encrypt
16540	// the snapshot when it's exported to Amazon S3. The KMS key identifier is its
16541	// key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot
16542	// export must have encryption and decryption permissions to use this KMS key.
16543	KmsKeyId *string `type:"string"`
16544
16545	// The progress of the snapshot export task as a percentage.
16546	PercentProgress *int64 `type:"integer"`
16547
16548	// The Amazon S3 bucket that the snapshot is exported to.
16549	S3Bucket *string `type:"string"`
16550
16551	// The Amazon S3 bucket prefix that is the file name and path of the exported
16552	// snapshot.
16553	S3Prefix *string `type:"string"`
16554
16555	// The time that the snapshot was created.
16556	SnapshotTime *time.Time `type:"timestamp"`
16557
16558	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
16559	SourceArn *string `type:"string"`
16560
16561	// The progress status of the export task.
16562	Status *string `type:"string"`
16563
16564	// The time that the snapshot export task completed.
16565	TaskEndTime *time.Time `type:"timestamp"`
16566
16567	// The time that the snapshot export task started.
16568	TaskStartTime *time.Time `type:"timestamp"`
16569
16570	// The total amount of data exported, in gigabytes.
16571	TotalExtractedDataInGB *int64 `type:"integer"`
16572
16573	// A warning about the snapshot export task.
16574	WarningMessage *string `type:"string"`
16575}
16576
16577// String returns the string representation.
16578//
16579// API parameter values that are decorated as "sensitive" in the API will not
16580// be included in the string output. The member name will be present, but the
16581// value will be replaced with "sensitive".
16582func (s CancelExportTaskOutput) String() string {
16583	return awsutil.Prettify(s)
16584}
16585
16586// GoString returns the string representation.
16587//
16588// API parameter values that are decorated as "sensitive" in the API will not
16589// be included in the string output. The member name will be present, but the
16590// value will be replaced with "sensitive".
16591func (s CancelExportTaskOutput) GoString() string {
16592	return s.String()
16593}
16594
16595// SetExportOnly sets the ExportOnly field's value.
16596func (s *CancelExportTaskOutput) SetExportOnly(v []*string) *CancelExportTaskOutput {
16597	s.ExportOnly = v
16598	return s
16599}
16600
16601// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
16602func (s *CancelExportTaskOutput) SetExportTaskIdentifier(v string) *CancelExportTaskOutput {
16603	s.ExportTaskIdentifier = &v
16604	return s
16605}
16606
16607// SetFailureCause sets the FailureCause field's value.
16608func (s *CancelExportTaskOutput) SetFailureCause(v string) *CancelExportTaskOutput {
16609	s.FailureCause = &v
16610	return s
16611}
16612
16613// SetIamRoleArn sets the IamRoleArn field's value.
16614func (s *CancelExportTaskOutput) SetIamRoleArn(v string) *CancelExportTaskOutput {
16615	s.IamRoleArn = &v
16616	return s
16617}
16618
16619// SetKmsKeyId sets the KmsKeyId field's value.
16620func (s *CancelExportTaskOutput) SetKmsKeyId(v string) *CancelExportTaskOutput {
16621	s.KmsKeyId = &v
16622	return s
16623}
16624
16625// SetPercentProgress sets the PercentProgress field's value.
16626func (s *CancelExportTaskOutput) SetPercentProgress(v int64) *CancelExportTaskOutput {
16627	s.PercentProgress = &v
16628	return s
16629}
16630
16631// SetS3Bucket sets the S3Bucket field's value.
16632func (s *CancelExportTaskOutput) SetS3Bucket(v string) *CancelExportTaskOutput {
16633	s.S3Bucket = &v
16634	return s
16635}
16636
16637// SetS3Prefix sets the S3Prefix field's value.
16638func (s *CancelExportTaskOutput) SetS3Prefix(v string) *CancelExportTaskOutput {
16639	s.S3Prefix = &v
16640	return s
16641}
16642
16643// SetSnapshotTime sets the SnapshotTime field's value.
16644func (s *CancelExportTaskOutput) SetSnapshotTime(v time.Time) *CancelExportTaskOutput {
16645	s.SnapshotTime = &v
16646	return s
16647}
16648
16649// SetSourceArn sets the SourceArn field's value.
16650func (s *CancelExportTaskOutput) SetSourceArn(v string) *CancelExportTaskOutput {
16651	s.SourceArn = &v
16652	return s
16653}
16654
16655// SetStatus sets the Status field's value.
16656func (s *CancelExportTaskOutput) SetStatus(v string) *CancelExportTaskOutput {
16657	s.Status = &v
16658	return s
16659}
16660
16661// SetTaskEndTime sets the TaskEndTime field's value.
16662func (s *CancelExportTaskOutput) SetTaskEndTime(v time.Time) *CancelExportTaskOutput {
16663	s.TaskEndTime = &v
16664	return s
16665}
16666
16667// SetTaskStartTime sets the TaskStartTime field's value.
16668func (s *CancelExportTaskOutput) SetTaskStartTime(v time.Time) *CancelExportTaskOutput {
16669	s.TaskStartTime = &v
16670	return s
16671}
16672
16673// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
16674func (s *CancelExportTaskOutput) SetTotalExtractedDataInGB(v int64) *CancelExportTaskOutput {
16675	s.TotalExtractedDataInGB = &v
16676	return s
16677}
16678
16679// SetWarningMessage sets the WarningMessage field's value.
16680func (s *CancelExportTaskOutput) SetWarningMessage(v string) *CancelExportTaskOutput {
16681	s.WarningMessage = &v
16682	return s
16683}
16684
16685// A CA certificate for an Amazon Web Services account.
16686type Certificate struct {
16687	_ struct{} `type:"structure"`
16688
16689	// The Amazon Resource Name (ARN) for the certificate.
16690	CertificateArn *string `type:"string"`
16691
16692	// The unique key that identifies a certificate.
16693	CertificateIdentifier *string `type:"string"`
16694
16695	// The type of the certificate.
16696	CertificateType *string `type:"string"`
16697
16698	// Whether there is an override for the default certificate identifier.
16699	CustomerOverride *bool `type:"boolean"`
16700
16701	// If there is an override for the default certificate identifier, when the
16702	// override expires.
16703	CustomerOverrideValidTill *time.Time `type:"timestamp"`
16704
16705	// The thumbprint of the certificate.
16706	Thumbprint *string `type:"string"`
16707
16708	// The starting date from which the certificate is valid.
16709	ValidFrom *time.Time `type:"timestamp"`
16710
16711	// The final date that the certificate continues to be valid.
16712	ValidTill *time.Time `type:"timestamp"`
16713}
16714
16715// String returns the string representation.
16716//
16717// API parameter values that are decorated as "sensitive" in the API will not
16718// be included in the string output. The member name will be present, but the
16719// value will be replaced with "sensitive".
16720func (s Certificate) String() string {
16721	return awsutil.Prettify(s)
16722}
16723
16724// GoString returns the string representation.
16725//
16726// API parameter values that are decorated as "sensitive" in the API will not
16727// be included in the string output. The member name will be present, but the
16728// value will be replaced with "sensitive".
16729func (s Certificate) GoString() string {
16730	return s.String()
16731}
16732
16733// SetCertificateArn sets the CertificateArn field's value.
16734func (s *Certificate) SetCertificateArn(v string) *Certificate {
16735	s.CertificateArn = &v
16736	return s
16737}
16738
16739// SetCertificateIdentifier sets the CertificateIdentifier field's value.
16740func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
16741	s.CertificateIdentifier = &v
16742	return s
16743}
16744
16745// SetCertificateType sets the CertificateType field's value.
16746func (s *Certificate) SetCertificateType(v string) *Certificate {
16747	s.CertificateType = &v
16748	return s
16749}
16750
16751// SetCustomerOverride sets the CustomerOverride field's value.
16752func (s *Certificate) SetCustomerOverride(v bool) *Certificate {
16753	s.CustomerOverride = &v
16754	return s
16755}
16756
16757// SetCustomerOverrideValidTill sets the CustomerOverrideValidTill field's value.
16758func (s *Certificate) SetCustomerOverrideValidTill(v time.Time) *Certificate {
16759	s.CustomerOverrideValidTill = &v
16760	return s
16761}
16762
16763// SetThumbprint sets the Thumbprint field's value.
16764func (s *Certificate) SetThumbprint(v string) *Certificate {
16765	s.Thumbprint = &v
16766	return s
16767}
16768
16769// SetValidFrom sets the ValidFrom field's value.
16770func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
16771	s.ValidFrom = &v
16772	return s
16773}
16774
16775// SetValidTill sets the ValidTill field's value.
16776func (s *Certificate) SetValidTill(v time.Time) *Certificate {
16777	s.ValidTill = &v
16778	return s
16779}
16780
16781// This data type is used as a response element in the action DescribeDBEngineVersions.
16782type CharacterSet struct {
16783	_ struct{} `type:"structure"`
16784
16785	// The description of the character set.
16786	CharacterSetDescription *string `type:"string"`
16787
16788	// The name of the character set.
16789	CharacterSetName *string `type:"string"`
16790}
16791
16792// String returns the string representation.
16793//
16794// API parameter values that are decorated as "sensitive" in the API will not
16795// be included in the string output. The member name will be present, but the
16796// value will be replaced with "sensitive".
16797func (s CharacterSet) String() string {
16798	return awsutil.Prettify(s)
16799}
16800
16801// GoString returns the string representation.
16802//
16803// API parameter values that are decorated as "sensitive" in the API will not
16804// be included in the string output. The member name will be present, but the
16805// value will be replaced with "sensitive".
16806func (s CharacterSet) GoString() string {
16807	return s.String()
16808}
16809
16810// SetCharacterSetDescription sets the CharacterSetDescription field's value.
16811func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
16812	s.CharacterSetDescription = &v
16813	return s
16814}
16815
16816// SetCharacterSetName sets the CharacterSetName field's value.
16817func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
16818	s.CharacterSetName = &v
16819	return s
16820}
16821
16822// The configuration setting for the log types to be enabled for export to CloudWatch
16823// Logs for a specific DB instance or DB cluster.
16824//
16825// The EnableLogTypes and DisableLogTypes arrays determine which logs will be
16826// exported (or not exported) to CloudWatch Logs. The values within these arrays
16827// depend on the DB engine being used.
16828//
16829// For more information about exporting CloudWatch Logs for Amazon RDS DB instances,
16830// see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
16831// in the Amazon RDS User Guide.
16832//
16833// For more information about exporting CloudWatch Logs for Amazon Aurora DB
16834// clusters, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
16835// in the Amazon Aurora User Guide.
16836type CloudwatchLogsExportConfiguration struct {
16837	_ struct{} `type:"structure"`
16838
16839	// The list of log types to disable.
16840	DisableLogTypes []*string `type:"list"`
16841
16842	// The list of log types to enable.
16843	EnableLogTypes []*string `type:"list"`
16844}
16845
16846// String returns the string representation.
16847//
16848// API parameter values that are decorated as "sensitive" in the API will not
16849// be included in the string output. The member name will be present, but the
16850// value will be replaced with "sensitive".
16851func (s CloudwatchLogsExportConfiguration) String() string {
16852	return awsutil.Prettify(s)
16853}
16854
16855// GoString returns the string representation.
16856//
16857// API parameter values that are decorated as "sensitive" in the API will not
16858// be included in the string output. The member name will be present, but the
16859// value will be replaced with "sensitive".
16860func (s CloudwatchLogsExportConfiguration) GoString() string {
16861	return s.String()
16862}
16863
16864// SetDisableLogTypes sets the DisableLogTypes field's value.
16865func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
16866	s.DisableLogTypes = v
16867	return s
16868}
16869
16870// SetEnableLogTypes sets the EnableLogTypes field's value.
16871func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
16872	s.EnableLogTypes = v
16873	return s
16874}
16875
16876// This data type is used as a response element in the ModifyDBCluster operation
16877// and contains changes that will be applied during the next maintenance window.
16878type ClusterPendingModifiedValues struct {
16879	_ struct{} `type:"structure"`
16880
16881	// The DBClusterIdentifier value for the DB cluster.
16882	DBClusterIdentifier *string `type:"string"`
16883
16884	// The database engine version.
16885	EngineVersion *string `type:"string"`
16886
16887	// A value that indicates whether mapping of Amazon Web Services Identity and
16888	// Access Management (IAM) accounts to database accounts is enabled.
16889	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
16890
16891	// The master credentials for the DB cluster.
16892	MasterUserPassword *string `type:"string"`
16893
16894	// A list of the log types whose configuration is still pending. In other words,
16895	// these log types are in the process of being activated or deactivated.
16896	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
16897}
16898
16899// String returns the string representation.
16900//
16901// API parameter values that are decorated as "sensitive" in the API will not
16902// be included in the string output. The member name will be present, but the
16903// value will be replaced with "sensitive".
16904func (s ClusterPendingModifiedValues) String() string {
16905	return awsutil.Prettify(s)
16906}
16907
16908// GoString returns the string representation.
16909//
16910// API parameter values that are decorated as "sensitive" in the API will not
16911// be included in the string output. The member name will be present, but the
16912// value will be replaced with "sensitive".
16913func (s ClusterPendingModifiedValues) GoString() string {
16914	return s.String()
16915}
16916
16917// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16918func (s *ClusterPendingModifiedValues) SetDBClusterIdentifier(v string) *ClusterPendingModifiedValues {
16919	s.DBClusterIdentifier = &v
16920	return s
16921}
16922
16923// SetEngineVersion sets the EngineVersion field's value.
16924func (s *ClusterPendingModifiedValues) SetEngineVersion(v string) *ClusterPendingModifiedValues {
16925	s.EngineVersion = &v
16926	return s
16927}
16928
16929// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
16930func (s *ClusterPendingModifiedValues) SetIAMDatabaseAuthenticationEnabled(v bool) *ClusterPendingModifiedValues {
16931	s.IAMDatabaseAuthenticationEnabled = &v
16932	return s
16933}
16934
16935// SetMasterUserPassword sets the MasterUserPassword field's value.
16936func (s *ClusterPendingModifiedValues) SetMasterUserPassword(v string) *ClusterPendingModifiedValues {
16937	s.MasterUserPassword = &v
16938	return s
16939}
16940
16941// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
16942func (s *ClusterPendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *ClusterPendingModifiedValues {
16943	s.PendingCloudwatchLogsExports = v
16944	return s
16945}
16946
16947// Specifies the settings that control the size and behavior of the connection
16948// pool associated with a DBProxyTargetGroup.
16949type ConnectionPoolConfiguration struct {
16950	_ struct{} `type:"structure"`
16951
16952	// The number of seconds for a proxy to wait for a connection to become available
16953	// in the connection pool. Only applies when the proxy has opened its maximum
16954	// number of connections and all connections are busy with client sessions.
16955	//
16956	// Default: 120
16957	//
16958	// Constraints: between 1 and 3600, or 0 representing unlimited
16959	ConnectionBorrowTimeout *int64 `type:"integer"`
16960
16961	// One or more SQL statements for the proxy to run when opening each new database
16962	// connection. Typically used with SET statements to make sure that each connection
16963	// has identical settings such as time zone and character set. For multiple
16964	// statements, use semicolons as the separator. You can also include multiple
16965	// variables in a single SET statement, such as SET x=1, y=2.
16966	//
16967	// Default: no initialization query
16968	InitQuery *string `type:"string"`
16969
16970	// The maximum size of the connection pool for each target in a target group.
16971	// For Aurora MySQL, it is expressed as a percentage of the max_connections
16972	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
16973	//
16974	// Default: 100
16975	//
16976	// Constraints: between 1 and 100
16977	MaxConnectionsPercent *int64 `type:"integer"`
16978
16979	// Controls how actively the proxy closes idle database connections in the connection
16980	// pool. A high value enables the proxy to leave a high percentage of idle connections
16981	// open. A low value causes the proxy to close idle client connections and return
16982	// the underlying database connections to the connection pool. For Aurora MySQL,
16983	// it is expressed as a percentage of the max_connections setting for the RDS
16984	// DB instance or Aurora DB cluster used by the target group.
16985	//
16986	// Default: 50
16987	//
16988	// Constraints: between 0 and MaxConnectionsPercent
16989	MaxIdleConnectionsPercent *int64 `type:"integer"`
16990
16991	// Each item in the list represents a class of SQL operations that normally
16992	// cause all later statements in a session using a proxy to be pinned to the
16993	// same underlying database connection. Including an item in the list exempts
16994	// that class of SQL operations from the pinning behavior.
16995	//
16996	// Default: no session pinning filters
16997	SessionPinningFilters []*string `type:"list"`
16998}
16999
17000// String returns the string representation.
17001//
17002// API parameter values that are decorated as "sensitive" in the API will not
17003// be included in the string output. The member name will be present, but the
17004// value will be replaced with "sensitive".
17005func (s ConnectionPoolConfiguration) String() string {
17006	return awsutil.Prettify(s)
17007}
17008
17009// GoString returns the string representation.
17010//
17011// API parameter values that are decorated as "sensitive" in the API will not
17012// be included in the string output. The member name will be present, but the
17013// value will be replaced with "sensitive".
17014func (s ConnectionPoolConfiguration) GoString() string {
17015	return s.String()
17016}
17017
17018// SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
17019func (s *ConnectionPoolConfiguration) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfiguration {
17020	s.ConnectionBorrowTimeout = &v
17021	return s
17022}
17023
17024// SetInitQuery sets the InitQuery field's value.
17025func (s *ConnectionPoolConfiguration) SetInitQuery(v string) *ConnectionPoolConfiguration {
17026	s.InitQuery = &v
17027	return s
17028}
17029
17030// SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
17031func (s *ConnectionPoolConfiguration) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfiguration {
17032	s.MaxConnectionsPercent = &v
17033	return s
17034}
17035
17036// SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
17037func (s *ConnectionPoolConfiguration) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfiguration {
17038	s.MaxIdleConnectionsPercent = &v
17039	return s
17040}
17041
17042// SetSessionPinningFilters sets the SessionPinningFilters field's value.
17043func (s *ConnectionPoolConfiguration) SetSessionPinningFilters(v []*string) *ConnectionPoolConfiguration {
17044	s.SessionPinningFilters = v
17045	return s
17046}
17047
17048// Displays the settings that control the size and behavior of the connection
17049// pool associated with a DBProxyTarget.
17050type ConnectionPoolConfigurationInfo struct {
17051	_ struct{} `type:"structure"`
17052
17053	// The number of seconds for a proxy to wait for a connection to become available
17054	// in the connection pool. Only applies when the proxy has opened its maximum
17055	// number of connections and all connections are busy with client sessions.
17056	ConnectionBorrowTimeout *int64 `type:"integer"`
17057
17058	// One or more SQL statements for the proxy to run when opening each new database
17059	// connection. Typically used with SET statements to make sure that each connection
17060	// has identical settings such as time zone and character set. This setting
17061	// is empty by default. For multiple statements, use semicolons as the separator.
17062	// You can also include multiple variables in a single SET statement, such as
17063	// SET x=1, y=2.
17064	InitQuery *string `type:"string"`
17065
17066	// The maximum size of the connection pool for each target in a target group.
17067	// For Aurora MySQL, it is expressed as a percentage of the max_connections
17068	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
17069	MaxConnectionsPercent *int64 `type:"integer"`
17070
17071	// Controls how actively the proxy closes idle database connections in the connection
17072	// pool. A high value enables the proxy to leave a high percentage of idle connections
17073	// open. A low value causes the proxy to close idle client connections and return
17074	// the underlying database connections to the connection pool. For Aurora MySQL,
17075	// it is expressed as a percentage of the max_connections setting for the RDS
17076	// DB instance or Aurora DB cluster used by the target group.
17077	MaxIdleConnectionsPercent *int64 `type:"integer"`
17078
17079	// Each item in the list represents a class of SQL operations that normally
17080	// cause all later statements in a session using a proxy to be pinned to the
17081	// same underlying database connection. Including an item in the list exempts
17082	// that class of SQL operations from the pinning behavior. Currently, the only
17083	// allowed value is EXCLUDE_VARIABLE_SETS.
17084	SessionPinningFilters []*string `type:"list"`
17085}
17086
17087// String returns the string representation.
17088//
17089// API parameter values that are decorated as "sensitive" in the API will not
17090// be included in the string output. The member name will be present, but the
17091// value will be replaced with "sensitive".
17092func (s ConnectionPoolConfigurationInfo) String() string {
17093	return awsutil.Prettify(s)
17094}
17095
17096// GoString returns the string representation.
17097//
17098// API parameter values that are decorated as "sensitive" in the API will not
17099// be included in the string output. The member name will be present, but the
17100// value will be replaced with "sensitive".
17101func (s ConnectionPoolConfigurationInfo) GoString() string {
17102	return s.String()
17103}
17104
17105// SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
17106func (s *ConnectionPoolConfigurationInfo) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfigurationInfo {
17107	s.ConnectionBorrowTimeout = &v
17108	return s
17109}
17110
17111// SetInitQuery sets the InitQuery field's value.
17112func (s *ConnectionPoolConfigurationInfo) SetInitQuery(v string) *ConnectionPoolConfigurationInfo {
17113	s.InitQuery = &v
17114	return s
17115}
17116
17117// SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
17118func (s *ConnectionPoolConfigurationInfo) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
17119	s.MaxConnectionsPercent = &v
17120	return s
17121}
17122
17123// SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
17124func (s *ConnectionPoolConfigurationInfo) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
17125	s.MaxIdleConnectionsPercent = &v
17126	return s
17127}
17128
17129// SetSessionPinningFilters sets the SessionPinningFilters field's value.
17130func (s *ConnectionPoolConfigurationInfo) SetSessionPinningFilters(v []*string) *ConnectionPoolConfigurationInfo {
17131	s.SessionPinningFilters = v
17132	return s
17133}
17134
17135type CopyDBClusterParameterGroupInput struct {
17136	_ struct{} `type:"structure"`
17137
17138	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
17139	// group. For information about creating an ARN, see Constructing an ARN for
17140	// Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
17141	// in the Amazon Aurora User Guide.
17142	//
17143	// Constraints:
17144	//
17145	//    * Must specify a valid DB cluster parameter group.
17146	//
17147	// SourceDBClusterParameterGroupIdentifier is a required field
17148	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
17149
17150	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
17151	// in the Amazon RDS User Guide.
17152	Tags []*Tag `locationNameList:"Tag" type:"list"`
17153
17154	// A description for the copied DB cluster parameter group.
17155	//
17156	// TargetDBClusterParameterGroupDescription is a required field
17157	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
17158
17159	// The identifier for the copied DB cluster parameter group.
17160	//
17161	// Constraints:
17162	//
17163	//    * Can't be null, empty, or blank
17164	//
17165	//    * Must contain from 1 to 255 letters, numbers, or hyphens
17166	//
17167	//    * First character must be a letter
17168	//
17169	//    * Can't end with a hyphen or contain two consecutive hyphens
17170	//
17171	// Example: my-cluster-param-group1
17172	//
17173	// TargetDBClusterParameterGroupIdentifier is a required field
17174	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
17175}
17176
17177// String returns the string representation.
17178//
17179// API parameter values that are decorated as "sensitive" in the API will not
17180// be included in the string output. The member name will be present, but the
17181// value will be replaced with "sensitive".
17182func (s CopyDBClusterParameterGroupInput) String() string {
17183	return awsutil.Prettify(s)
17184}
17185
17186// GoString returns the string representation.
17187//
17188// API parameter values that are decorated as "sensitive" in the API will not
17189// be included in the string output. The member name will be present, but the
17190// value will be replaced with "sensitive".
17191func (s CopyDBClusterParameterGroupInput) GoString() string {
17192	return s.String()
17193}
17194
17195// Validate inspects the fields of the type to determine if they are valid.
17196func (s *CopyDBClusterParameterGroupInput) Validate() error {
17197	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
17198	if s.SourceDBClusterParameterGroupIdentifier == nil {
17199		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
17200	}
17201	if s.TargetDBClusterParameterGroupDescription == nil {
17202		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
17203	}
17204	if s.TargetDBClusterParameterGroupIdentifier == nil {
17205		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
17206	}
17207
17208	if invalidParams.Len() > 0 {
17209		return invalidParams
17210	}
17211	return nil
17212}
17213
17214// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
17215func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
17216	s.SourceDBClusterParameterGroupIdentifier = &v
17217	return s
17218}
17219
17220// SetTags sets the Tags field's value.
17221func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
17222	s.Tags = v
17223	return s
17224}
17225
17226// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
17227func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
17228	s.TargetDBClusterParameterGroupDescription = &v
17229	return s
17230}
17231
17232// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
17233func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
17234	s.TargetDBClusterParameterGroupIdentifier = &v
17235	return s
17236}
17237
17238type CopyDBClusterParameterGroupOutput struct {
17239	_ struct{} `type:"structure"`
17240
17241	// Contains the details of an Amazon RDS DB cluster parameter group.
17242	//
17243	// This data type is used as a response element in the DescribeDBClusterParameterGroups
17244	// action.
17245	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
17246}
17247
17248// String returns the string representation.
17249//
17250// API parameter values that are decorated as "sensitive" in the API will not
17251// be included in the string output. The member name will be present, but the
17252// value will be replaced with "sensitive".
17253func (s CopyDBClusterParameterGroupOutput) String() string {
17254	return awsutil.Prettify(s)
17255}
17256
17257// GoString returns the string representation.
17258//
17259// API parameter values that are decorated as "sensitive" in the API will not
17260// be included in the string output. The member name will be present, but the
17261// value will be replaced with "sensitive".
17262func (s CopyDBClusterParameterGroupOutput) GoString() string {
17263	return s.String()
17264}
17265
17266// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
17267func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
17268	s.DBClusterParameterGroup = v
17269	return s
17270}
17271
17272type CopyDBClusterSnapshotInput struct {
17273	_ struct{} `type:"structure"`
17274
17275	// A value that indicates whether to copy all tags from the source DB cluster
17276	// snapshot to the target DB cluster snapshot. By default, tags are not copied.
17277	CopyTags *bool `type:"boolean"`
17278
17279	// DestinationRegion is used for presigning the request to a given region.
17280	DestinationRegion *string `type:"string"`
17281
17282	// The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot.
17283	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
17284	// ARN, or alias name for the Amazon Web Services KMS key.
17285	//
17286	// If you copy an encrypted DB cluster snapshot from your Amazon Web Services
17287	// account, you can specify a value for KmsKeyId to encrypt the copy with a
17288	// new KMS key. If you don't specify a value for KmsKeyId, then the copy of
17289	// the DB cluster snapshot is encrypted with the same KMS key as the source
17290	// DB cluster snapshot.
17291	//
17292	// If you copy an encrypted DB cluster snapshot that is shared from another
17293	// Amazon Web Services account, then you must specify a value for KmsKeyId.
17294	//
17295	// To copy an encrypted DB cluster snapshot to another Amazon Web Services Region,
17296	// you must set KmsKeyId to the Amazon Web Services KMS key identifier you want
17297	// to use to encrypt the copy of the DB cluster snapshot in the destination
17298	// Amazon Web Services Region. KMS keys are specific to the Amazon Web Services
17299	// Region that they are created in, and you can't use KMS keys from one Amazon
17300	// Web Services Region in another Amazon Web Services Region.
17301	//
17302	// If you copy an unencrypted DB cluster snapshot and specify a value for the
17303	// KmsKeyId parameter, an error is returned.
17304	KmsKeyId *string `type:"string"`
17305
17306	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
17307	// API action in the Amazon Web Services Region that contains the source DB
17308	// cluster snapshot to copy. The PreSignedUrl parameter must be used when copying
17309	// an encrypted DB cluster snapshot from another Amazon Web Services Region.
17310	// Don't specify PreSignedUrl when you are copying an encrypted DB cluster snapshot
17311	// in the same Amazon Web Services Region.
17312	//
17313	// The pre-signed URL must be a valid request for the CopyDBClusterSnapshot
17314	// API action that can be executed in the source Amazon Web Services Region
17315	// that contains the encrypted DB cluster snapshot to be copied. The pre-signed
17316	// URL request must contain the following parameter values:
17317	//
17318	//    * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key
17319	//    to use to encrypt the copy of the DB cluster snapshot in the destination
17320	//    Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot
17321	//    action that is called in the destination Amazon Web Services Region, and
17322	//    the action contained in the pre-signed URL.
17323	//
17324	//    * DestinationRegion - The name of the Amazon Web Services Region that
17325	//    the DB cluster snapshot is to be created in.
17326	//
17327	//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
17328	//    for the encrypted DB cluster snapshot to be copied. This identifier must
17329	//    be in the Amazon Resource Name (ARN) format for the source Amazon Web
17330	//    Services Region. For example, if you are copying an encrypted DB cluster
17331	//    snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier
17332	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
17333	//
17334	// To learn how to generate a Signature Version 4 signed request, see Authenticating
17335	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
17336	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
17337	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
17338	//
17339	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
17340	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
17341	// manually. Specifying SourceRegion autogenerates a pre-signed URL that is
17342	// a valid request for the operation that can be executed in the source Amazon
17343	// Web Services Region.
17344	PreSignedUrl *string `type:"string"`
17345
17346	// The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive.
17347	//
17348	// You can't copy an encrypted, shared DB cluster snapshot from one Amazon Web
17349	// Services Region to another.
17350	//
17351	// Constraints:
17352	//
17353	//    * Must specify a valid system snapshot in the "available" state.
17354	//
17355	//    * If the source snapshot is in the same Amazon Web Services Region as
17356	//    the copy, specify a valid DB snapshot identifier.
17357	//
17358	//    * If the source snapshot is in a different Amazon Web Services Region
17359	//    than the copy, specify a valid DB cluster snapshot ARN. For more information,
17360	//    go to Copying Snapshots Across Amazon Web Services Regions (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html#USER_CopySnapshot.AcrossRegions)
17361	//    in the Amazon Aurora User Guide.
17362	//
17363	// Example: my-cluster-snapshot1
17364	//
17365	// SourceDBClusterSnapshotIdentifier is a required field
17366	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
17367
17368	// SourceRegion is the source region where the resource exists. This is not
17369	// sent over the wire and is only used for presigning. This value should always
17370	// have the same region as the source ARN.
17371	SourceRegion *string `type:"string" ignore:"true"`
17372
17373	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
17374	// in the Amazon RDS User Guide.
17375	Tags []*Tag `locationNameList:"Tag" type:"list"`
17376
17377	// The identifier of the new DB cluster snapshot to create from the source DB
17378	// cluster snapshot. This parameter isn't case-sensitive.
17379	//
17380	// Constraints:
17381	//
17382	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
17383	//
17384	//    * First character must be a letter.
17385	//
17386	//    * Can't end with a hyphen or contain two consecutive hyphens.
17387	//
17388	// Example: my-cluster-snapshot2
17389	//
17390	// TargetDBClusterSnapshotIdentifier is a required field
17391	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
17392}
17393
17394// String returns the string representation.
17395//
17396// API parameter values that are decorated as "sensitive" in the API will not
17397// be included in the string output. The member name will be present, but the
17398// value will be replaced with "sensitive".
17399func (s CopyDBClusterSnapshotInput) String() string {
17400	return awsutil.Prettify(s)
17401}
17402
17403// GoString returns the string representation.
17404//
17405// API parameter values that are decorated as "sensitive" in the API will not
17406// be included in the string output. The member name will be present, but the
17407// value will be replaced with "sensitive".
17408func (s CopyDBClusterSnapshotInput) GoString() string {
17409	return s.String()
17410}
17411
17412// Validate inspects the fields of the type to determine if they are valid.
17413func (s *CopyDBClusterSnapshotInput) Validate() error {
17414	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
17415	if s.SourceDBClusterSnapshotIdentifier == nil {
17416		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
17417	}
17418	if s.TargetDBClusterSnapshotIdentifier == nil {
17419		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
17420	}
17421
17422	if invalidParams.Len() > 0 {
17423		return invalidParams
17424	}
17425	return nil
17426}
17427
17428// SetCopyTags sets the CopyTags field's value.
17429func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
17430	s.CopyTags = &v
17431	return s
17432}
17433
17434// SetDestinationRegion sets the DestinationRegion field's value.
17435func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
17436	s.DestinationRegion = &v
17437	return s
17438}
17439
17440// SetKmsKeyId sets the KmsKeyId field's value.
17441func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
17442	s.KmsKeyId = &v
17443	return s
17444}
17445
17446// SetPreSignedUrl sets the PreSignedUrl field's value.
17447func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
17448	s.PreSignedUrl = &v
17449	return s
17450}
17451
17452// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
17453func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
17454	s.SourceDBClusterSnapshotIdentifier = &v
17455	return s
17456}
17457
17458// SetSourceRegion sets the SourceRegion field's value.
17459func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
17460	s.SourceRegion = &v
17461	return s
17462}
17463
17464// SetTags sets the Tags field's value.
17465func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
17466	s.Tags = v
17467	return s
17468}
17469
17470// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
17471func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
17472	s.TargetDBClusterSnapshotIdentifier = &v
17473	return s
17474}
17475
17476type CopyDBClusterSnapshotOutput struct {
17477	_ struct{} `type:"structure"`
17478
17479	// Contains the details for an Amazon RDS DB cluster snapshot
17480	//
17481	// This data type is used as a response element in the DescribeDBClusterSnapshots
17482	// action.
17483	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
17484}
17485
17486// String returns the string representation.
17487//
17488// API parameter values that are decorated as "sensitive" in the API will not
17489// be included in the string output. The member name will be present, but the
17490// value will be replaced with "sensitive".
17491func (s CopyDBClusterSnapshotOutput) String() string {
17492	return awsutil.Prettify(s)
17493}
17494
17495// GoString returns the string representation.
17496//
17497// API parameter values that are decorated as "sensitive" in the API will not
17498// be included in the string output. The member name will be present, but the
17499// value will be replaced with "sensitive".
17500func (s CopyDBClusterSnapshotOutput) GoString() string {
17501	return s.String()
17502}
17503
17504// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
17505func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
17506	s.DBClusterSnapshot = v
17507	return s
17508}
17509
17510type CopyDBParameterGroupInput struct {
17511	_ struct{} `type:"structure"`
17512
17513	// The identifier or ARN for the source DB parameter group. For information
17514	// 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)
17515	// in the Amazon RDS User Guide.
17516	//
17517	// Constraints:
17518	//
17519	//    * Must specify a valid DB parameter group.
17520	//
17521	// SourceDBParameterGroupIdentifier is a required field
17522	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
17523
17524	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
17525	// in the Amazon RDS User Guide.
17526	Tags []*Tag `locationNameList:"Tag" type:"list"`
17527
17528	// A description for the copied DB parameter group.
17529	//
17530	// TargetDBParameterGroupDescription is a required field
17531	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
17532
17533	// The identifier for the copied DB parameter group.
17534	//
17535	// Constraints:
17536	//
17537	//    * Can't be null, empty, or blank
17538	//
17539	//    * Must contain from 1 to 255 letters, numbers, or hyphens
17540	//
17541	//    * First character must be a letter
17542	//
17543	//    * Can't end with a hyphen or contain two consecutive hyphens
17544	//
17545	// Example: my-db-parameter-group
17546	//
17547	// TargetDBParameterGroupIdentifier is a required field
17548	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
17549}
17550
17551// String returns the string representation.
17552//
17553// API parameter values that are decorated as "sensitive" in the API will not
17554// be included in the string output. The member name will be present, but the
17555// value will be replaced with "sensitive".
17556func (s CopyDBParameterGroupInput) String() string {
17557	return awsutil.Prettify(s)
17558}
17559
17560// GoString returns the string representation.
17561//
17562// API parameter values that are decorated as "sensitive" in the API will not
17563// be included in the string output. The member name will be present, but the
17564// value will be replaced with "sensitive".
17565func (s CopyDBParameterGroupInput) GoString() string {
17566	return s.String()
17567}
17568
17569// Validate inspects the fields of the type to determine if they are valid.
17570func (s *CopyDBParameterGroupInput) Validate() error {
17571	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
17572	if s.SourceDBParameterGroupIdentifier == nil {
17573		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
17574	}
17575	if s.TargetDBParameterGroupDescription == nil {
17576		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
17577	}
17578	if s.TargetDBParameterGroupIdentifier == nil {
17579		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
17580	}
17581
17582	if invalidParams.Len() > 0 {
17583		return invalidParams
17584	}
17585	return nil
17586}
17587
17588// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
17589func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
17590	s.SourceDBParameterGroupIdentifier = &v
17591	return s
17592}
17593
17594// SetTags sets the Tags field's value.
17595func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
17596	s.Tags = v
17597	return s
17598}
17599
17600// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
17601func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
17602	s.TargetDBParameterGroupDescription = &v
17603	return s
17604}
17605
17606// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
17607func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
17608	s.TargetDBParameterGroupIdentifier = &v
17609	return s
17610}
17611
17612type CopyDBParameterGroupOutput struct {
17613	_ struct{} `type:"structure"`
17614
17615	// Contains the details of an Amazon RDS DB parameter group.
17616	//
17617	// This data type is used as a response element in the DescribeDBParameterGroups
17618	// action.
17619	DBParameterGroup *DBParameterGroup `type:"structure"`
17620}
17621
17622// String returns the string representation.
17623//
17624// API parameter values that are decorated as "sensitive" in the API will not
17625// be included in the string output. The member name will be present, but the
17626// value will be replaced with "sensitive".
17627func (s CopyDBParameterGroupOutput) String() string {
17628	return awsutil.Prettify(s)
17629}
17630
17631// GoString returns the string representation.
17632//
17633// API parameter values that are decorated as "sensitive" in the API will not
17634// be included in the string output. The member name will be present, but the
17635// value will be replaced with "sensitive".
17636func (s CopyDBParameterGroupOutput) GoString() string {
17637	return s.String()
17638}
17639
17640// SetDBParameterGroup sets the DBParameterGroup field's value.
17641func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
17642	s.DBParameterGroup = v
17643	return s
17644}
17645
17646type CopyDBSnapshotInput struct {
17647	_ struct{} `type:"structure"`
17648
17649	// A value that indicates whether to copy all tags from the source DB snapshot
17650	// to the target DB snapshot. By default, tags are not copied.
17651	CopyTags *bool `type:"boolean"`
17652
17653	// DestinationRegion is used for presigning the request to a given region.
17654	DestinationRegion *string `type:"string"`
17655
17656	// The Amazon Web Services KMS key identifier for an encrypted DB snapshot.
17657	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
17658	// ARN, or alias name for the KMS key.
17659	//
17660	// If you copy an encrypted DB snapshot from your Amazon Web Services account,
17661	// you can specify a value for this parameter to encrypt the copy with a new
17662	// KMS key. If you don't specify a value for this parameter, then the copy of
17663	// the DB snapshot is encrypted with the same Amazon Web Services KMS key as
17664	// the source DB snapshot.
17665	//
17666	// If you copy an encrypted DB snapshot that is shared from another Amazon Web
17667	// Services account, then you must specify a value for this parameter.
17668	//
17669	// If you specify this parameter when you copy an unencrypted snapshot, the
17670	// copy is encrypted.
17671	//
17672	// If you copy an encrypted snapshot to a different Amazon Web Services Region,
17673	// then you must specify an Amazon Web Services KMS key identifier for the destination
17674	// Amazon Web Services Region. KMS keys are specific to the Amazon Web Services
17675	// Region that they are created in, and you can't use KMS keys from one Amazon
17676	// Web Services Region in another Amazon Web Services Region.
17677	KmsKeyId *string `type:"string"`
17678
17679	// The name of an option group to associate with the copy of the snapshot.
17680	//
17681	// Specify this option if you are copying a snapshot from one Amazon Web Services
17682	// Region to another, and your DB instance uses a nondefault option group. If
17683	// your source DB instance uses Transparent Data Encryption for Oracle or Microsoft
17684	// SQL Server, you must specify this option when copying across Amazon Web Services
17685	// Regions. For more information, see Option group considerations (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options)
17686	// in the Amazon RDS User Guide.
17687	OptionGroupName *string `type:"string"`
17688
17689	// The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot
17690	// API action in the source Amazon Web Services Region that contains the source
17691	// DB snapshot to copy.
17692	//
17693	// You must specify this parameter when you copy an encrypted DB snapshot from
17694	// another Amazon Web Services Region by using the Amazon RDS API. Don't specify
17695	// PreSignedUrl when you are copying an encrypted DB snapshot in the same Amazon
17696	// Web Services Region.
17697	//
17698	// The presigned URL must be a valid request for the CopyDBSnapshot API action
17699	// that can be executed in the source Amazon Web Services Region that contains
17700	// the encrypted DB snapshot to be copied. The presigned URL request must contain
17701	// the following parameter values:
17702	//
17703	//    * DestinationRegion - The Amazon Web Services Region that the encrypted
17704	//    DB snapshot is copied to. This Amazon Web Services Region is the same
17705	//    one where the CopyDBSnapshot action is called that contains this presigned
17706	//    URL. For example, if you copy an encrypted DB snapshot from the us-west-2
17707	//    Amazon Web Services Region to the us-east-1 Amazon Web Services Region,
17708	//    then you call the CopyDBSnapshot action in the us-east-1 Amazon Web Services
17709	//    Region and provide a presigned URL that contains a call to the CopyDBSnapshot
17710	//    action in the us-west-2 Amazon Web Services Region. For this example,
17711	//    the DestinationRegion in the presigned URL must be set to the us-east-1
17712	//    Amazon Web Services Region.
17713	//
17714	//    * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key
17715	//    to use to encrypt the copy of the DB snapshot in the destination Amazon
17716	//    Web Services Region. This is the same identifier for both the CopyDBSnapshot
17717	//    action that is called in the destination Amazon Web Services Region, and
17718	//    the action contained in the presigned URL.
17719	//
17720	//    * SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted
17721	//    snapshot to be copied. This identifier must be in the Amazon Resource
17722	//    Name (ARN) format for the source Amazon Web Services Region. For example,
17723	//    if you are copying an encrypted DB snapshot from the us-west-2 Amazon
17724	//    Web Services Region, then your SourceDBSnapshotIdentifier looks like the
17725	//    following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.
17726	//
17727	// To learn how to generate a Signature Version 4 signed request, see Authenticating
17728	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
17729	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
17730	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
17731	//
17732	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
17733	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
17734	// manually. Specifying SourceRegion autogenerates a pre-signed URL that is
17735	// a valid request for the operation that can be executed in the source Amazon
17736	// Web Services Region.
17737	PreSignedUrl *string `type:"string"`
17738
17739	// The identifier for the source DB snapshot.
17740	//
17741	// If the source snapshot is in the same Amazon Web Services Region as the copy,
17742	// specify a valid DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.
17743	//
17744	// If the source snapshot is in a different Amazon Web Services Region than
17745	// the copy, specify a valid DB snapshot ARN. For example, you might specify
17746	// arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.
17747	//
17748	// If you are copying from a shared manual DB snapshot, this parameter must
17749	// be the Amazon Resource Name (ARN) of the shared DB snapshot.
17750	//
17751	// If you are copying an encrypted snapshot this parameter must be in the ARN
17752	// format for the source Amazon Web Services Region, and must match the SourceDBSnapshotIdentifier
17753	// in the PreSignedUrl parameter.
17754	//
17755	// Constraints:
17756	//
17757	//    * Must specify a valid system snapshot in the "available" state.
17758	//
17759	// Example: rds:mydb-2012-04-02-00-01
17760	//
17761	// Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805
17762	//
17763	// SourceDBSnapshotIdentifier is a required field
17764	SourceDBSnapshotIdentifier *string `type:"string" required:"true"`
17765
17766	// SourceRegion is the source region where the resource exists. This is not
17767	// sent over the wire and is only used for presigning. This value should always
17768	// have the same region as the source ARN.
17769	SourceRegion *string `type:"string" ignore:"true"`
17770
17771	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
17772	// in the Amazon RDS User Guide.
17773	Tags []*Tag `locationNameList:"Tag" type:"list"`
17774
17775	// The external custom Availability Zone (CAZ) identifier for the target CAZ.
17776	//
17777	// Example: rds-caz-aiqhTgQv.
17778	TargetCustomAvailabilityZone *string `type:"string"`
17779
17780	// The identifier for the copy of the snapshot.
17781	//
17782	// Constraints:
17783	//
17784	//    * Can't be null, empty, or blank
17785	//
17786	//    * Must contain from 1 to 255 letters, numbers, or hyphens
17787	//
17788	//    * First character must be a letter
17789	//
17790	//    * Can't end with a hyphen or contain two consecutive hyphens
17791	//
17792	// Example: my-db-snapshot
17793	//
17794	// TargetDBSnapshotIdentifier is a required field
17795	TargetDBSnapshotIdentifier *string `type:"string" required:"true"`
17796}
17797
17798// String returns the string representation.
17799//
17800// API parameter values that are decorated as "sensitive" in the API will not
17801// be included in the string output. The member name will be present, but the
17802// value will be replaced with "sensitive".
17803func (s CopyDBSnapshotInput) String() string {
17804	return awsutil.Prettify(s)
17805}
17806
17807// GoString returns the string representation.
17808//
17809// API parameter values that are decorated as "sensitive" in the API will not
17810// be included in the string output. The member name will be present, but the
17811// value will be replaced with "sensitive".
17812func (s CopyDBSnapshotInput) GoString() string {
17813	return s.String()
17814}
17815
17816// Validate inspects the fields of the type to determine if they are valid.
17817func (s *CopyDBSnapshotInput) Validate() error {
17818	invalidParams := request.ErrInvalidParams{Context: "CopyDBSnapshotInput"}
17819	if s.SourceDBSnapshotIdentifier == nil {
17820		invalidParams.Add(request.NewErrParamRequired("SourceDBSnapshotIdentifier"))
17821	}
17822	if s.TargetDBSnapshotIdentifier == nil {
17823		invalidParams.Add(request.NewErrParamRequired("TargetDBSnapshotIdentifier"))
17824	}
17825
17826	if invalidParams.Len() > 0 {
17827		return invalidParams
17828	}
17829	return nil
17830}
17831
17832// SetCopyTags sets the CopyTags field's value.
17833func (s *CopyDBSnapshotInput) SetCopyTags(v bool) *CopyDBSnapshotInput {
17834	s.CopyTags = &v
17835	return s
17836}
17837
17838// SetDestinationRegion sets the DestinationRegion field's value.
17839func (s *CopyDBSnapshotInput) SetDestinationRegion(v string) *CopyDBSnapshotInput {
17840	s.DestinationRegion = &v
17841	return s
17842}
17843
17844// SetKmsKeyId sets the KmsKeyId field's value.
17845func (s *CopyDBSnapshotInput) SetKmsKeyId(v string) *CopyDBSnapshotInput {
17846	s.KmsKeyId = &v
17847	return s
17848}
17849
17850// SetOptionGroupName sets the OptionGroupName field's value.
17851func (s *CopyDBSnapshotInput) SetOptionGroupName(v string) *CopyDBSnapshotInput {
17852	s.OptionGroupName = &v
17853	return s
17854}
17855
17856// SetPreSignedUrl sets the PreSignedUrl field's value.
17857func (s *CopyDBSnapshotInput) SetPreSignedUrl(v string) *CopyDBSnapshotInput {
17858	s.PreSignedUrl = &v
17859	return s
17860}
17861
17862// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
17863func (s *CopyDBSnapshotInput) SetSourceDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
17864	s.SourceDBSnapshotIdentifier = &v
17865	return s
17866}
17867
17868// SetSourceRegion sets the SourceRegion field's value.
17869func (s *CopyDBSnapshotInput) SetSourceRegion(v string) *CopyDBSnapshotInput {
17870	s.SourceRegion = &v
17871	return s
17872}
17873
17874// SetTags sets the Tags field's value.
17875func (s *CopyDBSnapshotInput) SetTags(v []*Tag) *CopyDBSnapshotInput {
17876	s.Tags = v
17877	return s
17878}
17879
17880// SetTargetCustomAvailabilityZone sets the TargetCustomAvailabilityZone field's value.
17881func (s *CopyDBSnapshotInput) SetTargetCustomAvailabilityZone(v string) *CopyDBSnapshotInput {
17882	s.TargetCustomAvailabilityZone = &v
17883	return s
17884}
17885
17886// SetTargetDBSnapshotIdentifier sets the TargetDBSnapshotIdentifier field's value.
17887func (s *CopyDBSnapshotInput) SetTargetDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
17888	s.TargetDBSnapshotIdentifier = &v
17889	return s
17890}
17891
17892type CopyDBSnapshotOutput struct {
17893	_ struct{} `type:"structure"`
17894
17895	// Contains the details of an Amazon RDS DB snapshot.
17896	//
17897	// This data type is used as a response element in the DescribeDBSnapshots action.
17898	DBSnapshot *DBSnapshot `type:"structure"`
17899}
17900
17901// String returns the string representation.
17902//
17903// API parameter values that are decorated as "sensitive" in the API will not
17904// be included in the string output. The member name will be present, but the
17905// value will be replaced with "sensitive".
17906func (s CopyDBSnapshotOutput) String() string {
17907	return awsutil.Prettify(s)
17908}
17909
17910// GoString returns the string representation.
17911//
17912// API parameter values that are decorated as "sensitive" in the API will not
17913// be included in the string output. The member name will be present, but the
17914// value will be replaced with "sensitive".
17915func (s CopyDBSnapshotOutput) GoString() string {
17916	return s.String()
17917}
17918
17919// SetDBSnapshot sets the DBSnapshot field's value.
17920func (s *CopyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CopyDBSnapshotOutput {
17921	s.DBSnapshot = v
17922	return s
17923}
17924
17925type CopyOptionGroupInput struct {
17926	_ struct{} `type:"structure"`
17927
17928	// The identifier for the source option group.
17929	//
17930	// Constraints:
17931	//
17932	//    * Must specify a valid option group.
17933	//
17934	// SourceOptionGroupIdentifier is a required field
17935	SourceOptionGroupIdentifier *string `type:"string" required:"true"`
17936
17937	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
17938	// in the Amazon RDS User Guide.
17939	Tags []*Tag `locationNameList:"Tag" type:"list"`
17940
17941	// The description for the copied option group.
17942	//
17943	// TargetOptionGroupDescription is a required field
17944	TargetOptionGroupDescription *string `type:"string" required:"true"`
17945
17946	// The identifier for the copied option group.
17947	//
17948	// Constraints:
17949	//
17950	//    * Can't be null, empty, or blank
17951	//
17952	//    * Must contain from 1 to 255 letters, numbers, or hyphens
17953	//
17954	//    * First character must be a letter
17955	//
17956	//    * Can't end with a hyphen or contain two consecutive hyphens
17957	//
17958	// Example: my-option-group
17959	//
17960	// TargetOptionGroupIdentifier is a required field
17961	TargetOptionGroupIdentifier *string `type:"string" required:"true"`
17962}
17963
17964// String returns the string representation.
17965//
17966// API parameter values that are decorated as "sensitive" in the API will not
17967// be included in the string output. The member name will be present, but the
17968// value will be replaced with "sensitive".
17969func (s CopyOptionGroupInput) String() string {
17970	return awsutil.Prettify(s)
17971}
17972
17973// GoString returns the string representation.
17974//
17975// API parameter values that are decorated as "sensitive" in the API will not
17976// be included in the string output. The member name will be present, but the
17977// value will be replaced with "sensitive".
17978func (s CopyOptionGroupInput) GoString() string {
17979	return s.String()
17980}
17981
17982// Validate inspects the fields of the type to determine if they are valid.
17983func (s *CopyOptionGroupInput) Validate() error {
17984	invalidParams := request.ErrInvalidParams{Context: "CopyOptionGroupInput"}
17985	if s.SourceOptionGroupIdentifier == nil {
17986		invalidParams.Add(request.NewErrParamRequired("SourceOptionGroupIdentifier"))
17987	}
17988	if s.TargetOptionGroupDescription == nil {
17989		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupDescription"))
17990	}
17991	if s.TargetOptionGroupIdentifier == nil {
17992		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupIdentifier"))
17993	}
17994
17995	if invalidParams.Len() > 0 {
17996		return invalidParams
17997	}
17998	return nil
17999}
18000
18001// SetSourceOptionGroupIdentifier sets the SourceOptionGroupIdentifier field's value.
18002func (s *CopyOptionGroupInput) SetSourceOptionGroupIdentifier(v string) *CopyOptionGroupInput {
18003	s.SourceOptionGroupIdentifier = &v
18004	return s
18005}
18006
18007// SetTags sets the Tags field's value.
18008func (s *CopyOptionGroupInput) SetTags(v []*Tag) *CopyOptionGroupInput {
18009	s.Tags = v
18010	return s
18011}
18012
18013// SetTargetOptionGroupDescription sets the TargetOptionGroupDescription field's value.
18014func (s *CopyOptionGroupInput) SetTargetOptionGroupDescription(v string) *CopyOptionGroupInput {
18015	s.TargetOptionGroupDescription = &v
18016	return s
18017}
18018
18019// SetTargetOptionGroupIdentifier sets the TargetOptionGroupIdentifier field's value.
18020func (s *CopyOptionGroupInput) SetTargetOptionGroupIdentifier(v string) *CopyOptionGroupInput {
18021	s.TargetOptionGroupIdentifier = &v
18022	return s
18023}
18024
18025type CopyOptionGroupOutput struct {
18026	_ struct{} `type:"structure"`
18027
18028	OptionGroup *OptionGroup `type:"structure"`
18029}
18030
18031// String returns the string representation.
18032//
18033// API parameter values that are decorated as "sensitive" in the API will not
18034// be included in the string output. The member name will be present, but the
18035// value will be replaced with "sensitive".
18036func (s CopyOptionGroupOutput) String() string {
18037	return awsutil.Prettify(s)
18038}
18039
18040// GoString returns the string representation.
18041//
18042// API parameter values that are decorated as "sensitive" in the API will not
18043// be included in the string output. The member name will be present, but the
18044// value will be replaced with "sensitive".
18045func (s CopyOptionGroupOutput) GoString() string {
18046	return s.String()
18047}
18048
18049// SetOptionGroup sets the OptionGroup field's value.
18050func (s *CopyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CopyOptionGroupOutput {
18051	s.OptionGroup = v
18052	return s
18053}
18054
18055type CreateCustomAvailabilityZoneInput struct {
18056	_ struct{} `type:"structure"`
18057
18058	// The name of the custom Availability Zone (AZ).
18059	//
18060	// CustomAvailabilityZoneName is a required field
18061	CustomAvailabilityZoneName *string `type:"string" required:"true"`
18062
18063	// The ID of an existing virtual private network (VPN) between the Amazon RDS
18064	// website and the VMware vSphere cluster.
18065	ExistingVpnId *string `type:"string"`
18066
18067	// The name of a new VPN tunnel between the Amazon RDS website and the VMware
18068	// vSphere cluster.
18069	//
18070	// Specify this parameter only if ExistingVpnId isn't specified.
18071	NewVpnTunnelName *string `type:"string"`
18072
18073	// The IP address of network traffic from your on-premises data center. A custom
18074	// AZ receives the network traffic.
18075	//
18076	// Specify this parameter only if ExistingVpnId isn't specified.
18077	VpnTunnelOriginatorIP *string `type:"string"`
18078}
18079
18080// String returns the string representation.
18081//
18082// API parameter values that are decorated as "sensitive" in the API will not
18083// be included in the string output. The member name will be present, but the
18084// value will be replaced with "sensitive".
18085func (s CreateCustomAvailabilityZoneInput) String() string {
18086	return awsutil.Prettify(s)
18087}
18088
18089// GoString returns the string representation.
18090//
18091// API parameter values that are decorated as "sensitive" in the API will not
18092// be included in the string output. The member name will be present, but the
18093// value will be replaced with "sensitive".
18094func (s CreateCustomAvailabilityZoneInput) GoString() string {
18095	return s.String()
18096}
18097
18098// Validate inspects the fields of the type to determine if they are valid.
18099func (s *CreateCustomAvailabilityZoneInput) Validate() error {
18100	invalidParams := request.ErrInvalidParams{Context: "CreateCustomAvailabilityZoneInput"}
18101	if s.CustomAvailabilityZoneName == nil {
18102		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneName"))
18103	}
18104
18105	if invalidParams.Len() > 0 {
18106		return invalidParams
18107	}
18108	return nil
18109}
18110
18111// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
18112func (s *CreateCustomAvailabilityZoneInput) SetCustomAvailabilityZoneName(v string) *CreateCustomAvailabilityZoneInput {
18113	s.CustomAvailabilityZoneName = &v
18114	return s
18115}
18116
18117// SetExistingVpnId sets the ExistingVpnId field's value.
18118func (s *CreateCustomAvailabilityZoneInput) SetExistingVpnId(v string) *CreateCustomAvailabilityZoneInput {
18119	s.ExistingVpnId = &v
18120	return s
18121}
18122
18123// SetNewVpnTunnelName sets the NewVpnTunnelName field's value.
18124func (s *CreateCustomAvailabilityZoneInput) SetNewVpnTunnelName(v string) *CreateCustomAvailabilityZoneInput {
18125	s.NewVpnTunnelName = &v
18126	return s
18127}
18128
18129// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
18130func (s *CreateCustomAvailabilityZoneInput) SetVpnTunnelOriginatorIP(v string) *CreateCustomAvailabilityZoneInput {
18131	s.VpnTunnelOriginatorIP = &v
18132	return s
18133}
18134
18135type CreateCustomAvailabilityZoneOutput struct {
18136	_ struct{} `type:"structure"`
18137
18138	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
18139	// a VMware vSphere cluster.
18140	//
18141	// For more information about RDS on VMware, see the RDS on VMware User Guide.
18142	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
18143	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
18144}
18145
18146// String returns the string representation.
18147//
18148// API parameter values that are decorated as "sensitive" in the API will not
18149// be included in the string output. The member name will be present, but the
18150// value will be replaced with "sensitive".
18151func (s CreateCustomAvailabilityZoneOutput) String() string {
18152	return awsutil.Prettify(s)
18153}
18154
18155// GoString returns the string representation.
18156//
18157// API parameter values that are decorated as "sensitive" in the API will not
18158// be included in the string output. The member name will be present, but the
18159// value will be replaced with "sensitive".
18160func (s CreateCustomAvailabilityZoneOutput) GoString() string {
18161	return s.String()
18162}
18163
18164// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
18165func (s *CreateCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *CreateCustomAvailabilityZoneOutput {
18166	s.CustomAvailabilityZone = v
18167	return s
18168}
18169
18170type CreateCustomDBEngineVersionInput struct {
18171	_ struct{} `type:"structure"`
18172
18173	// The name of an Amazon S3 bucket that contains database installation files
18174	// for your CEV. For example, a valid bucket name is my-custom-installation-files.
18175	//
18176	// DatabaseInstallationFilesS3BucketName is a required field
18177	DatabaseInstallationFilesS3BucketName *string `min:"3" type:"string" required:"true"`
18178
18179	// The Amazon S3 directory that contains the database installation files for
18180	// your CEV. For example, a valid bucket name is 123456789012/cev1. If this
18181	// setting isn't specified, no prefix is assumed.
18182	DatabaseInstallationFilesS3Prefix *string `min:"1" type:"string"`
18183
18184	// An optional description of your CEV.
18185	Description *string `min:"1" type:"string"`
18186
18187	// The database engine to use for your custom engine version (CEV). The only
18188	// supported value is custom-oracle-ee.
18189	//
18190	// Engine is a required field
18191	Engine *string `min:"1" type:"string" required:"true"`
18192
18193	// The name of your CEV. The name format is 19.customized_string . For example,
18194	// a valid name is 19.my_cev1. This setting is required for RDS Custom, but
18195	// optional for Amazon RDS. The combination of Engine and EngineVersion is unique
18196	// per customer per Region.
18197	//
18198	// EngineVersion is a required field
18199	EngineVersion *string `min:"1" type:"string" required:"true"`
18200
18201	// The Amazon Web Services KMS key identifier for an encrypted CEV. A symmetric
18202	// KMS key is required for RDS Custom, but optional for Amazon RDS.
18203	//
18204	// If you have an existing symmetric KMS key in your account, you can use it
18205	// with RDS Custom. No further action is necessary. If you don't already have
18206	// a symmetric KMS key in your account, follow the instructions in Creating
18207	// symmetric KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)
18208	// in the Amazon Web Services Key Management Service Developer Guide.
18209	//
18210	// You can choose the same symmetric key when you create a CEV and a DB instance,
18211	// or choose different keys.
18212	//
18213	// KMSKeyId is a required field
18214	KMSKeyId *string `min:"1" type:"string" required:"true"`
18215
18216	// The CEV manifest, which is a JSON document that describes the installation
18217	// .zip files stored in Amazon S3. Specify the name/value pairs in a file or
18218	// a quoted string. RDS Custom applies the patches in the order in which they
18219	// are listed.
18220	//
18221	// The following JSON fields are valid:
18222	//
18223	// MediaImportTemplateVersion
18224	//
18225	// Version of the CEV manifest. The date is in the format YYYY-MM-DD.
18226	//
18227	// databaseInstallationFileNames
18228	//
18229	// Ordered list of installation files for the CEV.
18230	//
18231	// opatchFileNames
18232	//
18233	// Ordered list of OPatch installers used for the Oracle DB engine.
18234	//
18235	// psuRuPatchFileNames
18236	//
18237	// The PSU and RU patches for this CEV.
18238	//
18239	// OtherPatchFileNames
18240	//
18241	// The patches that are not in the list of PSU and RU patches. Amazon RDS applies
18242	// these patches after applying the PSU and RU patches.
18243	//
18244	// For more information, see Creating the CEV manifest (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest)
18245	// in the Amazon RDS User Guide.
18246	//
18247	// Manifest is a required field
18248	Manifest *string `min:"1" type:"string" required:"true"`
18249
18250	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
18251	// in the Amazon RDS User Guide.
18252	Tags []*Tag `locationNameList:"Tag" type:"list"`
18253}
18254
18255// String returns the string representation.
18256//
18257// API parameter values that are decorated as "sensitive" in the API will not
18258// be included in the string output. The member name will be present, but the
18259// value will be replaced with "sensitive".
18260func (s CreateCustomDBEngineVersionInput) String() string {
18261	return awsutil.Prettify(s)
18262}
18263
18264// GoString returns the string representation.
18265//
18266// API parameter values that are decorated as "sensitive" in the API will not
18267// be included in the string output. The member name will be present, but the
18268// value will be replaced with "sensitive".
18269func (s CreateCustomDBEngineVersionInput) GoString() string {
18270	return s.String()
18271}
18272
18273// Validate inspects the fields of the type to determine if they are valid.
18274func (s *CreateCustomDBEngineVersionInput) Validate() error {
18275	invalidParams := request.ErrInvalidParams{Context: "CreateCustomDBEngineVersionInput"}
18276	if s.DatabaseInstallationFilesS3BucketName == nil {
18277		invalidParams.Add(request.NewErrParamRequired("DatabaseInstallationFilesS3BucketName"))
18278	}
18279	if s.DatabaseInstallationFilesS3BucketName != nil && len(*s.DatabaseInstallationFilesS3BucketName) < 3 {
18280		invalidParams.Add(request.NewErrParamMinLen("DatabaseInstallationFilesS3BucketName", 3))
18281	}
18282	if s.DatabaseInstallationFilesS3Prefix != nil && len(*s.DatabaseInstallationFilesS3Prefix) < 1 {
18283		invalidParams.Add(request.NewErrParamMinLen("DatabaseInstallationFilesS3Prefix", 1))
18284	}
18285	if s.Description != nil && len(*s.Description) < 1 {
18286		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
18287	}
18288	if s.Engine == nil {
18289		invalidParams.Add(request.NewErrParamRequired("Engine"))
18290	}
18291	if s.Engine != nil && len(*s.Engine) < 1 {
18292		invalidParams.Add(request.NewErrParamMinLen("Engine", 1))
18293	}
18294	if s.EngineVersion == nil {
18295		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
18296	}
18297	if s.EngineVersion != nil && len(*s.EngineVersion) < 1 {
18298		invalidParams.Add(request.NewErrParamMinLen("EngineVersion", 1))
18299	}
18300	if s.KMSKeyId == nil {
18301		invalidParams.Add(request.NewErrParamRequired("KMSKeyId"))
18302	}
18303	if s.KMSKeyId != nil && len(*s.KMSKeyId) < 1 {
18304		invalidParams.Add(request.NewErrParamMinLen("KMSKeyId", 1))
18305	}
18306	if s.Manifest == nil {
18307		invalidParams.Add(request.NewErrParamRequired("Manifest"))
18308	}
18309	if s.Manifest != nil && len(*s.Manifest) < 1 {
18310		invalidParams.Add(request.NewErrParamMinLen("Manifest", 1))
18311	}
18312
18313	if invalidParams.Len() > 0 {
18314		return invalidParams
18315	}
18316	return nil
18317}
18318
18319// SetDatabaseInstallationFilesS3BucketName sets the DatabaseInstallationFilesS3BucketName field's value.
18320func (s *CreateCustomDBEngineVersionInput) SetDatabaseInstallationFilesS3BucketName(v string) *CreateCustomDBEngineVersionInput {
18321	s.DatabaseInstallationFilesS3BucketName = &v
18322	return s
18323}
18324
18325// SetDatabaseInstallationFilesS3Prefix sets the DatabaseInstallationFilesS3Prefix field's value.
18326func (s *CreateCustomDBEngineVersionInput) SetDatabaseInstallationFilesS3Prefix(v string) *CreateCustomDBEngineVersionInput {
18327	s.DatabaseInstallationFilesS3Prefix = &v
18328	return s
18329}
18330
18331// SetDescription sets the Description field's value.
18332func (s *CreateCustomDBEngineVersionInput) SetDescription(v string) *CreateCustomDBEngineVersionInput {
18333	s.Description = &v
18334	return s
18335}
18336
18337// SetEngine sets the Engine field's value.
18338func (s *CreateCustomDBEngineVersionInput) SetEngine(v string) *CreateCustomDBEngineVersionInput {
18339	s.Engine = &v
18340	return s
18341}
18342
18343// SetEngineVersion sets the EngineVersion field's value.
18344func (s *CreateCustomDBEngineVersionInput) SetEngineVersion(v string) *CreateCustomDBEngineVersionInput {
18345	s.EngineVersion = &v
18346	return s
18347}
18348
18349// SetKMSKeyId sets the KMSKeyId field's value.
18350func (s *CreateCustomDBEngineVersionInput) SetKMSKeyId(v string) *CreateCustomDBEngineVersionInput {
18351	s.KMSKeyId = &v
18352	return s
18353}
18354
18355// SetManifest sets the Manifest field's value.
18356func (s *CreateCustomDBEngineVersionInput) SetManifest(v string) *CreateCustomDBEngineVersionInput {
18357	s.Manifest = &v
18358	return s
18359}
18360
18361// SetTags sets the Tags field's value.
18362func (s *CreateCustomDBEngineVersionInput) SetTags(v []*Tag) *CreateCustomDBEngineVersionInput {
18363	s.Tags = v
18364	return s
18365}
18366
18367// This data type is used as a response element in the action DescribeDBEngineVersions.
18368type CreateCustomDBEngineVersionOutput struct {
18369	_ struct{} `type:"structure"`
18370
18371	// The creation time of the DB engine version.
18372	CreateTime *time.Time `type:"timestamp"`
18373
18374	// The description of the database engine.
18375	DBEngineDescription *string `type:"string"`
18376
18377	// The ARN of the custom engine version.
18378	DBEngineVersionArn *string `type:"string"`
18379
18380	// The description of the database engine version.
18381	DBEngineVersionDescription *string `type:"string"`
18382
18383	// The name of the DB parameter group family for the database engine.
18384	DBParameterGroupFamily *string `type:"string"`
18385
18386	// The name of the Amazon S3 bucket that contains your database installation
18387	// files.
18388	DatabaseInstallationFilesS3BucketName *string `type:"string"`
18389
18390	// The Amazon S3 directory that contains the database installation files. If
18391	// not specified, then no prefix is assumed.
18392	DatabaseInstallationFilesS3Prefix *string `type:"string"`
18393
18394	// The default character set for new instances of this engine version, if the
18395	// CharacterSetName parameter of the CreateDBInstance API isn't specified.
18396	DefaultCharacterSet *CharacterSet `type:"structure"`
18397
18398	// The name of the database engine.
18399	Engine *string `type:"string"`
18400
18401	// The version number of the database engine.
18402	EngineVersion *string `type:"string"`
18403
18404	// The types of logs that the database engine has available for export to CloudWatch
18405	// Logs.
18406	ExportableLogTypes []*string `type:"list"`
18407
18408	// The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter
18409	// is required for RDS Custom, but optional for Amazon RDS.
18410	KMSKeyId *string `type:"string"`
18411
18412	// The major engine version of the CEV.
18413	MajorEngineVersion *string `type:"string"`
18414
18415	// The status of the DB engine version, either available or deprecated.
18416	Status *string `type:"string"`
18417
18418	// A list of the character sets supported by this engine for the CharacterSetName
18419	// parameter of the CreateDBInstance operation.
18420	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
18421
18422	// A list of the supported DB engine modes.
18423	SupportedEngineModes []*string `type:"list"`
18424
18425	// A list of features supported by the DB engine.
18426	//
18427	// The supported features vary by DB engine and DB engine version.
18428	//
18429	// To determine the supported features for a specific DB engine and DB engine
18430	// version using the CLI, use the following command:
18431	//
18432	// aws rds describe-db-engine-versions --engine <engine_name> --engine-version
18433	// <engine_version>
18434	//
18435	// For example, to determine the supported features for RDS for PostgreSQL version
18436	// 13.3 using the CLI, use the following command:
18437	//
18438	// aws rds describe-db-engine-versions --engine postgres --engine-version 13.3
18439	//
18440	// The supported features are listed under SupportedFeatureNames in the output.
18441	SupportedFeatureNames []*string `type:"list"`
18442
18443	// A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName
18444	// parameter of the CreateDBInstance operation.
18445	SupportedNcharCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
18446
18447	// A list of the time zones supported by this engine for the Timezone parameter
18448	// of the CreateDBInstance action.
18449	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
18450
18451	// A value that indicates whether you can use Aurora global databases with a
18452	// specific DB engine version.
18453	SupportsGlobalDatabases *bool `type:"boolean"`
18454
18455	// A value that indicates whether the engine version supports exporting the
18456	// log types specified by ExportableLogTypes to CloudWatch Logs.
18457	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
18458
18459	// A value that indicates whether you can use Aurora parallel query with a specific
18460	// DB engine version.
18461	SupportsParallelQuery *bool `type:"boolean"`
18462
18463	// Indicates whether the database engine version supports read replicas.
18464	SupportsReadReplica *bool `type:"boolean"`
18465
18466	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
18467	// in the Amazon RDS User Guide.
18468	TagList []*Tag `locationNameList:"Tag" type:"list"`
18469
18470	// A list of engine versions that this database engine version can be upgraded
18471	// to.
18472	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
18473}
18474
18475// String returns the string representation.
18476//
18477// API parameter values that are decorated as "sensitive" in the API will not
18478// be included in the string output. The member name will be present, but the
18479// value will be replaced with "sensitive".
18480func (s CreateCustomDBEngineVersionOutput) String() string {
18481	return awsutil.Prettify(s)
18482}
18483
18484// GoString returns the string representation.
18485//
18486// API parameter values that are decorated as "sensitive" in the API will not
18487// be included in the string output. The member name will be present, but the
18488// value will be replaced with "sensitive".
18489func (s CreateCustomDBEngineVersionOutput) GoString() string {
18490	return s.String()
18491}
18492
18493// SetCreateTime sets the CreateTime field's value.
18494func (s *CreateCustomDBEngineVersionOutput) SetCreateTime(v time.Time) *CreateCustomDBEngineVersionOutput {
18495	s.CreateTime = &v
18496	return s
18497}
18498
18499// SetDBEngineDescription sets the DBEngineDescription field's value.
18500func (s *CreateCustomDBEngineVersionOutput) SetDBEngineDescription(v string) *CreateCustomDBEngineVersionOutput {
18501	s.DBEngineDescription = &v
18502	return s
18503}
18504
18505// SetDBEngineVersionArn sets the DBEngineVersionArn field's value.
18506func (s *CreateCustomDBEngineVersionOutput) SetDBEngineVersionArn(v string) *CreateCustomDBEngineVersionOutput {
18507	s.DBEngineVersionArn = &v
18508	return s
18509}
18510
18511// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
18512func (s *CreateCustomDBEngineVersionOutput) SetDBEngineVersionDescription(v string) *CreateCustomDBEngineVersionOutput {
18513	s.DBEngineVersionDescription = &v
18514	return s
18515}
18516
18517// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
18518func (s *CreateCustomDBEngineVersionOutput) SetDBParameterGroupFamily(v string) *CreateCustomDBEngineVersionOutput {
18519	s.DBParameterGroupFamily = &v
18520	return s
18521}
18522
18523// SetDatabaseInstallationFilesS3BucketName sets the DatabaseInstallationFilesS3BucketName field's value.
18524func (s *CreateCustomDBEngineVersionOutput) SetDatabaseInstallationFilesS3BucketName(v string) *CreateCustomDBEngineVersionOutput {
18525	s.DatabaseInstallationFilesS3BucketName = &v
18526	return s
18527}
18528
18529// SetDatabaseInstallationFilesS3Prefix sets the DatabaseInstallationFilesS3Prefix field's value.
18530func (s *CreateCustomDBEngineVersionOutput) SetDatabaseInstallationFilesS3Prefix(v string) *CreateCustomDBEngineVersionOutput {
18531	s.DatabaseInstallationFilesS3Prefix = &v
18532	return s
18533}
18534
18535// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
18536func (s *CreateCustomDBEngineVersionOutput) SetDefaultCharacterSet(v *CharacterSet) *CreateCustomDBEngineVersionOutput {
18537	s.DefaultCharacterSet = v
18538	return s
18539}
18540
18541// SetEngine sets the Engine field's value.
18542func (s *CreateCustomDBEngineVersionOutput) SetEngine(v string) *CreateCustomDBEngineVersionOutput {
18543	s.Engine = &v
18544	return s
18545}
18546
18547// SetEngineVersion sets the EngineVersion field's value.
18548func (s *CreateCustomDBEngineVersionOutput) SetEngineVersion(v string) *CreateCustomDBEngineVersionOutput {
18549	s.EngineVersion = &v
18550	return s
18551}
18552
18553// SetExportableLogTypes sets the ExportableLogTypes field's value.
18554func (s *CreateCustomDBEngineVersionOutput) SetExportableLogTypes(v []*string) *CreateCustomDBEngineVersionOutput {
18555	s.ExportableLogTypes = v
18556	return s
18557}
18558
18559// SetKMSKeyId sets the KMSKeyId field's value.
18560func (s *CreateCustomDBEngineVersionOutput) SetKMSKeyId(v string) *CreateCustomDBEngineVersionOutput {
18561	s.KMSKeyId = &v
18562	return s
18563}
18564
18565// SetMajorEngineVersion sets the MajorEngineVersion field's value.
18566func (s *CreateCustomDBEngineVersionOutput) SetMajorEngineVersion(v string) *CreateCustomDBEngineVersionOutput {
18567	s.MajorEngineVersion = &v
18568	return s
18569}
18570
18571// SetStatus sets the Status field's value.
18572func (s *CreateCustomDBEngineVersionOutput) SetStatus(v string) *CreateCustomDBEngineVersionOutput {
18573	s.Status = &v
18574	return s
18575}
18576
18577// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
18578func (s *CreateCustomDBEngineVersionOutput) SetSupportedCharacterSets(v []*CharacterSet) *CreateCustomDBEngineVersionOutput {
18579	s.SupportedCharacterSets = v
18580	return s
18581}
18582
18583// SetSupportedEngineModes sets the SupportedEngineModes field's value.
18584func (s *CreateCustomDBEngineVersionOutput) SetSupportedEngineModes(v []*string) *CreateCustomDBEngineVersionOutput {
18585	s.SupportedEngineModes = v
18586	return s
18587}
18588
18589// SetSupportedFeatureNames sets the SupportedFeatureNames field's value.
18590func (s *CreateCustomDBEngineVersionOutput) SetSupportedFeatureNames(v []*string) *CreateCustomDBEngineVersionOutput {
18591	s.SupportedFeatureNames = v
18592	return s
18593}
18594
18595// SetSupportedNcharCharacterSets sets the SupportedNcharCharacterSets field's value.
18596func (s *CreateCustomDBEngineVersionOutput) SetSupportedNcharCharacterSets(v []*CharacterSet) *CreateCustomDBEngineVersionOutput {
18597	s.SupportedNcharCharacterSets = v
18598	return s
18599}
18600
18601// SetSupportedTimezones sets the SupportedTimezones field's value.
18602func (s *CreateCustomDBEngineVersionOutput) SetSupportedTimezones(v []*Timezone) *CreateCustomDBEngineVersionOutput {
18603	s.SupportedTimezones = v
18604	return s
18605}
18606
18607// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
18608func (s *CreateCustomDBEngineVersionOutput) SetSupportsGlobalDatabases(v bool) *CreateCustomDBEngineVersionOutput {
18609	s.SupportsGlobalDatabases = &v
18610	return s
18611}
18612
18613// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
18614func (s *CreateCustomDBEngineVersionOutput) SetSupportsLogExportsToCloudwatchLogs(v bool) *CreateCustomDBEngineVersionOutput {
18615	s.SupportsLogExportsToCloudwatchLogs = &v
18616	return s
18617}
18618
18619// SetSupportsParallelQuery sets the SupportsParallelQuery field's value.
18620func (s *CreateCustomDBEngineVersionOutput) SetSupportsParallelQuery(v bool) *CreateCustomDBEngineVersionOutput {
18621	s.SupportsParallelQuery = &v
18622	return s
18623}
18624
18625// SetSupportsReadReplica sets the SupportsReadReplica field's value.
18626func (s *CreateCustomDBEngineVersionOutput) SetSupportsReadReplica(v bool) *CreateCustomDBEngineVersionOutput {
18627	s.SupportsReadReplica = &v
18628	return s
18629}
18630
18631// SetTagList sets the TagList field's value.
18632func (s *CreateCustomDBEngineVersionOutput) SetTagList(v []*Tag) *CreateCustomDBEngineVersionOutput {
18633	s.TagList = v
18634	return s
18635}
18636
18637// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
18638func (s *CreateCustomDBEngineVersionOutput) SetValidUpgradeTarget(v []*UpgradeTarget) *CreateCustomDBEngineVersionOutput {
18639	s.ValidUpgradeTarget = v
18640	return s
18641}
18642
18643type CreateDBClusterEndpointInput struct {
18644	_ struct{} `type:"structure"`
18645
18646	// The identifier to use for the new endpoint. This parameter is stored as a
18647	// lowercase string.
18648	//
18649	// DBClusterEndpointIdentifier is a required field
18650	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
18651
18652	// The DB cluster identifier of the DB cluster associated with the endpoint.
18653	// This parameter is stored as a lowercase string.
18654	//
18655	// DBClusterIdentifier is a required field
18656	DBClusterIdentifier *string `type:"string" required:"true"`
18657
18658	// The type of the endpoint. One of: READER, WRITER, ANY.
18659	//
18660	// EndpointType is a required field
18661	EndpointType *string `type:"string" required:"true"`
18662
18663	// List of DB instance identifiers that aren't part of the custom endpoint group.
18664	// All other eligible instances are reachable through the custom endpoint. Only
18665	// relevant if the list of static members is empty.
18666	ExcludedMembers []*string `type:"list"`
18667
18668	// List of DB instance identifiers that are part of the custom endpoint group.
18669	StaticMembers []*string `type:"list"`
18670
18671	// The tags to be assigned to the Amazon RDS resource.
18672	Tags []*Tag `locationNameList:"Tag" type:"list"`
18673}
18674
18675// String returns the string representation.
18676//
18677// API parameter values that are decorated as "sensitive" in the API will not
18678// be included in the string output. The member name will be present, but the
18679// value will be replaced with "sensitive".
18680func (s CreateDBClusterEndpointInput) String() string {
18681	return awsutil.Prettify(s)
18682}
18683
18684// GoString returns the string representation.
18685//
18686// API parameter values that are decorated as "sensitive" in the API will not
18687// be included in the string output. The member name will be present, but the
18688// value will be replaced with "sensitive".
18689func (s CreateDBClusterEndpointInput) GoString() string {
18690	return s.String()
18691}
18692
18693// Validate inspects the fields of the type to determine if they are valid.
18694func (s *CreateDBClusterEndpointInput) Validate() error {
18695	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterEndpointInput"}
18696	if s.DBClusterEndpointIdentifier == nil {
18697		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
18698	}
18699	if s.DBClusterIdentifier == nil {
18700		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
18701	}
18702	if s.EndpointType == nil {
18703		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
18704	}
18705
18706	if invalidParams.Len() > 0 {
18707		return invalidParams
18708	}
18709	return nil
18710}
18711
18712// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
18713func (s *CreateDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointInput {
18714	s.DBClusterEndpointIdentifier = &v
18715	return s
18716}
18717
18718// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18719func (s *CreateDBClusterEndpointInput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointInput {
18720	s.DBClusterIdentifier = &v
18721	return s
18722}
18723
18724// SetEndpointType sets the EndpointType field's value.
18725func (s *CreateDBClusterEndpointInput) SetEndpointType(v string) *CreateDBClusterEndpointInput {
18726	s.EndpointType = &v
18727	return s
18728}
18729
18730// SetExcludedMembers sets the ExcludedMembers field's value.
18731func (s *CreateDBClusterEndpointInput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointInput {
18732	s.ExcludedMembers = v
18733	return s
18734}
18735
18736// SetStaticMembers sets the StaticMembers field's value.
18737func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBClusterEndpointInput {
18738	s.StaticMembers = v
18739	return s
18740}
18741
18742// SetTags sets the Tags field's value.
18743func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput {
18744	s.Tags = v
18745	return s
18746}
18747
18748// This data type represents the information you need to connect to an Amazon
18749// Aurora DB cluster. This data type is used as a response element in the following
18750// actions:
18751//
18752//    * CreateDBClusterEndpoint
18753//
18754//    * DescribeDBClusterEndpoints
18755//
18756//    * ModifyDBClusterEndpoint
18757//
18758//    * DeleteDBClusterEndpoint
18759//
18760// For the data structure that represents Amazon RDS DB instance endpoints,
18761// see Endpoint.
18762type CreateDBClusterEndpointOutput struct {
18763	_ struct{} `type:"structure"`
18764
18765	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
18766	CustomEndpointType *string `type:"string"`
18767
18768	// The Amazon Resource Name (ARN) for the endpoint.
18769	DBClusterEndpointArn *string `type:"string"`
18770
18771	// The identifier associated with the endpoint. This parameter is stored as
18772	// a lowercase string.
18773	DBClusterEndpointIdentifier *string `type:"string"`
18774
18775	// A unique system-generated identifier for an endpoint. It remains the same
18776	// for the whole life of the endpoint.
18777	DBClusterEndpointResourceIdentifier *string `type:"string"`
18778
18779	// The DB cluster identifier of the DB cluster associated with the endpoint.
18780	// This parameter is stored as a lowercase string.
18781	DBClusterIdentifier *string `type:"string"`
18782
18783	// The DNS address of the endpoint.
18784	Endpoint *string `type:"string"`
18785
18786	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
18787	EndpointType *string `type:"string"`
18788
18789	// List of DB instance identifiers that aren't part of the custom endpoint group.
18790	// All other eligible instances are reachable through the custom endpoint. Only
18791	// relevant if the list of static members is empty.
18792	ExcludedMembers []*string `type:"list"`
18793
18794	// List of DB instance identifiers that are part of the custom endpoint group.
18795	StaticMembers []*string `type:"list"`
18796
18797	// The current status of the endpoint. One of: creating, available, deleting,
18798	// inactive, modifying. The inactive state applies to an endpoint that can't
18799	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
18800	// secondary cluster in a global database.
18801	Status *string `type:"string"`
18802}
18803
18804// String returns the string representation.
18805//
18806// API parameter values that are decorated as "sensitive" in the API will not
18807// be included in the string output. The member name will be present, but the
18808// value will be replaced with "sensitive".
18809func (s CreateDBClusterEndpointOutput) String() string {
18810	return awsutil.Prettify(s)
18811}
18812
18813// GoString returns the string representation.
18814//
18815// API parameter values that are decorated as "sensitive" in the API will not
18816// be included in the string output. The member name will be present, but the
18817// value will be replaced with "sensitive".
18818func (s CreateDBClusterEndpointOutput) GoString() string {
18819	return s.String()
18820}
18821
18822// SetCustomEndpointType sets the CustomEndpointType field's value.
18823func (s *CreateDBClusterEndpointOutput) SetCustomEndpointType(v string) *CreateDBClusterEndpointOutput {
18824	s.CustomEndpointType = &v
18825	return s
18826}
18827
18828// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
18829func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *CreateDBClusterEndpointOutput {
18830	s.DBClusterEndpointArn = &v
18831	return s
18832}
18833
18834// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
18835func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointOutput {
18836	s.DBClusterEndpointIdentifier = &v
18837	return s
18838}
18839
18840// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
18841func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *CreateDBClusterEndpointOutput {
18842	s.DBClusterEndpointResourceIdentifier = &v
18843	return s
18844}
18845
18846// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18847func (s *CreateDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointOutput {
18848	s.DBClusterIdentifier = &v
18849	return s
18850}
18851
18852// SetEndpoint sets the Endpoint field's value.
18853func (s *CreateDBClusterEndpointOutput) SetEndpoint(v string) *CreateDBClusterEndpointOutput {
18854	s.Endpoint = &v
18855	return s
18856}
18857
18858// SetEndpointType sets the EndpointType field's value.
18859func (s *CreateDBClusterEndpointOutput) SetEndpointType(v string) *CreateDBClusterEndpointOutput {
18860	s.EndpointType = &v
18861	return s
18862}
18863
18864// SetExcludedMembers sets the ExcludedMembers field's value.
18865func (s *CreateDBClusterEndpointOutput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointOutput {
18866	s.ExcludedMembers = v
18867	return s
18868}
18869
18870// SetStaticMembers sets the StaticMembers field's value.
18871func (s *CreateDBClusterEndpointOutput) SetStaticMembers(v []*string) *CreateDBClusterEndpointOutput {
18872	s.StaticMembers = v
18873	return s
18874}
18875
18876// SetStatus sets the Status field's value.
18877func (s *CreateDBClusterEndpointOutput) SetStatus(v string) *CreateDBClusterEndpointOutput {
18878	s.Status = &v
18879	return s
18880}
18881
18882type CreateDBClusterInput struct {
18883	_ struct{} `type:"structure"`
18884
18885	// A list of Availability Zones (AZs) where instances in the DB cluster can
18886	// be created. For information on Amazon Web Services Regions and Availability
18887	// Zones, see Choosing the Regions and Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html)
18888	// in the Amazon Aurora User Guide.
18889	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
18890
18891	// The target backtrack window, in seconds. To disable backtracking, set this
18892	// value to 0.
18893	//
18894	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
18895	//
18896	// Default: 0
18897	//
18898	// Constraints:
18899	//
18900	//    * If specified, this value must be set to a number from 0 to 259,200 (72
18901	//    hours).
18902	BacktrackWindow *int64 `type:"long"`
18903
18904	// The number of days for which automated backups are retained.
18905	//
18906	// Default: 1
18907	//
18908	// Constraints:
18909	//
18910	//    * Must be a value from 1 to 35
18911	BackupRetentionPeriod *int64 `type:"integer"`
18912
18913	// A value that indicates that the DB cluster should be associated with the
18914	// specified CharacterSet.
18915	CharacterSetName *string `type:"string"`
18916
18917	// A value that indicates whether to copy all tags from the DB cluster to snapshots
18918	// of the DB cluster. The default is not to copy them.
18919	CopyTagsToSnapshot *bool `type:"boolean"`
18920
18921	// The DB cluster identifier. This parameter is stored as a lowercase string.
18922	//
18923	// Constraints:
18924	//
18925	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
18926	//
18927	//    * First character must be a letter.
18928	//
18929	//    * Can't end with a hyphen or contain two consecutive hyphens.
18930	//
18931	// Example: my-cluster1
18932	//
18933	// DBClusterIdentifier is a required field
18934	DBClusterIdentifier *string `type:"string" required:"true"`
18935
18936	// The name of the DB cluster parameter group to associate with this DB cluster.
18937	// If you do not specify a value, then the default DB cluster parameter group
18938	// for the specified DB engine and version is used.
18939	//
18940	// Constraints:
18941	//
18942	//    * If supplied, must match the name of an existing DB cluster parameter
18943	//    group.
18944	DBClusterParameterGroupName *string `type:"string"`
18945
18946	// A DB subnet group to associate with this DB cluster.
18947	//
18948	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
18949	// default.
18950	//
18951	// Example: mySubnetgroup
18952	DBSubnetGroupName *string `type:"string"`
18953
18954	// The name for your database of up to 64 alphanumeric characters. If you do
18955	// not provide a name, Amazon RDS doesn't create a database in the DB cluster
18956	// you are creating.
18957	DatabaseName *string `type:"string"`
18958
18959	// A value that indicates whether the DB cluster has deletion protection enabled.
18960	// The database can't be deleted when deletion protection is enabled. By default,
18961	// deletion protection is disabled.
18962	DeletionProtection *bool `type:"boolean"`
18963
18964	// DestinationRegion is used for presigning the request to a given region.
18965	DestinationRegion *string `type:"string"`
18966
18967	// The Active Directory directory ID to create the DB cluster in.
18968	//
18969	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
18970	// to authenticate users that connect to the DB cluster. For more information,
18971	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
18972	// in the Amazon Aurora User Guide.
18973	Domain *string `type:"string"`
18974
18975	// Specify the name of the IAM role to be used when making API calls to the
18976	// Directory Service.
18977	DomainIAMRoleName *string `type:"string"`
18978
18979	// The list of log types that need to be enabled for exporting to CloudWatch
18980	// Logs. The values in the list depend on the DB engine being used. For more
18981	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
18982	// in the Amazon Aurora User Guide.
18983	//
18984	// Aurora MySQL
18985	//
18986	// Possible values are audit, error, general, and slowquery.
18987	//
18988	// Aurora PostgreSQL
18989	//
18990	// Possible value is postgresql.
18991	EnableCloudwatchLogsExports []*string `type:"list"`
18992
18993	// A value that indicates whether to enable this DB cluster to forward write
18994	// operations to the primary cluster of an Aurora global database (GlobalCluster).
18995	// By default, write operations are not allowed on Aurora DB clusters that are
18996	// secondary clusters in an Aurora global database.
18997	//
18998	// You can set this value only on Aurora DB clusters that are members of an
18999	// Aurora global database. With this parameter enabled, a secondary cluster
19000	// can forward writes to the current primary cluster and the resulting changes
19001	// are replicated back to this cluster. For the primary DB cluster of an Aurora
19002	// global database, this value is used immediately if the primary is demoted
19003	// by the FailoverGlobalCluster API operation, but it does nothing until then.
19004	EnableGlobalWriteForwarding *bool `type:"boolean"`
19005
19006	// A value that indicates whether to enable the HTTP endpoint for an Aurora
19007	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
19008	//
19009	// When enabled, the HTTP endpoint provides a connectionless web service API
19010	// for running SQL queries on the Aurora Serverless DB cluster. You can also
19011	// query your database from inside the RDS console with the query editor.
19012	//
19013	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
19014	// in the Amazon Aurora User Guide.
19015	EnableHttpEndpoint *bool `type:"boolean"`
19016
19017	// A value that indicates whether to enable mapping of Amazon Web Services Identity
19018	// and Access Management (IAM) accounts to database accounts. By default, mapping
19019	// is disabled.
19020	//
19021	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
19022	// in the Amazon Aurora User Guide.
19023	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
19024
19025	// The name of the database engine to be used for this DB cluster.
19026	//
19027	// Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for
19028	// MySQL 5.7-compatible Aurora), and aurora-postgresql
19029	//
19030	// Engine is a required field
19031	Engine *string `type:"string" required:"true"`
19032
19033	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
19034	// global, or multimaster.
19035	//
19036	// The parallelquery engine mode isn't required for Aurora MySQL version 1.23
19037	// and higher 1.x versions, and version 2.09 and higher 2.x versions.
19038	//
19039	// The global engine mode isn't required for Aurora MySQL version 1.22 and higher
19040	// 1.x versions, and global engine mode isn't required for any 2.x versions.
19041	//
19042	// The multimaster engine mode only applies for DB clusters created with Aurora
19043	// MySQL version 5.6.10a.
19044	//
19045	// For Aurora PostgreSQL, the global engine mode isn't required, and both the
19046	// parallelquery and the multimaster engine modes currently aren't supported.
19047	//
19048	// Limitations and requirements apply to some DB engine modes. For more information,
19049	// see the following sections in the Amazon Aurora User Guide:
19050	//
19051	//    * Limitations of Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)
19052	//
19053	//    * Limitations of Parallel Query (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations)
19054	//
19055	//    * Limitations of Aurora Global Databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations)
19056	//
19057	//    * Limitations of Multi-Master Clusters (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html#aurora-multi-master-limitations)
19058	EngineMode *string `type:"string"`
19059
19060	// The version number of the database engine to use.
19061	//
19062	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
19063	// Aurora), use the following command:
19064	//
19065	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
19066	//
19067	// To list all of the available engine versions for aurora-mysql (for MySQL
19068	// 5.7-compatible Aurora), use the following command:
19069	//
19070	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
19071	//
19072	// To list all of the available engine versions for aurora-postgresql, use the
19073	// following command:
19074	//
19075	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
19076	//
19077	// Aurora MySQL
19078	//
19079	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
19080	//
19081	// Aurora PostgreSQL
19082	//
19083	// Example: 9.6.3, 10.7
19084	EngineVersion *string `type:"string"`
19085
19086	// The global cluster ID of an Aurora cluster that becomes the primary cluster
19087	// in the new global database cluster.
19088	GlobalClusterIdentifier *string `type:"string"`
19089
19090	// The Amazon Web Services KMS key identifier for an encrypted DB cluster.
19091	//
19092	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
19093	// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
19094	// Web Services account, specify the key ARN or alias ARN.
19095	//
19096	// When a KMS key isn't specified in KmsKeyId:
19097	//
19098	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
19099	//    Amazon RDS will use the KMS key used to encrypt the source. Otherwise,
19100	//    Amazon RDS will use your default KMS key.
19101	//
19102	//    * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier
19103	//    isn't specified, then Amazon RDS will use your default KMS key.
19104	//
19105	// There is a default KMS key for your Amazon Web Services account. Your Amazon
19106	// Web Services account has a different default KMS key for each Amazon Web
19107	// Services Region.
19108	//
19109	// If you create a read replica of an encrypted DB cluster in another Amazon
19110	// Web Services Region, you must set KmsKeyId to a KMS key identifier that is
19111	// valid in the destination Amazon Web Services Region. This KMS key is used
19112	// to encrypt the read replica in that Amazon Web Services Region.
19113	KmsKeyId *string `type:"string"`
19114
19115	// The password for the master database user. This password can contain any
19116	// printable ASCII character except "/", """, or "@".
19117	//
19118	// Constraints: Must contain from 8 to 41 characters.
19119	MasterUserPassword *string `type:"string"`
19120
19121	// The name of the master user for the DB cluster.
19122	//
19123	// Constraints:
19124	//
19125	//    * Must be 1 to 16 letters or numbers.
19126	//
19127	//    * First character must be a letter.
19128	//
19129	//    * Can't be a reserved word for the chosen database engine.
19130	MasterUsername *string `type:"string"`
19131
19132	// A value that indicates that the DB cluster should be associated with the
19133	// specified option group.
19134	//
19135	// Permanent options can't be removed from an option group. The option group
19136	// can't be removed from a DB cluster once it is associated with a DB cluster.
19137	OptionGroupName *string `type:"string"`
19138
19139	// The port number on which the instances in the DB cluster accept connections.
19140	//
19141	// Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.
19142	Port *int64 `type:"integer"`
19143
19144	// A URL that contains a Signature Version 4 signed request for the CreateDBCluster
19145	// action to be called in the source Amazon Web Services Region where the DB
19146	// cluster is replicated from. You only need to specify PreSignedUrl when you
19147	// are performing cross-region replication from an encrypted DB cluster.
19148	//
19149	// The pre-signed URL must be a valid request for the CreateDBCluster API action
19150	// that can be executed in the source Amazon Web Services Region that contains
19151	// the encrypted DB cluster to be copied.
19152	//
19153	// The pre-signed URL request must contain the following parameter values:
19154	//
19155	//    * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key
19156	//    to use to encrypt the copy of the DB cluster in the destination Amazon
19157	//    Web Services Region. This should refer to the same KMS key for both the
19158	//    CreateDBCluster action that is called in the destination Amazon Web Services
19159	//    Region, and the action contained in the pre-signed URL.
19160	//
19161	//    * DestinationRegion - The name of the Amazon Web Services Region that
19162	//    Aurora read replica will be created in.
19163	//
19164	//    * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted
19165	//    DB cluster to be copied. This identifier must be in the Amazon Resource
19166	//    Name (ARN) format for the source Amazon Web Services Region. For example,
19167	//    if you are copying an encrypted DB cluster from the us-west-2 Amazon Web
19168	//    Services Region, then your ReplicationSourceIdentifier would look like
19169	//    Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.
19170	//
19171	// To learn how to generate a Signature Version 4 signed request, see Authenticating
19172	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
19173	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
19174	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
19175	//
19176	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
19177	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
19178	// manually. Specifying SourceRegion autogenerates a pre-signed URL that is
19179	// a valid request for the operation that can be executed in the source Amazon
19180	// Web Services Region.
19181	PreSignedUrl *string `type:"string"`
19182
19183	// The daily time range during which automated backups are created if automated
19184	// backups are enabled using the BackupRetentionPeriod parameter.
19185	//
19186	// The default is a 30-minute window selected at random from an 8-hour block
19187	// of time for each Amazon Web Services Region. To view the time blocks available,
19188	// see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)
19189	// in the Amazon Aurora User Guide.
19190	//
19191	// Constraints:
19192	//
19193	//    * Must be in the format hh24:mi-hh24:mi.
19194	//
19195	//    * Must be in Universal Coordinated Time (UTC).
19196	//
19197	//    * Must not conflict with the preferred maintenance window.
19198	//
19199	//    * Must be at least 30 minutes.
19200	PreferredBackupWindow *string `type:"string"`
19201
19202	// The weekly time range during which system maintenance can occur, in Universal
19203	// Coordinated Time (UTC).
19204	//
19205	// Format: ddd:hh24:mi-ddd:hh24:mi
19206	//
19207	// The default is a 30-minute window selected at random from an 8-hour block
19208	// of time for each Amazon Web Services Region, occurring on a random day of
19209	// the week. To see the time blocks available, see Adjusting the Preferred DB
19210	// Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
19211	// in the Amazon Aurora User Guide.
19212	//
19213	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
19214	//
19215	// Constraints: Minimum 30-minute window.
19216	PreferredMaintenanceWindow *string `type:"string"`
19217
19218	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
19219	// this DB cluster is created as a read replica.
19220	ReplicationSourceIdentifier *string `type:"string"`
19221
19222	// For DB clusters in serverless DB engine mode, the scaling properties of the
19223	// DB cluster.
19224	ScalingConfiguration *ScalingConfiguration `type:"structure"`
19225
19226	// SourceRegion is the source region where the resource exists. This is not
19227	// sent over the wire and is only used for presigning. This value should always
19228	// have the same region as the source ARN.
19229	SourceRegion *string `type:"string" ignore:"true"`
19230
19231	// A value that indicates whether the DB cluster is encrypted.
19232	StorageEncrypted *bool `type:"boolean"`
19233
19234	// Tags to assign to the DB cluster.
19235	Tags []*Tag `locationNameList:"Tag" type:"list"`
19236
19237	// A list of EC2 VPC security groups to associate with this DB cluster.
19238	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
19239}
19240
19241// String returns the string representation.
19242//
19243// API parameter values that are decorated as "sensitive" in the API will not
19244// be included in the string output. The member name will be present, but the
19245// value will be replaced with "sensitive".
19246func (s CreateDBClusterInput) String() string {
19247	return awsutil.Prettify(s)
19248}
19249
19250// GoString returns the string representation.
19251//
19252// API parameter values that are decorated as "sensitive" in the API will not
19253// be included in the string output. The member name will be present, but the
19254// value will be replaced with "sensitive".
19255func (s CreateDBClusterInput) GoString() string {
19256	return s.String()
19257}
19258
19259// Validate inspects the fields of the type to determine if they are valid.
19260func (s *CreateDBClusterInput) Validate() error {
19261	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
19262	if s.DBClusterIdentifier == nil {
19263		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
19264	}
19265	if s.Engine == nil {
19266		invalidParams.Add(request.NewErrParamRequired("Engine"))
19267	}
19268
19269	if invalidParams.Len() > 0 {
19270		return invalidParams
19271	}
19272	return nil
19273}
19274
19275// SetAvailabilityZones sets the AvailabilityZones field's value.
19276func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
19277	s.AvailabilityZones = v
19278	return s
19279}
19280
19281// SetBacktrackWindow sets the BacktrackWindow field's value.
19282func (s *CreateDBClusterInput) SetBacktrackWindow(v int64) *CreateDBClusterInput {
19283	s.BacktrackWindow = &v
19284	return s
19285}
19286
19287// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
19288func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
19289	s.BackupRetentionPeriod = &v
19290	return s
19291}
19292
19293// SetCharacterSetName sets the CharacterSetName field's value.
19294func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
19295	s.CharacterSetName = &v
19296	return s
19297}
19298
19299// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
19300func (s *CreateDBClusterInput) SetCopyTagsToSnapshot(v bool) *CreateDBClusterInput {
19301	s.CopyTagsToSnapshot = &v
19302	return s
19303}
19304
19305// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19306func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
19307	s.DBClusterIdentifier = &v
19308	return s
19309}
19310
19311// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
19312func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
19313	s.DBClusterParameterGroupName = &v
19314	return s
19315}
19316
19317// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
19318func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
19319	s.DBSubnetGroupName = &v
19320	return s
19321}
19322
19323// SetDatabaseName sets the DatabaseName field's value.
19324func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
19325	s.DatabaseName = &v
19326	return s
19327}
19328
19329// SetDeletionProtection sets the DeletionProtection field's value.
19330func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
19331	s.DeletionProtection = &v
19332	return s
19333}
19334
19335// SetDestinationRegion sets the DestinationRegion field's value.
19336func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
19337	s.DestinationRegion = &v
19338	return s
19339}
19340
19341// SetDomain sets the Domain field's value.
19342func (s *CreateDBClusterInput) SetDomain(v string) *CreateDBClusterInput {
19343	s.Domain = &v
19344	return s
19345}
19346
19347// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
19348func (s *CreateDBClusterInput) SetDomainIAMRoleName(v string) *CreateDBClusterInput {
19349	s.DomainIAMRoleName = &v
19350	return s
19351}
19352
19353// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
19354func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
19355	s.EnableCloudwatchLogsExports = v
19356	return s
19357}
19358
19359// SetEnableGlobalWriteForwarding sets the EnableGlobalWriteForwarding field's value.
19360func (s *CreateDBClusterInput) SetEnableGlobalWriteForwarding(v bool) *CreateDBClusterInput {
19361	s.EnableGlobalWriteForwarding = &v
19362	return s
19363}
19364
19365// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
19366func (s *CreateDBClusterInput) SetEnableHttpEndpoint(v bool) *CreateDBClusterInput {
19367	s.EnableHttpEndpoint = &v
19368	return s
19369}
19370
19371// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
19372func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
19373	s.EnableIAMDatabaseAuthentication = &v
19374	return s
19375}
19376
19377// SetEngine sets the Engine field's value.
19378func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
19379	s.Engine = &v
19380	return s
19381}
19382
19383// SetEngineMode sets the EngineMode field's value.
19384func (s *CreateDBClusterInput) SetEngineMode(v string) *CreateDBClusterInput {
19385	s.EngineMode = &v
19386	return s
19387}
19388
19389// SetEngineVersion sets the EngineVersion field's value.
19390func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
19391	s.EngineVersion = &v
19392	return s
19393}
19394
19395// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
19396func (s *CreateDBClusterInput) SetGlobalClusterIdentifier(v string) *CreateDBClusterInput {
19397	s.GlobalClusterIdentifier = &v
19398	return s
19399}
19400
19401// SetKmsKeyId sets the KmsKeyId field's value.
19402func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
19403	s.KmsKeyId = &v
19404	return s
19405}
19406
19407// SetMasterUserPassword sets the MasterUserPassword field's value.
19408func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
19409	s.MasterUserPassword = &v
19410	return s
19411}
19412
19413// SetMasterUsername sets the MasterUsername field's value.
19414func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
19415	s.MasterUsername = &v
19416	return s
19417}
19418
19419// SetOptionGroupName sets the OptionGroupName field's value.
19420func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
19421	s.OptionGroupName = &v
19422	return s
19423}
19424
19425// SetPort sets the Port field's value.
19426func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
19427	s.Port = &v
19428	return s
19429}
19430
19431// SetPreSignedUrl sets the PreSignedUrl field's value.
19432func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
19433	s.PreSignedUrl = &v
19434	return s
19435}
19436
19437// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
19438func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
19439	s.PreferredBackupWindow = &v
19440	return s
19441}
19442
19443// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
19444func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
19445	s.PreferredMaintenanceWindow = &v
19446	return s
19447}
19448
19449// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
19450func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
19451	s.ReplicationSourceIdentifier = &v
19452	return s
19453}
19454
19455// SetScalingConfiguration sets the ScalingConfiguration field's value.
19456func (s *CreateDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *CreateDBClusterInput {
19457	s.ScalingConfiguration = v
19458	return s
19459}
19460
19461// SetSourceRegion sets the SourceRegion field's value.
19462func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
19463	s.SourceRegion = &v
19464	return s
19465}
19466
19467// SetStorageEncrypted sets the StorageEncrypted field's value.
19468func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
19469	s.StorageEncrypted = &v
19470	return s
19471}
19472
19473// SetTags sets the Tags field's value.
19474func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
19475	s.Tags = v
19476	return s
19477}
19478
19479// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
19480func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
19481	s.VpcSecurityGroupIds = v
19482	return s
19483}
19484
19485type CreateDBClusterOutput struct {
19486	_ struct{} `type:"structure"`
19487
19488	// Contains the details of an Amazon Aurora DB cluster.
19489	//
19490	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
19491	// and StartDBCluster actions.
19492	DBCluster *DBCluster `type:"structure"`
19493}
19494
19495// String returns the string representation.
19496//
19497// API parameter values that are decorated as "sensitive" in the API will not
19498// be included in the string output. The member name will be present, but the
19499// value will be replaced with "sensitive".
19500func (s CreateDBClusterOutput) String() string {
19501	return awsutil.Prettify(s)
19502}
19503
19504// GoString returns the string representation.
19505//
19506// API parameter values that are decorated as "sensitive" in the API will not
19507// be included in the string output. The member name will be present, but the
19508// value will be replaced with "sensitive".
19509func (s CreateDBClusterOutput) GoString() string {
19510	return s.String()
19511}
19512
19513// SetDBCluster sets the DBCluster field's value.
19514func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
19515	s.DBCluster = v
19516	return s
19517}
19518
19519type CreateDBClusterParameterGroupInput struct {
19520	_ struct{} `type:"structure"`
19521
19522	// The name of the DB cluster parameter group.
19523	//
19524	// Constraints:
19525	//
19526	//    * Must match the name of an existing DB cluster parameter group.
19527	//
19528	// This value is stored as a lowercase string.
19529	//
19530	// DBClusterParameterGroupName is a required field
19531	DBClusterParameterGroupName *string `type:"string" required:"true"`
19532
19533	// The DB cluster parameter group family name. A DB cluster parameter group
19534	// can be associated with one and only one DB cluster parameter group family,
19535	// and can be applied only to a DB cluster running a database engine and engine
19536	// version compatible with that DB cluster parameter group family.
19537	//
19538	// Aurora MySQL
19539	//
19540	// Example: aurora5.6, aurora-mysql5.7
19541	//
19542	// Aurora PostgreSQL
19543	//
19544	// Example: aurora-postgresql9.6
19545	//
19546	// To list all of the available parameter group families for a DB engine, use
19547	// the following command:
19548	//
19549	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
19550	// --engine <engine>
19551	//
19552	// For example, to list all of the available parameter group families for the
19553	// Aurora PostgreSQL DB engine, use the following command:
19554	//
19555	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
19556	// --engine aurora-postgresql
19557	//
19558	// The output contains duplicates.
19559	//
19560	// The following are the valid DB engine values:
19561	//
19562	//    * aurora (for MySQL 5.6-compatible Aurora)
19563	//
19564	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
19565	//
19566	//    * aurora-postgresql
19567	//
19568	// DBParameterGroupFamily is a required field
19569	DBParameterGroupFamily *string `type:"string" required:"true"`
19570
19571	// The description for the DB cluster parameter group.
19572	//
19573	// Description is a required field
19574	Description *string `type:"string" required:"true"`
19575
19576	// Tags to assign to the DB cluster parameter group.
19577	Tags []*Tag `locationNameList:"Tag" type:"list"`
19578}
19579
19580// String returns the string representation.
19581//
19582// API parameter values that are decorated as "sensitive" in the API will not
19583// be included in the string output. The member name will be present, but the
19584// value will be replaced with "sensitive".
19585func (s CreateDBClusterParameterGroupInput) String() string {
19586	return awsutil.Prettify(s)
19587}
19588
19589// GoString returns the string representation.
19590//
19591// API parameter values that are decorated as "sensitive" in the API will not
19592// be included in the string output. The member name will be present, but the
19593// value will be replaced with "sensitive".
19594func (s CreateDBClusterParameterGroupInput) GoString() string {
19595	return s.String()
19596}
19597
19598// Validate inspects the fields of the type to determine if they are valid.
19599func (s *CreateDBClusterParameterGroupInput) Validate() error {
19600	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
19601	if s.DBClusterParameterGroupName == nil {
19602		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
19603	}
19604	if s.DBParameterGroupFamily == nil {
19605		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
19606	}
19607	if s.Description == nil {
19608		invalidParams.Add(request.NewErrParamRequired("Description"))
19609	}
19610
19611	if invalidParams.Len() > 0 {
19612		return invalidParams
19613	}
19614	return nil
19615}
19616
19617// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
19618func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
19619	s.DBClusterParameterGroupName = &v
19620	return s
19621}
19622
19623// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
19624func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
19625	s.DBParameterGroupFamily = &v
19626	return s
19627}
19628
19629// SetDescription sets the Description field's value.
19630func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
19631	s.Description = &v
19632	return s
19633}
19634
19635// SetTags sets the Tags field's value.
19636func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
19637	s.Tags = v
19638	return s
19639}
19640
19641type CreateDBClusterParameterGroupOutput struct {
19642	_ struct{} `type:"structure"`
19643
19644	// Contains the details of an Amazon RDS DB cluster parameter group.
19645	//
19646	// This data type is used as a response element in the DescribeDBClusterParameterGroups
19647	// action.
19648	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
19649}
19650
19651// String returns the string representation.
19652//
19653// API parameter values that are decorated as "sensitive" in the API will not
19654// be included in the string output. The member name will be present, but the
19655// value will be replaced with "sensitive".
19656func (s CreateDBClusterParameterGroupOutput) String() string {
19657	return awsutil.Prettify(s)
19658}
19659
19660// GoString returns the string representation.
19661//
19662// API parameter values that are decorated as "sensitive" in the API will not
19663// be included in the string output. The member name will be present, but the
19664// value will be replaced with "sensitive".
19665func (s CreateDBClusterParameterGroupOutput) GoString() string {
19666	return s.String()
19667}
19668
19669// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
19670func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
19671	s.DBClusterParameterGroup = v
19672	return s
19673}
19674
19675type CreateDBClusterSnapshotInput struct {
19676	_ struct{} `type:"structure"`
19677
19678	// The identifier of the DB cluster to create a snapshot for. This parameter
19679	// isn't case-sensitive.
19680	//
19681	// Constraints:
19682	//
19683	//    * Must match the identifier of an existing DBCluster.
19684	//
19685	// Example: my-cluster1
19686	//
19687	// DBClusterIdentifier is a required field
19688	DBClusterIdentifier *string `type:"string" required:"true"`
19689
19690	// The identifier of the DB cluster snapshot. This parameter is stored as a
19691	// lowercase string.
19692	//
19693	// Constraints:
19694	//
19695	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
19696	//
19697	//    * First character must be a letter.
19698	//
19699	//    * Can't end with a hyphen or contain two consecutive hyphens.
19700	//
19701	// Example: my-cluster1-snapshot1
19702	//
19703	// DBClusterSnapshotIdentifier is a required field
19704	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
19705
19706	// The tags to be assigned to the DB cluster snapshot.
19707	Tags []*Tag `locationNameList:"Tag" type:"list"`
19708}
19709
19710// String returns the string representation.
19711//
19712// API parameter values that are decorated as "sensitive" in the API will not
19713// be included in the string output. The member name will be present, but the
19714// value will be replaced with "sensitive".
19715func (s CreateDBClusterSnapshotInput) String() string {
19716	return awsutil.Prettify(s)
19717}
19718
19719// GoString returns the string representation.
19720//
19721// API parameter values that are decorated as "sensitive" in the API will not
19722// be included in the string output. The member name will be present, but the
19723// value will be replaced with "sensitive".
19724func (s CreateDBClusterSnapshotInput) GoString() string {
19725	return s.String()
19726}
19727
19728// Validate inspects the fields of the type to determine if they are valid.
19729func (s *CreateDBClusterSnapshotInput) Validate() error {
19730	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
19731	if s.DBClusterIdentifier == nil {
19732		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
19733	}
19734	if s.DBClusterSnapshotIdentifier == nil {
19735		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
19736	}
19737
19738	if invalidParams.Len() > 0 {
19739		return invalidParams
19740	}
19741	return nil
19742}
19743
19744// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19745func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
19746	s.DBClusterIdentifier = &v
19747	return s
19748}
19749
19750// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
19751func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
19752	s.DBClusterSnapshotIdentifier = &v
19753	return s
19754}
19755
19756// SetTags sets the Tags field's value.
19757func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
19758	s.Tags = v
19759	return s
19760}
19761
19762type CreateDBClusterSnapshotOutput struct {
19763	_ struct{} `type:"structure"`
19764
19765	// Contains the details for an Amazon RDS DB cluster snapshot
19766	//
19767	// This data type is used as a response element in the DescribeDBClusterSnapshots
19768	// action.
19769	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
19770}
19771
19772// String returns the string representation.
19773//
19774// API parameter values that are decorated as "sensitive" in the API will not
19775// be included in the string output. The member name will be present, but the
19776// value will be replaced with "sensitive".
19777func (s CreateDBClusterSnapshotOutput) String() string {
19778	return awsutil.Prettify(s)
19779}
19780
19781// GoString returns the string representation.
19782//
19783// API parameter values that are decorated as "sensitive" in the API will not
19784// be included in the string output. The member name will be present, but the
19785// value will be replaced with "sensitive".
19786func (s CreateDBClusterSnapshotOutput) GoString() string {
19787	return s.String()
19788}
19789
19790// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
19791func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
19792	s.DBClusterSnapshot = v
19793	return s
19794}
19795
19796type CreateDBInstanceInput struct {
19797	_ struct{} `type:"structure"`
19798
19799	// The amount of storage in gibibytes (GiB) to allocate for the DB instance.
19800	//
19801	// Type: Integer
19802	//
19803	// Amazon Aurora
19804	//
19805	// Not applicable. Aurora cluster volumes automatically grow as the amount of
19806	// data in your database increases, though you are only charged for the space
19807	// that you use in an Aurora cluster volume.
19808	//
19809	// Amazon RDS Custom
19810	//
19811	// Constraints to the amount of storage for each storage type are the following:
19812	//
19813	//    * General Purpose (SSD) storage (gp2): Must be an integer from 40 to 65536.
19814	//
19815	//    * Provisioned IOPS storage (io1): Must be an integer from 40 to 65536.
19816	//
19817	// MySQL
19818	//
19819	// Constraints to the amount of storage for each storage type are the following:
19820	//
19821	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
19822	//
19823	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
19824	//
19825	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
19826	//
19827	// MariaDB
19828	//
19829	// Constraints to the amount of storage for each storage type are the following:
19830	//
19831	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
19832	//
19833	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
19834	//
19835	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
19836	//
19837	// PostgreSQL
19838	//
19839	// Constraints to the amount of storage for each storage type are the following:
19840	//
19841	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
19842	//
19843	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
19844	//
19845	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
19846	//
19847	// Oracle
19848	//
19849	// Constraints to the amount of storage for each storage type are the following:
19850	//
19851	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
19852	//
19853	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
19854	//
19855	//    * Magnetic storage (standard): Must be an integer from 10 to 3072.
19856	//
19857	// SQL Server
19858	//
19859	// Constraints to the amount of storage for each storage type are the following:
19860	//
19861	//    * General Purpose (SSD) storage (gp2): Enterprise and Standard editions:
19862	//    Must be an integer from 200 to 16384. Web and Express editions: Must be
19863	//    an integer from 20 to 16384.
19864	//
19865	//    * Provisioned IOPS storage (io1): Enterprise and Standard editions: Must
19866	//    be an integer from 200 to 16384. Web and Express editions: Must be an
19867	//    integer from 100 to 16384.
19868	//
19869	//    * Magnetic storage (standard): Enterprise and Standard editions: Must
19870	//    be an integer from 200 to 1024. Web and Express editions: Must be an integer
19871	//    from 20 to 1024.
19872	AllocatedStorage *int64 `type:"integer"`
19873
19874	// A value that indicates whether minor engine upgrades are applied automatically
19875	// to the DB instance during the maintenance window. By default, minor engine
19876	// upgrades are applied automatically.
19877	//
19878	// If you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade
19879	// to false.
19880	AutoMinorVersionUpgrade *bool `type:"boolean"`
19881
19882	// The Availability Zone (AZ) where the database will be created. For information
19883	// on Amazon Web Services Regions and Availability Zones, see Regions and Availability
19884	// Zones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
19885	//
19886	// Default: A random, system-chosen Availability Zone in the endpoint's Amazon
19887	// Web Services Region.
19888	//
19889	// Example: us-east-1d
19890	//
19891	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
19892	// is a Multi-AZ deployment. The specified Availability Zone must be in the
19893	// same Amazon Web Services Region as the current endpoint.
19894	//
19895	// If you're creating a DB instance in an RDS on VMware environment, specify
19896	// the identifier of the custom Availability Zone to create the DB instance
19897	// in.
19898	//
19899	// For more information about RDS on VMware, see the RDS on VMware User Guide.
19900	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
19901	AvailabilityZone *string `type:"string"`
19902
19903	// The number of days for which automated backups are retained. Setting this
19904	// parameter to a positive number enables backups. Setting this parameter to
19905	// 0 disables automated backups.
19906	//
19907	// Amazon Aurora
19908	//
19909	// Not applicable. The retention period for automated backups is managed by
19910	// the DB cluster.
19911	//
19912	// Default: 1
19913	//
19914	// Constraints:
19915	//
19916	//    * Must be a value from 0 to 35
19917	//
19918	//    * Can't be set to 0 if the DB instance is a source to read replicas
19919	//
19920	//    * Can't be set to 0 or 35 for an RDS Custom DB instance
19921	BackupRetentionPeriod *int64 `type:"integer"`
19922
19923	// For supported engines, this value indicates that the DB instance should be
19924	// associated with the specified CharacterSet.
19925	//
19926	// This setting doesn't apply to RDS Custom. However, if you need to change
19927	// the character set, you can change it on the database itself.
19928	//
19929	// Amazon Aurora
19930	//
19931	// Not applicable. The character set is managed by the DB cluster. For more
19932	// information, see CreateDBCluster.
19933	CharacterSetName *string `type:"string"`
19934
19935	// A value that indicates whether to copy tags from the DB instance to snapshots
19936	// of the DB instance. By default, tags are not copied.
19937	//
19938	// Amazon Aurora
19939	//
19940	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
19941	// this value for an Aurora DB instance has no effect on the DB cluster setting.
19942	CopyTagsToSnapshot *bool `type:"boolean"`
19943
19944	// The instance profile associated with the underlying Amazon EC2 instance of
19945	// an RDS Custom DB instance. The instance profile must meet the following requirements:
19946	//
19947	//    * The profile must exist in your account.
19948	//
19949	//    * The profile must have an IAM role that Amazon EC2 has permissions to
19950	//    assume.
19951	//
19952	//    * The instance profile name and the associated IAM role name must start
19953	//    with the prefix AWSRDSCustom.
19954	//
19955	// For the list of permissions required for the IAM role, see Configure IAM
19956	// and your VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)
19957	// in the Amazon Relational Database Service User Guide.
19958	//
19959	// This setting is required for RDS Custom.
19960	CustomIamInstanceProfile *string `type:"string"`
19961
19962	// The identifier of the DB cluster that the instance will belong to.
19963	//
19964	// This setting doesn't apply to RDS Custom.
19965	DBClusterIdentifier *string `type:"string"`
19966
19967	// The compute and memory capacity of the DB instance, for example, db.m4.large.
19968	// Not all DB instance classes are available in all Amazon Web Services Regions,
19969	// or for all database engines. For the full list of DB instance classes, and
19970	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
19971	// in the Amazon RDS User Guide.
19972	//
19973	// DBInstanceClass is a required field
19974	DBInstanceClass *string `type:"string" required:"true"`
19975
19976	// The DB instance identifier. This parameter is stored as a lowercase string.
19977	//
19978	// Constraints:
19979	//
19980	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
19981	//
19982	//    * First character must be a letter.
19983	//
19984	//    * Can't end with a hyphen or contain two consecutive hyphens.
19985	//
19986	// Example: mydbinstance
19987	//
19988	// DBInstanceIdentifier is a required field
19989	DBInstanceIdentifier *string `type:"string" required:"true"`
19990
19991	// The meaning of this parameter differs according to the database engine you
19992	// use.
19993	//
19994	// MySQL
19995	//
19996	// The name of the database to create when the DB instance is created. If this
19997	// parameter isn't specified, no database is created in the DB instance.
19998	//
19999	// Constraints:
20000	//
20001	//    * Must contain 1 to 64 letters or numbers.
20002	//
20003	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
20004	//    or digits (0-9).
20005	//
20006	//    * Can't be a word reserved by the specified database engine
20007	//
20008	// MariaDB
20009	//
20010	// The name of the database to create when the DB instance is created. If this
20011	// parameter isn't specified, no database is created in the DB instance.
20012	//
20013	// Constraints:
20014	//
20015	//    * Must contain 1 to 64 letters or numbers.
20016	//
20017	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
20018	//    or digits (0-9).
20019	//
20020	//    * Can't be a word reserved by the specified database engine
20021	//
20022	// PostgreSQL
20023	//
20024	// The name of the database to create when the DB instance is created. If this
20025	// parameter isn't specified, a database named postgres is created in the DB
20026	// instance.
20027	//
20028	// Constraints:
20029	//
20030	//    * Must contain 1 to 63 letters, numbers, or underscores.
20031	//
20032	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
20033	//    or digits (0-9).
20034	//
20035	//    * Can't be a word reserved by the specified database engine
20036	//
20037	// Oracle
20038	//
20039	// The Oracle System ID (SID) of the created DB instance. If you specify null,
20040	// the default value ORCL is used. You can't specify the string NULL, or any
20041	// other reserved word, for DBName.
20042	//
20043	// Default: ORCL
20044	//
20045	// Constraints:
20046	//
20047	//    * Can't be longer than 8 characters
20048	//
20049	// Amazon RDS Custom
20050	//
20051	// The Oracle System ID (SID) of the created RDS Custom DB instance. If you
20052	// don't specify a value, the default value is ORCL.
20053	//
20054	// Default: ORCL
20055	//
20056	// Constraints:
20057	//
20058	//    * It must contain 1 to 8 alphanumeric characters.
20059	//
20060	//    * It must contain a letter.
20061	//
20062	//    * It can't be a word reserved by the database engine.
20063	//
20064	// SQL Server
20065	//
20066	// Not applicable. Must be null.
20067	//
20068	// Amazon Aurora MySQL
20069	//
20070	// The name of the database to create when the primary DB instance of the Aurora
20071	// MySQL DB cluster is created. If this parameter isn't specified for an Aurora
20072	// MySQL DB cluster, no database is created in the DB cluster.
20073	//
20074	// Constraints:
20075	//
20076	//    * It must contain 1 to 64 alphanumeric characters.
20077	//
20078	//    * It can't be a word reserved by the database engine.
20079	//
20080	// Amazon Aurora PostgreSQL
20081	//
20082	// The name of the database to create when the primary DB instance of the Aurora
20083	// PostgreSQL DB cluster is created. If this parameter isn't specified for an
20084	// Aurora PostgreSQL DB cluster, a database named postgres is created in the
20085	// DB cluster.
20086	//
20087	// Constraints:
20088	//
20089	//    * It must contain 1 to 63 alphanumeric characters.
20090	//
20091	//    * It must begin with a letter or an underscore. Subsequent characters
20092	//    can be letters, underscores, or digits (0 to 9).
20093	//
20094	//    * It can't be a word reserved by the database engine.
20095	DBName *string `type:"string"`
20096
20097	// The name of the DB parameter group to associate with this DB instance. If
20098	// you do not specify a value, then the default DB parameter group for the specified
20099	// DB engine and version is used.
20100	//
20101	// This setting doesn't apply to RDS Custom.
20102	//
20103	// Constraints:
20104	//
20105	//    * Must be 1 to 255 letters, numbers, or hyphens.
20106	//
20107	//    * First character must be a letter
20108	//
20109	//    * Can't end with a hyphen or contain two consecutive hyphens
20110	DBParameterGroupName *string `type:"string"`
20111
20112	// A list of DB security groups to associate with this DB instance.
20113	//
20114	// Default: The default DB security group for the database engine.
20115	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
20116
20117	// A DB subnet group to associate with this DB instance.
20118	//
20119	// If there is no DB subnet group, then it is a non-VPC DB instance.
20120	DBSubnetGroupName *string `type:"string"`
20121
20122	// A value that indicates whether the DB instance has deletion protection enabled.
20123	// The database can't be deleted when deletion protection is enabled. By default,
20124	// deletion protection is disabled. For more information, see Deleting a DB
20125	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
20126	//
20127	// Amazon Aurora
20128	//
20129	// Not applicable. You can enable or disable deletion protection for the DB
20130	// cluster. For more information, see CreateDBCluster. DB instances in a DB
20131	// cluster can be deleted even when deletion protection is enabled for the DB
20132	// cluster.
20133	DeletionProtection *bool `type:"boolean"`
20134
20135	// The Active Directory directory ID to create the DB instance in. Currently,
20136	// only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can
20137	// be created in an Active Directory Domain.
20138	//
20139	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
20140	// in the Amazon RDS User Guide.
20141	//
20142	// This setting doesn't apply to RDS Custom.
20143	Domain *string `type:"string"`
20144
20145	// Specify the name of the IAM role to be used when making API calls to the
20146	// Directory Service.
20147	//
20148	// This setting doesn't apply to RDS Custom.
20149	DomainIAMRoleName *string `type:"string"`
20150
20151	// The list of log types that need to be enabled for exporting to CloudWatch
20152	// Logs. The values in the list depend on the DB engine. For more information,
20153	// see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
20154	// in the Amazon Relational Database Service User Guide.
20155	//
20156	// Amazon Aurora
20157	//
20158	// Not applicable. CloudWatch Logs exports are managed by the DB cluster.
20159	//
20160	// RDS Custom
20161	//
20162	// Not applicable.
20163	//
20164	// MariaDB
20165	//
20166	// Possible values are audit, error, general, and slowquery.
20167	//
20168	// Microsoft SQL Server
20169	//
20170	// Possible values are agent and error.
20171	//
20172	// MySQL
20173	//
20174	// Possible values are audit, error, general, and slowquery.
20175	//
20176	// Oracle
20177	//
20178	// Possible values are alert, audit, listener, trace, and oemagent.
20179	//
20180	// PostgreSQL
20181	//
20182	// Possible values are postgresql and upgrade.
20183	EnableCloudwatchLogsExports []*string `type:"list"`
20184
20185	// A value that indicates whether to enable a customer-owned IP address (CoIP)
20186	// for an RDS on Outposts DB instance.
20187	//
20188	// A CoIP provides local or external connectivity to resources in your Outpost
20189	// subnets through your on-premises network. For some use cases, a CoIP can
20190	// provide lower latency for connections to the DB instance from outside of
20191	// its virtual private cloud (VPC) on your local network.
20192	//
20193	// For more information about RDS on Outposts, see Working with Amazon RDS on
20194	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
20195	// in the Amazon RDS User Guide.
20196	//
20197	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
20198	// in the Amazon Web Services Outposts User Guide.
20199	EnableCustomerOwnedIp *bool `type:"boolean"`
20200
20201	// A value that indicates whether to enable mapping of Amazon Web Services Identity
20202	// and Access Management (IAM) accounts to database accounts. By default, mapping
20203	// is disabled.
20204	//
20205	// This setting doesn't apply to RDS Custom or Amazon Aurora. In Aurora, mapping
20206	// Amazon Web Services IAM accounts to database accounts is managed by the DB
20207	// cluster.
20208	//
20209	// For more information, see IAM Database Authentication for MySQL and PostgreSQL
20210	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
20211	// in the Amazon RDS User Guide.
20212	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
20213
20214	// A value that indicates whether to enable Performance Insights for the DB
20215	// instance. For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
20216	// in the Amazon Relational Database Service User Guide.
20217	//
20218	// This setting doesn't apply to RDS Custom.
20219	EnablePerformanceInsights *bool `type:"boolean"`
20220
20221	// The name of the database engine to be used for this instance.
20222	//
20223	// Not every database engine is available for every Amazon Web Services Region.
20224	//
20225	// Valid Values:
20226	//
20227	//    * aurora (for MySQL 5.6-compatible Aurora)
20228	//
20229	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
20230	//
20231	//    * aurora-postgresql
20232	//
20233	//    * custom-oracle-ee (for RDS Custom instances)
20234	//
20235	//    * mariadb
20236	//
20237	//    * mysql
20238	//
20239	//    * oracle-ee
20240	//
20241	//    * oracle-ee-cdb
20242	//
20243	//    * oracle-se2
20244	//
20245	//    * oracle-se2-cdb
20246	//
20247	//    * postgres
20248	//
20249	//    * sqlserver-ee
20250	//
20251	//    * sqlserver-se
20252	//
20253	//    * sqlserver-ex
20254	//
20255	//    * sqlserver-web
20256	//
20257	// Engine is a required field
20258	Engine *string `type:"string" required:"true"`
20259
20260	// The version number of the database engine to use.
20261	//
20262	// For a list of valid engine versions, use the DescribeDBEngineVersions action.
20263	//
20264	// The following are the database engines and links to information about the
20265	// major and minor versions that are available with Amazon RDS. Not every database
20266	// engine is available for every Amazon Web Services Region.
20267	//
20268	// Amazon Aurora
20269	//
20270	// Not applicable. The version number of the database engine to be used by the
20271	// DB instance is managed by the DB cluster.
20272	//
20273	// Amazon RDS Custom
20274	//
20275	// A custom engine version (CEV) that you have previously created. This setting
20276	// is required for RDS Custom. The CEV name has the following format: 19.customized_string
20277	// . An example identifier is 19.my_cev1. For more information, see Creating
20278	// an RDS Custom DB instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.create)
20279	// in the Amazon RDS User Guide..
20280	//
20281	// MariaDB
20282	//
20283	// See MariaDB on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)
20284	// in the Amazon RDS User Guide.
20285	//
20286	// Microsoft SQL Server
20287	//
20288	// See Microsoft SQL Server Versions on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport)
20289	// in the Amazon RDS User Guide.
20290	//
20291	// MySQL
20292	//
20293	// See MySQL on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)
20294	// in the Amazon RDS User Guide.
20295	//
20296	// Oracle
20297	//
20298	// See Oracle Database Engine Release Notes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html)
20299	// in the Amazon RDS User Guide.
20300	//
20301	// PostgreSQL
20302	//
20303	// See Amazon RDS for PostgreSQL versions and extensions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts)
20304	// in the Amazon RDS User Guide.
20305	EngineVersion *string `type:"string"`
20306
20307	// The amount of Provisioned IOPS (input/output operations per second) to be
20308	// initially allocated for the DB instance. For information about valid Iops
20309	// values, see Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
20310	// in the Amazon RDS User Guide.
20311	//
20312	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must
20313	// be a multiple between .5 and 50 of the storage amount for the DB instance.
20314	// For SQL Server DB instances, must be a multiple between 1 and 50 of the storage
20315	// amount for the DB instance.
20316	Iops *int64 `type:"integer"`
20317
20318	// The Amazon Web Services KMS key identifier for an encrypted DB instance.
20319	//
20320	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
20321	// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
20322	// Web Services account, specify the key ARN or alias ARN.
20323	//
20324	// Amazon Aurora
20325	//
20326	// Not applicable. The Amazon Web Services KMS key identifier is managed by
20327	// the DB cluster. For more information, see CreateDBCluster.
20328	//
20329	// If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId
20330	// parameter, then Amazon RDS uses your default KMS key. There is a default
20331	// KMS key for your Amazon Web Services account. Your Amazon Web Services account
20332	// has a different default KMS key for each Amazon Web Services Region.
20333	//
20334	// Amazon RDS Custom
20335	//
20336	// A KMS key is required for RDS Custom Oracle instances. For most RDS engines,
20337	// if you leave this parameter empty while enabling StorageEncrypted, the engine
20338	// uses the default KMS key. However, RDS Custom for Oracle doesn't use the
20339	// default key when this parameter is empty. You must explicitly specify a key.
20340	KmsKeyId *string `type:"string"`
20341
20342	// License model information for this DB instance.
20343	//
20344	// Valid values: license-included | bring-your-own-license | general-public-license
20345	//
20346	// This setting doesn't apply to RDS Custom.
20347	LicenseModel *string `type:"string"`
20348
20349	// The password for the master user. The password can include any printable
20350	// ASCII character except "/", """, or "@".
20351	//
20352	// Amazon Aurora
20353	//
20354	// Not applicable. The password for the master user is managed by the DB cluster.
20355	//
20356	// MariaDB
20357	//
20358	// Constraints: Must contain from 8 to 41 characters.
20359	//
20360	// Microsoft SQL Server
20361	//
20362	// Constraints: Must contain from 8 to 128 characters.
20363	//
20364	// MySQL
20365	//
20366	// Constraints: Must contain from 8 to 41 characters.
20367	//
20368	// Oracle
20369	//
20370	// Constraints: Must contain from 8 to 30 characters.
20371	//
20372	// PostgreSQL
20373	//
20374	// Constraints: Must contain from 8 to 128 characters.
20375	MasterUserPassword *string `type:"string"`
20376
20377	// The name for the master user.
20378	//
20379	// Amazon Aurora
20380	//
20381	// Not applicable. The name for the master user is managed by the DB cluster.
20382	//
20383	// MariaDB
20384	//
20385	// Constraints:
20386	//
20387	//    * Required for MariaDB.
20388	//
20389	//    * Must be 1 to 16 letters or numbers.
20390	//
20391	//    * Can't be a reserved word for the chosen database engine.
20392	//
20393	// Microsoft SQL Server
20394	//
20395	// Constraints:
20396	//
20397	//    * Required for SQL Server.
20398	//
20399	//    * Must be 1 to 128 letters or numbers.
20400	//
20401	//    * The first character must be a letter.
20402	//
20403	//    * Can't be a reserved word for the chosen database engine.
20404	//
20405	// MySQL
20406	//
20407	// Constraints:
20408	//
20409	//    * Required for MySQL.
20410	//
20411	//    * Must be 1 to 16 letters or numbers.
20412	//
20413	//    * First character must be a letter.
20414	//
20415	//    * Can't be a reserved word for the chosen database engine.
20416	//
20417	// Oracle
20418	//
20419	// Constraints:
20420	//
20421	//    * Required for Oracle.
20422	//
20423	//    * Must be 1 to 30 letters or numbers.
20424	//
20425	//    * First character must be a letter.
20426	//
20427	//    * Can't be a reserved word for the chosen database engine.
20428	//
20429	// PostgreSQL
20430	//
20431	// Constraints:
20432	//
20433	//    * Required for PostgreSQL.
20434	//
20435	//    * Must be 1 to 63 letters or numbers.
20436	//
20437	//    * First character must be a letter.
20438	//
20439	//    * Can't be a reserved word for the chosen database engine.
20440	MasterUsername *string `type:"string"`
20441
20442	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
20443	// scale the storage of the DB instance.
20444	//
20445	// For more information about this setting, including limitations that apply
20446	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
20447	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
20448	// in the Amazon RDS User Guide.
20449	//
20450	// This setting doesn't apply to RDS Custom.
20451	MaxAllocatedStorage *int64 `type:"integer"`
20452
20453	// The interval, in seconds, between points when Enhanced Monitoring metrics
20454	// are collected for the DB instance. To disable collection of Enhanced Monitoring
20455	// metrics, specify 0. The default is 0.
20456	//
20457	// If MonitoringRoleArn is specified, then you must set MonitoringInterval to
20458	// a value other than 0.
20459	//
20460	// This setting doesn't apply to RDS Custom.
20461	//
20462	// Valid Values: 0, 1, 5, 10, 15, 30, 60
20463	MonitoringInterval *int64 `type:"integer"`
20464
20465	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
20466	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
20467	// For information on creating a monitoring role, see Setting Up and Enabling
20468	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
20469	// in the Amazon RDS User Guide.
20470	//
20471	// If MonitoringInterval is set to a value other than 0, then you must supply
20472	// a MonitoringRoleArn value.
20473	//
20474	// This setting doesn't apply to RDS Custom.
20475	MonitoringRoleArn *string `type:"string"`
20476
20477	// A value that indicates whether the DB instance is a Multi-AZ deployment.
20478	// You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ
20479	// deployment.
20480	//
20481	// This setting doesn't apply to RDS Custom.
20482	MultiAZ *bool `type:"boolean"`
20483
20484	// The name of the NCHAR character set for the Oracle DB instance.
20485	//
20486	// This parameter doesn't apply to RDS Custom.
20487	NcharCharacterSetName *string `type:"string"`
20488
20489	// A value that indicates that the DB instance should be associated with the
20490	// specified option group.
20491	//
20492	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
20493	// can't be removed from an option group. Also, that option group can't be removed
20494	// from a DB instance after it is associated with a DB instance.
20495	//
20496	// This setting doesn't apply to RDS Custom.
20497	OptionGroupName *string `type:"string"`
20498
20499	// The Amazon Web Services KMS key identifier for encryption of Performance
20500	// Insights data.
20501	//
20502	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
20503	// ARN, or alias name for the KMS key.
20504	//
20505	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
20506	// RDS uses your default KMS key. There is a default KMS key for your Amazon
20507	// Web Services account. Your Amazon Web Services account has a different default
20508	// KMS key for each Amazon Web Services Region.
20509	//
20510	// This setting doesn't apply to RDS Custom.
20511	PerformanceInsightsKMSKeyId *string `type:"string"`
20512
20513	// The amount of time, in days, to retain Performance Insights data. Valid values
20514	// are 7 or 731 (2 years).
20515	//
20516	// This setting doesn't apply to RDS Custom.
20517	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
20518
20519	// The port number on which the database accepts connections.
20520	//
20521	// MySQL
20522	//
20523	// Default: 3306
20524	//
20525	// Valid values: 1150-65535
20526	//
20527	// Type: Integer
20528	//
20529	// MariaDB
20530	//
20531	// Default: 3306
20532	//
20533	// Valid values: 1150-65535
20534	//
20535	// Type: Integer
20536	//
20537	// PostgreSQL
20538	//
20539	// Default: 5432
20540	//
20541	// Valid values: 1150-65535
20542	//
20543	// Type: Integer
20544	//
20545	// Oracle
20546	//
20547	// Default: 1521
20548	//
20549	// Valid values: 1150-65535
20550	//
20551	// SQL Server
20552	//
20553	// Default: 1433
20554	//
20555	// Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and
20556	// 49152-49156.
20557	//
20558	// Amazon Aurora
20559	//
20560	// Default: 3306
20561	//
20562	// Valid values: 1150-65535
20563	//
20564	// Type: Integer
20565	Port *int64 `type:"integer"`
20566
20567	// The daily time range during which automated backups are created if automated
20568	// backups are enabled, using the BackupRetentionPeriod parameter. The default
20569	// is a 30-minute window selected at random from an 8-hour block of time for
20570	// each Amazon Web Services Region. For more information, see Backup window
20571	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
20572	// in the Amazon RDS User Guide.
20573	//
20574	// Amazon Aurora
20575	//
20576	// Not applicable. The daily time range for creating automated backups is managed
20577	// by the DB cluster.
20578	//
20579	// Constraints:
20580	//
20581	//    * Must be in the format hh24:mi-hh24:mi.
20582	//
20583	//    * Must be in Universal Coordinated Time (UTC).
20584	//
20585	//    * Must not conflict with the preferred maintenance window.
20586	//
20587	//    * Must be at least 30 minutes.
20588	PreferredBackupWindow *string `type:"string"`
20589
20590	// The time range each week during which system maintenance can occur, in Universal
20591	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
20592	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
20593	//
20594	// Format: ddd:hh24:mi-ddd:hh24:mi
20595	//
20596	// The default is a 30-minute window selected at random from an 8-hour block
20597	// of time for each Amazon Web Services Region, occurring on a random day of
20598	// the week.
20599	//
20600	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
20601	//
20602	// Constraints: Minimum 30-minute window.
20603	PreferredMaintenanceWindow *string `type:"string"`
20604
20605	// The number of CPU cores and the number of threads per core for the DB instance
20606	// class of the DB instance.
20607	//
20608	// This setting doesn't apply to RDS Custom.
20609	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
20610
20611	// A value that specifies the order in which an Aurora Replica is promoted to
20612	// the primary instance after a failure of the existing primary instance. For
20613	// 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)
20614	// in the Amazon Aurora User Guide.
20615	//
20616	// This setting doesn't apply to RDS Custom.
20617	//
20618	// Default: 1
20619	//
20620	// Valid Values: 0 - 15
20621	PromotionTier *int64 `type:"integer"`
20622
20623	// A value that indicates whether the DB instance is publicly accessible.
20624	//
20625	// When the DB instance is publicly accessible, its DNS endpoint resolves to
20626	// the private IP address from within the DB instance's VPC, and to the public
20627	// IP address from outside of the DB instance's VPC. Access to the DB instance
20628	// is ultimately controlled by the security group it uses, and that public access
20629	// is not permitted if the security group assigned to the DB instance doesn't
20630	// permit it.
20631	//
20632	// When the DB instance isn't publicly accessible, it is an internal DB instance
20633	// with a DNS name that resolves to a private IP address.
20634	//
20635	// Default: The default behavior varies depending on whether DBSubnetGroupName
20636	// is specified.
20637	//
20638	// If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,
20639	// the following applies:
20640	//
20641	//    * If the default VPC in the target region doesn’t have an Internet gateway
20642	//    attached to it, the DB instance is private.
20643	//
20644	//    * If the default VPC in the target region has an Internet gateway attached
20645	//    to it, the DB instance is public.
20646	//
20647	// If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,
20648	// the following applies:
20649	//
20650	//    * If the subnets are part of a VPC that doesn’t have an Internet gateway
20651	//    attached to it, the DB instance is private.
20652	//
20653	//    * If the subnets are part of a VPC that has an Internet gateway attached
20654	//    to it, the DB instance is public.
20655	PubliclyAccessible *bool `type:"boolean"`
20656
20657	// A value that indicates whether the DB instance is encrypted. By default,
20658	// it isn't encrypted.
20659	//
20660	// For RDS Custom Oracle instances, either set this parameter to true or leave
20661	// it unset. If you set this parameter to false, RDS reports an error.
20662	//
20663	// Amazon Aurora
20664	//
20665	// Not applicable. The encryption for DB instances is managed by the DB cluster.
20666	StorageEncrypted *bool `type:"boolean"`
20667
20668	// Specifies the storage type to be associated with the DB instance.
20669	//
20670	// Valid values: standard | gp2 | io1
20671	//
20672	// If you specify io1, you must also include a value for the Iops parameter.
20673	//
20674	// Default: io1 if the Iops parameter is specified, otherwise gp2
20675	StorageType *string `type:"string"`
20676
20677	// Tags to assign to the DB instance.
20678	Tags []*Tag `locationNameList:"Tag" type:"list"`
20679
20680	// The ARN from the key store with which to associate the instance for TDE encryption.
20681	//
20682	// This setting doesn't apply to RDS Custom.
20683	TdeCredentialArn *string `type:"string"`
20684
20685	// The password for the given ARN from the key store in order to access the
20686	// device.
20687	//
20688	// This setting doesn't apply to RDS Custom.
20689	TdeCredentialPassword *string `type:"string"`
20690
20691	// The time zone of the DB instance. The time zone parameter is currently supported
20692	// only by Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).
20693	Timezone *string `type:"string"`
20694
20695	// A list of Amazon EC2 VPC security groups to associate with this DB instance.
20696	//
20697	// Amazon Aurora
20698	//
20699	// Not applicable. The associated list of EC2 VPC security groups is managed
20700	// by the DB cluster.
20701	//
20702	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
20703	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
20704}
20705
20706// String returns the string representation.
20707//
20708// API parameter values that are decorated as "sensitive" in the API will not
20709// be included in the string output. The member name will be present, but the
20710// value will be replaced with "sensitive".
20711func (s CreateDBInstanceInput) String() string {
20712	return awsutil.Prettify(s)
20713}
20714
20715// GoString returns the string representation.
20716//
20717// API parameter values that are decorated as "sensitive" in the API will not
20718// be included in the string output. The member name will be present, but the
20719// value will be replaced with "sensitive".
20720func (s CreateDBInstanceInput) GoString() string {
20721	return s.String()
20722}
20723
20724// Validate inspects the fields of the type to determine if they are valid.
20725func (s *CreateDBInstanceInput) Validate() error {
20726	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
20727	if s.DBInstanceClass == nil {
20728		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
20729	}
20730	if s.DBInstanceIdentifier == nil {
20731		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
20732	}
20733	if s.Engine == nil {
20734		invalidParams.Add(request.NewErrParamRequired("Engine"))
20735	}
20736
20737	if invalidParams.Len() > 0 {
20738		return invalidParams
20739	}
20740	return nil
20741}
20742
20743// SetAllocatedStorage sets the AllocatedStorage field's value.
20744func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
20745	s.AllocatedStorage = &v
20746	return s
20747}
20748
20749// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
20750func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
20751	s.AutoMinorVersionUpgrade = &v
20752	return s
20753}
20754
20755// SetAvailabilityZone sets the AvailabilityZone field's value.
20756func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
20757	s.AvailabilityZone = &v
20758	return s
20759}
20760
20761// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
20762func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
20763	s.BackupRetentionPeriod = &v
20764	return s
20765}
20766
20767// SetCharacterSetName sets the CharacterSetName field's value.
20768func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
20769	s.CharacterSetName = &v
20770	return s
20771}
20772
20773// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
20774func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
20775	s.CopyTagsToSnapshot = &v
20776	return s
20777}
20778
20779// SetCustomIamInstanceProfile sets the CustomIamInstanceProfile field's value.
20780func (s *CreateDBInstanceInput) SetCustomIamInstanceProfile(v string) *CreateDBInstanceInput {
20781	s.CustomIamInstanceProfile = &v
20782	return s
20783}
20784
20785// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
20786func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
20787	s.DBClusterIdentifier = &v
20788	return s
20789}
20790
20791// SetDBInstanceClass sets the DBInstanceClass field's value.
20792func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
20793	s.DBInstanceClass = &v
20794	return s
20795}
20796
20797// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
20798func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
20799	s.DBInstanceIdentifier = &v
20800	return s
20801}
20802
20803// SetDBName sets the DBName field's value.
20804func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
20805	s.DBName = &v
20806	return s
20807}
20808
20809// SetDBParameterGroupName sets the DBParameterGroupName field's value.
20810func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
20811	s.DBParameterGroupName = &v
20812	return s
20813}
20814
20815// SetDBSecurityGroups sets the DBSecurityGroups field's value.
20816func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
20817	s.DBSecurityGroups = v
20818	return s
20819}
20820
20821// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
20822func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
20823	s.DBSubnetGroupName = &v
20824	return s
20825}
20826
20827// SetDeletionProtection sets the DeletionProtection field's value.
20828func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
20829	s.DeletionProtection = &v
20830	return s
20831}
20832
20833// SetDomain sets the Domain field's value.
20834func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
20835	s.Domain = &v
20836	return s
20837}
20838
20839// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
20840func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
20841	s.DomainIAMRoleName = &v
20842	return s
20843}
20844
20845// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
20846func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
20847	s.EnableCloudwatchLogsExports = v
20848	return s
20849}
20850
20851// SetEnableCustomerOwnedIp sets the EnableCustomerOwnedIp field's value.
20852func (s *CreateDBInstanceInput) SetEnableCustomerOwnedIp(v bool) *CreateDBInstanceInput {
20853	s.EnableCustomerOwnedIp = &v
20854	return s
20855}
20856
20857// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
20858func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
20859	s.EnableIAMDatabaseAuthentication = &v
20860	return s
20861}
20862
20863// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
20864func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
20865	s.EnablePerformanceInsights = &v
20866	return s
20867}
20868
20869// SetEngine sets the Engine field's value.
20870func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
20871	s.Engine = &v
20872	return s
20873}
20874
20875// SetEngineVersion sets the EngineVersion field's value.
20876func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
20877	s.EngineVersion = &v
20878	return s
20879}
20880
20881// SetIops sets the Iops field's value.
20882func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
20883	s.Iops = &v
20884	return s
20885}
20886
20887// SetKmsKeyId sets the KmsKeyId field's value.
20888func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
20889	s.KmsKeyId = &v
20890	return s
20891}
20892
20893// SetLicenseModel sets the LicenseModel field's value.
20894func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
20895	s.LicenseModel = &v
20896	return s
20897}
20898
20899// SetMasterUserPassword sets the MasterUserPassword field's value.
20900func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
20901	s.MasterUserPassword = &v
20902	return s
20903}
20904
20905// SetMasterUsername sets the MasterUsername field's value.
20906func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
20907	s.MasterUsername = &v
20908	return s
20909}
20910
20911// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
20912func (s *CreateDBInstanceInput) SetMaxAllocatedStorage(v int64) *CreateDBInstanceInput {
20913	s.MaxAllocatedStorage = &v
20914	return s
20915}
20916
20917// SetMonitoringInterval sets the MonitoringInterval field's value.
20918func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
20919	s.MonitoringInterval = &v
20920	return s
20921}
20922
20923// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
20924func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
20925	s.MonitoringRoleArn = &v
20926	return s
20927}
20928
20929// SetMultiAZ sets the MultiAZ field's value.
20930func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
20931	s.MultiAZ = &v
20932	return s
20933}
20934
20935// SetNcharCharacterSetName sets the NcharCharacterSetName field's value.
20936func (s *CreateDBInstanceInput) SetNcharCharacterSetName(v string) *CreateDBInstanceInput {
20937	s.NcharCharacterSetName = &v
20938	return s
20939}
20940
20941// SetOptionGroupName sets the OptionGroupName field's value.
20942func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
20943	s.OptionGroupName = &v
20944	return s
20945}
20946
20947// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
20948func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
20949	s.PerformanceInsightsKMSKeyId = &v
20950	return s
20951}
20952
20953// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
20954func (s *CreateDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceInput {
20955	s.PerformanceInsightsRetentionPeriod = &v
20956	return s
20957}
20958
20959// SetPort sets the Port field's value.
20960func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
20961	s.Port = &v
20962	return s
20963}
20964
20965// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
20966func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
20967	s.PreferredBackupWindow = &v
20968	return s
20969}
20970
20971// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
20972func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
20973	s.PreferredMaintenanceWindow = &v
20974	return s
20975}
20976
20977// SetProcessorFeatures sets the ProcessorFeatures field's value.
20978func (s *CreateDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceInput {
20979	s.ProcessorFeatures = v
20980	return s
20981}
20982
20983// SetPromotionTier sets the PromotionTier field's value.
20984func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
20985	s.PromotionTier = &v
20986	return s
20987}
20988
20989// SetPubliclyAccessible sets the PubliclyAccessible field's value.
20990func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
20991	s.PubliclyAccessible = &v
20992	return s
20993}
20994
20995// SetStorageEncrypted sets the StorageEncrypted field's value.
20996func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
20997	s.StorageEncrypted = &v
20998	return s
20999}
21000
21001// SetStorageType sets the StorageType field's value.
21002func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
21003	s.StorageType = &v
21004	return s
21005}
21006
21007// SetTags sets the Tags field's value.
21008func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
21009	s.Tags = v
21010	return s
21011}
21012
21013// SetTdeCredentialArn sets the TdeCredentialArn field's value.
21014func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
21015	s.TdeCredentialArn = &v
21016	return s
21017}
21018
21019// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
21020func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
21021	s.TdeCredentialPassword = &v
21022	return s
21023}
21024
21025// SetTimezone sets the Timezone field's value.
21026func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
21027	s.Timezone = &v
21028	return s
21029}
21030
21031// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
21032func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
21033	s.VpcSecurityGroupIds = v
21034	return s
21035}
21036
21037type CreateDBInstanceOutput struct {
21038	_ struct{} `type:"structure"`
21039
21040	// Contains the details of an Amazon RDS DB instance.
21041	//
21042	// This data type is used as a response element in the DescribeDBInstances action.
21043	DBInstance *DBInstance `type:"structure"`
21044}
21045
21046// String returns the string representation.
21047//
21048// API parameter values that are decorated as "sensitive" in the API will not
21049// be included in the string output. The member name will be present, but the
21050// value will be replaced with "sensitive".
21051func (s CreateDBInstanceOutput) String() string {
21052	return awsutil.Prettify(s)
21053}
21054
21055// GoString returns the string representation.
21056//
21057// API parameter values that are decorated as "sensitive" in the API will not
21058// be included in the string output. The member name will be present, but the
21059// value will be replaced with "sensitive".
21060func (s CreateDBInstanceOutput) GoString() string {
21061	return s.String()
21062}
21063
21064// SetDBInstance sets the DBInstance field's value.
21065func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
21066	s.DBInstance = v
21067	return s
21068}
21069
21070type CreateDBInstanceReadReplicaInput struct {
21071	_ struct{} `type:"structure"`
21072
21073	// A value that indicates whether minor engine upgrades are applied automatically
21074	// to the read replica during the maintenance window.
21075	//
21076	// This setting doesn't apply to RDS Custom.
21077	//
21078	// Default: Inherits from the source DB instance
21079	AutoMinorVersionUpgrade *bool `type:"boolean"`
21080
21081	// The Availability Zone (AZ) where the read replica will be created.
21082	//
21083	// Default: A random, system-chosen Availability Zone in the endpoint's Amazon
21084	// Web Services Region.
21085	//
21086	// Example: us-east-1d
21087	AvailabilityZone *string `type:"string"`
21088
21089	// A value that indicates whether to copy all tags from the read replica to
21090	// snapshots of the read replica. By default, tags are not copied.
21091	CopyTagsToSnapshot *bool `type:"boolean"`
21092
21093	// The instance profile associated with the underlying Amazon EC2 instance of
21094	// an RDS Custom DB instance. The instance profile must meet the following requirements:
21095	//
21096	//    * The profile must exist in your account.
21097	//
21098	//    * The profile must have an IAM role that Amazon EC2 has permissions to
21099	//    assume.
21100	//
21101	//    * The instance profile name and the associated IAM role name must start
21102	//    with the prefix AWSRDSCustom.
21103	//
21104	// For the list of permissions required for the IAM role, see Configure IAM
21105	// and your VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)
21106	// in the Amazon Relational Database Service User Guide.
21107	//
21108	// This setting is required for RDS Custom.
21109	CustomIamInstanceProfile *string `type:"string"`
21110
21111	// The compute and memory capacity of the read replica, for example, db.m4.large.
21112	// Not all DB instance classes are available in all Amazon Web Services Regions,
21113	// or for all database engines. For the full list of DB instance classes, and
21114	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
21115	// in the Amazon RDS User Guide.
21116	//
21117	// Default: Inherits from the source DB instance.
21118	DBInstanceClass *string `type:"string"`
21119
21120	// The DB instance identifier of the read replica. This identifier is the unique
21121	// key that identifies a DB instance. This parameter is stored as a lowercase
21122	// string.
21123	//
21124	// DBInstanceIdentifier is a required field
21125	DBInstanceIdentifier *string `type:"string" required:"true"`
21126
21127	// The name of the DB parameter group to associate with this DB instance.
21128	//
21129	// If you do not specify a value for DBParameterGroupName, then Amazon RDS uses
21130	// the DBParameterGroup of source DB instance for a same region read replica,
21131	// or the default DBParameterGroup for the specified DB engine for a cross region
21132	// read replica.
21133	//
21134	// Specifying a parameter group for this operation is only supported for Oracle
21135	// DB instances. It isn't supported for RDS Custom.
21136	//
21137	// Constraints:
21138	//
21139	//    * Must be 1 to 255 letters, numbers, or hyphens.
21140	//
21141	//    * First character must be a letter
21142	//
21143	//    * Can't end with a hyphen or contain two consecutive hyphens
21144	DBParameterGroupName *string `type:"string"`
21145
21146	// Specifies a DB subnet group for the DB instance. The new DB instance is created
21147	// in the VPC associated with the DB subnet group. If no DB subnet group is
21148	// specified, then the new DB instance isn't created in a VPC.
21149	//
21150	// Constraints:
21151	//
21152	//    * Can only be specified if the source DB instance identifier specifies
21153	//    a DB instance in another Amazon Web Services Region.
21154	//
21155	//    * If supplied, must match the name of an existing DBSubnetGroup.
21156	//
21157	//    * The specified DB subnet group must be in the same Amazon Web Services
21158	//    Region in which the operation is running.
21159	//
21160	//    * All read replicas in one Amazon Web Services Region that are created
21161	//    from the same source DB instance must either:> Specify DB subnet groups
21162	//    from the same VPC. All these read replicas are created in the same VPC.
21163	//    Not specify a DB subnet group. All these read replicas are created outside
21164	//    of any VPC.
21165	//
21166	// Example: mySubnetgroup
21167	DBSubnetGroupName *string `type:"string"`
21168
21169	// A value that indicates whether the DB instance has deletion protection enabled.
21170	// The database can't be deleted when deletion protection is enabled. By default,
21171	// deletion protection is disabled. For more information, see Deleting a DB
21172	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
21173	DeletionProtection *bool `type:"boolean"`
21174
21175	// DestinationRegion is used for presigning the request to a given region.
21176	DestinationRegion *string `type:"string"`
21177
21178	// The Active Directory directory ID to create the DB instance in. Currently,
21179	// only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can
21180	// be created in an Active Directory Domain.
21181	//
21182	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
21183	// in the Amazon RDS User Guide.
21184	//
21185	// This setting doesn't apply to RDS Custom.
21186	Domain *string `type:"string"`
21187
21188	// Specify the name of the IAM role to be used when making API calls to the
21189	// Directory Service.
21190	//
21191	// This setting doesn't apply to RDS Custom.
21192	DomainIAMRoleName *string `type:"string"`
21193
21194	// The list of logs that the new DB instance is to export to CloudWatch Logs.
21195	// The values in the list depend on the DB engine being used. For more information,
21196	// see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
21197	// in the Amazon RDS User Guide.
21198	//
21199	// This setting doesn't apply to RDS Custom.
21200	EnableCloudwatchLogsExports []*string `type:"list"`
21201
21202	// A value that indicates whether to enable mapping of Amazon Web Services Identity
21203	// and Access Management (IAM) accounts to database accounts. By default, mapping
21204	// is disabled.
21205	//
21206	// For more information about IAM database authentication, see IAM Database
21207	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
21208	// in the Amazon RDS User Guide.
21209	//
21210	// This setting doesn't apply to RDS Custom.
21211	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
21212
21213	// A value that indicates whether to enable Performance Insights for the read
21214	// replica.
21215	//
21216	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
21217	// in the Amazon RDS User Guide.
21218	//
21219	// This setting doesn't apply to RDS Custom.
21220	EnablePerformanceInsights *bool `type:"boolean"`
21221
21222	// The amount of Provisioned IOPS (input/output operations per second) to be
21223	// initially allocated for the DB instance.
21224	Iops *int64 `type:"integer"`
21225
21226	// The Amazon Web Services KMS key identifier for an encrypted read replica.
21227	//
21228	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
21229	// ARN, or alias name for the KMS key.
21230	//
21231	// If you create an encrypted read replica in the same Amazon Web Services Region
21232	// as the source DB instance, then do not specify a value for this parameter.
21233	// A read replica in the same Amazon Web Services Region is always encrypted
21234	// with the same KMS key as the source DB instance.
21235	//
21236	// If you create an encrypted read replica in a different Amazon Web Services
21237	// Region, then you must specify a KMS key identifier for the destination Amazon
21238	// Web Services Region. KMS keys are specific to the Amazon Web Services Region
21239	// that they are created in, and you can't use KMS keys from one Amazon Web
21240	// Services Region in another Amazon Web Services Region.
21241	//
21242	// You can't create an encrypted read replica from an unencrypted DB instance.
21243	//
21244	// This setting doesn't apply to RDS Custom, which uses the same KMS key as
21245	// the primary replica.
21246	KmsKeyId *string `type:"string"`
21247
21248	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
21249	// scale the storage of the DB instance.
21250	//
21251	// For more information about this setting, including limitations that apply
21252	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
21253	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
21254	// in the Amazon RDS User Guide.
21255	MaxAllocatedStorage *int64 `type:"integer"`
21256
21257	// The interval, in seconds, between points when Enhanced Monitoring metrics
21258	// are collected for the read replica. To disable collecting Enhanced Monitoring
21259	// metrics, specify 0. The default is 0.
21260	//
21261	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
21262	// to a value other than 0.
21263	//
21264	// This setting doesn't apply to RDS Custom.
21265	//
21266	// Valid Values: 0, 1, 5, 10, 15, 30, 60
21267	MonitoringInterval *int64 `type:"integer"`
21268
21269	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
21270	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
21271	// For information on creating a monitoring role, go to To create an IAM role
21272	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
21273	// in the Amazon RDS User Guide.
21274	//
21275	// If MonitoringInterval is set to a value other than 0, then you must supply
21276	// a MonitoringRoleArn value.
21277	//
21278	// This setting doesn't apply to RDS Custom.
21279	MonitoringRoleArn *string `type:"string"`
21280
21281	// A value that indicates whether the read replica is in a Multi-AZ deployment.
21282	//
21283	// You can create a read replica as a Multi-AZ DB instance. RDS creates a standby
21284	// of your replica in another Availability Zone for failover support for the
21285	// replica. Creating your read replica as a Multi-AZ DB instance is independent
21286	// of whether the source database is a Multi-AZ DB instance.
21287	//
21288	// This setting doesn't apply to RDS Custom.
21289	MultiAZ *bool `type:"boolean"`
21290
21291	// The option group the DB instance is associated with. If omitted, the option
21292	// group associated with the source instance is used.
21293	//
21294	// For SQL Server, you must use the option group associated with the source
21295	// instance.
21296	//
21297	// This setting doesn't apply to RDS Custom.
21298	OptionGroupName *string `type:"string"`
21299
21300	// The Amazon Web Services KMS key identifier for encryption of Performance
21301	// Insights data.
21302	//
21303	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
21304	// ARN, or alias name for the KMS key.
21305	//
21306	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
21307	// RDS uses your default KMS key. There is a default KMS key for your Amazon
21308	// Web Services account. Your Amazon Web Services account has a different default
21309	// KMS key for each Amazon Web Services Region.
21310	//
21311	// This setting doesn't apply to RDS Custom.
21312	PerformanceInsightsKMSKeyId *string `type:"string"`
21313
21314	// The amount of time, in days, to retain Performance Insights data. Valid values
21315	// are 7 or 731 (2 years).
21316	//
21317	// This setting doesn't apply to RDS Custom.
21318	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
21319
21320	// The port number that the DB instance uses for connections.
21321	//
21322	// Default: Inherits from the source DB instance
21323	//
21324	// Valid Values: 1150-65535
21325	Port *int64 `type:"integer"`
21326
21327	// The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica
21328	// API action in the source Amazon Web Services Region that contains the source
21329	// DB instance.
21330	//
21331	// You must specify this parameter when you create an encrypted read replica
21332	// from another Amazon Web Services Region by using the Amazon RDS API. Don't
21333	// specify PreSignedUrl when you are creating an encrypted read replica in the
21334	// same Amazon Web Services Region.
21335	//
21336	// The presigned URL must be a valid request for the CreateDBInstanceReadReplica
21337	// API action that can be executed in the source Amazon Web Services Region
21338	// that contains the encrypted source DB instance. The presigned URL request
21339	// must contain the following parameter values:
21340	//
21341	//    * DestinationRegion - The Amazon Web Services Region that the encrypted
21342	//    read replica is created in. This Amazon Web Services Region is the same
21343	//    one where the CreateDBInstanceReadReplica action is called that contains
21344	//    this presigned URL. For example, if you create an encrypted DB instance
21345	//    in the us-west-1 Amazon Web Services Region, from a source DB instance
21346	//    in the us-east-2 Amazon Web Services Region, then you call the CreateDBInstanceReadReplica
21347	//    action in the us-east-1 Amazon Web Services Region and provide a presigned
21348	//    URL that contains a call to the CreateDBInstanceReadReplica action in
21349	//    the us-west-2 Amazon Web Services Region. For this example, the DestinationRegion
21350	//    in the presigned URL must be set to the us-east-1 Amazon Web Services
21351	//    Region.
21352	//
21353	//    * KmsKeyId - The Amazon Web Services KMS key identifier for the key to
21354	//    use to encrypt the read replica in the destination Amazon Web Services
21355	//    Region. This is the same identifier for both the CreateDBInstanceReadReplica
21356	//    action that is called in the destination Amazon Web Services Region, and
21357	//    the action contained in the presigned URL.
21358	//
21359	//    * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted
21360	//    DB instance to be replicated. This identifier must be in the Amazon Resource
21361	//    Name (ARN) format for the source Amazon Web Services Region. For example,
21362	//    if you are creating an encrypted read replica from a DB instance in the
21363	//    us-west-2 Amazon Web Services Region, then your SourceDBInstanceIdentifier
21364	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.
21365	//
21366	// To learn how to generate a Signature Version 4 signed request, see Authenticating
21367	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
21368	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
21369	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
21370	//
21371	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
21372	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
21373	// manually. Specifying SourceRegion autogenerates a presigned URL that is a
21374	// valid request for the operation that can be executed in the source Amazon
21375	// Web Services Region.
21376	//
21377	// SourceRegion isn't supported for SQL Server, because SQL Server on Amazon
21378	// RDS doesn't support cross-region read replicas.
21379	//
21380	// This setting doesn't apply to RDS Custom.
21381	PreSignedUrl *string `type:"string"`
21382
21383	// The number of CPU cores and the number of threads per core for the DB instance
21384	// class of the DB instance.
21385	//
21386	// This setting doesn't apply to RDS Custom.
21387	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
21388
21389	// A value that indicates whether the DB instance is publicly accessible.
21390	//
21391	// When the DB instance is publicly accessible, its DNS endpoint resolves to
21392	// the private IP address from within the DB instance's VPC, and to the public
21393	// IP address from outside of the DB instance's VPC. Access to the DB instance
21394	// is ultimately controlled by the security group it uses, and that public access
21395	// is not permitted if the security group assigned to the DB instance doesn't
21396	// permit it.
21397	//
21398	// When the DB instance isn't publicly accessible, it is an internal DB instance
21399	// with a DNS name that resolves to a private IP address.
21400	//
21401	// For more information, see CreateDBInstance.
21402	PubliclyAccessible *bool `type:"boolean"`
21403
21404	// The open mode of the replica database: mounted or read-only.
21405	//
21406	// This parameter is only supported for Oracle DB instances.
21407	//
21408	// Mounted DB replicas are included in Oracle Database Enterprise Edition. The
21409	// main use case for mounted replicas is cross-Region disaster recovery. The
21410	// primary database doesn't use Active Data Guard to transmit information to
21411	// the mounted replica. Because it doesn't accept user connections, a mounted
21412	// replica can't serve a read-only workload.
21413	//
21414	// You can create a combination of mounted and read-only DB replicas for the
21415	// same primary DB instance. For more information, see Working with Oracle Read
21416	// Replicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
21417	// in the Amazon RDS User Guide.
21418	//
21419	// For RDS Custom, you must specify this parameter and set it to mounted. The
21420	// value won't be set by default. After replica creation, you can manage the
21421	// open mode manually.
21422	ReplicaMode *string `type:"string" enum:"ReplicaMode"`
21423
21424	// The identifier of the DB instance that will act as the source for the read
21425	// replica. Each DB instance can have up to five read replicas.
21426	//
21427	// Constraints:
21428	//
21429	//    * Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL,
21430	//    or SQL Server DB instance.
21431	//
21432	//    * Can specify a DB instance that is a MySQL read replica only if the source
21433	//    is running MySQL 5.6 or later.
21434	//
21435	//    * For the limitations of Oracle read replicas, see Read Replica Limitations
21436	//    with Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
21437	//    in the Amazon RDS User Guide.
21438	//
21439	//    * For the limitations of SQL Server read replicas, see Read Replica Limitations
21440	//    with Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.Limitations.html)
21441	//    in the Amazon RDS User Guide.
21442	//
21443	//    * Can specify a PostgreSQL DB instance only if the source is running PostgreSQL
21444	//    9.3.5 or later (9.4.7 and higher for cross-region replication).
21445	//
21446	//    * The specified DB instance must have automatic backups enabled, that
21447	//    is, its backup retention period must be greater than 0.
21448	//
21449	//    * If the source DB instance is in the same Amazon Web Services Region
21450	//    as the read replica, specify a valid DB instance identifier.
21451	//
21452	//    * If the source DB instance is in a different Amazon Web Services Region
21453	//    from the read replica, specify a valid DB instance ARN. For more information,
21454	//    see Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
21455	//    in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS
21456	//    Custom, which don't support cross-Region replicas.
21457	//
21458	// SourceDBInstanceIdentifier is a required field
21459	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
21460
21461	// SourceRegion is the source region where the resource exists. This is not
21462	// sent over the wire and is only used for presigning. This value should always
21463	// have the same region as the source ARN.
21464	SourceRegion *string `type:"string" ignore:"true"`
21465
21466	// Specifies the storage type to be associated with the read replica.
21467	//
21468	// Valid values: standard | gp2 | io1
21469	//
21470	// If you specify io1, you must also include a value for the Iops parameter.
21471	//
21472	// Default: io1 if the Iops parameter is specified, otherwise gp2
21473	StorageType *string `type:"string"`
21474
21475	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
21476	// in the Amazon RDS User Guide.
21477	Tags []*Tag `locationNameList:"Tag" type:"list"`
21478
21479	// A value that indicates whether the DB instance class of the DB instance uses
21480	// its default processor features.
21481	//
21482	// This setting doesn't apply to RDS Custom.
21483	UseDefaultProcessorFeatures *bool `type:"boolean"`
21484
21485	// A list of Amazon EC2 VPC security groups to associate with the read replica.
21486	//
21487	// This setting doesn't apply to RDS Custom.
21488	//
21489	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
21490	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
21491}
21492
21493// String returns the string representation.
21494//
21495// API parameter values that are decorated as "sensitive" in the API will not
21496// be included in the string output. The member name will be present, but the
21497// value will be replaced with "sensitive".
21498func (s CreateDBInstanceReadReplicaInput) String() string {
21499	return awsutil.Prettify(s)
21500}
21501
21502// GoString returns the string representation.
21503//
21504// API parameter values that are decorated as "sensitive" in the API will not
21505// be included in the string output. The member name will be present, but the
21506// value will be replaced with "sensitive".
21507func (s CreateDBInstanceReadReplicaInput) GoString() string {
21508	return s.String()
21509}
21510
21511// Validate inspects the fields of the type to determine if they are valid.
21512func (s *CreateDBInstanceReadReplicaInput) Validate() error {
21513	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceReadReplicaInput"}
21514	if s.DBInstanceIdentifier == nil {
21515		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
21516	}
21517	if s.SourceDBInstanceIdentifier == nil {
21518		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
21519	}
21520
21521	if invalidParams.Len() > 0 {
21522		return invalidParams
21523	}
21524	return nil
21525}
21526
21527// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
21528func (s *CreateDBInstanceReadReplicaInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceReadReplicaInput {
21529	s.AutoMinorVersionUpgrade = &v
21530	return s
21531}
21532
21533// SetAvailabilityZone sets the AvailabilityZone field's value.
21534func (s *CreateDBInstanceReadReplicaInput) SetAvailabilityZone(v string) *CreateDBInstanceReadReplicaInput {
21535	s.AvailabilityZone = &v
21536	return s
21537}
21538
21539// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
21540func (s *CreateDBInstanceReadReplicaInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceReadReplicaInput {
21541	s.CopyTagsToSnapshot = &v
21542	return s
21543}
21544
21545// SetCustomIamInstanceProfile sets the CustomIamInstanceProfile field's value.
21546func (s *CreateDBInstanceReadReplicaInput) SetCustomIamInstanceProfile(v string) *CreateDBInstanceReadReplicaInput {
21547	s.CustomIamInstanceProfile = &v
21548	return s
21549}
21550
21551// SetDBInstanceClass sets the DBInstanceClass field's value.
21552func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceClass(v string) *CreateDBInstanceReadReplicaInput {
21553	s.DBInstanceClass = &v
21554	return s
21555}
21556
21557// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
21558func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
21559	s.DBInstanceIdentifier = &v
21560	return s
21561}
21562
21563// SetDBParameterGroupName sets the DBParameterGroupName field's value.
21564func (s *CreateDBInstanceReadReplicaInput) SetDBParameterGroupName(v string) *CreateDBInstanceReadReplicaInput {
21565	s.DBParameterGroupName = &v
21566	return s
21567}
21568
21569// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
21570func (s *CreateDBInstanceReadReplicaInput) SetDBSubnetGroupName(v string) *CreateDBInstanceReadReplicaInput {
21571	s.DBSubnetGroupName = &v
21572	return s
21573}
21574
21575// SetDeletionProtection sets the DeletionProtection field's value.
21576func (s *CreateDBInstanceReadReplicaInput) SetDeletionProtection(v bool) *CreateDBInstanceReadReplicaInput {
21577	s.DeletionProtection = &v
21578	return s
21579}
21580
21581// SetDestinationRegion sets the DestinationRegion field's value.
21582func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *CreateDBInstanceReadReplicaInput {
21583	s.DestinationRegion = &v
21584	return s
21585}
21586
21587// SetDomain sets the Domain field's value.
21588func (s *CreateDBInstanceReadReplicaInput) SetDomain(v string) *CreateDBInstanceReadReplicaInput {
21589	s.Domain = &v
21590	return s
21591}
21592
21593// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
21594func (s *CreateDBInstanceReadReplicaInput) SetDomainIAMRoleName(v string) *CreateDBInstanceReadReplicaInput {
21595	s.DomainIAMRoleName = &v
21596	return s
21597}
21598
21599// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
21600func (s *CreateDBInstanceReadReplicaInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceReadReplicaInput {
21601	s.EnableCloudwatchLogsExports = v
21602	return s
21603}
21604
21605// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
21606func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput {
21607	s.EnableIAMDatabaseAuthentication = &v
21608	return s
21609}
21610
21611// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
21612func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput {
21613	s.EnablePerformanceInsights = &v
21614	return s
21615}
21616
21617// SetIops sets the Iops field's value.
21618func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput {
21619	s.Iops = &v
21620	return s
21621}
21622
21623// SetKmsKeyId sets the KmsKeyId field's value.
21624func (s *CreateDBInstanceReadReplicaInput) SetKmsKeyId(v string) *CreateDBInstanceReadReplicaInput {
21625	s.KmsKeyId = &v
21626	return s
21627}
21628
21629// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
21630func (s *CreateDBInstanceReadReplicaInput) SetMaxAllocatedStorage(v int64) *CreateDBInstanceReadReplicaInput {
21631	s.MaxAllocatedStorage = &v
21632	return s
21633}
21634
21635// SetMonitoringInterval sets the MonitoringInterval field's value.
21636func (s *CreateDBInstanceReadReplicaInput) SetMonitoringInterval(v int64) *CreateDBInstanceReadReplicaInput {
21637	s.MonitoringInterval = &v
21638	return s
21639}
21640
21641// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
21642func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *CreateDBInstanceReadReplicaInput {
21643	s.MonitoringRoleArn = &v
21644	return s
21645}
21646
21647// SetMultiAZ sets the MultiAZ field's value.
21648func (s *CreateDBInstanceReadReplicaInput) SetMultiAZ(v bool) *CreateDBInstanceReadReplicaInput {
21649	s.MultiAZ = &v
21650	return s
21651}
21652
21653// SetOptionGroupName sets the OptionGroupName field's value.
21654func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput {
21655	s.OptionGroupName = &v
21656	return s
21657}
21658
21659// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
21660func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput {
21661	s.PerformanceInsightsKMSKeyId = &v
21662	return s
21663}
21664
21665// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
21666func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceReadReplicaInput {
21667	s.PerformanceInsightsRetentionPeriod = &v
21668	return s
21669}
21670
21671// SetPort sets the Port field's value.
21672func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput {
21673	s.Port = &v
21674	return s
21675}
21676
21677// SetPreSignedUrl sets the PreSignedUrl field's value.
21678func (s *CreateDBInstanceReadReplicaInput) SetPreSignedUrl(v string) *CreateDBInstanceReadReplicaInput {
21679	s.PreSignedUrl = &v
21680	return s
21681}
21682
21683// SetProcessorFeatures sets the ProcessorFeatures field's value.
21684func (s *CreateDBInstanceReadReplicaInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceReadReplicaInput {
21685	s.ProcessorFeatures = v
21686	return s
21687}
21688
21689// SetPubliclyAccessible sets the PubliclyAccessible field's value.
21690func (s *CreateDBInstanceReadReplicaInput) SetPubliclyAccessible(v bool) *CreateDBInstanceReadReplicaInput {
21691	s.PubliclyAccessible = &v
21692	return s
21693}
21694
21695// SetReplicaMode sets the ReplicaMode field's value.
21696func (s *CreateDBInstanceReadReplicaInput) SetReplicaMode(v string) *CreateDBInstanceReadReplicaInput {
21697	s.ReplicaMode = &v
21698	return s
21699}
21700
21701// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
21702func (s *CreateDBInstanceReadReplicaInput) SetSourceDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
21703	s.SourceDBInstanceIdentifier = &v
21704	return s
21705}
21706
21707// SetSourceRegion sets the SourceRegion field's value.
21708func (s *CreateDBInstanceReadReplicaInput) SetSourceRegion(v string) *CreateDBInstanceReadReplicaInput {
21709	s.SourceRegion = &v
21710	return s
21711}
21712
21713// SetStorageType sets the StorageType field's value.
21714func (s *CreateDBInstanceReadReplicaInput) SetStorageType(v string) *CreateDBInstanceReadReplicaInput {
21715	s.StorageType = &v
21716	return s
21717}
21718
21719// SetTags sets the Tags field's value.
21720func (s *CreateDBInstanceReadReplicaInput) SetTags(v []*Tag) *CreateDBInstanceReadReplicaInput {
21721	s.Tags = v
21722	return s
21723}
21724
21725// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
21726func (s *CreateDBInstanceReadReplicaInput) SetUseDefaultProcessorFeatures(v bool) *CreateDBInstanceReadReplicaInput {
21727	s.UseDefaultProcessorFeatures = &v
21728	return s
21729}
21730
21731// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
21732func (s *CreateDBInstanceReadReplicaInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceReadReplicaInput {
21733	s.VpcSecurityGroupIds = v
21734	return s
21735}
21736
21737type CreateDBInstanceReadReplicaOutput struct {
21738	_ struct{} `type:"structure"`
21739
21740	// Contains the details of an Amazon RDS DB instance.
21741	//
21742	// This data type is used as a response element in the DescribeDBInstances action.
21743	DBInstance *DBInstance `type:"structure"`
21744}
21745
21746// String returns the string representation.
21747//
21748// API parameter values that are decorated as "sensitive" in the API will not
21749// be included in the string output. The member name will be present, but the
21750// value will be replaced with "sensitive".
21751func (s CreateDBInstanceReadReplicaOutput) String() string {
21752	return awsutil.Prettify(s)
21753}
21754
21755// GoString returns the string representation.
21756//
21757// API parameter values that are decorated as "sensitive" in the API will not
21758// be included in the string output. The member name will be present, but the
21759// value will be replaced with "sensitive".
21760func (s CreateDBInstanceReadReplicaOutput) GoString() string {
21761	return s.String()
21762}
21763
21764// SetDBInstance sets the DBInstance field's value.
21765func (s *CreateDBInstanceReadReplicaOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceReadReplicaOutput {
21766	s.DBInstance = v
21767	return s
21768}
21769
21770type CreateDBParameterGroupInput struct {
21771	_ struct{} `type:"structure"`
21772
21773	// The DB parameter group family name. A DB parameter group can be associated
21774	// with one and only one DB parameter group family, and can be applied only
21775	// to a DB instance running a database engine and engine version compatible
21776	// with that DB parameter group family.
21777	//
21778	// To list all of the available parameter group families for a DB engine, use
21779	// the following command:
21780	//
21781	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
21782	// --engine <engine>
21783	//
21784	// For example, to list all of the available parameter group families for the
21785	// MySQL DB engine, use the following command:
21786	//
21787	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
21788	// --engine mysql
21789	//
21790	// The output contains duplicates.
21791	//
21792	// The following are the valid DB engine values:
21793	//
21794	//    * aurora (for MySQL 5.6-compatible Aurora)
21795	//
21796	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
21797	//
21798	//    * aurora-postgresql
21799	//
21800	//    * mariadb
21801	//
21802	//    * mysql
21803	//
21804	//    * oracle-ee
21805	//
21806	//    * oracle-ee-cdb
21807	//
21808	//    * oracle-se2
21809	//
21810	//    * oracle-se2-cdb
21811	//
21812	//    * postgres
21813	//
21814	//    * sqlserver-ee
21815	//
21816	//    * sqlserver-se
21817	//
21818	//    * sqlserver-ex
21819	//
21820	//    * sqlserver-web
21821	//
21822	// DBParameterGroupFamily is a required field
21823	DBParameterGroupFamily *string `type:"string" required:"true"`
21824
21825	// The name of the DB parameter group.
21826	//
21827	// Constraints:
21828	//
21829	//    * Must be 1 to 255 letters, numbers, or hyphens.
21830	//
21831	//    * First character must be a letter
21832	//
21833	//    * Can't end with a hyphen or contain two consecutive hyphens
21834	//
21835	// This value is stored as a lowercase string.
21836	//
21837	// DBParameterGroupName is a required field
21838	DBParameterGroupName *string `type:"string" required:"true"`
21839
21840	// The description for the DB parameter group.
21841	//
21842	// Description is a required field
21843	Description *string `type:"string" required:"true"`
21844
21845	// Tags to assign to the DB parameter group.
21846	Tags []*Tag `locationNameList:"Tag" type:"list"`
21847}
21848
21849// String returns the string representation.
21850//
21851// API parameter values that are decorated as "sensitive" in the API will not
21852// be included in the string output. The member name will be present, but the
21853// value will be replaced with "sensitive".
21854func (s CreateDBParameterGroupInput) String() string {
21855	return awsutil.Prettify(s)
21856}
21857
21858// GoString returns the string representation.
21859//
21860// API parameter values that are decorated as "sensitive" in the API will not
21861// be included in the string output. The member name will be present, but the
21862// value will be replaced with "sensitive".
21863func (s CreateDBParameterGroupInput) GoString() string {
21864	return s.String()
21865}
21866
21867// Validate inspects the fields of the type to determine if they are valid.
21868func (s *CreateDBParameterGroupInput) Validate() error {
21869	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
21870	if s.DBParameterGroupFamily == nil {
21871		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
21872	}
21873	if s.DBParameterGroupName == nil {
21874		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
21875	}
21876	if s.Description == nil {
21877		invalidParams.Add(request.NewErrParamRequired("Description"))
21878	}
21879
21880	if invalidParams.Len() > 0 {
21881		return invalidParams
21882	}
21883	return nil
21884}
21885
21886// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
21887func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
21888	s.DBParameterGroupFamily = &v
21889	return s
21890}
21891
21892// SetDBParameterGroupName sets the DBParameterGroupName field's value.
21893func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
21894	s.DBParameterGroupName = &v
21895	return s
21896}
21897
21898// SetDescription sets the Description field's value.
21899func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
21900	s.Description = &v
21901	return s
21902}
21903
21904// SetTags sets the Tags field's value.
21905func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
21906	s.Tags = v
21907	return s
21908}
21909
21910type CreateDBParameterGroupOutput struct {
21911	_ struct{} `type:"structure"`
21912
21913	// Contains the details of an Amazon RDS DB parameter group.
21914	//
21915	// This data type is used as a response element in the DescribeDBParameterGroups
21916	// action.
21917	DBParameterGroup *DBParameterGroup `type:"structure"`
21918}
21919
21920// String returns the string representation.
21921//
21922// API parameter values that are decorated as "sensitive" in the API will not
21923// be included in the string output. The member name will be present, but the
21924// value will be replaced with "sensitive".
21925func (s CreateDBParameterGroupOutput) String() string {
21926	return awsutil.Prettify(s)
21927}
21928
21929// GoString returns the string representation.
21930//
21931// API parameter values that are decorated as "sensitive" in the API will not
21932// be included in the string output. The member name will be present, but the
21933// value will be replaced with "sensitive".
21934func (s CreateDBParameterGroupOutput) GoString() string {
21935	return s.String()
21936}
21937
21938// SetDBParameterGroup sets the DBParameterGroup field's value.
21939func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
21940	s.DBParameterGroup = v
21941	return s
21942}
21943
21944type CreateDBProxyEndpointInput struct {
21945	_ struct{} `type:"structure"`
21946
21947	// The name of the DB proxy endpoint to create.
21948	//
21949	// DBProxyEndpointName is a required field
21950	DBProxyEndpointName *string `min:"1" type:"string" required:"true"`
21951
21952	// The name of the DB proxy associated with the DB proxy endpoint that you create.
21953	//
21954	// DBProxyName is a required field
21955	DBProxyName *string `min:"1" type:"string" required:"true"`
21956
21957	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
21958	// in the Amazon RDS User Guide.
21959	Tags []*Tag `locationNameList:"Tag" type:"list"`
21960
21961	// A value that indicates whether the DB proxy endpoint can be used for read/write
21962	// or read-only operations. The default is READ_WRITE.
21963	TargetRole *string `type:"string" enum:"DBProxyEndpointTargetRole"`
21964
21965	// The VPC security group IDs for the DB proxy endpoint that you create. You
21966	// can specify a different set of security group IDs than for the original DB
21967	// proxy. The default is the default security group for the VPC.
21968	VpcSecurityGroupIds []*string `type:"list"`
21969
21970	// The VPC subnet IDs for the DB proxy endpoint that you create. You can specify
21971	// a different set of subnet IDs than for the original DB proxy.
21972	//
21973	// VpcSubnetIds is a required field
21974	VpcSubnetIds []*string `type:"list" required:"true"`
21975}
21976
21977// String returns the string representation.
21978//
21979// API parameter values that are decorated as "sensitive" in the API will not
21980// be included in the string output. The member name will be present, but the
21981// value will be replaced with "sensitive".
21982func (s CreateDBProxyEndpointInput) String() string {
21983	return awsutil.Prettify(s)
21984}
21985
21986// GoString returns the string representation.
21987//
21988// API parameter values that are decorated as "sensitive" in the API will not
21989// be included in the string output. The member name will be present, but the
21990// value will be replaced with "sensitive".
21991func (s CreateDBProxyEndpointInput) GoString() string {
21992	return s.String()
21993}
21994
21995// Validate inspects the fields of the type to determine if they are valid.
21996func (s *CreateDBProxyEndpointInput) Validate() error {
21997	invalidParams := request.ErrInvalidParams{Context: "CreateDBProxyEndpointInput"}
21998	if s.DBProxyEndpointName == nil {
21999		invalidParams.Add(request.NewErrParamRequired("DBProxyEndpointName"))
22000	}
22001	if s.DBProxyEndpointName != nil && len(*s.DBProxyEndpointName) < 1 {
22002		invalidParams.Add(request.NewErrParamMinLen("DBProxyEndpointName", 1))
22003	}
22004	if s.DBProxyName == nil {
22005		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
22006	}
22007	if s.DBProxyName != nil && len(*s.DBProxyName) < 1 {
22008		invalidParams.Add(request.NewErrParamMinLen("DBProxyName", 1))
22009	}
22010	if s.VpcSubnetIds == nil {
22011		invalidParams.Add(request.NewErrParamRequired("VpcSubnetIds"))
22012	}
22013
22014	if invalidParams.Len() > 0 {
22015		return invalidParams
22016	}
22017	return nil
22018}
22019
22020// SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
22021func (s *CreateDBProxyEndpointInput) SetDBProxyEndpointName(v string) *CreateDBProxyEndpointInput {
22022	s.DBProxyEndpointName = &v
22023	return s
22024}
22025
22026// SetDBProxyName sets the DBProxyName field's value.
22027func (s *CreateDBProxyEndpointInput) SetDBProxyName(v string) *CreateDBProxyEndpointInput {
22028	s.DBProxyName = &v
22029	return s
22030}
22031
22032// SetTags sets the Tags field's value.
22033func (s *CreateDBProxyEndpointInput) SetTags(v []*Tag) *CreateDBProxyEndpointInput {
22034	s.Tags = v
22035	return s
22036}
22037
22038// SetTargetRole sets the TargetRole field's value.
22039func (s *CreateDBProxyEndpointInput) SetTargetRole(v string) *CreateDBProxyEndpointInput {
22040	s.TargetRole = &v
22041	return s
22042}
22043
22044// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
22045func (s *CreateDBProxyEndpointInput) SetVpcSecurityGroupIds(v []*string) *CreateDBProxyEndpointInput {
22046	s.VpcSecurityGroupIds = v
22047	return s
22048}
22049
22050// SetVpcSubnetIds sets the VpcSubnetIds field's value.
22051func (s *CreateDBProxyEndpointInput) SetVpcSubnetIds(v []*string) *CreateDBProxyEndpointInput {
22052	s.VpcSubnetIds = v
22053	return s
22054}
22055
22056type CreateDBProxyEndpointOutput struct {
22057	_ struct{} `type:"structure"`
22058
22059	// The DBProxyEndpoint object that is created by the API operation. The DB proxy
22060	// endpoint that you create might provide capabilities such as read/write or
22061	// read-only operations, or using a different VPC than the proxy's default VPC.
22062	DBProxyEndpoint *DBProxyEndpoint `type:"structure"`
22063}
22064
22065// String returns the string representation.
22066//
22067// API parameter values that are decorated as "sensitive" in the API will not
22068// be included in the string output. The member name will be present, but the
22069// value will be replaced with "sensitive".
22070func (s CreateDBProxyEndpointOutput) String() string {
22071	return awsutil.Prettify(s)
22072}
22073
22074// GoString returns the string representation.
22075//
22076// API parameter values that are decorated as "sensitive" in the API will not
22077// be included in the string output. The member name will be present, but the
22078// value will be replaced with "sensitive".
22079func (s CreateDBProxyEndpointOutput) GoString() string {
22080	return s.String()
22081}
22082
22083// SetDBProxyEndpoint sets the DBProxyEndpoint field's value.
22084func (s *CreateDBProxyEndpointOutput) SetDBProxyEndpoint(v *DBProxyEndpoint) *CreateDBProxyEndpointOutput {
22085	s.DBProxyEndpoint = v
22086	return s
22087}
22088
22089type CreateDBProxyInput struct {
22090	_ struct{} `type:"structure"`
22091
22092	// The authorization mechanism that the proxy uses.
22093	//
22094	// Auth is a required field
22095	Auth []*UserAuthConfig `type:"list" required:"true"`
22096
22097	// The identifier for the proxy. This name must be unique for all proxies owned
22098	// by your Amazon Web Services account in the specified Amazon Web Services
22099	// Region. An identifier must begin with a letter and must contain only ASCII
22100	// letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive
22101	// hyphens.
22102	//
22103	// DBProxyName is a required field
22104	DBProxyName *string `type:"string" required:"true"`
22105
22106	// Whether the proxy includes detailed information about SQL statements in its
22107	// logs. This information helps you to debug issues involving SQL behavior or
22108	// the performance and scalability of the proxy connections. The debug information
22109	// includes the text of SQL statements that you submit through the proxy. Thus,
22110	// only enable this setting when needed for debugging, and only when you have
22111	// security measures in place to safeguard any sensitive information that appears
22112	// in the logs.
22113	DebugLogging *bool `type:"boolean"`
22114
22115	// The kinds of databases that the proxy can connect to. This value determines
22116	// which database network protocol the proxy recognizes when it interprets network
22117	// traffic to and from the database. The engine family applies to MySQL and
22118	// PostgreSQL for both RDS and Aurora.
22119	//
22120	// EngineFamily is a required field
22121	EngineFamily *string `type:"string" required:"true" enum:"EngineFamily"`
22122
22123	// The number of seconds that a connection to the proxy can be inactive before
22124	// the proxy disconnects it. You can set this value higher or lower than the
22125	// connection timeout limit for the associated database.
22126	IdleClientTimeout *int64 `type:"integer"`
22127
22128	// A Boolean parameter that specifies whether Transport Layer Security (TLS)
22129	// encryption is required for connections to the proxy. By enabling this setting,
22130	// you can enforce encrypted TLS connections to the proxy.
22131	RequireTLS *bool `type:"boolean"`
22132
22133	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
22134	// secrets in Amazon Web Services Secrets Manager.
22135	//
22136	// RoleArn is a required field
22137	RoleArn *string `type:"string" required:"true"`
22138
22139	// An optional set of key-value pairs to associate arbitrary data of your choosing
22140	// with the proxy.
22141	Tags []*Tag `locationNameList:"Tag" type:"list"`
22142
22143	// One or more VPC security group IDs to associate with the new proxy.
22144	VpcSecurityGroupIds []*string `type:"list"`
22145
22146	// One or more VPC subnet IDs to associate with the new proxy.
22147	//
22148	// VpcSubnetIds is a required field
22149	VpcSubnetIds []*string `type:"list" required:"true"`
22150}
22151
22152// String returns the string representation.
22153//
22154// API parameter values that are decorated as "sensitive" in the API will not
22155// be included in the string output. The member name will be present, but the
22156// value will be replaced with "sensitive".
22157func (s CreateDBProxyInput) String() string {
22158	return awsutil.Prettify(s)
22159}
22160
22161// GoString returns the string representation.
22162//
22163// API parameter values that are decorated as "sensitive" in the API will not
22164// be included in the string output. The member name will be present, but the
22165// value will be replaced with "sensitive".
22166func (s CreateDBProxyInput) GoString() string {
22167	return s.String()
22168}
22169
22170// Validate inspects the fields of the type to determine if they are valid.
22171func (s *CreateDBProxyInput) Validate() error {
22172	invalidParams := request.ErrInvalidParams{Context: "CreateDBProxyInput"}
22173	if s.Auth == nil {
22174		invalidParams.Add(request.NewErrParamRequired("Auth"))
22175	}
22176	if s.DBProxyName == nil {
22177		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
22178	}
22179	if s.EngineFamily == nil {
22180		invalidParams.Add(request.NewErrParamRequired("EngineFamily"))
22181	}
22182	if s.RoleArn == nil {
22183		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
22184	}
22185	if s.VpcSubnetIds == nil {
22186		invalidParams.Add(request.NewErrParamRequired("VpcSubnetIds"))
22187	}
22188
22189	if invalidParams.Len() > 0 {
22190		return invalidParams
22191	}
22192	return nil
22193}
22194
22195// SetAuth sets the Auth field's value.
22196func (s *CreateDBProxyInput) SetAuth(v []*UserAuthConfig) *CreateDBProxyInput {
22197	s.Auth = v
22198	return s
22199}
22200
22201// SetDBProxyName sets the DBProxyName field's value.
22202func (s *CreateDBProxyInput) SetDBProxyName(v string) *CreateDBProxyInput {
22203	s.DBProxyName = &v
22204	return s
22205}
22206
22207// SetDebugLogging sets the DebugLogging field's value.
22208func (s *CreateDBProxyInput) SetDebugLogging(v bool) *CreateDBProxyInput {
22209	s.DebugLogging = &v
22210	return s
22211}
22212
22213// SetEngineFamily sets the EngineFamily field's value.
22214func (s *CreateDBProxyInput) SetEngineFamily(v string) *CreateDBProxyInput {
22215	s.EngineFamily = &v
22216	return s
22217}
22218
22219// SetIdleClientTimeout sets the IdleClientTimeout field's value.
22220func (s *CreateDBProxyInput) SetIdleClientTimeout(v int64) *CreateDBProxyInput {
22221	s.IdleClientTimeout = &v
22222	return s
22223}
22224
22225// SetRequireTLS sets the RequireTLS field's value.
22226func (s *CreateDBProxyInput) SetRequireTLS(v bool) *CreateDBProxyInput {
22227	s.RequireTLS = &v
22228	return s
22229}
22230
22231// SetRoleArn sets the RoleArn field's value.
22232func (s *CreateDBProxyInput) SetRoleArn(v string) *CreateDBProxyInput {
22233	s.RoleArn = &v
22234	return s
22235}
22236
22237// SetTags sets the Tags field's value.
22238func (s *CreateDBProxyInput) SetTags(v []*Tag) *CreateDBProxyInput {
22239	s.Tags = v
22240	return s
22241}
22242
22243// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
22244func (s *CreateDBProxyInput) SetVpcSecurityGroupIds(v []*string) *CreateDBProxyInput {
22245	s.VpcSecurityGroupIds = v
22246	return s
22247}
22248
22249// SetVpcSubnetIds sets the VpcSubnetIds field's value.
22250func (s *CreateDBProxyInput) SetVpcSubnetIds(v []*string) *CreateDBProxyInput {
22251	s.VpcSubnetIds = v
22252	return s
22253}
22254
22255type CreateDBProxyOutput struct {
22256	_ struct{} `type:"structure"`
22257
22258	// The DBProxy structure corresponding to the new proxy.
22259	DBProxy *DBProxy `type:"structure"`
22260}
22261
22262// String returns the string representation.
22263//
22264// API parameter values that are decorated as "sensitive" in the API will not
22265// be included in the string output. The member name will be present, but the
22266// value will be replaced with "sensitive".
22267func (s CreateDBProxyOutput) String() string {
22268	return awsutil.Prettify(s)
22269}
22270
22271// GoString returns the string representation.
22272//
22273// API parameter values that are decorated as "sensitive" in the API will not
22274// be included in the string output. The member name will be present, but the
22275// value will be replaced with "sensitive".
22276func (s CreateDBProxyOutput) GoString() string {
22277	return s.String()
22278}
22279
22280// SetDBProxy sets the DBProxy field's value.
22281func (s *CreateDBProxyOutput) SetDBProxy(v *DBProxy) *CreateDBProxyOutput {
22282	s.DBProxy = v
22283	return s
22284}
22285
22286type CreateDBSecurityGroupInput struct {
22287	_ struct{} `type:"structure"`
22288
22289	// The description for the DB security group.
22290	//
22291	// DBSecurityGroupDescription is a required field
22292	DBSecurityGroupDescription *string `type:"string" required:"true"`
22293
22294	// The name for the DB security group. This value is stored as a lowercase string.
22295	//
22296	// Constraints:
22297	//
22298	//    * Must be 1 to 255 letters, numbers, or hyphens.
22299	//
22300	//    * First character must be a letter
22301	//
22302	//    * Can't end with a hyphen or contain two consecutive hyphens
22303	//
22304	//    * Must not be "Default"
22305	//
22306	// Example: mysecuritygroup
22307	//
22308	// DBSecurityGroupName is a required field
22309	DBSecurityGroupName *string `type:"string" required:"true"`
22310
22311	// Tags to assign to the DB security group.
22312	Tags []*Tag `locationNameList:"Tag" type:"list"`
22313}
22314
22315// String returns the string representation.
22316//
22317// API parameter values that are decorated as "sensitive" in the API will not
22318// be included in the string output. The member name will be present, but the
22319// value will be replaced with "sensitive".
22320func (s CreateDBSecurityGroupInput) String() string {
22321	return awsutil.Prettify(s)
22322}
22323
22324// GoString returns the string representation.
22325//
22326// API parameter values that are decorated as "sensitive" in the API will not
22327// be included in the string output. The member name will be present, but the
22328// value will be replaced with "sensitive".
22329func (s CreateDBSecurityGroupInput) GoString() string {
22330	return s.String()
22331}
22332
22333// Validate inspects the fields of the type to determine if they are valid.
22334func (s *CreateDBSecurityGroupInput) Validate() error {
22335	invalidParams := request.ErrInvalidParams{Context: "CreateDBSecurityGroupInput"}
22336	if s.DBSecurityGroupDescription == nil {
22337		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupDescription"))
22338	}
22339	if s.DBSecurityGroupName == nil {
22340		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
22341	}
22342
22343	if invalidParams.Len() > 0 {
22344		return invalidParams
22345	}
22346	return nil
22347}
22348
22349// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
22350func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupDescription(v string) *CreateDBSecurityGroupInput {
22351	s.DBSecurityGroupDescription = &v
22352	return s
22353}
22354
22355// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
22356func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupName(v string) *CreateDBSecurityGroupInput {
22357	s.DBSecurityGroupName = &v
22358	return s
22359}
22360
22361// SetTags sets the Tags field's value.
22362func (s *CreateDBSecurityGroupInput) SetTags(v []*Tag) *CreateDBSecurityGroupInput {
22363	s.Tags = v
22364	return s
22365}
22366
22367type CreateDBSecurityGroupOutput struct {
22368	_ struct{} `type:"structure"`
22369
22370	// Contains the details for an Amazon RDS DB security group.
22371	//
22372	// This data type is used as a response element in the DescribeDBSecurityGroups
22373	// action.
22374	DBSecurityGroup *DBSecurityGroup `type:"structure"`
22375}
22376
22377// String returns the string representation.
22378//
22379// API parameter values that are decorated as "sensitive" in the API will not
22380// be included in the string output. The member name will be present, but the
22381// value will be replaced with "sensitive".
22382func (s CreateDBSecurityGroupOutput) String() string {
22383	return awsutil.Prettify(s)
22384}
22385
22386// GoString returns the string representation.
22387//
22388// API parameter values that are decorated as "sensitive" in the API will not
22389// be included in the string output. The member name will be present, but the
22390// value will be replaced with "sensitive".
22391func (s CreateDBSecurityGroupOutput) GoString() string {
22392	return s.String()
22393}
22394
22395// SetDBSecurityGroup sets the DBSecurityGroup field's value.
22396func (s *CreateDBSecurityGroupOutput) SetDBSecurityGroup(v *DBSecurityGroup) *CreateDBSecurityGroupOutput {
22397	s.DBSecurityGroup = v
22398	return s
22399}
22400
22401type CreateDBSnapshotInput struct {
22402	_ struct{} `type:"structure"`
22403
22404	// The identifier of the DB instance that you want to create the snapshot of.
22405	//
22406	// Constraints:
22407	//
22408	//    * Must match the identifier of an existing DBInstance.
22409	//
22410	// DBInstanceIdentifier is a required field
22411	DBInstanceIdentifier *string `type:"string" required:"true"`
22412
22413	// The identifier for the DB snapshot.
22414	//
22415	// Constraints:
22416	//
22417	//    * Can't be null, empty, or blank
22418	//
22419	//    * Must contain from 1 to 255 letters, numbers, or hyphens
22420	//
22421	//    * First character must be a letter
22422	//
22423	//    * Can't end with a hyphen or contain two consecutive hyphens
22424	//
22425	// Example: my-snapshot-id
22426	//
22427	// DBSnapshotIdentifier is a required field
22428	DBSnapshotIdentifier *string `type:"string" required:"true"`
22429
22430	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
22431	// in the Amazon RDS User Guide.
22432	Tags []*Tag `locationNameList:"Tag" type:"list"`
22433}
22434
22435// String returns the string representation.
22436//
22437// API parameter values that are decorated as "sensitive" in the API will not
22438// be included in the string output. The member name will be present, but the
22439// value will be replaced with "sensitive".
22440func (s CreateDBSnapshotInput) String() string {
22441	return awsutil.Prettify(s)
22442}
22443
22444// GoString returns the string representation.
22445//
22446// API parameter values that are decorated as "sensitive" in the API will not
22447// be included in the string output. The member name will be present, but the
22448// value will be replaced with "sensitive".
22449func (s CreateDBSnapshotInput) GoString() string {
22450	return s.String()
22451}
22452
22453// Validate inspects the fields of the type to determine if they are valid.
22454func (s *CreateDBSnapshotInput) Validate() error {
22455	invalidParams := request.ErrInvalidParams{Context: "CreateDBSnapshotInput"}
22456	if s.DBInstanceIdentifier == nil {
22457		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
22458	}
22459	if s.DBSnapshotIdentifier == nil {
22460		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
22461	}
22462
22463	if invalidParams.Len() > 0 {
22464		return invalidParams
22465	}
22466	return nil
22467}
22468
22469// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
22470func (s *CreateDBSnapshotInput) SetDBInstanceIdentifier(v string) *CreateDBSnapshotInput {
22471	s.DBInstanceIdentifier = &v
22472	return s
22473}
22474
22475// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
22476func (s *CreateDBSnapshotInput) SetDBSnapshotIdentifier(v string) *CreateDBSnapshotInput {
22477	s.DBSnapshotIdentifier = &v
22478	return s
22479}
22480
22481// SetTags sets the Tags field's value.
22482func (s *CreateDBSnapshotInput) SetTags(v []*Tag) *CreateDBSnapshotInput {
22483	s.Tags = v
22484	return s
22485}
22486
22487type CreateDBSnapshotOutput struct {
22488	_ struct{} `type:"structure"`
22489
22490	// Contains the details of an Amazon RDS DB snapshot.
22491	//
22492	// This data type is used as a response element in the DescribeDBSnapshots action.
22493	DBSnapshot *DBSnapshot `type:"structure"`
22494}
22495
22496// String returns the string representation.
22497//
22498// API parameter values that are decorated as "sensitive" in the API will not
22499// be included in the string output. The member name will be present, but the
22500// value will be replaced with "sensitive".
22501func (s CreateDBSnapshotOutput) String() string {
22502	return awsutil.Prettify(s)
22503}
22504
22505// GoString returns the string representation.
22506//
22507// API parameter values that are decorated as "sensitive" in the API will not
22508// be included in the string output. The member name will be present, but the
22509// value will be replaced with "sensitive".
22510func (s CreateDBSnapshotOutput) GoString() string {
22511	return s.String()
22512}
22513
22514// SetDBSnapshot sets the DBSnapshot field's value.
22515func (s *CreateDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CreateDBSnapshotOutput {
22516	s.DBSnapshot = v
22517	return s
22518}
22519
22520type CreateDBSubnetGroupInput struct {
22521	_ struct{} `type:"structure"`
22522
22523	// The description for the DB subnet group.
22524	//
22525	// DBSubnetGroupDescription is a required field
22526	DBSubnetGroupDescription *string `type:"string" required:"true"`
22527
22528	// The name for the DB subnet group. This value is stored as a lowercase string.
22529	//
22530	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
22531	// spaces, or hyphens. Must not be default.
22532	//
22533	// Example: mySubnetgroup
22534	//
22535	// DBSubnetGroupName is a required field
22536	DBSubnetGroupName *string `type:"string" required:"true"`
22537
22538	// The EC2 Subnet IDs for the DB subnet group.
22539	//
22540	// SubnetIds is a required field
22541	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
22542
22543	// Tags to assign to the DB subnet group.
22544	Tags []*Tag `locationNameList:"Tag" type:"list"`
22545}
22546
22547// String returns the string representation.
22548//
22549// API parameter values that are decorated as "sensitive" in the API will not
22550// be included in the string output. The member name will be present, but the
22551// value will be replaced with "sensitive".
22552func (s CreateDBSubnetGroupInput) String() string {
22553	return awsutil.Prettify(s)
22554}
22555
22556// GoString returns the string representation.
22557//
22558// API parameter values that are decorated as "sensitive" in the API will not
22559// be included in the string output. The member name will be present, but the
22560// value will be replaced with "sensitive".
22561func (s CreateDBSubnetGroupInput) GoString() string {
22562	return s.String()
22563}
22564
22565// Validate inspects the fields of the type to determine if they are valid.
22566func (s *CreateDBSubnetGroupInput) Validate() error {
22567	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
22568	if s.DBSubnetGroupDescription == nil {
22569		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
22570	}
22571	if s.DBSubnetGroupName == nil {
22572		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
22573	}
22574	if s.SubnetIds == nil {
22575		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
22576	}
22577
22578	if invalidParams.Len() > 0 {
22579		return invalidParams
22580	}
22581	return nil
22582}
22583
22584// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
22585func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
22586	s.DBSubnetGroupDescription = &v
22587	return s
22588}
22589
22590// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
22591func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
22592	s.DBSubnetGroupName = &v
22593	return s
22594}
22595
22596// SetSubnetIds sets the SubnetIds field's value.
22597func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
22598	s.SubnetIds = v
22599	return s
22600}
22601
22602// SetTags sets the Tags field's value.
22603func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
22604	s.Tags = v
22605	return s
22606}
22607
22608type CreateDBSubnetGroupOutput struct {
22609	_ struct{} `type:"structure"`
22610
22611	// Contains the details of an Amazon RDS DB subnet group.
22612	//
22613	// This data type is used as a response element in the DescribeDBSubnetGroups
22614	// action.
22615	DBSubnetGroup *DBSubnetGroup `type:"structure"`
22616}
22617
22618// String returns the string representation.
22619//
22620// API parameter values that are decorated as "sensitive" in the API will not
22621// be included in the string output. The member name will be present, but the
22622// value will be replaced with "sensitive".
22623func (s CreateDBSubnetGroupOutput) String() string {
22624	return awsutil.Prettify(s)
22625}
22626
22627// GoString returns the string representation.
22628//
22629// API parameter values that are decorated as "sensitive" in the API will not
22630// be included in the string output. The member name will be present, but the
22631// value will be replaced with "sensitive".
22632func (s CreateDBSubnetGroupOutput) GoString() string {
22633	return s.String()
22634}
22635
22636// SetDBSubnetGroup sets the DBSubnetGroup field's value.
22637func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
22638	s.DBSubnetGroup = v
22639	return s
22640}
22641
22642type CreateEventSubscriptionInput struct {
22643	_ struct{} `type:"structure"`
22644
22645	// A value that indicates whether to activate the subscription. If the event
22646	// notification subscription isn't activated, the subscription is created but
22647	// not active.
22648	Enabled *bool `type:"boolean"`
22649
22650	// A list of event categories for a particular source type (SourceType) that
22651	// you want to subscribe to. You can see a list of the categories for a given
22652	// source type in Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
22653	// in the Amazon RDS User Guide or by using the DescribeEventCategories operation.
22654	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
22655
22656	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
22657	// The ARN is created by Amazon SNS when you create a topic and subscribe to
22658	// it.
22659	//
22660	// SnsTopicArn is a required field
22661	SnsTopicArn *string `type:"string" required:"true"`
22662
22663	// The list of identifiers of the event sources for which events are returned.
22664	// If not specified, then all sources are included in the response. An identifier
22665	// must begin with a letter and must contain only ASCII letters, digits, and
22666	// hyphens. It can't end with a hyphen or contain two consecutive hyphens.
22667	//
22668	// Constraints:
22669	//
22670	//    * If SourceIds are supplied, SourceType must also be provided.
22671	//
22672	//    * If the source type is a DB instance, a DBInstanceIdentifier value must
22673	//    be supplied.
22674	//
22675	//    * If the source type is a DB cluster, a DBClusterIdentifier value must
22676	//    be supplied.
22677	//
22678	//    * If the source type is a DB parameter group, a DBParameterGroupName value
22679	//    must be supplied.
22680	//
22681	//    * If the source type is a DB security group, a DBSecurityGroupName value
22682	//    must be supplied.
22683	//
22684	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier value must
22685	//    be supplied.
22686	//
22687	//    * If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier
22688	//    value must be supplied.
22689	SourceIds []*string `locationNameList:"SourceId" type:"list"`
22690
22691	// The type of source that is generating the events. For example, if you want
22692	// to be notified of events generated by a DB instance, you set this parameter
22693	// to db-instance. If this value isn't specified, all events are returned.
22694	//
22695	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
22696	// | db-snapshot | db-cluster-snapshot
22697	SourceType *string `type:"string"`
22698
22699	// The name of the subscription.
22700	//
22701	// Constraints: The name must be less than 255 characters.
22702	//
22703	// SubscriptionName is a required field
22704	SubscriptionName *string `type:"string" required:"true"`
22705
22706	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
22707	// in the Amazon RDS User Guide.
22708	Tags []*Tag `locationNameList:"Tag" type:"list"`
22709}
22710
22711// String returns the string representation.
22712//
22713// API parameter values that are decorated as "sensitive" in the API will not
22714// be included in the string output. The member name will be present, but the
22715// value will be replaced with "sensitive".
22716func (s CreateEventSubscriptionInput) String() string {
22717	return awsutil.Prettify(s)
22718}
22719
22720// GoString returns the string representation.
22721//
22722// API parameter values that are decorated as "sensitive" in the API will not
22723// be included in the string output. The member name will be present, but the
22724// value will be replaced with "sensitive".
22725func (s CreateEventSubscriptionInput) GoString() string {
22726	return s.String()
22727}
22728
22729// Validate inspects the fields of the type to determine if they are valid.
22730func (s *CreateEventSubscriptionInput) Validate() error {
22731	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
22732	if s.SnsTopicArn == nil {
22733		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
22734	}
22735	if s.SubscriptionName == nil {
22736		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
22737	}
22738
22739	if invalidParams.Len() > 0 {
22740		return invalidParams
22741	}
22742	return nil
22743}
22744
22745// SetEnabled sets the Enabled field's value.
22746func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
22747	s.Enabled = &v
22748	return s
22749}
22750
22751// SetEventCategories sets the EventCategories field's value.
22752func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
22753	s.EventCategories = v
22754	return s
22755}
22756
22757// SetSnsTopicArn sets the SnsTopicArn field's value.
22758func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
22759	s.SnsTopicArn = &v
22760	return s
22761}
22762
22763// SetSourceIds sets the SourceIds field's value.
22764func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
22765	s.SourceIds = v
22766	return s
22767}
22768
22769// SetSourceType sets the SourceType field's value.
22770func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
22771	s.SourceType = &v
22772	return s
22773}
22774
22775// SetSubscriptionName sets the SubscriptionName field's value.
22776func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
22777	s.SubscriptionName = &v
22778	return s
22779}
22780
22781// SetTags sets the Tags field's value.
22782func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
22783	s.Tags = v
22784	return s
22785}
22786
22787type CreateEventSubscriptionOutput struct {
22788	_ struct{} `type:"structure"`
22789
22790	// Contains the results of a successful invocation of the DescribeEventSubscriptions
22791	// action.
22792	EventSubscription *EventSubscription `type:"structure"`
22793}
22794
22795// String returns the string representation.
22796//
22797// API parameter values that are decorated as "sensitive" in the API will not
22798// be included in the string output. The member name will be present, but the
22799// value will be replaced with "sensitive".
22800func (s CreateEventSubscriptionOutput) String() string {
22801	return awsutil.Prettify(s)
22802}
22803
22804// GoString returns the string representation.
22805//
22806// API parameter values that are decorated as "sensitive" in the API will not
22807// be included in the string output. The member name will be present, but the
22808// value will be replaced with "sensitive".
22809func (s CreateEventSubscriptionOutput) GoString() string {
22810	return s.String()
22811}
22812
22813// SetEventSubscription sets the EventSubscription field's value.
22814func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
22815	s.EventSubscription = v
22816	return s
22817}
22818
22819type CreateGlobalClusterInput struct {
22820	_ struct{} `type:"structure"`
22821
22822	// The name for your database of up to 64 alpha-numeric characters. If you do
22823	// not provide a name, Amazon Aurora will not create a database in the global
22824	// database cluster you are creating.
22825	DatabaseName *string `type:"string"`
22826
22827	// The deletion protection setting for the new global database. The global database
22828	// can't be deleted when deletion protection is enabled.
22829	DeletionProtection *bool `type:"boolean"`
22830
22831	// The name of the database engine to be used for this DB cluster.
22832	Engine *string `type:"string"`
22833
22834	// The engine version of the Aurora global database.
22835	EngineVersion *string `type:"string"`
22836
22837	// The cluster identifier of the new global database cluster.
22838	GlobalClusterIdentifier *string `type:"string"`
22839
22840	// The Amazon Resource Name (ARN) to use as the primary cluster of the global
22841	// database. This parameter is optional.
22842	SourceDBClusterIdentifier *string `type:"string"`
22843
22844	// The storage encryption setting for the new global database cluster.
22845	StorageEncrypted *bool `type:"boolean"`
22846}
22847
22848// String returns the string representation.
22849//
22850// API parameter values that are decorated as "sensitive" in the API will not
22851// be included in the string output. The member name will be present, but the
22852// value will be replaced with "sensitive".
22853func (s CreateGlobalClusterInput) String() string {
22854	return awsutil.Prettify(s)
22855}
22856
22857// GoString returns the string representation.
22858//
22859// API parameter values that are decorated as "sensitive" in the API will not
22860// be included in the string output. The member name will be present, but the
22861// value will be replaced with "sensitive".
22862func (s CreateGlobalClusterInput) GoString() string {
22863	return s.String()
22864}
22865
22866// SetDatabaseName sets the DatabaseName field's value.
22867func (s *CreateGlobalClusterInput) SetDatabaseName(v string) *CreateGlobalClusterInput {
22868	s.DatabaseName = &v
22869	return s
22870}
22871
22872// SetDeletionProtection sets the DeletionProtection field's value.
22873func (s *CreateGlobalClusterInput) SetDeletionProtection(v bool) *CreateGlobalClusterInput {
22874	s.DeletionProtection = &v
22875	return s
22876}
22877
22878// SetEngine sets the Engine field's value.
22879func (s *CreateGlobalClusterInput) SetEngine(v string) *CreateGlobalClusterInput {
22880	s.Engine = &v
22881	return s
22882}
22883
22884// SetEngineVersion sets the EngineVersion field's value.
22885func (s *CreateGlobalClusterInput) SetEngineVersion(v string) *CreateGlobalClusterInput {
22886	s.EngineVersion = &v
22887	return s
22888}
22889
22890// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
22891func (s *CreateGlobalClusterInput) SetGlobalClusterIdentifier(v string) *CreateGlobalClusterInput {
22892	s.GlobalClusterIdentifier = &v
22893	return s
22894}
22895
22896// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
22897func (s *CreateGlobalClusterInput) SetSourceDBClusterIdentifier(v string) *CreateGlobalClusterInput {
22898	s.SourceDBClusterIdentifier = &v
22899	return s
22900}
22901
22902// SetStorageEncrypted sets the StorageEncrypted field's value.
22903func (s *CreateGlobalClusterInput) SetStorageEncrypted(v bool) *CreateGlobalClusterInput {
22904	s.StorageEncrypted = &v
22905	return s
22906}
22907
22908type CreateGlobalClusterOutput struct {
22909	_ struct{} `type:"structure"`
22910
22911	// A data type representing an Aurora global database.
22912	GlobalCluster *GlobalCluster `type:"structure"`
22913}
22914
22915// String returns the string representation.
22916//
22917// API parameter values that are decorated as "sensitive" in the API will not
22918// be included in the string output. The member name will be present, but the
22919// value will be replaced with "sensitive".
22920func (s CreateGlobalClusterOutput) String() string {
22921	return awsutil.Prettify(s)
22922}
22923
22924// GoString returns the string representation.
22925//
22926// API parameter values that are decorated as "sensitive" in the API will not
22927// be included in the string output. The member name will be present, but the
22928// value will be replaced with "sensitive".
22929func (s CreateGlobalClusterOutput) GoString() string {
22930	return s.String()
22931}
22932
22933// SetGlobalCluster sets the GlobalCluster field's value.
22934func (s *CreateGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *CreateGlobalClusterOutput {
22935	s.GlobalCluster = v
22936	return s
22937}
22938
22939type CreateOptionGroupInput struct {
22940	_ struct{} `type:"structure"`
22941
22942	// Specifies the name of the engine that this option group should be associated
22943	// with.
22944	//
22945	// Valid Values:
22946	//
22947	//    * mariadb
22948	//
22949	//    * mysql
22950	//
22951	//    * oracle-ee
22952	//
22953	//    * oracle-ee-cdb
22954	//
22955	//    * oracle-se2
22956	//
22957	//    * oracle-se2-cdb
22958	//
22959	//    * postgres
22960	//
22961	//    * sqlserver-ee
22962	//
22963	//    * sqlserver-se
22964	//
22965	//    * sqlserver-ex
22966	//
22967	//    * sqlserver-web
22968	//
22969	// EngineName is a required field
22970	EngineName *string `type:"string" required:"true"`
22971
22972	// Specifies the major version of the engine that this option group should be
22973	// associated with.
22974	//
22975	// MajorEngineVersion is a required field
22976	MajorEngineVersion *string `type:"string" required:"true"`
22977
22978	// The description of the option group.
22979	//
22980	// OptionGroupDescription is a required field
22981	OptionGroupDescription *string `type:"string" required:"true"`
22982
22983	// Specifies the name of the option group to be created.
22984	//
22985	// Constraints:
22986	//
22987	//    * Must be 1 to 255 letters, numbers, or hyphens
22988	//
22989	//    * First character must be a letter
22990	//
22991	//    * Can't end with a hyphen or contain two consecutive hyphens
22992	//
22993	// Example: myoptiongroup
22994	//
22995	// OptionGroupName is a required field
22996	OptionGroupName *string `type:"string" required:"true"`
22997
22998	// Tags to assign to the option group.
22999	Tags []*Tag `locationNameList:"Tag" type:"list"`
23000}
23001
23002// String returns the string representation.
23003//
23004// API parameter values that are decorated as "sensitive" in the API will not
23005// be included in the string output. The member name will be present, but the
23006// value will be replaced with "sensitive".
23007func (s CreateOptionGroupInput) String() string {
23008	return awsutil.Prettify(s)
23009}
23010
23011// GoString returns the string representation.
23012//
23013// API parameter values that are decorated as "sensitive" in the API will not
23014// be included in the string output. The member name will be present, but the
23015// value will be replaced with "sensitive".
23016func (s CreateOptionGroupInput) GoString() string {
23017	return s.String()
23018}
23019
23020// Validate inspects the fields of the type to determine if they are valid.
23021func (s *CreateOptionGroupInput) Validate() error {
23022	invalidParams := request.ErrInvalidParams{Context: "CreateOptionGroupInput"}
23023	if s.EngineName == nil {
23024		invalidParams.Add(request.NewErrParamRequired("EngineName"))
23025	}
23026	if s.MajorEngineVersion == nil {
23027		invalidParams.Add(request.NewErrParamRequired("MajorEngineVersion"))
23028	}
23029	if s.OptionGroupDescription == nil {
23030		invalidParams.Add(request.NewErrParamRequired("OptionGroupDescription"))
23031	}
23032	if s.OptionGroupName == nil {
23033		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
23034	}
23035
23036	if invalidParams.Len() > 0 {
23037		return invalidParams
23038	}
23039	return nil
23040}
23041
23042// SetEngineName sets the EngineName field's value.
23043func (s *CreateOptionGroupInput) SetEngineName(v string) *CreateOptionGroupInput {
23044	s.EngineName = &v
23045	return s
23046}
23047
23048// SetMajorEngineVersion sets the MajorEngineVersion field's value.
23049func (s *CreateOptionGroupInput) SetMajorEngineVersion(v string) *CreateOptionGroupInput {
23050	s.MajorEngineVersion = &v
23051	return s
23052}
23053
23054// SetOptionGroupDescription sets the OptionGroupDescription field's value.
23055func (s *CreateOptionGroupInput) SetOptionGroupDescription(v string) *CreateOptionGroupInput {
23056	s.OptionGroupDescription = &v
23057	return s
23058}
23059
23060// SetOptionGroupName sets the OptionGroupName field's value.
23061func (s *CreateOptionGroupInput) SetOptionGroupName(v string) *CreateOptionGroupInput {
23062	s.OptionGroupName = &v
23063	return s
23064}
23065
23066// SetTags sets the Tags field's value.
23067func (s *CreateOptionGroupInput) SetTags(v []*Tag) *CreateOptionGroupInput {
23068	s.Tags = v
23069	return s
23070}
23071
23072type CreateOptionGroupOutput struct {
23073	_ struct{} `type:"structure"`
23074
23075	OptionGroup *OptionGroup `type:"structure"`
23076}
23077
23078// String returns the string representation.
23079//
23080// API parameter values that are decorated as "sensitive" in the API will not
23081// be included in the string output. The member name will be present, but the
23082// value will be replaced with "sensitive".
23083func (s CreateOptionGroupOutput) String() string {
23084	return awsutil.Prettify(s)
23085}
23086
23087// GoString returns the string representation.
23088//
23089// API parameter values that are decorated as "sensitive" in the API will not
23090// be included in the string output. The member name will be present, but the
23091// value will be replaced with "sensitive".
23092func (s CreateOptionGroupOutput) GoString() string {
23093	return s.String()
23094}
23095
23096// SetOptionGroup sets the OptionGroup field's value.
23097func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGroupOutput {
23098	s.OptionGroup = v
23099	return s
23100}
23101
23102// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
23103// a VMware vSphere cluster.
23104//
23105// For more information about RDS on VMware, see the RDS on VMware User Guide.
23106// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
23107type CustomAvailabilityZone struct {
23108	_ struct{} `type:"structure"`
23109
23110	// The identifier of the custom AZ.
23111	//
23112	// Amazon RDS generates a unique identifier when a custom AZ is created.
23113	CustomAvailabilityZoneId *string `type:"string"`
23114
23115	// The name of the custom AZ.
23116	CustomAvailabilityZoneName *string `type:"string"`
23117
23118	// The status of the custom AZ.
23119	CustomAvailabilityZoneStatus *string `type:"string"`
23120
23121	// Information about the virtual private network (VPN) between the VMware vSphere
23122	// cluster and the Amazon Web Services website.
23123	VpnDetails *VpnDetails `type:"structure"`
23124}
23125
23126// String returns the string representation.
23127//
23128// API parameter values that are decorated as "sensitive" in the API will not
23129// be included in the string output. The member name will be present, but the
23130// value will be replaced with "sensitive".
23131func (s CustomAvailabilityZone) String() string {
23132	return awsutil.Prettify(s)
23133}
23134
23135// GoString returns the string representation.
23136//
23137// API parameter values that are decorated as "sensitive" in the API will not
23138// be included in the string output. The member name will be present, but the
23139// value will be replaced with "sensitive".
23140func (s CustomAvailabilityZone) GoString() string {
23141	return s.String()
23142}
23143
23144// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
23145func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneId(v string) *CustomAvailabilityZone {
23146	s.CustomAvailabilityZoneId = &v
23147	return s
23148}
23149
23150// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
23151func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneName(v string) *CustomAvailabilityZone {
23152	s.CustomAvailabilityZoneName = &v
23153	return s
23154}
23155
23156// SetCustomAvailabilityZoneStatus sets the CustomAvailabilityZoneStatus field's value.
23157func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneStatus(v string) *CustomAvailabilityZone {
23158	s.CustomAvailabilityZoneStatus = &v
23159	return s
23160}
23161
23162// SetVpnDetails sets the VpnDetails field's value.
23163func (s *CustomAvailabilityZone) SetVpnDetails(v *VpnDetails) *CustomAvailabilityZone {
23164	s.VpnDetails = v
23165	return s
23166}
23167
23168// Contains the details of an Amazon Aurora DB cluster.
23169//
23170// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
23171// and StartDBCluster actions.
23172type DBCluster struct {
23173	_ struct{} `type:"structure"`
23174
23175	// The name of the Amazon Kinesis data stream used for the database activity
23176	// stream.
23177	ActivityStreamKinesisStreamName *string `type:"string"`
23178
23179	// The Amazon Web Services KMS key identifier used for encrypting messages in
23180	// the database activity stream.
23181	//
23182	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
23183	// ARN, or alias name for the KMS key.
23184	ActivityStreamKmsKeyId *string `type:"string"`
23185
23186	// The mode of the database activity stream. Database events such as a change
23187	// or access generate an activity stream event. The database session can handle
23188	// these events either synchronously or asynchronously.
23189	ActivityStreamMode *string `type:"string" enum:"ActivityStreamMode"`
23190
23191	// The status of the database activity stream.
23192	ActivityStreamStatus *string `type:"string" enum:"ActivityStreamStatus"`
23193
23194	// For all database engines except Amazon Aurora, AllocatedStorage specifies
23195	// the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage
23196	// always returns 1, because Aurora DB cluster storage size isn't fixed, but
23197	// instead automatically adjusts as needed.
23198	AllocatedStorage *int64 `type:"integer"`
23199
23200	// Provides a list of the Amazon Web Services Identity and Access Management
23201	// (IAM) roles that are associated with the DB cluster. IAM roles that are associated
23202	// with a DB cluster grant permission for the DB cluster to access other Amazon
23203	// Web Services on your behalf.
23204	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
23205
23206	// The time when a stopped DB cluster is restarted automatically.
23207	AutomaticRestartTime *time.Time `type:"timestamp"`
23208
23209	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
23210	// can be created.
23211	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
23212
23213	// The number of change records stored for Backtrack.
23214	BacktrackConsumedChangeRecords *int64 `type:"long"`
23215
23216	// The target backtrack window, in seconds. If this value is set to 0, backtracking
23217	// is disabled for the DB cluster. Otherwise, backtracking is enabled.
23218	BacktrackWindow *int64 `type:"long"`
23219
23220	// Specifies the number of days for which automatic DB snapshots are retained.
23221	BackupRetentionPeriod *int64 `type:"integer"`
23222
23223	// The current capacity of an Aurora Serverless DB cluster. The capacity is
23224	// 0 (zero) when the cluster is paused.
23225	//
23226	// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
23227	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
23228	// in the Amazon Aurora User Guide.
23229	Capacity *int64 `type:"integer"`
23230
23231	// If present, specifies the name of the character set that this cluster is
23232	// associated with.
23233	CharacterSetName *string `type:"string"`
23234
23235	// Identifies the clone group to which the DB cluster is associated.
23236	CloneGroupId *string `type:"string"`
23237
23238	// Specifies the time when the DB cluster was created, in Universal Coordinated
23239	// Time (UTC).
23240	ClusterCreateTime *time.Time `type:"timestamp"`
23241
23242	// Specifies whether tags are copied from the DB cluster to snapshots of the
23243	// DB cluster.
23244	CopyTagsToSnapshot *bool `type:"boolean"`
23245
23246	// Specifies whether the DB cluster is a clone of a DB cluster owned by a different
23247	// Amazon Web Services account.
23248	CrossAccountClone *bool `type:"boolean"`
23249
23250	// Identifies all custom endpoints associated with the cluster.
23251	CustomEndpoints []*string `type:"list"`
23252
23253	// The Amazon Resource Name (ARN) for the DB cluster.
23254	DBClusterArn *string `type:"string"`
23255
23256	// Contains a user-supplied DB cluster identifier. This identifier is the unique
23257	// key that identifies a DB cluster.
23258	DBClusterIdentifier *string `type:"string"`
23259
23260	// Provides the list of instances that make up the DB cluster.
23261	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
23262
23263	// Provides the list of option group memberships for this DB cluster.
23264	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
23265
23266	// Specifies the name of the DB cluster parameter group for the DB cluster.
23267	DBClusterParameterGroup *string `type:"string"`
23268
23269	// Specifies information on the subnet group associated with the DB cluster,
23270	// including the name, description, and subnets in the subnet group.
23271	DBSubnetGroup *string `type:"string"`
23272
23273	// Contains the name of the initial database of this DB cluster that was provided
23274	// at create time, if one was specified when the DB cluster was created. This
23275	// same name is returned for the life of the DB cluster.
23276	DatabaseName *string `type:"string"`
23277
23278	// The Amazon Web Services Region-unique, immutable identifier for the DB cluster.
23279	// This identifier is found in Amazon Web Services CloudTrail log entries whenever
23280	// the KMS key for the DB cluster is accessed.
23281	DbClusterResourceId *string `type:"string"`
23282
23283	// Indicates if the DB cluster has deletion protection enabled. The database
23284	// can't be deleted when deletion protection is enabled.
23285	DeletionProtection *bool `type:"boolean"`
23286
23287	// The Active Directory Domain membership records associated with the DB cluster.
23288	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
23289
23290	// The earliest time to which a DB cluster can be backtracked.
23291	EarliestBacktrackTime *time.Time `type:"timestamp"`
23292
23293	// The earliest time to which a database can be restored with point-in-time
23294	// restore.
23295	EarliestRestorableTime *time.Time `type:"timestamp"`
23296
23297	// A list of log types that this DB cluster is configured to export to CloudWatch
23298	// Logs.
23299	//
23300	// Log types vary by DB engine. For information about the log types for each
23301	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html)
23302	// in the Amazon Aurora User Guide.
23303	EnabledCloudwatchLogsExports []*string `type:"list"`
23304
23305	// Specifies the connection endpoint for the primary instance of the DB cluster.
23306	Endpoint *string `type:"string"`
23307
23308	// The name of the database engine to be used for this DB cluster.
23309	Engine *string `type:"string"`
23310
23311	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
23312	// global, or multimaster.
23313	//
23314	// For more information, see CreateDBCluster (https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html).
23315	EngineMode *string `type:"string"`
23316
23317	// Indicates the database engine version.
23318	EngineVersion *string `type:"string"`
23319
23320	// Specifies whether you have requested to enable write forwarding for a secondary
23321	// cluster in an Aurora global database. Because write forwarding takes time
23322	// to enable, check the value of GlobalWriteForwardingStatus to confirm that
23323	// the request has completed before using the write forwarding feature for this
23324	// cluster.
23325	GlobalWriteForwardingRequested *bool `type:"boolean"`
23326
23327	// Specifies whether a secondary cluster in an Aurora global database has write
23328	// forwarding enabled, not enabled, or is in the process of enabling it.
23329	GlobalWriteForwardingStatus *string `type:"string" enum:"WriteForwardingStatus"`
23330
23331	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
23332	HostedZoneId *string `type:"string"`
23333
23334	// A value that indicates whether the HTTP endpoint for an Aurora Serverless
23335	// DB cluster is enabled.
23336	//
23337	// When enabled, the HTTP endpoint provides a connectionless web service API
23338	// for running SQL queries on the Aurora Serverless DB cluster. You can also
23339	// query your database from inside the RDS console with the query editor.
23340	//
23341	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
23342	// in the Amazon Aurora User Guide.
23343	HttpEndpointEnabled *bool `type:"boolean"`
23344
23345	// A value that indicates whether the mapping of Amazon Web Services Identity
23346	// and Access Management (IAM) accounts to database accounts is enabled.
23347	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
23348
23349	// If StorageEncrypted is enabled, the Amazon Web Services KMS key identifier
23350	// for the encrypted DB cluster.
23351	//
23352	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
23353	// ARN, or alias name for the KMS key.
23354	KmsKeyId *string `type:"string"`
23355
23356	// Specifies the latest time to which a database can be restored with point-in-time
23357	// restore.
23358	LatestRestorableTime *time.Time `type:"timestamp"`
23359
23360	// Contains the master username for the DB cluster.
23361	MasterUsername *string `type:"string"`
23362
23363	// Specifies whether the DB cluster has instances in multiple Availability Zones.
23364	MultiAZ *bool `type:"boolean"`
23365
23366	// A value that specifies that changes to the DB cluster are pending. This element
23367	// is only included when changes are pending. Specific changes are identified
23368	// by subelements.
23369	PendingModifiedValues *ClusterPendingModifiedValues `type:"structure"`
23370
23371	// Specifies the progress of the operation as a percentage.
23372	PercentProgress *string `type:"string"`
23373
23374	// Specifies the port that the database engine is listening on.
23375	Port *int64 `type:"integer"`
23376
23377	// Specifies the daily time range during which automated backups are created
23378	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
23379	PreferredBackupWindow *string `type:"string"`
23380
23381	// Specifies the weekly time range during which system maintenance can occur,
23382	// in Universal Coordinated Time (UTC).
23383	PreferredMaintenanceWindow *string `type:"string"`
23384
23385	// Contains one or more identifiers of the read replicas associated with this
23386	// DB cluster.
23387	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
23388
23389	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
23390	// load-balances connections across the Aurora Replicas that are available in
23391	// a DB cluster. As clients request new connections to the reader endpoint,
23392	// Aurora distributes the connection requests among the Aurora Replicas in the
23393	// DB cluster. This functionality can help balance your read workload across
23394	// multiple Aurora Replicas in your DB cluster.
23395	//
23396	// If a failover occurs, and the Aurora Replica that you are connected to is
23397	// promoted to be the primary instance, your connection is dropped. To continue
23398	// sending your read workload to other Aurora Replicas in the cluster, you can
23399	// then reconnect to the reader endpoint.
23400	ReaderEndpoint *string `type:"string"`
23401
23402	// Contains the identifier of the source DB cluster if this DB cluster is a
23403	// read replica.
23404	ReplicationSourceIdentifier *string `type:"string"`
23405
23406	// Shows the scaling configuration for an Aurora DB cluster in serverless DB
23407	// engine mode.
23408	//
23409	// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
23410	// in the Amazon Aurora User Guide.
23411	ScalingConfigurationInfo *ScalingConfigurationInfo `type:"structure"`
23412
23413	// Specifies the current state of this DB cluster.
23414	Status *string `type:"string"`
23415
23416	// Specifies whether the DB cluster is encrypted.
23417	StorageEncrypted *bool `type:"boolean"`
23418
23419	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
23420	// in the Amazon RDS User Guide.
23421	TagList []*Tag `locationNameList:"Tag" type:"list"`
23422
23423	// Provides a list of VPC security groups that the DB cluster belongs to.
23424	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
23425}
23426
23427// String returns the string representation.
23428//
23429// API parameter values that are decorated as "sensitive" in the API will not
23430// be included in the string output. The member name will be present, but the
23431// value will be replaced with "sensitive".
23432func (s DBCluster) String() string {
23433	return awsutil.Prettify(s)
23434}
23435
23436// GoString returns the string representation.
23437//
23438// API parameter values that are decorated as "sensitive" in the API will not
23439// be included in the string output. The member name will be present, but the
23440// value will be replaced with "sensitive".
23441func (s DBCluster) GoString() string {
23442	return s.String()
23443}
23444
23445// SetActivityStreamKinesisStreamName sets the ActivityStreamKinesisStreamName field's value.
23446func (s *DBCluster) SetActivityStreamKinesisStreamName(v string) *DBCluster {
23447	s.ActivityStreamKinesisStreamName = &v
23448	return s
23449}
23450
23451// SetActivityStreamKmsKeyId sets the ActivityStreamKmsKeyId field's value.
23452func (s *DBCluster) SetActivityStreamKmsKeyId(v string) *DBCluster {
23453	s.ActivityStreamKmsKeyId = &v
23454	return s
23455}
23456
23457// SetActivityStreamMode sets the ActivityStreamMode field's value.
23458func (s *DBCluster) SetActivityStreamMode(v string) *DBCluster {
23459	s.ActivityStreamMode = &v
23460	return s
23461}
23462
23463// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
23464func (s *DBCluster) SetActivityStreamStatus(v string) *DBCluster {
23465	s.ActivityStreamStatus = &v
23466	return s
23467}
23468
23469// SetAllocatedStorage sets the AllocatedStorage field's value.
23470func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
23471	s.AllocatedStorage = &v
23472	return s
23473}
23474
23475// SetAssociatedRoles sets the AssociatedRoles field's value.
23476func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
23477	s.AssociatedRoles = v
23478	return s
23479}
23480
23481// SetAutomaticRestartTime sets the AutomaticRestartTime field's value.
23482func (s *DBCluster) SetAutomaticRestartTime(v time.Time) *DBCluster {
23483	s.AutomaticRestartTime = &v
23484	return s
23485}
23486
23487// SetAvailabilityZones sets the AvailabilityZones field's value.
23488func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
23489	s.AvailabilityZones = v
23490	return s
23491}
23492
23493// SetBacktrackConsumedChangeRecords sets the BacktrackConsumedChangeRecords field's value.
23494func (s *DBCluster) SetBacktrackConsumedChangeRecords(v int64) *DBCluster {
23495	s.BacktrackConsumedChangeRecords = &v
23496	return s
23497}
23498
23499// SetBacktrackWindow sets the BacktrackWindow field's value.
23500func (s *DBCluster) SetBacktrackWindow(v int64) *DBCluster {
23501	s.BacktrackWindow = &v
23502	return s
23503}
23504
23505// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
23506func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
23507	s.BackupRetentionPeriod = &v
23508	return s
23509}
23510
23511// SetCapacity sets the Capacity field's value.
23512func (s *DBCluster) SetCapacity(v int64) *DBCluster {
23513	s.Capacity = &v
23514	return s
23515}
23516
23517// SetCharacterSetName sets the CharacterSetName field's value.
23518func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
23519	s.CharacterSetName = &v
23520	return s
23521}
23522
23523// SetCloneGroupId sets the CloneGroupId field's value.
23524func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
23525	s.CloneGroupId = &v
23526	return s
23527}
23528
23529// SetClusterCreateTime sets the ClusterCreateTime field's value.
23530func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
23531	s.ClusterCreateTime = &v
23532	return s
23533}
23534
23535// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
23536func (s *DBCluster) SetCopyTagsToSnapshot(v bool) *DBCluster {
23537	s.CopyTagsToSnapshot = &v
23538	return s
23539}
23540
23541// SetCrossAccountClone sets the CrossAccountClone field's value.
23542func (s *DBCluster) SetCrossAccountClone(v bool) *DBCluster {
23543	s.CrossAccountClone = &v
23544	return s
23545}
23546
23547// SetCustomEndpoints sets the CustomEndpoints field's value.
23548func (s *DBCluster) SetCustomEndpoints(v []*string) *DBCluster {
23549	s.CustomEndpoints = v
23550	return s
23551}
23552
23553// SetDBClusterArn sets the DBClusterArn field's value.
23554func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
23555	s.DBClusterArn = &v
23556	return s
23557}
23558
23559// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
23560func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
23561	s.DBClusterIdentifier = &v
23562	return s
23563}
23564
23565// SetDBClusterMembers sets the DBClusterMembers field's value.
23566func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
23567	s.DBClusterMembers = v
23568	return s
23569}
23570
23571// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
23572func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
23573	s.DBClusterOptionGroupMemberships = v
23574	return s
23575}
23576
23577// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
23578func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
23579	s.DBClusterParameterGroup = &v
23580	return s
23581}
23582
23583// SetDBSubnetGroup sets the DBSubnetGroup field's value.
23584func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
23585	s.DBSubnetGroup = &v
23586	return s
23587}
23588
23589// SetDatabaseName sets the DatabaseName field's value.
23590func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
23591	s.DatabaseName = &v
23592	return s
23593}
23594
23595// SetDbClusterResourceId sets the DbClusterResourceId field's value.
23596func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
23597	s.DbClusterResourceId = &v
23598	return s
23599}
23600
23601// SetDeletionProtection sets the DeletionProtection field's value.
23602func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
23603	s.DeletionProtection = &v
23604	return s
23605}
23606
23607// SetDomainMemberships sets the DomainMemberships field's value.
23608func (s *DBCluster) SetDomainMemberships(v []*DomainMembership) *DBCluster {
23609	s.DomainMemberships = v
23610	return s
23611}
23612
23613// SetEarliestBacktrackTime sets the EarliestBacktrackTime field's value.
23614func (s *DBCluster) SetEarliestBacktrackTime(v time.Time) *DBCluster {
23615	s.EarliestBacktrackTime = &v
23616	return s
23617}
23618
23619// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
23620func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
23621	s.EarliestRestorableTime = &v
23622	return s
23623}
23624
23625// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
23626func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
23627	s.EnabledCloudwatchLogsExports = v
23628	return s
23629}
23630
23631// SetEndpoint sets the Endpoint field's value.
23632func (s *DBCluster) SetEndpoint(v string) *DBCluster {
23633	s.Endpoint = &v
23634	return s
23635}
23636
23637// SetEngine sets the Engine field's value.
23638func (s *DBCluster) SetEngine(v string) *DBCluster {
23639	s.Engine = &v
23640	return s
23641}
23642
23643// SetEngineMode sets the EngineMode field's value.
23644func (s *DBCluster) SetEngineMode(v string) *DBCluster {
23645	s.EngineMode = &v
23646	return s
23647}
23648
23649// SetEngineVersion sets the EngineVersion field's value.
23650func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
23651	s.EngineVersion = &v
23652	return s
23653}
23654
23655// SetGlobalWriteForwardingRequested sets the GlobalWriteForwardingRequested field's value.
23656func (s *DBCluster) SetGlobalWriteForwardingRequested(v bool) *DBCluster {
23657	s.GlobalWriteForwardingRequested = &v
23658	return s
23659}
23660
23661// SetGlobalWriteForwardingStatus sets the GlobalWriteForwardingStatus field's value.
23662func (s *DBCluster) SetGlobalWriteForwardingStatus(v string) *DBCluster {
23663	s.GlobalWriteForwardingStatus = &v
23664	return s
23665}
23666
23667// SetHostedZoneId sets the HostedZoneId field's value.
23668func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
23669	s.HostedZoneId = &v
23670	return s
23671}
23672
23673// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
23674func (s *DBCluster) SetHttpEndpointEnabled(v bool) *DBCluster {
23675	s.HttpEndpointEnabled = &v
23676	return s
23677}
23678
23679// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
23680func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
23681	s.IAMDatabaseAuthenticationEnabled = &v
23682	return s
23683}
23684
23685// SetKmsKeyId sets the KmsKeyId field's value.
23686func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
23687	s.KmsKeyId = &v
23688	return s
23689}
23690
23691// SetLatestRestorableTime sets the LatestRestorableTime field's value.
23692func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
23693	s.LatestRestorableTime = &v
23694	return s
23695}
23696
23697// SetMasterUsername sets the MasterUsername field's value.
23698func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
23699	s.MasterUsername = &v
23700	return s
23701}
23702
23703// SetMultiAZ sets the MultiAZ field's value.
23704func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
23705	s.MultiAZ = &v
23706	return s
23707}
23708
23709// SetPendingModifiedValues sets the PendingModifiedValues field's value.
23710func (s *DBCluster) SetPendingModifiedValues(v *ClusterPendingModifiedValues) *DBCluster {
23711	s.PendingModifiedValues = v
23712	return s
23713}
23714
23715// SetPercentProgress sets the PercentProgress field's value.
23716func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
23717	s.PercentProgress = &v
23718	return s
23719}
23720
23721// SetPort sets the Port field's value.
23722func (s *DBCluster) SetPort(v int64) *DBCluster {
23723	s.Port = &v
23724	return s
23725}
23726
23727// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
23728func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
23729	s.PreferredBackupWindow = &v
23730	return s
23731}
23732
23733// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
23734func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
23735	s.PreferredMaintenanceWindow = &v
23736	return s
23737}
23738
23739// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
23740func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
23741	s.ReadReplicaIdentifiers = v
23742	return s
23743}
23744
23745// SetReaderEndpoint sets the ReaderEndpoint field's value.
23746func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
23747	s.ReaderEndpoint = &v
23748	return s
23749}
23750
23751// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
23752func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
23753	s.ReplicationSourceIdentifier = &v
23754	return s
23755}
23756
23757// SetScalingConfigurationInfo sets the ScalingConfigurationInfo field's value.
23758func (s *DBCluster) SetScalingConfigurationInfo(v *ScalingConfigurationInfo) *DBCluster {
23759	s.ScalingConfigurationInfo = v
23760	return s
23761}
23762
23763// SetStatus sets the Status field's value.
23764func (s *DBCluster) SetStatus(v string) *DBCluster {
23765	s.Status = &v
23766	return s
23767}
23768
23769// SetStorageEncrypted sets the StorageEncrypted field's value.
23770func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
23771	s.StorageEncrypted = &v
23772	return s
23773}
23774
23775// SetTagList sets the TagList field's value.
23776func (s *DBCluster) SetTagList(v []*Tag) *DBCluster {
23777	s.TagList = v
23778	return s
23779}
23780
23781// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
23782func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
23783	s.VpcSecurityGroups = v
23784	return s
23785}
23786
23787// This data type represents the information you need to connect to an Amazon
23788// Aurora DB cluster. This data type is used as a response element in the following
23789// actions:
23790//
23791//    * CreateDBClusterEndpoint
23792//
23793//    * DescribeDBClusterEndpoints
23794//
23795//    * ModifyDBClusterEndpoint
23796//
23797//    * DeleteDBClusterEndpoint
23798//
23799// For the data structure that represents Amazon RDS DB instance endpoints,
23800// see Endpoint.
23801type DBClusterEndpoint struct {
23802	_ struct{} `type:"structure"`
23803
23804	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
23805	CustomEndpointType *string `type:"string"`
23806
23807	// The Amazon Resource Name (ARN) for the endpoint.
23808	DBClusterEndpointArn *string `type:"string"`
23809
23810	// The identifier associated with the endpoint. This parameter is stored as
23811	// a lowercase string.
23812	DBClusterEndpointIdentifier *string `type:"string"`
23813
23814	// A unique system-generated identifier for an endpoint. It remains the same
23815	// for the whole life of the endpoint.
23816	DBClusterEndpointResourceIdentifier *string `type:"string"`
23817
23818	// The DB cluster identifier of the DB cluster associated with the endpoint.
23819	// This parameter is stored as a lowercase string.
23820	DBClusterIdentifier *string `type:"string"`
23821
23822	// The DNS address of the endpoint.
23823	Endpoint *string `type:"string"`
23824
23825	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
23826	EndpointType *string `type:"string"`
23827
23828	// List of DB instance identifiers that aren't part of the custom endpoint group.
23829	// All other eligible instances are reachable through the custom endpoint. Only
23830	// relevant if the list of static members is empty.
23831	ExcludedMembers []*string `type:"list"`
23832
23833	// List of DB instance identifiers that are part of the custom endpoint group.
23834	StaticMembers []*string `type:"list"`
23835
23836	// The current status of the endpoint. One of: creating, available, deleting,
23837	// inactive, modifying. The inactive state applies to an endpoint that can't
23838	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
23839	// secondary cluster in a global database.
23840	Status *string `type:"string"`
23841}
23842
23843// String returns the string representation.
23844//
23845// API parameter values that are decorated as "sensitive" in the API will not
23846// be included in the string output. The member name will be present, but the
23847// value will be replaced with "sensitive".
23848func (s DBClusterEndpoint) String() string {
23849	return awsutil.Prettify(s)
23850}
23851
23852// GoString returns the string representation.
23853//
23854// API parameter values that are decorated as "sensitive" in the API will not
23855// be included in the string output. The member name will be present, but the
23856// value will be replaced with "sensitive".
23857func (s DBClusterEndpoint) GoString() string {
23858	return s.String()
23859}
23860
23861// SetCustomEndpointType sets the CustomEndpointType field's value.
23862func (s *DBClusterEndpoint) SetCustomEndpointType(v string) *DBClusterEndpoint {
23863	s.CustomEndpointType = &v
23864	return s
23865}
23866
23867// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
23868func (s *DBClusterEndpoint) SetDBClusterEndpointArn(v string) *DBClusterEndpoint {
23869	s.DBClusterEndpointArn = &v
23870	return s
23871}
23872
23873// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
23874func (s *DBClusterEndpoint) SetDBClusterEndpointIdentifier(v string) *DBClusterEndpoint {
23875	s.DBClusterEndpointIdentifier = &v
23876	return s
23877}
23878
23879// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
23880func (s *DBClusterEndpoint) SetDBClusterEndpointResourceIdentifier(v string) *DBClusterEndpoint {
23881	s.DBClusterEndpointResourceIdentifier = &v
23882	return s
23883}
23884
23885// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
23886func (s *DBClusterEndpoint) SetDBClusterIdentifier(v string) *DBClusterEndpoint {
23887	s.DBClusterIdentifier = &v
23888	return s
23889}
23890
23891// SetEndpoint sets the Endpoint field's value.
23892func (s *DBClusterEndpoint) SetEndpoint(v string) *DBClusterEndpoint {
23893	s.Endpoint = &v
23894	return s
23895}
23896
23897// SetEndpointType sets the EndpointType field's value.
23898func (s *DBClusterEndpoint) SetEndpointType(v string) *DBClusterEndpoint {
23899	s.EndpointType = &v
23900	return s
23901}
23902
23903// SetExcludedMembers sets the ExcludedMembers field's value.
23904func (s *DBClusterEndpoint) SetExcludedMembers(v []*string) *DBClusterEndpoint {
23905	s.ExcludedMembers = v
23906	return s
23907}
23908
23909// SetStaticMembers sets the StaticMembers field's value.
23910func (s *DBClusterEndpoint) SetStaticMembers(v []*string) *DBClusterEndpoint {
23911	s.StaticMembers = v
23912	return s
23913}
23914
23915// SetStatus sets the Status field's value.
23916func (s *DBClusterEndpoint) SetStatus(v string) *DBClusterEndpoint {
23917	s.Status = &v
23918	return s
23919}
23920
23921// Contains information about an instance that is part of a DB cluster.
23922type DBClusterMember struct {
23923	_ struct{} `type:"structure"`
23924
23925	// Specifies the status of the DB cluster parameter group for this member of
23926	// the DB cluster.
23927	DBClusterParameterGroupStatus *string `type:"string"`
23928
23929	// Specifies the instance identifier for this member of the DB cluster.
23930	DBInstanceIdentifier *string `type:"string"`
23931
23932	// Value that is true if the cluster member is the primary instance for the
23933	// DB cluster and false otherwise.
23934	IsClusterWriter *bool `type:"boolean"`
23935
23936	// A value that specifies the order in which an Aurora Replica is promoted to
23937	// the primary instance after a failure of the existing primary instance. For
23938	// 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)
23939	// in the Amazon Aurora User Guide.
23940	PromotionTier *int64 `type:"integer"`
23941}
23942
23943// String returns the string representation.
23944//
23945// API parameter values that are decorated as "sensitive" in the API will not
23946// be included in the string output. The member name will be present, but the
23947// value will be replaced with "sensitive".
23948func (s DBClusterMember) String() string {
23949	return awsutil.Prettify(s)
23950}
23951
23952// GoString returns the string representation.
23953//
23954// API parameter values that are decorated as "sensitive" in the API will not
23955// be included in the string output. The member name will be present, but the
23956// value will be replaced with "sensitive".
23957func (s DBClusterMember) GoString() string {
23958	return s.String()
23959}
23960
23961// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
23962func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
23963	s.DBClusterParameterGroupStatus = &v
23964	return s
23965}
23966
23967// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
23968func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
23969	s.DBInstanceIdentifier = &v
23970	return s
23971}
23972
23973// SetIsClusterWriter sets the IsClusterWriter field's value.
23974func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
23975	s.IsClusterWriter = &v
23976	return s
23977}
23978
23979// SetPromotionTier sets the PromotionTier field's value.
23980func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
23981	s.PromotionTier = &v
23982	return s
23983}
23984
23985// Contains status information for a DB cluster option group.
23986type DBClusterOptionGroupStatus struct {
23987	_ struct{} `type:"structure"`
23988
23989	// Specifies the name of the DB cluster option group.
23990	DBClusterOptionGroupName *string `type:"string"`
23991
23992	// Specifies the status of the DB cluster option group.
23993	Status *string `type:"string"`
23994}
23995
23996// String returns the string representation.
23997//
23998// API parameter values that are decorated as "sensitive" in the API will not
23999// be included in the string output. The member name will be present, but the
24000// value will be replaced with "sensitive".
24001func (s DBClusterOptionGroupStatus) String() string {
24002	return awsutil.Prettify(s)
24003}
24004
24005// GoString returns the string representation.
24006//
24007// API parameter values that are decorated as "sensitive" in the API will not
24008// be included in the string output. The member name will be present, but the
24009// value will be replaced with "sensitive".
24010func (s DBClusterOptionGroupStatus) GoString() string {
24011	return s.String()
24012}
24013
24014// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
24015func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
24016	s.DBClusterOptionGroupName = &v
24017	return s
24018}
24019
24020// SetStatus sets the Status field's value.
24021func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
24022	s.Status = &v
24023	return s
24024}
24025
24026// Contains the details of an Amazon RDS DB cluster parameter group.
24027//
24028// This data type is used as a response element in the DescribeDBClusterParameterGroups
24029// action.
24030type DBClusterParameterGroup struct {
24031	_ struct{} `type:"structure"`
24032
24033	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
24034	DBClusterParameterGroupArn *string `type:"string"`
24035
24036	// The name of the DB cluster parameter group.
24037	DBClusterParameterGroupName *string `type:"string"`
24038
24039	// The name of the DB parameter group family that this DB cluster parameter
24040	// group is compatible with.
24041	DBParameterGroupFamily *string `type:"string"`
24042
24043	// Provides the customer-specified description for this DB cluster parameter
24044	// group.
24045	Description *string `type:"string"`
24046}
24047
24048// String returns the string representation.
24049//
24050// API parameter values that are decorated as "sensitive" in the API will not
24051// be included in the string output. The member name will be present, but the
24052// value will be replaced with "sensitive".
24053func (s DBClusterParameterGroup) String() string {
24054	return awsutil.Prettify(s)
24055}
24056
24057// GoString returns the string representation.
24058//
24059// API parameter values that are decorated as "sensitive" in the API will not
24060// be included in the string output. The member name will be present, but the
24061// value will be replaced with "sensitive".
24062func (s DBClusterParameterGroup) GoString() string {
24063	return s.String()
24064}
24065
24066// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
24067func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
24068	s.DBClusterParameterGroupArn = &v
24069	return s
24070}
24071
24072// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
24073func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
24074	s.DBClusterParameterGroupName = &v
24075	return s
24076}
24077
24078// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
24079func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
24080	s.DBParameterGroupFamily = &v
24081	return s
24082}
24083
24084// SetDescription sets the Description field's value.
24085func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
24086	s.Description = &v
24087	return s
24088}
24089
24090type DBClusterParameterGroupNameMessage struct {
24091	_ struct{} `type:"structure"`
24092
24093	// The name of the DB cluster parameter group.
24094	//
24095	// Constraints:
24096	//
24097	//    * Must be 1 to 255 letters or numbers.
24098	//
24099	//    * First character must be a letter
24100	//
24101	//    * Can't end with a hyphen or contain two consecutive hyphens
24102	//
24103	// This value is stored as a lowercase string.
24104	DBClusterParameterGroupName *string `type:"string"`
24105}
24106
24107// String returns the string representation.
24108//
24109// API parameter values that are decorated as "sensitive" in the API will not
24110// be included in the string output. The member name will be present, but the
24111// value will be replaced with "sensitive".
24112func (s DBClusterParameterGroupNameMessage) String() string {
24113	return awsutil.Prettify(s)
24114}
24115
24116// GoString returns the string representation.
24117//
24118// API parameter values that are decorated as "sensitive" in the API will not
24119// be included in the string output. The member name will be present, but the
24120// value will be replaced with "sensitive".
24121func (s DBClusterParameterGroupNameMessage) GoString() string {
24122	return s.String()
24123}
24124
24125// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
24126func (s *DBClusterParameterGroupNameMessage) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroupNameMessage {
24127	s.DBClusterParameterGroupName = &v
24128	return s
24129}
24130
24131// Describes an Amazon Web Services Identity and Access Management (IAM) role
24132// that is associated with a DB cluster.
24133type DBClusterRole struct {
24134	_ struct{} `type:"structure"`
24135
24136	// The name of the feature associated with the Amazon Web Services Identity
24137	// and Access Management (IAM) role. For information about supported feature
24138	// names, see DBEngineVersion.
24139	FeatureName *string `type:"string"`
24140
24141	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
24142	// DB cluster.
24143	RoleArn *string `type:"string"`
24144
24145	// Describes the state of association between the IAM role and the DB cluster.
24146	// The Status property returns one of the following values:
24147	//
24148	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
24149	//    be used to access other Amazon Web Services on your behalf.
24150	//
24151	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
24152	//
24153	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
24154	//    DB cluster is unable to assume the IAM role in order to access other Amazon
24155	//    Web Services on your behalf.
24156	Status *string `type:"string"`
24157}
24158
24159// String returns the string representation.
24160//
24161// API parameter values that are decorated as "sensitive" in the API will not
24162// be included in the string output. The member name will be present, but the
24163// value will be replaced with "sensitive".
24164func (s DBClusterRole) String() string {
24165	return awsutil.Prettify(s)
24166}
24167
24168// GoString returns the string representation.
24169//
24170// API parameter values that are decorated as "sensitive" in the API will not
24171// be included in the string output. The member name will be present, but the
24172// value will be replaced with "sensitive".
24173func (s DBClusterRole) GoString() string {
24174	return s.String()
24175}
24176
24177// SetFeatureName sets the FeatureName field's value.
24178func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
24179	s.FeatureName = &v
24180	return s
24181}
24182
24183// SetRoleArn sets the RoleArn field's value.
24184func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
24185	s.RoleArn = &v
24186	return s
24187}
24188
24189// SetStatus sets the Status field's value.
24190func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
24191	s.Status = &v
24192	return s
24193}
24194
24195// Contains the details for an Amazon RDS DB cluster snapshot
24196//
24197// This data type is used as a response element in the DescribeDBClusterSnapshots
24198// action.
24199type DBClusterSnapshot struct {
24200	_ struct{} `type:"structure"`
24201
24202	// Specifies the allocated storage size in gibibytes (GiB).
24203	AllocatedStorage *int64 `type:"integer"`
24204
24205	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
24206	// snapshot can be restored.
24207	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
24208
24209	// Specifies the time when the DB cluster was created, in Universal Coordinated
24210	// Time (UTC).
24211	ClusterCreateTime *time.Time `type:"timestamp"`
24212
24213	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
24214	// snapshot was created from.
24215	DBClusterIdentifier *string `type:"string"`
24216
24217	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
24218	DBClusterSnapshotArn *string `type:"string"`
24219
24220	// Specifies the identifier for the DB cluster snapshot.
24221	DBClusterSnapshotIdentifier *string `type:"string"`
24222
24223	// Specifies the name of the database engine for this DB cluster snapshot.
24224	Engine *string `type:"string"`
24225
24226	// Provides the engine mode of the database engine for this DB cluster snapshot.
24227	EngineMode *string `type:"string"`
24228
24229	// Provides the version of the database engine for this DB cluster snapshot.
24230	EngineVersion *string `type:"string"`
24231
24232	// True if mapping of Amazon Web Services Identity and Access Management (IAM)
24233	// accounts to database accounts is enabled, and otherwise false.
24234	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
24235
24236	// If StorageEncrypted is true, the Amazon Web Services KMS key identifier for
24237	// the encrypted DB cluster snapshot.
24238	//
24239	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
24240	// ARN, or alias name for the KMS key.
24241	KmsKeyId *string `type:"string"`
24242
24243	// Provides the license model information for this DB cluster snapshot.
24244	LicenseModel *string `type:"string"`
24245
24246	// Provides the master username for this DB cluster snapshot.
24247	MasterUsername *string `type:"string"`
24248
24249	// Specifies the percentage of the estimated data that has been transferred.
24250	PercentProgress *int64 `type:"integer"`
24251
24252	// Specifies the port that the DB cluster was listening on at the time of the
24253	// snapshot.
24254	Port *int64 `type:"integer"`
24255
24256	// Provides the time when the snapshot was taken, in Universal Coordinated Time
24257	// (UTC).
24258	SnapshotCreateTime *time.Time `type:"timestamp"`
24259
24260	// Provides the type of the DB cluster snapshot.
24261	SnapshotType *string `type:"string"`
24262
24263	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
24264	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
24265	// a null value.
24266	SourceDBClusterSnapshotArn *string `type:"string"`
24267
24268	// Specifies the status of this DB cluster snapshot.
24269	Status *string `type:"string"`
24270
24271	// Specifies whether the DB cluster snapshot is encrypted.
24272	StorageEncrypted *bool `type:"boolean"`
24273
24274	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
24275	// in the Amazon RDS User Guide.
24276	TagList []*Tag `locationNameList:"Tag" type:"list"`
24277
24278	// Provides the VPC ID associated with the DB cluster snapshot.
24279	VpcId *string `type:"string"`
24280}
24281
24282// String returns the string representation.
24283//
24284// API parameter values that are decorated as "sensitive" in the API will not
24285// be included in the string output. The member name will be present, but the
24286// value will be replaced with "sensitive".
24287func (s DBClusterSnapshot) String() string {
24288	return awsutil.Prettify(s)
24289}
24290
24291// GoString returns the string representation.
24292//
24293// API parameter values that are decorated as "sensitive" in the API will not
24294// be included in the string output. The member name will be present, but the
24295// value will be replaced with "sensitive".
24296func (s DBClusterSnapshot) GoString() string {
24297	return s.String()
24298}
24299
24300// SetAllocatedStorage sets the AllocatedStorage field's value.
24301func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
24302	s.AllocatedStorage = &v
24303	return s
24304}
24305
24306// SetAvailabilityZones sets the AvailabilityZones field's value.
24307func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
24308	s.AvailabilityZones = v
24309	return s
24310}
24311
24312// SetClusterCreateTime sets the ClusterCreateTime field's value.
24313func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
24314	s.ClusterCreateTime = &v
24315	return s
24316}
24317
24318// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
24319func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
24320	s.DBClusterIdentifier = &v
24321	return s
24322}
24323
24324// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
24325func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
24326	s.DBClusterSnapshotArn = &v
24327	return s
24328}
24329
24330// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
24331func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
24332	s.DBClusterSnapshotIdentifier = &v
24333	return s
24334}
24335
24336// SetEngine sets the Engine field's value.
24337func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
24338	s.Engine = &v
24339	return s
24340}
24341
24342// SetEngineMode sets the EngineMode field's value.
24343func (s *DBClusterSnapshot) SetEngineMode(v string) *DBClusterSnapshot {
24344	s.EngineMode = &v
24345	return s
24346}
24347
24348// SetEngineVersion sets the EngineVersion field's value.
24349func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
24350	s.EngineVersion = &v
24351	return s
24352}
24353
24354// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
24355func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
24356	s.IAMDatabaseAuthenticationEnabled = &v
24357	return s
24358}
24359
24360// SetKmsKeyId sets the KmsKeyId field's value.
24361func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
24362	s.KmsKeyId = &v
24363	return s
24364}
24365
24366// SetLicenseModel sets the LicenseModel field's value.
24367func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
24368	s.LicenseModel = &v
24369	return s
24370}
24371
24372// SetMasterUsername sets the MasterUsername field's value.
24373func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
24374	s.MasterUsername = &v
24375	return s
24376}
24377
24378// SetPercentProgress sets the PercentProgress field's value.
24379func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
24380	s.PercentProgress = &v
24381	return s
24382}
24383
24384// SetPort sets the Port field's value.
24385func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
24386	s.Port = &v
24387	return s
24388}
24389
24390// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
24391func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
24392	s.SnapshotCreateTime = &v
24393	return s
24394}
24395
24396// SetSnapshotType sets the SnapshotType field's value.
24397func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
24398	s.SnapshotType = &v
24399	return s
24400}
24401
24402// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
24403func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
24404	s.SourceDBClusterSnapshotArn = &v
24405	return s
24406}
24407
24408// SetStatus sets the Status field's value.
24409func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
24410	s.Status = &v
24411	return s
24412}
24413
24414// SetStorageEncrypted sets the StorageEncrypted field's value.
24415func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
24416	s.StorageEncrypted = &v
24417	return s
24418}
24419
24420// SetTagList sets the TagList field's value.
24421func (s *DBClusterSnapshot) SetTagList(v []*Tag) *DBClusterSnapshot {
24422	s.TagList = v
24423	return s
24424}
24425
24426// SetVpcId sets the VpcId field's value.
24427func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
24428	s.VpcId = &v
24429	return s
24430}
24431
24432// Contains the name and values of a manual DB cluster snapshot attribute.
24433//
24434// Manual DB cluster snapshot attributes are used to authorize other Amazon
24435// Web Services accounts to restore a manual DB cluster snapshot. For more information,
24436// see the ModifyDBClusterSnapshotAttribute API action.
24437type DBClusterSnapshotAttribute struct {
24438	_ struct{} `type:"structure"`
24439
24440	// The name of the manual DB cluster snapshot attribute.
24441	//
24442	// The attribute named restore refers to the list of Amazon Web Services accounts
24443	// that have permission to copy or restore the manual DB cluster snapshot. For
24444	// more information, see the ModifyDBClusterSnapshotAttribute API action.
24445	AttributeName *string `type:"string"`
24446
24447	// The value(s) for the manual DB cluster snapshot attribute.
24448	//
24449	// If the AttributeName field is set to restore, then this element returns a
24450	// list of IDs of the Amazon Web Services accounts that are authorized to copy
24451	// or restore the manual DB cluster snapshot. If a value of all is in the list,
24452	// then the manual DB cluster snapshot is public and available for any Amazon
24453	// Web Services account to copy or restore.
24454	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
24455}
24456
24457// String returns the string representation.
24458//
24459// API parameter values that are decorated as "sensitive" in the API will not
24460// be included in the string output. The member name will be present, but the
24461// value will be replaced with "sensitive".
24462func (s DBClusterSnapshotAttribute) String() string {
24463	return awsutil.Prettify(s)
24464}
24465
24466// GoString returns the string representation.
24467//
24468// API parameter values that are decorated as "sensitive" in the API will not
24469// be included in the string output. The member name will be present, but the
24470// value will be replaced with "sensitive".
24471func (s DBClusterSnapshotAttribute) GoString() string {
24472	return s.String()
24473}
24474
24475// SetAttributeName sets the AttributeName field's value.
24476func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
24477	s.AttributeName = &v
24478	return s
24479}
24480
24481// SetAttributeValues sets the AttributeValues field's value.
24482func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
24483	s.AttributeValues = v
24484	return s
24485}
24486
24487// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
24488// API action.
24489//
24490// Manual DB cluster snapshot attributes are used to authorize other Amazon
24491// Web Services accounts to copy or restore a manual DB cluster snapshot. For
24492// more information, see the ModifyDBClusterSnapshotAttribute API action.
24493type DBClusterSnapshotAttributesResult struct {
24494	_ struct{} `type:"structure"`
24495
24496	// The list of attributes and values for the manual DB cluster snapshot.
24497	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
24498
24499	// The identifier of the manual DB cluster snapshot that the attributes apply
24500	// to.
24501	DBClusterSnapshotIdentifier *string `type:"string"`
24502}
24503
24504// String returns the string representation.
24505//
24506// API parameter values that are decorated as "sensitive" in the API will not
24507// be included in the string output. The member name will be present, but the
24508// value will be replaced with "sensitive".
24509func (s DBClusterSnapshotAttributesResult) String() string {
24510	return awsutil.Prettify(s)
24511}
24512
24513// GoString returns the string representation.
24514//
24515// API parameter values that are decorated as "sensitive" in the API will not
24516// be included in the string output. The member name will be present, but the
24517// value will be replaced with "sensitive".
24518func (s DBClusterSnapshotAttributesResult) GoString() string {
24519	return s.String()
24520}
24521
24522// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
24523func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
24524	s.DBClusterSnapshotAttributes = v
24525	return s
24526}
24527
24528// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
24529func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
24530	s.DBClusterSnapshotIdentifier = &v
24531	return s
24532}
24533
24534// This data type is used as a response element in the action DescribeDBEngineVersions.
24535type DBEngineVersion struct {
24536	_ struct{} `type:"structure"`
24537
24538	// The creation time of the DB engine version.
24539	CreateTime *time.Time `type:"timestamp"`
24540
24541	// The description of the database engine.
24542	DBEngineDescription *string `type:"string"`
24543
24544	// The ARN of the custom engine version.
24545	DBEngineVersionArn *string `type:"string"`
24546
24547	// The description of the database engine version.
24548	DBEngineVersionDescription *string `type:"string"`
24549
24550	// The name of the DB parameter group family for the database engine.
24551	DBParameterGroupFamily *string `type:"string"`
24552
24553	// The name of the Amazon S3 bucket that contains your database installation
24554	// files.
24555	DatabaseInstallationFilesS3BucketName *string `type:"string"`
24556
24557	// The Amazon S3 directory that contains the database installation files. If
24558	// not specified, then no prefix is assumed.
24559	DatabaseInstallationFilesS3Prefix *string `type:"string"`
24560
24561	// The default character set for new instances of this engine version, if the
24562	// CharacterSetName parameter of the CreateDBInstance API isn't specified.
24563	DefaultCharacterSet *CharacterSet `type:"structure"`
24564
24565	// The name of the database engine.
24566	Engine *string `type:"string"`
24567
24568	// The version number of the database engine.
24569	EngineVersion *string `type:"string"`
24570
24571	// The types of logs that the database engine has available for export to CloudWatch
24572	// Logs.
24573	ExportableLogTypes []*string `type:"list"`
24574
24575	// The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter
24576	// is required for RDS Custom, but optional for Amazon RDS.
24577	KMSKeyId *string `type:"string"`
24578
24579	// The major engine version of the CEV.
24580	MajorEngineVersion *string `type:"string"`
24581
24582	// The status of the DB engine version, either available or deprecated.
24583	Status *string `type:"string"`
24584
24585	// A list of the character sets supported by this engine for the CharacterSetName
24586	// parameter of the CreateDBInstance operation.
24587	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
24588
24589	// A list of the supported DB engine modes.
24590	SupportedEngineModes []*string `type:"list"`
24591
24592	// A list of features supported by the DB engine.
24593	//
24594	// The supported features vary by DB engine and DB engine version.
24595	//
24596	// To determine the supported features for a specific DB engine and DB engine
24597	// version using the CLI, use the following command:
24598	//
24599	// aws rds describe-db-engine-versions --engine <engine_name> --engine-version
24600	// <engine_version>
24601	//
24602	// For example, to determine the supported features for RDS for PostgreSQL version
24603	// 13.3 using the CLI, use the following command:
24604	//
24605	// aws rds describe-db-engine-versions --engine postgres --engine-version 13.3
24606	//
24607	// The supported features are listed under SupportedFeatureNames in the output.
24608	SupportedFeatureNames []*string `type:"list"`
24609
24610	// A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName
24611	// parameter of the CreateDBInstance operation.
24612	SupportedNcharCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
24613
24614	// A list of the time zones supported by this engine for the Timezone parameter
24615	// of the CreateDBInstance action.
24616	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
24617
24618	// A value that indicates whether you can use Aurora global databases with a
24619	// specific DB engine version.
24620	SupportsGlobalDatabases *bool `type:"boolean"`
24621
24622	// A value that indicates whether the engine version supports exporting the
24623	// log types specified by ExportableLogTypes to CloudWatch Logs.
24624	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
24625
24626	// A value that indicates whether you can use Aurora parallel query with a specific
24627	// DB engine version.
24628	SupportsParallelQuery *bool `type:"boolean"`
24629
24630	// Indicates whether the database engine version supports read replicas.
24631	SupportsReadReplica *bool `type:"boolean"`
24632
24633	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
24634	// in the Amazon RDS User Guide.
24635	TagList []*Tag `locationNameList:"Tag" type:"list"`
24636
24637	// A list of engine versions that this database engine version can be upgraded
24638	// to.
24639	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
24640}
24641
24642// String returns the string representation.
24643//
24644// API parameter values that are decorated as "sensitive" in the API will not
24645// be included in the string output. The member name will be present, but the
24646// value will be replaced with "sensitive".
24647func (s DBEngineVersion) String() string {
24648	return awsutil.Prettify(s)
24649}
24650
24651// GoString returns the string representation.
24652//
24653// API parameter values that are decorated as "sensitive" in the API will not
24654// be included in the string output. The member name will be present, but the
24655// value will be replaced with "sensitive".
24656func (s DBEngineVersion) GoString() string {
24657	return s.String()
24658}
24659
24660// SetCreateTime sets the CreateTime field's value.
24661func (s *DBEngineVersion) SetCreateTime(v time.Time) *DBEngineVersion {
24662	s.CreateTime = &v
24663	return s
24664}
24665
24666// SetDBEngineDescription sets the DBEngineDescription field's value.
24667func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
24668	s.DBEngineDescription = &v
24669	return s
24670}
24671
24672// SetDBEngineVersionArn sets the DBEngineVersionArn field's value.
24673func (s *DBEngineVersion) SetDBEngineVersionArn(v string) *DBEngineVersion {
24674	s.DBEngineVersionArn = &v
24675	return s
24676}
24677
24678// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
24679func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
24680	s.DBEngineVersionDescription = &v
24681	return s
24682}
24683
24684// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
24685func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
24686	s.DBParameterGroupFamily = &v
24687	return s
24688}
24689
24690// SetDatabaseInstallationFilesS3BucketName sets the DatabaseInstallationFilesS3BucketName field's value.
24691func (s *DBEngineVersion) SetDatabaseInstallationFilesS3BucketName(v string) *DBEngineVersion {
24692	s.DatabaseInstallationFilesS3BucketName = &v
24693	return s
24694}
24695
24696// SetDatabaseInstallationFilesS3Prefix sets the DatabaseInstallationFilesS3Prefix field's value.
24697func (s *DBEngineVersion) SetDatabaseInstallationFilesS3Prefix(v string) *DBEngineVersion {
24698	s.DatabaseInstallationFilesS3Prefix = &v
24699	return s
24700}
24701
24702// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
24703func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
24704	s.DefaultCharacterSet = v
24705	return s
24706}
24707
24708// SetEngine sets the Engine field's value.
24709func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
24710	s.Engine = &v
24711	return s
24712}
24713
24714// SetEngineVersion sets the EngineVersion field's value.
24715func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
24716	s.EngineVersion = &v
24717	return s
24718}
24719
24720// SetExportableLogTypes sets the ExportableLogTypes field's value.
24721func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
24722	s.ExportableLogTypes = v
24723	return s
24724}
24725
24726// SetKMSKeyId sets the KMSKeyId field's value.
24727func (s *DBEngineVersion) SetKMSKeyId(v string) *DBEngineVersion {
24728	s.KMSKeyId = &v
24729	return s
24730}
24731
24732// SetMajorEngineVersion sets the MajorEngineVersion field's value.
24733func (s *DBEngineVersion) SetMajorEngineVersion(v string) *DBEngineVersion {
24734	s.MajorEngineVersion = &v
24735	return s
24736}
24737
24738// SetStatus sets the Status field's value.
24739func (s *DBEngineVersion) SetStatus(v string) *DBEngineVersion {
24740	s.Status = &v
24741	return s
24742}
24743
24744// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
24745func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
24746	s.SupportedCharacterSets = v
24747	return s
24748}
24749
24750// SetSupportedEngineModes sets the SupportedEngineModes field's value.
24751func (s *DBEngineVersion) SetSupportedEngineModes(v []*string) *DBEngineVersion {
24752	s.SupportedEngineModes = v
24753	return s
24754}
24755
24756// SetSupportedFeatureNames sets the SupportedFeatureNames field's value.
24757func (s *DBEngineVersion) SetSupportedFeatureNames(v []*string) *DBEngineVersion {
24758	s.SupportedFeatureNames = v
24759	return s
24760}
24761
24762// SetSupportedNcharCharacterSets sets the SupportedNcharCharacterSets field's value.
24763func (s *DBEngineVersion) SetSupportedNcharCharacterSets(v []*CharacterSet) *DBEngineVersion {
24764	s.SupportedNcharCharacterSets = v
24765	return s
24766}
24767
24768// SetSupportedTimezones sets the SupportedTimezones field's value.
24769func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
24770	s.SupportedTimezones = v
24771	return s
24772}
24773
24774// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
24775func (s *DBEngineVersion) SetSupportsGlobalDatabases(v bool) *DBEngineVersion {
24776	s.SupportsGlobalDatabases = &v
24777	return s
24778}
24779
24780// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
24781func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
24782	s.SupportsLogExportsToCloudwatchLogs = &v
24783	return s
24784}
24785
24786// SetSupportsParallelQuery sets the SupportsParallelQuery field's value.
24787func (s *DBEngineVersion) SetSupportsParallelQuery(v bool) *DBEngineVersion {
24788	s.SupportsParallelQuery = &v
24789	return s
24790}
24791
24792// SetSupportsReadReplica sets the SupportsReadReplica field's value.
24793func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
24794	s.SupportsReadReplica = &v
24795	return s
24796}
24797
24798// SetTagList sets the TagList field's value.
24799func (s *DBEngineVersion) SetTagList(v []*Tag) *DBEngineVersion {
24800	s.TagList = v
24801	return s
24802}
24803
24804// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
24805func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
24806	s.ValidUpgradeTarget = v
24807	return s
24808}
24809
24810// Contains the details of an Amazon RDS DB instance.
24811//
24812// This data type is used as a response element in the DescribeDBInstances action.
24813type DBInstance struct {
24814	_ struct{} `type:"structure"`
24815
24816	// Indicates whether engine-native audit fields are included in the database
24817	// activity stream.
24818	ActivityStreamEngineNativeAuditFieldsIncluded *bool `type:"boolean"`
24819
24820	// The name of the Amazon Kinesis data stream used for the database activity
24821	// stream.
24822	ActivityStreamKinesisStreamName *string `type:"string"`
24823
24824	// The Amazon Web Services KMS key identifier used for encrypting messages in
24825	// the database activity stream. The Amazon Web Services KMS key identifier
24826	// is the key ARN, key ID, alias ARN, or alias name for the KMS key.
24827	ActivityStreamKmsKeyId *string `type:"string"`
24828
24829	// The mode of the database activity stream. Database events such as a change
24830	// or access generate an activity stream event. RDS for Oracle always handles
24831	// these events asynchronously.
24832	ActivityStreamMode *string `type:"string" enum:"ActivityStreamMode"`
24833
24834	// The status of the database activity stream.
24835	ActivityStreamStatus *string `type:"string" enum:"ActivityStreamStatus"`
24836
24837	// Specifies the allocated storage size specified in gibibytes (GiB).
24838	AllocatedStorage *int64 `type:"integer"`
24839
24840	// The Amazon Web Services Identity and Access Management (IAM) roles associated
24841	// with the DB instance.
24842	AssociatedRoles []*DBInstanceRole `locationNameList:"DBInstanceRole" type:"list"`
24843
24844	// A value that indicates that minor version patches are applied automatically.
24845	AutoMinorVersionUpgrade *bool `type:"boolean"`
24846
24847	// The time when a stopped DB instance is restarted automatically.
24848	AutomaticRestartTime *time.Time `type:"timestamp"`
24849
24850	// The automation mode of the RDS Custom DB instance: full or all paused. If
24851	// full, the DB instance automates monitoring and instance recovery. If all
24852	// paused, the instance pauses automation for the duration set by --resume-full-automation-mode-minutes.
24853	AutomationMode *string `type:"string" enum:"AutomationMode"`
24854
24855	// Specifies the name of the Availability Zone the DB instance is located in.
24856	AvailabilityZone *string `type:"string"`
24857
24858	// The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services
24859	// Backup.
24860	AwsBackupRecoveryPointArn *string `type:"string"`
24861
24862	// Specifies the number of days for which automatic DB snapshots are retained.
24863	BackupRetentionPeriod *int64 `type:"integer"`
24864
24865	// The identifier of the CA certificate for this DB instance.
24866	CACertificateIdentifier *string `type:"string"`
24867
24868	// If present, specifies the name of the character set that this instance is
24869	// associated with.
24870	CharacterSetName *string `type:"string"`
24871
24872	// Specifies whether tags are copied from the DB instance to snapshots of the
24873	// DB instance.
24874	//
24875	// Amazon Aurora
24876	//
24877	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
24878	// this value for an Aurora DB instance has no effect on the DB cluster setting.
24879	// For more information, see DBCluster.
24880	CopyTagsToSnapshot *bool `type:"boolean"`
24881
24882	// The instance profile associated with the underlying Amazon EC2 instance of
24883	// an RDS Custom DB instance. The instance profile must meet the following requirements:
24884	//
24885	//    * The profile must exist in your account.
24886	//
24887	//    * The profile must have an IAM role that Amazon EC2 has permissions to
24888	//    assume.
24889	//
24890	//    * The instance profile name and the associated IAM role name must start
24891	//    with the prefix AWSRDSCustom.
24892	//
24893	// For the list of permissions required for the IAM role, see Configure IAM
24894	// and your VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)
24895	// in the Amazon Relational Database Service User Guide.
24896	CustomIamInstanceProfile *string `type:"string"`
24897
24898	// Specifies whether a customer-owned IP address (CoIP) is enabled for an RDS
24899	// on Outposts DB instance.
24900	//
24901	// A CoIP provides local or external connectivity to resources in your Outpost
24902	// subnets through your on-premises network. For some use cases, a CoIP can
24903	// provide lower latency for connections to the DB instance from outside of
24904	// its virtual private cloud (VPC) on your local network.
24905	//
24906	// For more information about RDS on Outposts, see Working with Amazon RDS on
24907	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
24908	// in the Amazon RDS User Guide.
24909	//
24910	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
24911	// in the Amazon Web Services Outposts User Guide.
24912	CustomerOwnedIpEnabled *bool `type:"boolean"`
24913
24914	// If the DB instance is a member of a DB cluster, contains the name of the
24915	// DB cluster that the DB instance is a member of.
24916	DBClusterIdentifier *string `type:"string"`
24917
24918	// The Amazon Resource Name (ARN) for the DB instance.
24919	DBInstanceArn *string `type:"string"`
24920
24921	// The list of replicated automated backups associated with the DB instance.
24922	DBInstanceAutomatedBackupsReplications []*DBInstanceAutomatedBackupsReplication `locationNameList:"DBInstanceAutomatedBackupsReplication" type:"list"`
24923
24924	// Contains the name of the compute and memory capacity class of the DB instance.
24925	DBInstanceClass *string `type:"string"`
24926
24927	// Contains a user-supplied database identifier. This identifier is the unique
24928	// key that identifies a DB instance.
24929	DBInstanceIdentifier *string `type:"string"`
24930
24931	// Specifies the current state of this database.
24932	//
24933	// For information about DB instance statuses, see Viewing DB instance status
24934	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/accessing-monitoring.html#Overview.DBInstance.Status)
24935	// in the Amazon RDS User Guide.
24936	DBInstanceStatus *string `type:"string"`
24937
24938	// The meaning of this parameter differs according to the database engine you
24939	// use.
24940	//
24941	// MySQL, MariaDB, SQL Server, PostgreSQL
24942	//
24943	// Contains the name of the initial database of this instance that was provided
24944	// at create time, if one was specified when the DB instance was created. This
24945	// same name is returned for the life of the DB instance.
24946	//
24947	// Type: String
24948	//
24949	// Oracle
24950	//
24951	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
24952	// when the returned parameters do not apply to an Oracle DB instance.
24953	DBName *string `type:"string"`
24954
24955	// Provides the list of DB parameter groups applied to this DB instance.
24956	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
24957
24958	// A list of DB security group elements containing DBSecurityGroup.Name and
24959	// DBSecurityGroup.Status subelements.
24960	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
24961
24962	// Specifies information on the subnet group associated with the DB instance,
24963	// including the name, description, and subnets in the subnet group.
24964	DBSubnetGroup *DBSubnetGroup `type:"structure"`
24965
24966	// Specifies the port that the DB instance listens on. If the DB instance is
24967	// part of a DB cluster, this can be a different port than the DB cluster port.
24968	DbInstancePort *int64 `type:"integer"`
24969
24970	// The Amazon Web Services Region-unique, immutable identifier for the DB instance.
24971	// This identifier is found in Amazon Web Services CloudTrail log entries whenever
24972	// the Amazon Web Services KMS key for the DB instance is accessed.
24973	DbiResourceId *string `type:"string"`
24974
24975	// Indicates if the DB instance has deletion protection enabled. The database
24976	// can't be deleted when deletion protection is enabled. For more information,
24977	// see Deleting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
24978	DeletionProtection *bool `type:"boolean"`
24979
24980	// The Active Directory Domain membership records associated with the DB instance.
24981	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
24982
24983	// A list of log types that this DB instance is configured to export to CloudWatch
24984	// Logs.
24985	//
24986	// Log types vary by DB engine. For information about the log types for each
24987	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)
24988	// in the Amazon RDS User Guide.
24989	EnabledCloudwatchLogsExports []*string `type:"list"`
24990
24991	// Specifies the connection endpoint.
24992	//
24993	// The endpoint might not be shown for instances whose status is creating.
24994	Endpoint *Endpoint `type:"structure"`
24995
24996	// The name of the database engine to be used for this DB instance.
24997	Engine *string `type:"string"`
24998
24999	// Indicates the database engine version.
25000	EngineVersion *string `type:"string"`
25001
25002	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
25003	// receives the Enhanced Monitoring metrics data for the DB instance.
25004	EnhancedMonitoringResourceArn *string `type:"string"`
25005
25006	// True if mapping of Amazon Web Services Identity and Access Management (IAM)
25007	// accounts to database accounts is enabled, and otherwise false.
25008	//
25009	// IAM database authentication can be enabled for the following database engines
25010	//
25011	//    * For MySQL 5.6, minor version 5.6.34 or higher
25012	//
25013	//    * For MySQL 5.7, minor version 5.7.16 or higher
25014	//
25015	//    * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,
25016	//    see DBCluster Type.
25017	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
25018
25019	// Provides the date and time the DB instance was created.
25020	InstanceCreateTime *time.Time `type:"timestamp"`
25021
25022	// Specifies the Provisioned IOPS (I/O operations per second) value.
25023	Iops *int64 `type:"integer"`
25024
25025	// If StorageEncrypted is true, the Amazon Web Services KMS key identifier for
25026	// the encrypted DB instance.
25027	//
25028	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
25029	// ARN, or alias name for the KMS key.
25030	KmsKeyId *string `type:"string"`
25031
25032	// Specifies the latest time to which a database can be restored with point-in-time
25033	// restore.
25034	LatestRestorableTime *time.Time `type:"timestamp"`
25035
25036	// License model information for this DB instance. This setting doesn't apply
25037	// to RDS Custom.
25038	LicenseModel *string `type:"string"`
25039
25040	// Specifies the listener connection endpoint for SQL Server Always On.
25041	ListenerEndpoint *Endpoint `type:"structure"`
25042
25043	// Contains the master username for the DB instance.
25044	MasterUsername *string `type:"string"`
25045
25046	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
25047	// scale the storage of the DB instance.
25048	MaxAllocatedStorage *int64 `type:"integer"`
25049
25050	// The interval, in seconds, between points when Enhanced Monitoring metrics
25051	// are collected for the DB instance.
25052	MonitoringInterval *int64 `type:"integer"`
25053
25054	// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics
25055	// to Amazon CloudWatch Logs.
25056	MonitoringRoleArn *string `type:"string"`
25057
25058	// Specifies if the DB instance is a Multi-AZ deployment. This setting doesn't
25059	// apply to RDS Custom.
25060	MultiAZ *bool `type:"boolean"`
25061
25062	// The name of the NCHAR character set for the Oracle DB instance. This character
25063	// set specifies the Unicode encoding for data stored in table columns of type
25064	// NCHAR, NCLOB, or NVARCHAR2.
25065	NcharCharacterSetName *string `type:"string"`
25066
25067	// Provides the list of option group memberships for this DB instance.
25068	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
25069
25070	// A value that specifies that changes to the DB instance are pending. This
25071	// element is only included when changes are pending. Specific changes are identified
25072	// by subelements.
25073	PendingModifiedValues *PendingModifiedValues `type:"structure"`
25074
25075	// True if Performance Insights is enabled for the DB instance, and otherwise
25076	// false.
25077	PerformanceInsightsEnabled *bool `type:"boolean"`
25078
25079	// The Amazon Web Services KMS key identifier for encryption of Performance
25080	// Insights data.
25081	//
25082	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
25083	// ARN, or alias name for the KMS key.
25084	PerformanceInsightsKMSKeyId *string `type:"string"`
25085
25086	// The amount of time, in days, to retain Performance Insights data. Valid values
25087	// are 7 or 731 (2 years).
25088	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
25089
25090	// Specifies the daily time range during which automated backups are created
25091	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
25092	PreferredBackupWindow *string `type:"string"`
25093
25094	// Specifies the weekly time range during which system maintenance can occur,
25095	// in Universal Coordinated Time (UTC).
25096	PreferredMaintenanceWindow *string `type:"string"`
25097
25098	// The number of CPU cores and the number of threads per core for the DB instance
25099	// class of the DB instance.
25100	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
25101
25102	// A value that specifies the order in which an Aurora Replica is promoted to
25103	// the primary instance after a failure of the existing primary instance. For
25104	// 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)
25105	// in the Amazon Aurora User Guide.
25106	PromotionTier *int64 `type:"integer"`
25107
25108	// Specifies the accessibility options for the DB instance.
25109	//
25110	// When the DB instance is publicly accessible, its DNS endpoint resolves to
25111	// the private IP address from within the DB instance's VPC, and to the public
25112	// IP address from outside of the DB instance's VPC. Access to the DB instance
25113	// is ultimately controlled by the security group it uses, and that public access
25114	// is not permitted if the security group assigned to the DB instance doesn't
25115	// permit it.
25116	//
25117	// When the DB instance isn't publicly accessible, it is an internal DB instance
25118	// with a DNS name that resolves to a private IP address.
25119	//
25120	// For more information, see CreateDBInstance.
25121	PubliclyAccessible *bool `type:"boolean"`
25122
25123	// Contains one or more identifiers of Aurora DB clusters to which the RDS DB
25124	// instance is replicated as a read replica. For example, when you create an
25125	// Aurora read replica of an RDS MySQL DB instance, the Aurora MySQL DB cluster
25126	// for the Aurora read replica is shown. This output does not contain information
25127	// about cross region Aurora read replicas.
25128	//
25129	// Currently, each RDS DB instance can have only one Aurora read replica.
25130	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
25131
25132	// Contains one or more identifiers of the read replicas associated with this
25133	// DB instance.
25134	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
25135
25136	// Contains the identifier of the source DB instance if this DB instance is
25137	// a read replica.
25138	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
25139
25140	// The open mode of an Oracle read replica. The default is open-read-only. For
25141	// more information, see Working with Oracle Read Replicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
25142	// in the Amazon RDS User Guide.
25143	//
25144	// This attribute is only supported in RDS for Oracle.
25145	ReplicaMode *string `type:"string" enum:"ReplicaMode"`
25146
25147	// The number of minutes to pause the automation. When the time period ends,
25148	// RDS Custom resumes full automation. The minimum value is 60 (default). The
25149	// maximum value is 1,440.
25150	ResumeFullAutomationModeTime *time.Time `type:"timestamp"`
25151
25152	// If present, specifies the name of the secondary Availability Zone for a DB
25153	// instance with multi-AZ support.
25154	SecondaryAvailabilityZone *string `type:"string"`
25155
25156	// The status of a read replica. If the instance isn't a read replica, this
25157	// is blank.
25158	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
25159
25160	// Specifies whether the DB instance is encrypted.
25161	StorageEncrypted *bool `type:"boolean"`
25162
25163	// Specifies the storage type associated with DB instance.
25164	StorageType *string `type:"string"`
25165
25166	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
25167	// in the Amazon RDS User Guide.
25168	TagList []*Tag `locationNameList:"Tag" type:"list"`
25169
25170	// The ARN from the key store with which the instance is associated for TDE
25171	// encryption.
25172	TdeCredentialArn *string `type:"string"`
25173
25174	// The time zone of the DB instance. In most cases, the Timezone element is
25175	// empty. Timezone content appears only for Microsoft SQL Server DB instances
25176	// that were created with a time zone specified.
25177	Timezone *string `type:"string"`
25178
25179	// Provides a list of VPC security group elements that the DB instance belongs
25180	// to.
25181	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
25182}
25183
25184// String returns the string representation.
25185//
25186// API parameter values that are decorated as "sensitive" in the API will not
25187// be included in the string output. The member name will be present, but the
25188// value will be replaced with "sensitive".
25189func (s DBInstance) String() string {
25190	return awsutil.Prettify(s)
25191}
25192
25193// GoString returns the string representation.
25194//
25195// API parameter values that are decorated as "sensitive" in the API will not
25196// be included in the string output. The member name will be present, but the
25197// value will be replaced with "sensitive".
25198func (s DBInstance) GoString() string {
25199	return s.String()
25200}
25201
25202// SetActivityStreamEngineNativeAuditFieldsIncluded sets the ActivityStreamEngineNativeAuditFieldsIncluded field's value.
25203func (s *DBInstance) SetActivityStreamEngineNativeAuditFieldsIncluded(v bool) *DBInstance {
25204	s.ActivityStreamEngineNativeAuditFieldsIncluded = &v
25205	return s
25206}
25207
25208// SetActivityStreamKinesisStreamName sets the ActivityStreamKinesisStreamName field's value.
25209func (s *DBInstance) SetActivityStreamKinesisStreamName(v string) *DBInstance {
25210	s.ActivityStreamKinesisStreamName = &v
25211	return s
25212}
25213
25214// SetActivityStreamKmsKeyId sets the ActivityStreamKmsKeyId field's value.
25215func (s *DBInstance) SetActivityStreamKmsKeyId(v string) *DBInstance {
25216	s.ActivityStreamKmsKeyId = &v
25217	return s
25218}
25219
25220// SetActivityStreamMode sets the ActivityStreamMode field's value.
25221func (s *DBInstance) SetActivityStreamMode(v string) *DBInstance {
25222	s.ActivityStreamMode = &v
25223	return s
25224}
25225
25226// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
25227func (s *DBInstance) SetActivityStreamStatus(v string) *DBInstance {
25228	s.ActivityStreamStatus = &v
25229	return s
25230}
25231
25232// SetAllocatedStorage sets the AllocatedStorage field's value.
25233func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
25234	s.AllocatedStorage = &v
25235	return s
25236}
25237
25238// SetAssociatedRoles sets the AssociatedRoles field's value.
25239func (s *DBInstance) SetAssociatedRoles(v []*DBInstanceRole) *DBInstance {
25240	s.AssociatedRoles = v
25241	return s
25242}
25243
25244// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
25245func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
25246	s.AutoMinorVersionUpgrade = &v
25247	return s
25248}
25249
25250// SetAutomaticRestartTime sets the AutomaticRestartTime field's value.
25251func (s *DBInstance) SetAutomaticRestartTime(v time.Time) *DBInstance {
25252	s.AutomaticRestartTime = &v
25253	return s
25254}
25255
25256// SetAutomationMode sets the AutomationMode field's value.
25257func (s *DBInstance) SetAutomationMode(v string) *DBInstance {
25258	s.AutomationMode = &v
25259	return s
25260}
25261
25262// SetAvailabilityZone sets the AvailabilityZone field's value.
25263func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
25264	s.AvailabilityZone = &v
25265	return s
25266}
25267
25268// SetAwsBackupRecoveryPointArn sets the AwsBackupRecoveryPointArn field's value.
25269func (s *DBInstance) SetAwsBackupRecoveryPointArn(v string) *DBInstance {
25270	s.AwsBackupRecoveryPointArn = &v
25271	return s
25272}
25273
25274// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
25275func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
25276	s.BackupRetentionPeriod = &v
25277	return s
25278}
25279
25280// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
25281func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
25282	s.CACertificateIdentifier = &v
25283	return s
25284}
25285
25286// SetCharacterSetName sets the CharacterSetName field's value.
25287func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
25288	s.CharacterSetName = &v
25289	return s
25290}
25291
25292// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
25293func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
25294	s.CopyTagsToSnapshot = &v
25295	return s
25296}
25297
25298// SetCustomIamInstanceProfile sets the CustomIamInstanceProfile field's value.
25299func (s *DBInstance) SetCustomIamInstanceProfile(v string) *DBInstance {
25300	s.CustomIamInstanceProfile = &v
25301	return s
25302}
25303
25304// SetCustomerOwnedIpEnabled sets the CustomerOwnedIpEnabled field's value.
25305func (s *DBInstance) SetCustomerOwnedIpEnabled(v bool) *DBInstance {
25306	s.CustomerOwnedIpEnabled = &v
25307	return s
25308}
25309
25310// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25311func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
25312	s.DBClusterIdentifier = &v
25313	return s
25314}
25315
25316// SetDBInstanceArn sets the DBInstanceArn field's value.
25317func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
25318	s.DBInstanceArn = &v
25319	return s
25320}
25321
25322// SetDBInstanceAutomatedBackupsReplications sets the DBInstanceAutomatedBackupsReplications field's value.
25323func (s *DBInstance) SetDBInstanceAutomatedBackupsReplications(v []*DBInstanceAutomatedBackupsReplication) *DBInstance {
25324	s.DBInstanceAutomatedBackupsReplications = v
25325	return s
25326}
25327
25328// SetDBInstanceClass sets the DBInstanceClass field's value.
25329func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
25330	s.DBInstanceClass = &v
25331	return s
25332}
25333
25334// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
25335func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
25336	s.DBInstanceIdentifier = &v
25337	return s
25338}
25339
25340// SetDBInstanceStatus sets the DBInstanceStatus field's value.
25341func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
25342	s.DBInstanceStatus = &v
25343	return s
25344}
25345
25346// SetDBName sets the DBName field's value.
25347func (s *DBInstance) SetDBName(v string) *DBInstance {
25348	s.DBName = &v
25349	return s
25350}
25351
25352// SetDBParameterGroups sets the DBParameterGroups field's value.
25353func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
25354	s.DBParameterGroups = v
25355	return s
25356}
25357
25358// SetDBSecurityGroups sets the DBSecurityGroups field's value.
25359func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
25360	s.DBSecurityGroups = v
25361	return s
25362}
25363
25364// SetDBSubnetGroup sets the DBSubnetGroup field's value.
25365func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
25366	s.DBSubnetGroup = v
25367	return s
25368}
25369
25370// SetDbInstancePort sets the DbInstancePort field's value.
25371func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
25372	s.DbInstancePort = &v
25373	return s
25374}
25375
25376// SetDbiResourceId sets the DbiResourceId field's value.
25377func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
25378	s.DbiResourceId = &v
25379	return s
25380}
25381
25382// SetDeletionProtection sets the DeletionProtection field's value.
25383func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
25384	s.DeletionProtection = &v
25385	return s
25386}
25387
25388// SetDomainMemberships sets the DomainMemberships field's value.
25389func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
25390	s.DomainMemberships = v
25391	return s
25392}
25393
25394// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
25395func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
25396	s.EnabledCloudwatchLogsExports = v
25397	return s
25398}
25399
25400// SetEndpoint sets the Endpoint field's value.
25401func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
25402	s.Endpoint = v
25403	return s
25404}
25405
25406// SetEngine sets the Engine field's value.
25407func (s *DBInstance) SetEngine(v string) *DBInstance {
25408	s.Engine = &v
25409	return s
25410}
25411
25412// SetEngineVersion sets the EngineVersion field's value.
25413func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
25414	s.EngineVersion = &v
25415	return s
25416}
25417
25418// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
25419func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
25420	s.EnhancedMonitoringResourceArn = &v
25421	return s
25422}
25423
25424// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
25425func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
25426	s.IAMDatabaseAuthenticationEnabled = &v
25427	return s
25428}
25429
25430// SetInstanceCreateTime sets the InstanceCreateTime field's value.
25431func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
25432	s.InstanceCreateTime = &v
25433	return s
25434}
25435
25436// SetIops sets the Iops field's value.
25437func (s *DBInstance) SetIops(v int64) *DBInstance {
25438	s.Iops = &v
25439	return s
25440}
25441
25442// SetKmsKeyId sets the KmsKeyId field's value.
25443func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
25444	s.KmsKeyId = &v
25445	return s
25446}
25447
25448// SetLatestRestorableTime sets the LatestRestorableTime field's value.
25449func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
25450	s.LatestRestorableTime = &v
25451	return s
25452}
25453
25454// SetLicenseModel sets the LicenseModel field's value.
25455func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
25456	s.LicenseModel = &v
25457	return s
25458}
25459
25460// SetListenerEndpoint sets the ListenerEndpoint field's value.
25461func (s *DBInstance) SetListenerEndpoint(v *Endpoint) *DBInstance {
25462	s.ListenerEndpoint = v
25463	return s
25464}
25465
25466// SetMasterUsername sets the MasterUsername field's value.
25467func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
25468	s.MasterUsername = &v
25469	return s
25470}
25471
25472// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
25473func (s *DBInstance) SetMaxAllocatedStorage(v int64) *DBInstance {
25474	s.MaxAllocatedStorage = &v
25475	return s
25476}
25477
25478// SetMonitoringInterval sets the MonitoringInterval field's value.
25479func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
25480	s.MonitoringInterval = &v
25481	return s
25482}
25483
25484// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
25485func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
25486	s.MonitoringRoleArn = &v
25487	return s
25488}
25489
25490// SetMultiAZ sets the MultiAZ field's value.
25491func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
25492	s.MultiAZ = &v
25493	return s
25494}
25495
25496// SetNcharCharacterSetName sets the NcharCharacterSetName field's value.
25497func (s *DBInstance) SetNcharCharacterSetName(v string) *DBInstance {
25498	s.NcharCharacterSetName = &v
25499	return s
25500}
25501
25502// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
25503func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
25504	s.OptionGroupMemberships = v
25505	return s
25506}
25507
25508// SetPendingModifiedValues sets the PendingModifiedValues field's value.
25509func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
25510	s.PendingModifiedValues = v
25511	return s
25512}
25513
25514// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
25515func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
25516	s.PerformanceInsightsEnabled = &v
25517	return s
25518}
25519
25520// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
25521func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
25522	s.PerformanceInsightsKMSKeyId = &v
25523	return s
25524}
25525
25526// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
25527func (s *DBInstance) SetPerformanceInsightsRetentionPeriod(v int64) *DBInstance {
25528	s.PerformanceInsightsRetentionPeriod = &v
25529	return s
25530}
25531
25532// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
25533func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
25534	s.PreferredBackupWindow = &v
25535	return s
25536}
25537
25538// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
25539func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
25540	s.PreferredMaintenanceWindow = &v
25541	return s
25542}
25543
25544// SetProcessorFeatures sets the ProcessorFeatures field's value.
25545func (s *DBInstance) SetProcessorFeatures(v []*ProcessorFeature) *DBInstance {
25546	s.ProcessorFeatures = v
25547	return s
25548}
25549
25550// SetPromotionTier sets the PromotionTier field's value.
25551func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
25552	s.PromotionTier = &v
25553	return s
25554}
25555
25556// SetPubliclyAccessible sets the PubliclyAccessible field's value.
25557func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
25558	s.PubliclyAccessible = &v
25559	return s
25560}
25561
25562// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
25563func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
25564	s.ReadReplicaDBClusterIdentifiers = v
25565	return s
25566}
25567
25568// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
25569func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
25570	s.ReadReplicaDBInstanceIdentifiers = v
25571	return s
25572}
25573
25574// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
25575func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
25576	s.ReadReplicaSourceDBInstanceIdentifier = &v
25577	return s
25578}
25579
25580// SetReplicaMode sets the ReplicaMode field's value.
25581func (s *DBInstance) SetReplicaMode(v string) *DBInstance {
25582	s.ReplicaMode = &v
25583	return s
25584}
25585
25586// SetResumeFullAutomationModeTime sets the ResumeFullAutomationModeTime field's value.
25587func (s *DBInstance) SetResumeFullAutomationModeTime(v time.Time) *DBInstance {
25588	s.ResumeFullAutomationModeTime = &v
25589	return s
25590}
25591
25592// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
25593func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
25594	s.SecondaryAvailabilityZone = &v
25595	return s
25596}
25597
25598// SetStatusInfos sets the StatusInfos field's value.
25599func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
25600	s.StatusInfos = v
25601	return s
25602}
25603
25604// SetStorageEncrypted sets the StorageEncrypted field's value.
25605func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
25606	s.StorageEncrypted = &v
25607	return s
25608}
25609
25610// SetStorageType sets the StorageType field's value.
25611func (s *DBInstance) SetStorageType(v string) *DBInstance {
25612	s.StorageType = &v
25613	return s
25614}
25615
25616// SetTagList sets the TagList field's value.
25617func (s *DBInstance) SetTagList(v []*Tag) *DBInstance {
25618	s.TagList = v
25619	return s
25620}
25621
25622// SetTdeCredentialArn sets the TdeCredentialArn field's value.
25623func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
25624	s.TdeCredentialArn = &v
25625	return s
25626}
25627
25628// SetTimezone sets the Timezone field's value.
25629func (s *DBInstance) SetTimezone(v string) *DBInstance {
25630	s.Timezone = &v
25631	return s
25632}
25633
25634// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
25635func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
25636	s.VpcSecurityGroups = v
25637	return s
25638}
25639
25640// An automated backup of a DB instance. It consists of system backups, transaction
25641// logs, and the database instance properties that existed at the time you deleted
25642// the source instance.
25643type DBInstanceAutomatedBackup struct {
25644	_ struct{} `type:"structure"`
25645
25646	// Specifies the allocated storage size in gibibytes (GiB).
25647	AllocatedStorage *int64 `type:"integer"`
25648
25649	// The Availability Zone that the automated backup was created in. For information
25650	// on Amazon Web Services Regions and Availability Zones, see Regions and Availability
25651	// Zones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
25652	AvailabilityZone *string `type:"string"`
25653
25654	// The retention period for the automated backups.
25655	BackupRetentionPeriod *int64 `type:"integer"`
25656
25657	// The Amazon Resource Name (ARN) for the automated backups.
25658	DBInstanceArn *string `type:"string"`
25659
25660	// The Amazon Resource Name (ARN) for the replicated automated backups.
25661	DBInstanceAutomatedBackupsArn *string `type:"string"`
25662
25663	// The list of replications to different Amazon Web Services Regions associated
25664	// with the automated backup.
25665	DBInstanceAutomatedBackupsReplications []*DBInstanceAutomatedBackupsReplication `locationNameList:"DBInstanceAutomatedBackupsReplication" type:"list"`
25666
25667	// The customer id of the instance that is/was associated with the automated
25668	// backup.
25669	DBInstanceIdentifier *string `type:"string"`
25670
25671	// The identifier for the source DB instance, which can't be changed and which
25672	// is unique to an Amazon Web Services Region.
25673	DbiResourceId *string `type:"string"`
25674
25675	// Specifies whether the automated backup is encrypted.
25676	Encrypted *bool `type:"boolean"`
25677
25678	// The name of the database engine for this automated backup.
25679	Engine *string `type:"string"`
25680
25681	// The version of the database engine for the automated backup.
25682	EngineVersion *string `type:"string"`
25683
25684	// True if mapping of Amazon Web Services Identity and Access Management (IAM)
25685	// accounts to database accounts is enabled, and otherwise false.
25686	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
25687
25688	// Provides the date and time that the DB instance was created.
25689	InstanceCreateTime *time.Time `type:"timestamp"`
25690
25691	// The IOPS (I/O operations per second) value for the automated backup.
25692	Iops *int64 `type:"integer"`
25693
25694	// The Amazon Web Services KMS key ID for an automated backup.
25695	//
25696	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
25697	// ARN, or alias name for the KMS key.
25698	KmsKeyId *string `type:"string"`
25699
25700	// License model information for the automated backup.
25701	LicenseModel *string `type:"string"`
25702
25703	// The license model of an automated backup.
25704	MasterUsername *string `type:"string"`
25705
25706	// The option group the automated backup is associated with. If omitted, the
25707	// default option group for the engine specified is used.
25708	OptionGroupName *string `type:"string"`
25709
25710	// The port number that the automated backup used for connections.
25711	//
25712	// Default: Inherits from the source DB instance
25713	//
25714	// Valid Values: 1150-65535
25715	Port *int64 `type:"integer"`
25716
25717	// The Amazon Web Services Region associated with the automated backup.
25718	Region *string `type:"string"`
25719
25720	// Earliest and latest time an instance can be restored to.
25721	RestoreWindow *RestoreWindow `type:"structure"`
25722
25723	// Provides a list of status information for an automated backup:
25724	//
25725	//    * active - automated backups for current instances
25726	//
25727	//    * retained - automated backups for deleted instances
25728	//
25729	//    * creating - automated backups that are waiting for the first automated
25730	//    snapshot to be available.
25731	Status *string `type:"string"`
25732
25733	// Specifies the storage type associated with the automated backup.
25734	StorageType *string `type:"string"`
25735
25736	// The ARN from the key store with which the automated backup is associated
25737	// for TDE encryption.
25738	TdeCredentialArn *string `type:"string"`
25739
25740	// The time zone of the automated backup. In most cases, the Timezone element
25741	// is empty. Timezone content appears only for Microsoft SQL Server DB instances
25742	// that were created with a time zone specified.
25743	Timezone *string `type:"string"`
25744
25745	// Provides the VPC ID associated with the DB instance
25746	VpcId *string `type:"string"`
25747}
25748
25749// String returns the string representation.
25750//
25751// API parameter values that are decorated as "sensitive" in the API will not
25752// be included in the string output. The member name will be present, but the
25753// value will be replaced with "sensitive".
25754func (s DBInstanceAutomatedBackup) String() string {
25755	return awsutil.Prettify(s)
25756}
25757
25758// GoString returns the string representation.
25759//
25760// API parameter values that are decorated as "sensitive" in the API will not
25761// be included in the string output. The member name will be present, but the
25762// value will be replaced with "sensitive".
25763func (s DBInstanceAutomatedBackup) GoString() string {
25764	return s.String()
25765}
25766
25767// SetAllocatedStorage sets the AllocatedStorage field's value.
25768func (s *DBInstanceAutomatedBackup) SetAllocatedStorage(v int64) *DBInstanceAutomatedBackup {
25769	s.AllocatedStorage = &v
25770	return s
25771}
25772
25773// SetAvailabilityZone sets the AvailabilityZone field's value.
25774func (s *DBInstanceAutomatedBackup) SetAvailabilityZone(v string) *DBInstanceAutomatedBackup {
25775	s.AvailabilityZone = &v
25776	return s
25777}
25778
25779// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
25780func (s *DBInstanceAutomatedBackup) SetBackupRetentionPeriod(v int64) *DBInstanceAutomatedBackup {
25781	s.BackupRetentionPeriod = &v
25782	return s
25783}
25784
25785// SetDBInstanceArn sets the DBInstanceArn field's value.
25786func (s *DBInstanceAutomatedBackup) SetDBInstanceArn(v string) *DBInstanceAutomatedBackup {
25787	s.DBInstanceArn = &v
25788	return s
25789}
25790
25791// SetDBInstanceAutomatedBackupsArn sets the DBInstanceAutomatedBackupsArn field's value.
25792func (s *DBInstanceAutomatedBackup) SetDBInstanceAutomatedBackupsArn(v string) *DBInstanceAutomatedBackup {
25793	s.DBInstanceAutomatedBackupsArn = &v
25794	return s
25795}
25796
25797// SetDBInstanceAutomatedBackupsReplications sets the DBInstanceAutomatedBackupsReplications field's value.
25798func (s *DBInstanceAutomatedBackup) SetDBInstanceAutomatedBackupsReplications(v []*DBInstanceAutomatedBackupsReplication) *DBInstanceAutomatedBackup {
25799	s.DBInstanceAutomatedBackupsReplications = v
25800	return s
25801}
25802
25803// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
25804func (s *DBInstanceAutomatedBackup) SetDBInstanceIdentifier(v string) *DBInstanceAutomatedBackup {
25805	s.DBInstanceIdentifier = &v
25806	return s
25807}
25808
25809// SetDbiResourceId sets the DbiResourceId field's value.
25810func (s *DBInstanceAutomatedBackup) SetDbiResourceId(v string) *DBInstanceAutomatedBackup {
25811	s.DbiResourceId = &v
25812	return s
25813}
25814
25815// SetEncrypted sets the Encrypted field's value.
25816func (s *DBInstanceAutomatedBackup) SetEncrypted(v bool) *DBInstanceAutomatedBackup {
25817	s.Encrypted = &v
25818	return s
25819}
25820
25821// SetEngine sets the Engine field's value.
25822func (s *DBInstanceAutomatedBackup) SetEngine(v string) *DBInstanceAutomatedBackup {
25823	s.Engine = &v
25824	return s
25825}
25826
25827// SetEngineVersion sets the EngineVersion field's value.
25828func (s *DBInstanceAutomatedBackup) SetEngineVersion(v string) *DBInstanceAutomatedBackup {
25829	s.EngineVersion = &v
25830	return s
25831}
25832
25833// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
25834func (s *DBInstanceAutomatedBackup) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstanceAutomatedBackup {
25835	s.IAMDatabaseAuthenticationEnabled = &v
25836	return s
25837}
25838
25839// SetInstanceCreateTime sets the InstanceCreateTime field's value.
25840func (s *DBInstanceAutomatedBackup) SetInstanceCreateTime(v time.Time) *DBInstanceAutomatedBackup {
25841	s.InstanceCreateTime = &v
25842	return s
25843}
25844
25845// SetIops sets the Iops field's value.
25846func (s *DBInstanceAutomatedBackup) SetIops(v int64) *DBInstanceAutomatedBackup {
25847	s.Iops = &v
25848	return s
25849}
25850
25851// SetKmsKeyId sets the KmsKeyId field's value.
25852func (s *DBInstanceAutomatedBackup) SetKmsKeyId(v string) *DBInstanceAutomatedBackup {
25853	s.KmsKeyId = &v
25854	return s
25855}
25856
25857// SetLicenseModel sets the LicenseModel field's value.
25858func (s *DBInstanceAutomatedBackup) SetLicenseModel(v string) *DBInstanceAutomatedBackup {
25859	s.LicenseModel = &v
25860	return s
25861}
25862
25863// SetMasterUsername sets the MasterUsername field's value.
25864func (s *DBInstanceAutomatedBackup) SetMasterUsername(v string) *DBInstanceAutomatedBackup {
25865	s.MasterUsername = &v
25866	return s
25867}
25868
25869// SetOptionGroupName sets the OptionGroupName field's value.
25870func (s *DBInstanceAutomatedBackup) SetOptionGroupName(v string) *DBInstanceAutomatedBackup {
25871	s.OptionGroupName = &v
25872	return s
25873}
25874
25875// SetPort sets the Port field's value.
25876func (s *DBInstanceAutomatedBackup) SetPort(v int64) *DBInstanceAutomatedBackup {
25877	s.Port = &v
25878	return s
25879}
25880
25881// SetRegion sets the Region field's value.
25882func (s *DBInstanceAutomatedBackup) SetRegion(v string) *DBInstanceAutomatedBackup {
25883	s.Region = &v
25884	return s
25885}
25886
25887// SetRestoreWindow sets the RestoreWindow field's value.
25888func (s *DBInstanceAutomatedBackup) SetRestoreWindow(v *RestoreWindow) *DBInstanceAutomatedBackup {
25889	s.RestoreWindow = v
25890	return s
25891}
25892
25893// SetStatus sets the Status field's value.
25894func (s *DBInstanceAutomatedBackup) SetStatus(v string) *DBInstanceAutomatedBackup {
25895	s.Status = &v
25896	return s
25897}
25898
25899// SetStorageType sets the StorageType field's value.
25900func (s *DBInstanceAutomatedBackup) SetStorageType(v string) *DBInstanceAutomatedBackup {
25901	s.StorageType = &v
25902	return s
25903}
25904
25905// SetTdeCredentialArn sets the TdeCredentialArn field's value.
25906func (s *DBInstanceAutomatedBackup) SetTdeCredentialArn(v string) *DBInstanceAutomatedBackup {
25907	s.TdeCredentialArn = &v
25908	return s
25909}
25910
25911// SetTimezone sets the Timezone field's value.
25912func (s *DBInstanceAutomatedBackup) SetTimezone(v string) *DBInstanceAutomatedBackup {
25913	s.Timezone = &v
25914	return s
25915}
25916
25917// SetVpcId sets the VpcId field's value.
25918func (s *DBInstanceAutomatedBackup) SetVpcId(v string) *DBInstanceAutomatedBackup {
25919	s.VpcId = &v
25920	return s
25921}
25922
25923// Automated backups of a DB instance replicated to another Amazon Web Services
25924// Region. They consist of system backups, transaction logs, and database instance
25925// properties.
25926type DBInstanceAutomatedBackupsReplication struct {
25927	_ struct{} `type:"structure"`
25928
25929	// The Amazon Resource Name (ARN) of the replicated automated backups.
25930	DBInstanceAutomatedBackupsArn *string `type:"string"`
25931}
25932
25933// String returns the string representation.
25934//
25935// API parameter values that are decorated as "sensitive" in the API will not
25936// be included in the string output. The member name will be present, but the
25937// value will be replaced with "sensitive".
25938func (s DBInstanceAutomatedBackupsReplication) String() string {
25939	return awsutil.Prettify(s)
25940}
25941
25942// GoString returns the string representation.
25943//
25944// API parameter values that are decorated as "sensitive" in the API will not
25945// be included in the string output. The member name will be present, but the
25946// value will be replaced with "sensitive".
25947func (s DBInstanceAutomatedBackupsReplication) GoString() string {
25948	return s.String()
25949}
25950
25951// SetDBInstanceAutomatedBackupsArn sets the DBInstanceAutomatedBackupsArn field's value.
25952func (s *DBInstanceAutomatedBackupsReplication) SetDBInstanceAutomatedBackupsArn(v string) *DBInstanceAutomatedBackupsReplication {
25953	s.DBInstanceAutomatedBackupsArn = &v
25954	return s
25955}
25956
25957// Describes an Amazon Web Services Identity and Access Management (IAM) role
25958// that is associated with a DB instance.
25959type DBInstanceRole struct {
25960	_ struct{} `type:"structure"`
25961
25962	// The name of the feature associated with the Amazon Web Services Identity
25963	// and Access Management (IAM) role. For information about supported feature
25964	// names, see DBEngineVersion.
25965	FeatureName *string `type:"string"`
25966
25967	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
25968	// DB instance.
25969	RoleArn *string `type:"string"`
25970
25971	// Describes the state of association between the IAM role and the DB instance.
25972	// The Status property returns one of the following values:
25973	//
25974	//    * ACTIVE - the IAM role ARN is associated with the DB instance and can
25975	//    be used to access other Amazon Web Services services on your behalf.
25976	//
25977	//    * PENDING - the IAM role ARN is being associated with the DB instance.
25978	//
25979	//    * INVALID - the IAM role ARN is associated with the DB instance, but the
25980	//    DB instance is unable to assume the IAM role in order to access other
25981	//    Amazon Web Services services on your behalf.
25982	Status *string `type:"string"`
25983}
25984
25985// String returns the string representation.
25986//
25987// API parameter values that are decorated as "sensitive" in the API will not
25988// be included in the string output. The member name will be present, but the
25989// value will be replaced with "sensitive".
25990func (s DBInstanceRole) String() string {
25991	return awsutil.Prettify(s)
25992}
25993
25994// GoString returns the string representation.
25995//
25996// API parameter values that are decorated as "sensitive" in the API will not
25997// be included in the string output. The member name will be present, but the
25998// value will be replaced with "sensitive".
25999func (s DBInstanceRole) GoString() string {
26000	return s.String()
26001}
26002
26003// SetFeatureName sets the FeatureName field's value.
26004func (s *DBInstanceRole) SetFeatureName(v string) *DBInstanceRole {
26005	s.FeatureName = &v
26006	return s
26007}
26008
26009// SetRoleArn sets the RoleArn field's value.
26010func (s *DBInstanceRole) SetRoleArn(v string) *DBInstanceRole {
26011	s.RoleArn = &v
26012	return s
26013}
26014
26015// SetStatus sets the Status field's value.
26016func (s *DBInstanceRole) SetStatus(v string) *DBInstanceRole {
26017	s.Status = &v
26018	return s
26019}
26020
26021// Provides a list of status information for a DB instance.
26022type DBInstanceStatusInfo struct {
26023	_ struct{} `type:"structure"`
26024
26025	// Details of the error if there is an error for the instance. If the instance
26026	// isn't in an error state, this value is blank.
26027	Message *string `type:"string"`
26028
26029	// Boolean value that is true if the instance is operating normally, or false
26030	// if the instance is in an error state.
26031	Normal *bool `type:"boolean"`
26032
26033	// Status of the DB instance. For a StatusType of read replica, the values can
26034	// be replicating, replication stop point set, replication stop point reached,
26035	// error, stopped, or terminated.
26036	Status *string `type:"string"`
26037
26038	// This value is currently "read replication."
26039	StatusType *string `type:"string"`
26040}
26041
26042// String returns the string representation.
26043//
26044// API parameter values that are decorated as "sensitive" in the API will not
26045// be included in the string output. The member name will be present, but the
26046// value will be replaced with "sensitive".
26047func (s DBInstanceStatusInfo) String() string {
26048	return awsutil.Prettify(s)
26049}
26050
26051// GoString returns the string representation.
26052//
26053// API parameter values that are decorated as "sensitive" in the API will not
26054// be included in the string output. The member name will be present, but the
26055// value will be replaced with "sensitive".
26056func (s DBInstanceStatusInfo) GoString() string {
26057	return s.String()
26058}
26059
26060// SetMessage sets the Message field's value.
26061func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
26062	s.Message = &v
26063	return s
26064}
26065
26066// SetNormal sets the Normal field's value.
26067func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
26068	s.Normal = &v
26069	return s
26070}
26071
26072// SetStatus sets the Status field's value.
26073func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
26074	s.Status = &v
26075	return s
26076}
26077
26078// SetStatusType sets the StatusType field's value.
26079func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
26080	s.StatusType = &v
26081	return s
26082}
26083
26084// Contains the details of an Amazon RDS DB parameter group.
26085//
26086// This data type is used as a response element in the DescribeDBParameterGroups
26087// action.
26088type DBParameterGroup struct {
26089	_ struct{} `type:"structure"`
26090
26091	// The Amazon Resource Name (ARN) for the DB parameter group.
26092	DBParameterGroupArn *string `type:"string"`
26093
26094	// The name of the DB parameter group family that this DB parameter group is
26095	// compatible with.
26096	DBParameterGroupFamily *string `type:"string"`
26097
26098	// The name of the DB parameter group.
26099	DBParameterGroupName *string `type:"string"`
26100
26101	// Provides the customer-specified description for this DB parameter group.
26102	Description *string `type:"string"`
26103}
26104
26105// String returns the string representation.
26106//
26107// API parameter values that are decorated as "sensitive" in the API will not
26108// be included in the string output. The member name will be present, but the
26109// value will be replaced with "sensitive".
26110func (s DBParameterGroup) String() string {
26111	return awsutil.Prettify(s)
26112}
26113
26114// GoString returns the string representation.
26115//
26116// API parameter values that are decorated as "sensitive" in the API will not
26117// be included in the string output. The member name will be present, but the
26118// value will be replaced with "sensitive".
26119func (s DBParameterGroup) GoString() string {
26120	return s.String()
26121}
26122
26123// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
26124func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
26125	s.DBParameterGroupArn = &v
26126	return s
26127}
26128
26129// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
26130func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
26131	s.DBParameterGroupFamily = &v
26132	return s
26133}
26134
26135// SetDBParameterGroupName sets the DBParameterGroupName field's value.
26136func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
26137	s.DBParameterGroupName = &v
26138	return s
26139}
26140
26141// SetDescription sets the Description field's value.
26142func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
26143	s.Description = &v
26144	return s
26145}
26146
26147// Contains the result of a successful invocation of the ModifyDBParameterGroup
26148// or ResetDBParameterGroup action.
26149type DBParameterGroupNameMessage struct {
26150	_ struct{} `type:"structure"`
26151
26152	// The name of the DB parameter group.
26153	DBParameterGroupName *string `type:"string"`
26154}
26155
26156// String returns the string representation.
26157//
26158// API parameter values that are decorated as "sensitive" in the API will not
26159// be included in the string output. The member name will be present, but the
26160// value will be replaced with "sensitive".
26161func (s DBParameterGroupNameMessage) String() string {
26162	return awsutil.Prettify(s)
26163}
26164
26165// GoString returns the string representation.
26166//
26167// API parameter values that are decorated as "sensitive" in the API will not
26168// be included in the string output. The member name will be present, but the
26169// value will be replaced with "sensitive".
26170func (s DBParameterGroupNameMessage) GoString() string {
26171	return s.String()
26172}
26173
26174// SetDBParameterGroupName sets the DBParameterGroupName field's value.
26175func (s *DBParameterGroupNameMessage) SetDBParameterGroupName(v string) *DBParameterGroupNameMessage {
26176	s.DBParameterGroupName = &v
26177	return s
26178}
26179
26180// The status of the DB parameter group.
26181//
26182// This data type is used as a response element in the following actions:
26183//
26184//    * CreateDBInstance
26185//
26186//    * CreateDBInstanceReadReplica
26187//
26188//    * DeleteDBInstance
26189//
26190//    * ModifyDBInstance
26191//
26192//    * RebootDBInstance
26193//
26194//    * RestoreDBInstanceFromDBSnapshot
26195type DBParameterGroupStatus struct {
26196	_ struct{} `type:"structure"`
26197
26198	// The name of the DB parameter group.
26199	DBParameterGroupName *string `type:"string"`
26200
26201	// The status of parameter updates.
26202	ParameterApplyStatus *string `type:"string"`
26203}
26204
26205// String returns the string representation.
26206//
26207// API parameter values that are decorated as "sensitive" in the API will not
26208// be included in the string output. The member name will be present, but the
26209// value will be replaced with "sensitive".
26210func (s DBParameterGroupStatus) String() string {
26211	return awsutil.Prettify(s)
26212}
26213
26214// GoString returns the string representation.
26215//
26216// API parameter values that are decorated as "sensitive" in the API will not
26217// be included in the string output. The member name will be present, but the
26218// value will be replaced with "sensitive".
26219func (s DBParameterGroupStatus) GoString() string {
26220	return s.String()
26221}
26222
26223// SetDBParameterGroupName sets the DBParameterGroupName field's value.
26224func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
26225	s.DBParameterGroupName = &v
26226	return s
26227}
26228
26229// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
26230func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
26231	s.ParameterApplyStatus = &v
26232	return s
26233}
26234
26235// The data structure representing a proxy managed by the RDS Proxy.
26236//
26237// This data type is used as a response element in the DescribeDBProxies action.
26238type DBProxy struct {
26239	_ struct{} `type:"structure"`
26240
26241	// One or more data structures specifying the authorization mechanism to connect
26242	// to the associated RDS DB instance or Aurora DB cluster.
26243	Auth []*UserAuthConfigInfo `type:"list"`
26244
26245	// The date and time when the proxy was first created.
26246	CreatedDate *time.Time `type:"timestamp"`
26247
26248	// The Amazon Resource Name (ARN) for the proxy.
26249	DBProxyArn *string `type:"string"`
26250
26251	// The identifier for the proxy. This name must be unique for all proxies owned
26252	// by your Amazon Web Services account in the specified Amazon Web Services
26253	// Region.
26254	DBProxyName *string `type:"string"`
26255
26256	// Whether the proxy includes detailed information about SQL statements in its
26257	// logs. This information helps you to debug issues involving SQL behavior or
26258	// the performance and scalability of the proxy connections. The debug information
26259	// includes the text of SQL statements that you submit through the proxy. Thus,
26260	// only enable this setting when needed for debugging, and only when you have
26261	// security measures in place to safeguard any sensitive information that appears
26262	// in the logs.
26263	DebugLogging *bool `type:"boolean"`
26264
26265	// The endpoint that you can use to connect to the DB proxy. You include the
26266	// endpoint value in the connection string for a database client application.
26267	Endpoint *string `type:"string"`
26268
26269	// The engine family applies to MySQL and PostgreSQL for both RDS and Aurora.
26270	EngineFamily *string `type:"string"`
26271
26272	// The number of seconds a connection to the proxy can have no activity before
26273	// the proxy drops the client connection. The proxy keeps the underlying database
26274	// connection open and puts it back into the connection pool for reuse by later
26275	// connection requests.
26276	//
26277	// Default: 1800 (30 minutes)
26278	//
26279	// Constraints: 1 to 28,800
26280	IdleClientTimeout *int64 `type:"integer"`
26281
26282	// Indicates whether Transport Layer Security (TLS) encryption is required for
26283	// connections to the proxy.
26284	RequireTLS *bool `type:"boolean"`
26285
26286	// The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access
26287	// Amazon Secrets Manager.
26288	RoleArn *string `type:"string"`
26289
26290	// The current status of this proxy. A status of available means the proxy is
26291	// ready to handle requests. Other values indicate that you must wait for the
26292	// proxy to be ready, or take some action to resolve an issue.
26293	Status *string `type:"string" enum:"DBProxyStatus"`
26294
26295	// The date and time when the proxy was last updated.
26296	UpdatedDate *time.Time `type:"timestamp"`
26297
26298	// Provides the VPC ID of the DB proxy.
26299	VpcId *string `type:"string"`
26300
26301	// Provides a list of VPC security groups that the proxy belongs to.
26302	VpcSecurityGroupIds []*string `type:"list"`
26303
26304	// The EC2 subnet IDs for the proxy.
26305	VpcSubnetIds []*string `type:"list"`
26306}
26307
26308// String returns the string representation.
26309//
26310// API parameter values that are decorated as "sensitive" in the API will not
26311// be included in the string output. The member name will be present, but the
26312// value will be replaced with "sensitive".
26313func (s DBProxy) String() string {
26314	return awsutil.Prettify(s)
26315}
26316
26317// GoString returns the string representation.
26318//
26319// API parameter values that are decorated as "sensitive" in the API will not
26320// be included in the string output. The member name will be present, but the
26321// value will be replaced with "sensitive".
26322func (s DBProxy) GoString() string {
26323	return s.String()
26324}
26325
26326// SetAuth sets the Auth field's value.
26327func (s *DBProxy) SetAuth(v []*UserAuthConfigInfo) *DBProxy {
26328	s.Auth = v
26329	return s
26330}
26331
26332// SetCreatedDate sets the CreatedDate field's value.
26333func (s *DBProxy) SetCreatedDate(v time.Time) *DBProxy {
26334	s.CreatedDate = &v
26335	return s
26336}
26337
26338// SetDBProxyArn sets the DBProxyArn field's value.
26339func (s *DBProxy) SetDBProxyArn(v string) *DBProxy {
26340	s.DBProxyArn = &v
26341	return s
26342}
26343
26344// SetDBProxyName sets the DBProxyName field's value.
26345func (s *DBProxy) SetDBProxyName(v string) *DBProxy {
26346	s.DBProxyName = &v
26347	return s
26348}
26349
26350// SetDebugLogging sets the DebugLogging field's value.
26351func (s *DBProxy) SetDebugLogging(v bool) *DBProxy {
26352	s.DebugLogging = &v
26353	return s
26354}
26355
26356// SetEndpoint sets the Endpoint field's value.
26357func (s *DBProxy) SetEndpoint(v string) *DBProxy {
26358	s.Endpoint = &v
26359	return s
26360}
26361
26362// SetEngineFamily sets the EngineFamily field's value.
26363func (s *DBProxy) SetEngineFamily(v string) *DBProxy {
26364	s.EngineFamily = &v
26365	return s
26366}
26367
26368// SetIdleClientTimeout sets the IdleClientTimeout field's value.
26369func (s *DBProxy) SetIdleClientTimeout(v int64) *DBProxy {
26370	s.IdleClientTimeout = &v
26371	return s
26372}
26373
26374// SetRequireTLS sets the RequireTLS field's value.
26375func (s *DBProxy) SetRequireTLS(v bool) *DBProxy {
26376	s.RequireTLS = &v
26377	return s
26378}
26379
26380// SetRoleArn sets the RoleArn field's value.
26381func (s *DBProxy) SetRoleArn(v string) *DBProxy {
26382	s.RoleArn = &v
26383	return s
26384}
26385
26386// SetStatus sets the Status field's value.
26387func (s *DBProxy) SetStatus(v string) *DBProxy {
26388	s.Status = &v
26389	return s
26390}
26391
26392// SetUpdatedDate sets the UpdatedDate field's value.
26393func (s *DBProxy) SetUpdatedDate(v time.Time) *DBProxy {
26394	s.UpdatedDate = &v
26395	return s
26396}
26397
26398// SetVpcId sets the VpcId field's value.
26399func (s *DBProxy) SetVpcId(v string) *DBProxy {
26400	s.VpcId = &v
26401	return s
26402}
26403
26404// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
26405func (s *DBProxy) SetVpcSecurityGroupIds(v []*string) *DBProxy {
26406	s.VpcSecurityGroupIds = v
26407	return s
26408}
26409
26410// SetVpcSubnetIds sets the VpcSubnetIds field's value.
26411func (s *DBProxy) SetVpcSubnetIds(v []*string) *DBProxy {
26412	s.VpcSubnetIds = v
26413	return s
26414}
26415
26416// The data structure representing an endpoint associated with a DB proxy. RDS
26417// automatically creates one endpoint for each DB proxy. For Aurora DB clusters,
26418// you can associate additional endpoints with the same DB proxy. These endpoints
26419// can be read/write or read-only. They can also reside in different VPCs than
26420// the associated DB proxy.
26421//
26422// This data type is used as a response element in the DescribeDBProxyEndpoints
26423// operation.
26424type DBProxyEndpoint struct {
26425	_ struct{} `type:"structure"`
26426
26427	// The date and time when the DB proxy endpoint was first created.
26428	CreatedDate *time.Time `type:"timestamp"`
26429
26430	// The Amazon Resource Name (ARN) for the DB proxy endpoint.
26431	DBProxyEndpointArn *string `type:"string"`
26432
26433	// The name for the DB proxy endpoint. An identifier must begin with a letter
26434	// and must contain only ASCII letters, digits, and hyphens; it can't end with
26435	// a hyphen or contain two consecutive hyphens.
26436	DBProxyEndpointName *string `type:"string"`
26437
26438	// The identifier for the DB proxy that is associated with this DB proxy endpoint.
26439	DBProxyName *string `type:"string"`
26440
26441	// The endpoint that you can use to connect to the DB proxy. You include the
26442	// endpoint value in the connection string for a database client application.
26443	Endpoint *string `type:"string"`
26444
26445	// A value that indicates whether this endpoint is the default endpoint for
26446	// the associated DB proxy. Default DB proxy endpoints always have read/write
26447	// capability. Other endpoints that you associate with the DB proxy can be either
26448	// read/write or read-only.
26449	IsDefault *bool `type:"boolean"`
26450
26451	// The current status of this DB proxy endpoint. A status of available means
26452	// the endpoint is ready to handle requests. Other values indicate that you
26453	// must wait for the endpoint to be ready, or take some action to resolve an
26454	// issue.
26455	Status *string `type:"string" enum:"DBProxyEndpointStatus"`
26456
26457	// A value that indicates whether the DB proxy endpoint can be used for read/write
26458	// or read-only operations.
26459	TargetRole *string `type:"string" enum:"DBProxyEndpointTargetRole"`
26460
26461	// Provides the VPC ID of the DB proxy endpoint.
26462	VpcId *string `type:"string"`
26463
26464	// Provides a list of VPC security groups that the DB proxy endpoint belongs
26465	// to.
26466	VpcSecurityGroupIds []*string `type:"list"`
26467
26468	// The EC2 subnet IDs for the DB proxy endpoint.
26469	VpcSubnetIds []*string `type:"list"`
26470}
26471
26472// String returns the string representation.
26473//
26474// API parameter values that are decorated as "sensitive" in the API will not
26475// be included in the string output. The member name will be present, but the
26476// value will be replaced with "sensitive".
26477func (s DBProxyEndpoint) String() string {
26478	return awsutil.Prettify(s)
26479}
26480
26481// GoString returns the string representation.
26482//
26483// API parameter values that are decorated as "sensitive" in the API will not
26484// be included in the string output. The member name will be present, but the
26485// value will be replaced with "sensitive".
26486func (s DBProxyEndpoint) GoString() string {
26487	return s.String()
26488}
26489
26490// SetCreatedDate sets the CreatedDate field's value.
26491func (s *DBProxyEndpoint) SetCreatedDate(v time.Time) *DBProxyEndpoint {
26492	s.CreatedDate = &v
26493	return s
26494}
26495
26496// SetDBProxyEndpointArn sets the DBProxyEndpointArn field's value.
26497func (s *DBProxyEndpoint) SetDBProxyEndpointArn(v string) *DBProxyEndpoint {
26498	s.DBProxyEndpointArn = &v
26499	return s
26500}
26501
26502// SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
26503func (s *DBProxyEndpoint) SetDBProxyEndpointName(v string) *DBProxyEndpoint {
26504	s.DBProxyEndpointName = &v
26505	return s
26506}
26507
26508// SetDBProxyName sets the DBProxyName field's value.
26509func (s *DBProxyEndpoint) SetDBProxyName(v string) *DBProxyEndpoint {
26510	s.DBProxyName = &v
26511	return s
26512}
26513
26514// SetEndpoint sets the Endpoint field's value.
26515func (s *DBProxyEndpoint) SetEndpoint(v string) *DBProxyEndpoint {
26516	s.Endpoint = &v
26517	return s
26518}
26519
26520// SetIsDefault sets the IsDefault field's value.
26521func (s *DBProxyEndpoint) SetIsDefault(v bool) *DBProxyEndpoint {
26522	s.IsDefault = &v
26523	return s
26524}
26525
26526// SetStatus sets the Status field's value.
26527func (s *DBProxyEndpoint) SetStatus(v string) *DBProxyEndpoint {
26528	s.Status = &v
26529	return s
26530}
26531
26532// SetTargetRole sets the TargetRole field's value.
26533func (s *DBProxyEndpoint) SetTargetRole(v string) *DBProxyEndpoint {
26534	s.TargetRole = &v
26535	return s
26536}
26537
26538// SetVpcId sets the VpcId field's value.
26539func (s *DBProxyEndpoint) SetVpcId(v string) *DBProxyEndpoint {
26540	s.VpcId = &v
26541	return s
26542}
26543
26544// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
26545func (s *DBProxyEndpoint) SetVpcSecurityGroupIds(v []*string) *DBProxyEndpoint {
26546	s.VpcSecurityGroupIds = v
26547	return s
26548}
26549
26550// SetVpcSubnetIds sets the VpcSubnetIds field's value.
26551func (s *DBProxyEndpoint) SetVpcSubnetIds(v []*string) *DBProxyEndpoint {
26552	s.VpcSubnetIds = v
26553	return s
26554}
26555
26556// Contains the details for an RDS Proxy target. It represents an RDS DB instance
26557// or Aurora DB cluster that the proxy can connect to. One or more targets are
26558// associated with an RDS Proxy target group.
26559//
26560// This data type is used as a response element in the DescribeDBProxyTargets
26561// action.
26562type DBProxyTarget struct {
26563	_ struct{} `type:"structure"`
26564
26565	// The writer endpoint for the RDS DB instance or Aurora DB cluster.
26566	Endpoint *string `type:"string"`
26567
26568	// The port that the RDS Proxy uses to connect to the target RDS DB instance
26569	// or Aurora DB cluster.
26570	Port *int64 `type:"integer"`
26571
26572	// The identifier representing the target. It can be the instance identifier
26573	// for an RDS DB instance, or the cluster identifier for an Aurora DB cluster.
26574	RdsResourceId *string `type:"string"`
26575
26576	// A value that indicates whether the target of the proxy can be used for read/write
26577	// or read-only operations.
26578	Role *string `type:"string" enum:"TargetRole"`
26579
26580	// The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.
26581	TargetArn *string `type:"string"`
26582
26583	// Information about the connection health of the RDS Proxy target.
26584	TargetHealth *TargetHealth `type:"structure"`
26585
26586	// The DB cluster identifier when the target represents an Aurora DB cluster.
26587	// This field is blank when the target represents an RDS DB instance.
26588	TrackedClusterId *string `type:"string"`
26589
26590	// Specifies the kind of database, such as an RDS DB instance or an Aurora DB
26591	// cluster, that the target represents.
26592	Type *string `type:"string" enum:"TargetType"`
26593}
26594
26595// String returns the string representation.
26596//
26597// API parameter values that are decorated as "sensitive" in the API will not
26598// be included in the string output. The member name will be present, but the
26599// value will be replaced with "sensitive".
26600func (s DBProxyTarget) String() string {
26601	return awsutil.Prettify(s)
26602}
26603
26604// GoString returns the string representation.
26605//
26606// API parameter values that are decorated as "sensitive" in the API will not
26607// be included in the string output. The member name will be present, but the
26608// value will be replaced with "sensitive".
26609func (s DBProxyTarget) GoString() string {
26610	return s.String()
26611}
26612
26613// SetEndpoint sets the Endpoint field's value.
26614func (s *DBProxyTarget) SetEndpoint(v string) *DBProxyTarget {
26615	s.Endpoint = &v
26616	return s
26617}
26618
26619// SetPort sets the Port field's value.
26620func (s *DBProxyTarget) SetPort(v int64) *DBProxyTarget {
26621	s.Port = &v
26622	return s
26623}
26624
26625// SetRdsResourceId sets the RdsResourceId field's value.
26626func (s *DBProxyTarget) SetRdsResourceId(v string) *DBProxyTarget {
26627	s.RdsResourceId = &v
26628	return s
26629}
26630
26631// SetRole sets the Role field's value.
26632func (s *DBProxyTarget) SetRole(v string) *DBProxyTarget {
26633	s.Role = &v
26634	return s
26635}
26636
26637// SetTargetArn sets the TargetArn field's value.
26638func (s *DBProxyTarget) SetTargetArn(v string) *DBProxyTarget {
26639	s.TargetArn = &v
26640	return s
26641}
26642
26643// SetTargetHealth sets the TargetHealth field's value.
26644func (s *DBProxyTarget) SetTargetHealth(v *TargetHealth) *DBProxyTarget {
26645	s.TargetHealth = v
26646	return s
26647}
26648
26649// SetTrackedClusterId sets the TrackedClusterId field's value.
26650func (s *DBProxyTarget) SetTrackedClusterId(v string) *DBProxyTarget {
26651	s.TrackedClusterId = &v
26652	return s
26653}
26654
26655// SetType sets the Type field's value.
26656func (s *DBProxyTarget) SetType(v string) *DBProxyTarget {
26657	s.Type = &v
26658	return s
26659}
26660
26661// Represents a set of RDS DB instances, Aurora DB clusters, or both that a
26662// proxy can connect to. Currently, each target group is associated with exactly
26663// one RDS DB instance or Aurora DB cluster.
26664//
26665// This data type is used as a response element in the DescribeDBProxyTargetGroups
26666// action.
26667type DBProxyTargetGroup struct {
26668	_ struct{} `type:"structure"`
26669
26670	// The settings that determine the size and behavior of the connection pool
26671	// for the target group.
26672	ConnectionPoolConfig *ConnectionPoolConfigurationInfo `type:"structure"`
26673
26674	// The date and time when the target group was first created.
26675	CreatedDate *time.Time `type:"timestamp"`
26676
26677	// The identifier for the RDS proxy associated with this target group.
26678	DBProxyName *string `type:"string"`
26679
26680	// Whether this target group is the first one used for connection requests by
26681	// the associated proxy. Because each proxy is currently associated with a single
26682	// target group, currently this setting is always true.
26683	IsDefault *bool `type:"boolean"`
26684
26685	// The current status of this target group. A status of available means the
26686	// target group is correctly associated with a database. Other values indicate
26687	// that you must wait for the target group to be ready, or take some action
26688	// to resolve an issue.
26689	Status *string `type:"string"`
26690
26691	// The Amazon Resource Name (ARN) representing the target group.
26692	TargetGroupArn *string `type:"string"`
26693
26694	// The identifier for the target group. This name must be unique for all target
26695	// groups owned by your Amazon Web Services account in the specified Amazon
26696	// Web Services Region.
26697	TargetGroupName *string `type:"string"`
26698
26699	// The date and time when the target group was last updated.
26700	UpdatedDate *time.Time `type:"timestamp"`
26701}
26702
26703// String returns the string representation.
26704//
26705// API parameter values that are decorated as "sensitive" in the API will not
26706// be included in the string output. The member name will be present, but the
26707// value will be replaced with "sensitive".
26708func (s DBProxyTargetGroup) String() string {
26709	return awsutil.Prettify(s)
26710}
26711
26712// GoString returns the string representation.
26713//
26714// API parameter values that are decorated as "sensitive" in the API will not
26715// be included in the string output. The member name will be present, but the
26716// value will be replaced with "sensitive".
26717func (s DBProxyTargetGroup) GoString() string {
26718	return s.String()
26719}
26720
26721// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
26722func (s *DBProxyTargetGroup) SetConnectionPoolConfig(v *ConnectionPoolConfigurationInfo) *DBProxyTargetGroup {
26723	s.ConnectionPoolConfig = v
26724	return s
26725}
26726
26727// SetCreatedDate sets the CreatedDate field's value.
26728func (s *DBProxyTargetGroup) SetCreatedDate(v time.Time) *DBProxyTargetGroup {
26729	s.CreatedDate = &v
26730	return s
26731}
26732
26733// SetDBProxyName sets the DBProxyName field's value.
26734func (s *DBProxyTargetGroup) SetDBProxyName(v string) *DBProxyTargetGroup {
26735	s.DBProxyName = &v
26736	return s
26737}
26738
26739// SetIsDefault sets the IsDefault field's value.
26740func (s *DBProxyTargetGroup) SetIsDefault(v bool) *DBProxyTargetGroup {
26741	s.IsDefault = &v
26742	return s
26743}
26744
26745// SetStatus sets the Status field's value.
26746func (s *DBProxyTargetGroup) SetStatus(v string) *DBProxyTargetGroup {
26747	s.Status = &v
26748	return s
26749}
26750
26751// SetTargetGroupArn sets the TargetGroupArn field's value.
26752func (s *DBProxyTargetGroup) SetTargetGroupArn(v string) *DBProxyTargetGroup {
26753	s.TargetGroupArn = &v
26754	return s
26755}
26756
26757// SetTargetGroupName sets the TargetGroupName field's value.
26758func (s *DBProxyTargetGroup) SetTargetGroupName(v string) *DBProxyTargetGroup {
26759	s.TargetGroupName = &v
26760	return s
26761}
26762
26763// SetUpdatedDate sets the UpdatedDate field's value.
26764func (s *DBProxyTargetGroup) SetUpdatedDate(v time.Time) *DBProxyTargetGroup {
26765	s.UpdatedDate = &v
26766	return s
26767}
26768
26769// Contains the details for an Amazon RDS DB security group.
26770//
26771// This data type is used as a response element in the DescribeDBSecurityGroups
26772// action.
26773type DBSecurityGroup struct {
26774	_ struct{} `type:"structure"`
26775
26776	// The Amazon Resource Name (ARN) for the DB security group.
26777	DBSecurityGroupArn *string `type:"string"`
26778
26779	// Provides the description of the DB security group.
26780	DBSecurityGroupDescription *string `type:"string"`
26781
26782	// Specifies the name of the DB security group.
26783	DBSecurityGroupName *string `type:"string"`
26784
26785	// Contains a list of EC2SecurityGroup elements.
26786	EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
26787
26788	// Contains a list of IPRange elements.
26789	IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
26790
26791	// Provides the Amazon Web Services ID of the owner of a specific DB security
26792	// group.
26793	OwnerId *string `type:"string"`
26794
26795	// Provides the VpcId of the DB security group.
26796	VpcId *string `type:"string"`
26797}
26798
26799// String returns the string representation.
26800//
26801// API parameter values that are decorated as "sensitive" in the API will not
26802// be included in the string output. The member name will be present, but the
26803// value will be replaced with "sensitive".
26804func (s DBSecurityGroup) String() string {
26805	return awsutil.Prettify(s)
26806}
26807
26808// GoString returns the string representation.
26809//
26810// API parameter values that are decorated as "sensitive" in the API will not
26811// be included in the string output. The member name will be present, but the
26812// value will be replaced with "sensitive".
26813func (s DBSecurityGroup) GoString() string {
26814	return s.String()
26815}
26816
26817// SetDBSecurityGroupArn sets the DBSecurityGroupArn field's value.
26818func (s *DBSecurityGroup) SetDBSecurityGroupArn(v string) *DBSecurityGroup {
26819	s.DBSecurityGroupArn = &v
26820	return s
26821}
26822
26823// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
26824func (s *DBSecurityGroup) SetDBSecurityGroupDescription(v string) *DBSecurityGroup {
26825	s.DBSecurityGroupDescription = &v
26826	return s
26827}
26828
26829// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
26830func (s *DBSecurityGroup) SetDBSecurityGroupName(v string) *DBSecurityGroup {
26831	s.DBSecurityGroupName = &v
26832	return s
26833}
26834
26835// SetEC2SecurityGroups sets the EC2SecurityGroups field's value.
26836func (s *DBSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *DBSecurityGroup {
26837	s.EC2SecurityGroups = v
26838	return s
26839}
26840
26841// SetIPRanges sets the IPRanges field's value.
26842func (s *DBSecurityGroup) SetIPRanges(v []*IPRange) *DBSecurityGroup {
26843	s.IPRanges = v
26844	return s
26845}
26846
26847// SetOwnerId sets the OwnerId field's value.
26848func (s *DBSecurityGroup) SetOwnerId(v string) *DBSecurityGroup {
26849	s.OwnerId = &v
26850	return s
26851}
26852
26853// SetVpcId sets the VpcId field's value.
26854func (s *DBSecurityGroup) SetVpcId(v string) *DBSecurityGroup {
26855	s.VpcId = &v
26856	return s
26857}
26858
26859// This data type is used as a response element in the following actions:
26860//
26861//    * ModifyDBInstance
26862//
26863//    * RebootDBInstance
26864//
26865//    * RestoreDBInstanceFromDBSnapshot
26866//
26867//    * RestoreDBInstanceToPointInTime
26868type DBSecurityGroupMembership struct {
26869	_ struct{} `type:"structure"`
26870
26871	// The name of the DB security group.
26872	DBSecurityGroupName *string `type:"string"`
26873
26874	// The status of the DB security group.
26875	Status *string `type:"string"`
26876}
26877
26878// String returns the string representation.
26879//
26880// API parameter values that are decorated as "sensitive" in the API will not
26881// be included in the string output. The member name will be present, but the
26882// value will be replaced with "sensitive".
26883func (s DBSecurityGroupMembership) String() string {
26884	return awsutil.Prettify(s)
26885}
26886
26887// GoString returns the string representation.
26888//
26889// API parameter values that are decorated as "sensitive" in the API will not
26890// be included in the string output. The member name will be present, but the
26891// value will be replaced with "sensitive".
26892func (s DBSecurityGroupMembership) GoString() string {
26893	return s.String()
26894}
26895
26896// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
26897func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
26898	s.DBSecurityGroupName = &v
26899	return s
26900}
26901
26902// SetStatus sets the Status field's value.
26903func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
26904	s.Status = &v
26905	return s
26906}
26907
26908// Contains the details of an Amazon RDS DB snapshot.
26909//
26910// This data type is used as a response element in the DescribeDBSnapshots action.
26911type DBSnapshot struct {
26912	_ struct{} `type:"structure"`
26913
26914	// Specifies the allocated storage size in gibibytes (GiB).
26915	AllocatedStorage *int64 `type:"integer"`
26916
26917	// Specifies the name of the Availability Zone the DB instance was located in
26918	// at the time of the DB snapshot.
26919	AvailabilityZone *string `type:"string"`
26920
26921	// Specifies the DB instance identifier of the DB instance this DB snapshot
26922	// was created from.
26923	DBInstanceIdentifier *string `type:"string"`
26924
26925	// The Amazon Resource Name (ARN) for the DB snapshot.
26926	DBSnapshotArn *string `type:"string"`
26927
26928	// Specifies the identifier for the DB snapshot.
26929	DBSnapshotIdentifier *string `type:"string"`
26930
26931	// The identifier for the source DB instance, which can't be changed and which
26932	// is unique to an Amazon Web Services Region.
26933	DbiResourceId *string `type:"string"`
26934
26935	// Specifies whether the DB snapshot is encrypted.
26936	Encrypted *bool `type:"boolean"`
26937
26938	// Specifies the name of the database engine.
26939	Engine *string `type:"string"`
26940
26941	// Specifies the version of the database engine.
26942	EngineVersion *string `type:"string"`
26943
26944	// True if mapping of Amazon Web Services Identity and Access Management (IAM)
26945	// accounts to database accounts is enabled, and otherwise false.
26946	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
26947
26948	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
26949	// from which the snapshot was taken, was created.
26950	InstanceCreateTime *time.Time `type:"timestamp"`
26951
26952	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB
26953	// instance at the time of the snapshot.
26954	Iops *int64 `type:"integer"`
26955
26956	// If Encrypted is true, the Amazon Web Services KMS key identifier for the
26957	// encrypted DB snapshot.
26958	//
26959	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
26960	// ARN, or alias name for the KMS key.
26961	KmsKeyId *string `type:"string"`
26962
26963	// License model information for the restored DB instance.
26964	LicenseModel *string `type:"string"`
26965
26966	// Provides the master username for the DB snapshot.
26967	MasterUsername *string `type:"string"`
26968
26969	// Provides the option group name for the DB snapshot.
26970	OptionGroupName *string `type:"string"`
26971
26972	// Specifies the time of the CreateDBSnapshot operation in Coordinated Universal
26973	// Time (UTC). Doesn't change when the snapshot is copied.
26974	OriginalSnapshotCreateTime *time.Time `type:"timestamp"`
26975
26976	// The percentage of the estimated data that has been transferred.
26977	PercentProgress *int64 `type:"integer"`
26978
26979	// Specifies the port that the database engine was listening on at the time
26980	// of the snapshot.
26981	Port *int64 `type:"integer"`
26982
26983	// The number of CPU cores and the number of threads per core for the DB instance
26984	// class of the DB instance when the DB snapshot was created.
26985	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
26986
26987	// Specifies when the snapshot was taken in Coordinated Universal Time (UTC).
26988	// Changes for the copy when the snapshot is copied.
26989	SnapshotCreateTime *time.Time `type:"timestamp"`
26990
26991	// Provides the type of the DB snapshot.
26992	SnapshotType *string `type:"string"`
26993
26994	// The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied
26995	// from. It only has a value in the case of a cross-account or cross-Region
26996	// copy.
26997	SourceDBSnapshotIdentifier *string `type:"string"`
26998
26999	// The Amazon Web Services Region that the DB snapshot was created in or copied
27000	// from.
27001	SourceRegion *string `type:"string"`
27002
27003	// Specifies the status of this DB snapshot.
27004	Status *string `type:"string"`
27005
27006	// Specifies the storage type associated with DB snapshot.
27007	StorageType *string `type:"string"`
27008
27009	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
27010	// in the Amazon RDS User Guide.
27011	TagList []*Tag `locationNameList:"Tag" type:"list"`
27012
27013	// The ARN from the key store with which to associate the instance for TDE encryption.
27014	TdeCredentialArn *string `type:"string"`
27015
27016	// The time zone of the DB snapshot. In most cases, the Timezone element is
27017	// empty. Timezone content appears only for snapshots taken from Microsoft SQL
27018	// Server DB instances that were created with a time zone specified.
27019	Timezone *string `type:"string"`
27020
27021	// Provides the VPC ID associated with the DB snapshot.
27022	VpcId *string `type:"string"`
27023}
27024
27025// String returns the string representation.
27026//
27027// API parameter values that are decorated as "sensitive" in the API will not
27028// be included in the string output. The member name will be present, but the
27029// value will be replaced with "sensitive".
27030func (s DBSnapshot) String() string {
27031	return awsutil.Prettify(s)
27032}
27033
27034// GoString returns the string representation.
27035//
27036// API parameter values that are decorated as "sensitive" in the API will not
27037// be included in the string output. The member name will be present, but the
27038// value will be replaced with "sensitive".
27039func (s DBSnapshot) GoString() string {
27040	return s.String()
27041}
27042
27043// SetAllocatedStorage sets the AllocatedStorage field's value.
27044func (s *DBSnapshot) SetAllocatedStorage(v int64) *DBSnapshot {
27045	s.AllocatedStorage = &v
27046	return s
27047}
27048
27049// SetAvailabilityZone sets the AvailabilityZone field's value.
27050func (s *DBSnapshot) SetAvailabilityZone(v string) *DBSnapshot {
27051	s.AvailabilityZone = &v
27052	return s
27053}
27054
27055// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
27056func (s *DBSnapshot) SetDBInstanceIdentifier(v string) *DBSnapshot {
27057	s.DBInstanceIdentifier = &v
27058	return s
27059}
27060
27061// SetDBSnapshotArn sets the DBSnapshotArn field's value.
27062func (s *DBSnapshot) SetDBSnapshotArn(v string) *DBSnapshot {
27063	s.DBSnapshotArn = &v
27064	return s
27065}
27066
27067// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
27068func (s *DBSnapshot) SetDBSnapshotIdentifier(v string) *DBSnapshot {
27069	s.DBSnapshotIdentifier = &v
27070	return s
27071}
27072
27073// SetDbiResourceId sets the DbiResourceId field's value.
27074func (s *DBSnapshot) SetDbiResourceId(v string) *DBSnapshot {
27075	s.DbiResourceId = &v
27076	return s
27077}
27078
27079// SetEncrypted sets the Encrypted field's value.
27080func (s *DBSnapshot) SetEncrypted(v bool) *DBSnapshot {
27081	s.Encrypted = &v
27082	return s
27083}
27084
27085// SetEngine sets the Engine field's value.
27086func (s *DBSnapshot) SetEngine(v string) *DBSnapshot {
27087	s.Engine = &v
27088	return s
27089}
27090
27091// SetEngineVersion sets the EngineVersion field's value.
27092func (s *DBSnapshot) SetEngineVersion(v string) *DBSnapshot {
27093	s.EngineVersion = &v
27094	return s
27095}
27096
27097// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
27098func (s *DBSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBSnapshot {
27099	s.IAMDatabaseAuthenticationEnabled = &v
27100	return s
27101}
27102
27103// SetInstanceCreateTime sets the InstanceCreateTime field's value.
27104func (s *DBSnapshot) SetInstanceCreateTime(v time.Time) *DBSnapshot {
27105	s.InstanceCreateTime = &v
27106	return s
27107}
27108
27109// SetIops sets the Iops field's value.
27110func (s *DBSnapshot) SetIops(v int64) *DBSnapshot {
27111	s.Iops = &v
27112	return s
27113}
27114
27115// SetKmsKeyId sets the KmsKeyId field's value.
27116func (s *DBSnapshot) SetKmsKeyId(v string) *DBSnapshot {
27117	s.KmsKeyId = &v
27118	return s
27119}
27120
27121// SetLicenseModel sets the LicenseModel field's value.
27122func (s *DBSnapshot) SetLicenseModel(v string) *DBSnapshot {
27123	s.LicenseModel = &v
27124	return s
27125}
27126
27127// SetMasterUsername sets the MasterUsername field's value.
27128func (s *DBSnapshot) SetMasterUsername(v string) *DBSnapshot {
27129	s.MasterUsername = &v
27130	return s
27131}
27132
27133// SetOptionGroupName sets the OptionGroupName field's value.
27134func (s *DBSnapshot) SetOptionGroupName(v string) *DBSnapshot {
27135	s.OptionGroupName = &v
27136	return s
27137}
27138
27139// SetOriginalSnapshotCreateTime sets the OriginalSnapshotCreateTime field's value.
27140func (s *DBSnapshot) SetOriginalSnapshotCreateTime(v time.Time) *DBSnapshot {
27141	s.OriginalSnapshotCreateTime = &v
27142	return s
27143}
27144
27145// SetPercentProgress sets the PercentProgress field's value.
27146func (s *DBSnapshot) SetPercentProgress(v int64) *DBSnapshot {
27147	s.PercentProgress = &v
27148	return s
27149}
27150
27151// SetPort sets the Port field's value.
27152func (s *DBSnapshot) SetPort(v int64) *DBSnapshot {
27153	s.Port = &v
27154	return s
27155}
27156
27157// SetProcessorFeatures sets the ProcessorFeatures field's value.
27158func (s *DBSnapshot) SetProcessorFeatures(v []*ProcessorFeature) *DBSnapshot {
27159	s.ProcessorFeatures = v
27160	return s
27161}
27162
27163// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
27164func (s *DBSnapshot) SetSnapshotCreateTime(v time.Time) *DBSnapshot {
27165	s.SnapshotCreateTime = &v
27166	return s
27167}
27168
27169// SetSnapshotType sets the SnapshotType field's value.
27170func (s *DBSnapshot) SetSnapshotType(v string) *DBSnapshot {
27171	s.SnapshotType = &v
27172	return s
27173}
27174
27175// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
27176func (s *DBSnapshot) SetSourceDBSnapshotIdentifier(v string) *DBSnapshot {
27177	s.SourceDBSnapshotIdentifier = &v
27178	return s
27179}
27180
27181// SetSourceRegion sets the SourceRegion field's value.
27182func (s *DBSnapshot) SetSourceRegion(v string) *DBSnapshot {
27183	s.SourceRegion = &v
27184	return s
27185}
27186
27187// SetStatus sets the Status field's value.
27188func (s *DBSnapshot) SetStatus(v string) *DBSnapshot {
27189	s.Status = &v
27190	return s
27191}
27192
27193// SetStorageType sets the StorageType field's value.
27194func (s *DBSnapshot) SetStorageType(v string) *DBSnapshot {
27195	s.StorageType = &v
27196	return s
27197}
27198
27199// SetTagList sets the TagList field's value.
27200func (s *DBSnapshot) SetTagList(v []*Tag) *DBSnapshot {
27201	s.TagList = v
27202	return s
27203}
27204
27205// SetTdeCredentialArn sets the TdeCredentialArn field's value.
27206func (s *DBSnapshot) SetTdeCredentialArn(v string) *DBSnapshot {
27207	s.TdeCredentialArn = &v
27208	return s
27209}
27210
27211// SetTimezone sets the Timezone field's value.
27212func (s *DBSnapshot) SetTimezone(v string) *DBSnapshot {
27213	s.Timezone = &v
27214	return s
27215}
27216
27217// SetVpcId sets the VpcId field's value.
27218func (s *DBSnapshot) SetVpcId(v string) *DBSnapshot {
27219	s.VpcId = &v
27220	return s
27221}
27222
27223// Contains the name and values of a manual DB snapshot attribute
27224//
27225// Manual DB snapshot attributes are used to authorize other Amazon Web Services
27226// accounts to restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
27227// API.
27228type DBSnapshotAttribute struct {
27229	_ struct{} `type:"structure"`
27230
27231	// The name of the manual DB snapshot attribute.
27232	//
27233	// The attribute named restore refers to the list of Amazon Web Services accounts
27234	// that have permission to copy or restore the manual DB cluster snapshot. For
27235	// more information, see the ModifyDBSnapshotAttribute API action.
27236	AttributeName *string `type:"string"`
27237
27238	// The value or values for the manual DB snapshot attribute.
27239	//
27240	// If the AttributeName field is set to restore, then this element returns a
27241	// list of IDs of the Amazon Web Services accounts that are authorized to copy
27242	// or restore the manual DB snapshot. If a value of all is in the list, then
27243	// the manual DB snapshot is public and available for any Amazon Web Services
27244	// account to copy or restore.
27245	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
27246}
27247
27248// String returns the string representation.
27249//
27250// API parameter values that are decorated as "sensitive" in the API will not
27251// be included in the string output. The member name will be present, but the
27252// value will be replaced with "sensitive".
27253func (s DBSnapshotAttribute) String() string {
27254	return awsutil.Prettify(s)
27255}
27256
27257// GoString returns the string representation.
27258//
27259// API parameter values that are decorated as "sensitive" in the API will not
27260// be included in the string output. The member name will be present, but the
27261// value will be replaced with "sensitive".
27262func (s DBSnapshotAttribute) GoString() string {
27263	return s.String()
27264}
27265
27266// SetAttributeName sets the AttributeName field's value.
27267func (s *DBSnapshotAttribute) SetAttributeName(v string) *DBSnapshotAttribute {
27268	s.AttributeName = &v
27269	return s
27270}
27271
27272// SetAttributeValues sets the AttributeValues field's value.
27273func (s *DBSnapshotAttribute) SetAttributeValues(v []*string) *DBSnapshotAttribute {
27274	s.AttributeValues = v
27275	return s
27276}
27277
27278// Contains the results of a successful call to the DescribeDBSnapshotAttributes
27279// API action.
27280//
27281// Manual DB snapshot attributes are used to authorize other Amazon Web Services
27282// accounts to copy or restore a manual DB snapshot. For more information, see
27283// the ModifyDBSnapshotAttribute API action.
27284type DBSnapshotAttributesResult struct {
27285	_ struct{} `type:"structure"`
27286
27287	// The list of attributes and values for the manual DB snapshot.
27288	DBSnapshotAttributes []*DBSnapshotAttribute `locationNameList:"DBSnapshotAttribute" type:"list"`
27289
27290	// The identifier of the manual DB snapshot that the attributes apply to.
27291	DBSnapshotIdentifier *string `type:"string"`
27292}
27293
27294// String returns the string representation.
27295//
27296// API parameter values that are decorated as "sensitive" in the API will not
27297// be included in the string output. The member name will be present, but the
27298// value will be replaced with "sensitive".
27299func (s DBSnapshotAttributesResult) String() string {
27300	return awsutil.Prettify(s)
27301}
27302
27303// GoString returns the string representation.
27304//
27305// API parameter values that are decorated as "sensitive" in the API will not
27306// be included in the string output. The member name will be present, but the
27307// value will be replaced with "sensitive".
27308func (s DBSnapshotAttributesResult) GoString() string {
27309	return s.String()
27310}
27311
27312// SetDBSnapshotAttributes sets the DBSnapshotAttributes field's value.
27313func (s *DBSnapshotAttributesResult) SetDBSnapshotAttributes(v []*DBSnapshotAttribute) *DBSnapshotAttributesResult {
27314	s.DBSnapshotAttributes = v
27315	return s
27316}
27317
27318// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
27319func (s *DBSnapshotAttributesResult) SetDBSnapshotIdentifier(v string) *DBSnapshotAttributesResult {
27320	s.DBSnapshotIdentifier = &v
27321	return s
27322}
27323
27324// Contains the details of an Amazon RDS DB subnet group.
27325//
27326// This data type is used as a response element in the DescribeDBSubnetGroups
27327// action.
27328type DBSubnetGroup struct {
27329	_ struct{} `type:"structure"`
27330
27331	// The Amazon Resource Name (ARN) for the DB subnet group.
27332	DBSubnetGroupArn *string `type:"string"`
27333
27334	// Provides the description of the DB subnet group.
27335	DBSubnetGroupDescription *string `type:"string"`
27336
27337	// The name of the DB subnet group.
27338	DBSubnetGroupName *string `type:"string"`
27339
27340	// Provides the status of the DB subnet group.
27341	SubnetGroupStatus *string `type:"string"`
27342
27343	// Contains a list of Subnet elements.
27344	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
27345
27346	// Provides the VpcId of the DB subnet group.
27347	VpcId *string `type:"string"`
27348}
27349
27350// String returns the string representation.
27351//
27352// API parameter values that are decorated as "sensitive" in the API will not
27353// be included in the string output. The member name will be present, but the
27354// value will be replaced with "sensitive".
27355func (s DBSubnetGroup) String() string {
27356	return awsutil.Prettify(s)
27357}
27358
27359// GoString returns the string representation.
27360//
27361// API parameter values that are decorated as "sensitive" in the API will not
27362// be included in the string output. The member name will be present, but the
27363// value will be replaced with "sensitive".
27364func (s DBSubnetGroup) GoString() string {
27365	return s.String()
27366}
27367
27368// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
27369func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
27370	s.DBSubnetGroupArn = &v
27371	return s
27372}
27373
27374// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
27375func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
27376	s.DBSubnetGroupDescription = &v
27377	return s
27378}
27379
27380// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
27381func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
27382	s.DBSubnetGroupName = &v
27383	return s
27384}
27385
27386// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
27387func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
27388	s.SubnetGroupStatus = &v
27389	return s
27390}
27391
27392// SetSubnets sets the Subnets field's value.
27393func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
27394	s.Subnets = v
27395	return s
27396}
27397
27398// SetVpcId sets the VpcId field's value.
27399func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
27400	s.VpcId = &v
27401	return s
27402}
27403
27404type DeleteCustomAvailabilityZoneInput struct {
27405	_ struct{} `type:"structure"`
27406
27407	// The custom AZ identifier.
27408	//
27409	// CustomAvailabilityZoneId is a required field
27410	CustomAvailabilityZoneId *string `type:"string" required:"true"`
27411}
27412
27413// String returns the string representation.
27414//
27415// API parameter values that are decorated as "sensitive" in the API will not
27416// be included in the string output. The member name will be present, but the
27417// value will be replaced with "sensitive".
27418func (s DeleteCustomAvailabilityZoneInput) String() string {
27419	return awsutil.Prettify(s)
27420}
27421
27422// GoString returns the string representation.
27423//
27424// API parameter values that are decorated as "sensitive" in the API will not
27425// be included in the string output. The member name will be present, but the
27426// value will be replaced with "sensitive".
27427func (s DeleteCustomAvailabilityZoneInput) GoString() string {
27428	return s.String()
27429}
27430
27431// Validate inspects the fields of the type to determine if they are valid.
27432func (s *DeleteCustomAvailabilityZoneInput) Validate() error {
27433	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomAvailabilityZoneInput"}
27434	if s.CustomAvailabilityZoneId == nil {
27435		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
27436	}
27437
27438	if invalidParams.Len() > 0 {
27439		return invalidParams
27440	}
27441	return nil
27442}
27443
27444// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
27445func (s *DeleteCustomAvailabilityZoneInput) SetCustomAvailabilityZoneId(v string) *DeleteCustomAvailabilityZoneInput {
27446	s.CustomAvailabilityZoneId = &v
27447	return s
27448}
27449
27450type DeleteCustomAvailabilityZoneOutput struct {
27451	_ struct{} `type:"structure"`
27452
27453	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
27454	// a VMware vSphere cluster.
27455	//
27456	// For more information about RDS on VMware, see the RDS on VMware User Guide.
27457	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
27458	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
27459}
27460
27461// String returns the string representation.
27462//
27463// API parameter values that are decorated as "sensitive" in the API will not
27464// be included in the string output. The member name will be present, but the
27465// value will be replaced with "sensitive".
27466func (s DeleteCustomAvailabilityZoneOutput) String() string {
27467	return awsutil.Prettify(s)
27468}
27469
27470// GoString returns the string representation.
27471//
27472// API parameter values that are decorated as "sensitive" in the API will not
27473// be included in the string output. The member name will be present, but the
27474// value will be replaced with "sensitive".
27475func (s DeleteCustomAvailabilityZoneOutput) GoString() string {
27476	return s.String()
27477}
27478
27479// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
27480func (s *DeleteCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *DeleteCustomAvailabilityZoneOutput {
27481	s.CustomAvailabilityZone = v
27482	return s
27483}
27484
27485type DeleteCustomDBEngineVersionInput struct {
27486	_ struct{} `type:"structure"`
27487
27488	// The database engine. The only supported engine is custom-oracle-ee.
27489	//
27490	// Engine is a required field
27491	Engine *string `min:"1" type:"string" required:"true"`
27492
27493	// The custom engine version (CEV) for your DB instance. This option is required
27494	// for RDS Custom, but optional for Amazon RDS. The combination of Engine and
27495	// EngineVersion is unique per customer per Amazon Web Services Region.
27496	//
27497	// EngineVersion is a required field
27498	EngineVersion *string `min:"1" type:"string" required:"true"`
27499}
27500
27501// String returns the string representation.
27502//
27503// API parameter values that are decorated as "sensitive" in the API will not
27504// be included in the string output. The member name will be present, but the
27505// value will be replaced with "sensitive".
27506func (s DeleteCustomDBEngineVersionInput) String() string {
27507	return awsutil.Prettify(s)
27508}
27509
27510// GoString returns the string representation.
27511//
27512// API parameter values that are decorated as "sensitive" in the API will not
27513// be included in the string output. The member name will be present, but the
27514// value will be replaced with "sensitive".
27515func (s DeleteCustomDBEngineVersionInput) GoString() string {
27516	return s.String()
27517}
27518
27519// Validate inspects the fields of the type to determine if they are valid.
27520func (s *DeleteCustomDBEngineVersionInput) Validate() error {
27521	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomDBEngineVersionInput"}
27522	if s.Engine == nil {
27523		invalidParams.Add(request.NewErrParamRequired("Engine"))
27524	}
27525	if s.Engine != nil && len(*s.Engine) < 1 {
27526		invalidParams.Add(request.NewErrParamMinLen("Engine", 1))
27527	}
27528	if s.EngineVersion == nil {
27529		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
27530	}
27531	if s.EngineVersion != nil && len(*s.EngineVersion) < 1 {
27532		invalidParams.Add(request.NewErrParamMinLen("EngineVersion", 1))
27533	}
27534
27535	if invalidParams.Len() > 0 {
27536		return invalidParams
27537	}
27538	return nil
27539}
27540
27541// SetEngine sets the Engine field's value.
27542func (s *DeleteCustomDBEngineVersionInput) SetEngine(v string) *DeleteCustomDBEngineVersionInput {
27543	s.Engine = &v
27544	return s
27545}
27546
27547// SetEngineVersion sets the EngineVersion field's value.
27548func (s *DeleteCustomDBEngineVersionInput) SetEngineVersion(v string) *DeleteCustomDBEngineVersionInput {
27549	s.EngineVersion = &v
27550	return s
27551}
27552
27553// This data type is used as a response element in the action DescribeDBEngineVersions.
27554type DeleteCustomDBEngineVersionOutput struct {
27555	_ struct{} `type:"structure"`
27556
27557	// The creation time of the DB engine version.
27558	CreateTime *time.Time `type:"timestamp"`
27559
27560	// The description of the database engine.
27561	DBEngineDescription *string `type:"string"`
27562
27563	// The ARN of the custom engine version.
27564	DBEngineVersionArn *string `type:"string"`
27565
27566	// The description of the database engine version.
27567	DBEngineVersionDescription *string `type:"string"`
27568
27569	// The name of the DB parameter group family for the database engine.
27570	DBParameterGroupFamily *string `type:"string"`
27571
27572	// The name of the Amazon S3 bucket that contains your database installation
27573	// files.
27574	DatabaseInstallationFilesS3BucketName *string `type:"string"`
27575
27576	// The Amazon S3 directory that contains the database installation files. If
27577	// not specified, then no prefix is assumed.
27578	DatabaseInstallationFilesS3Prefix *string `type:"string"`
27579
27580	// The default character set for new instances of this engine version, if the
27581	// CharacterSetName parameter of the CreateDBInstance API isn't specified.
27582	DefaultCharacterSet *CharacterSet `type:"structure"`
27583
27584	// The name of the database engine.
27585	Engine *string `type:"string"`
27586
27587	// The version number of the database engine.
27588	EngineVersion *string `type:"string"`
27589
27590	// The types of logs that the database engine has available for export to CloudWatch
27591	// Logs.
27592	ExportableLogTypes []*string `type:"list"`
27593
27594	// The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter
27595	// is required for RDS Custom, but optional for Amazon RDS.
27596	KMSKeyId *string `type:"string"`
27597
27598	// The major engine version of the CEV.
27599	MajorEngineVersion *string `type:"string"`
27600
27601	// The status of the DB engine version, either available or deprecated.
27602	Status *string `type:"string"`
27603
27604	// A list of the character sets supported by this engine for the CharacterSetName
27605	// parameter of the CreateDBInstance operation.
27606	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
27607
27608	// A list of the supported DB engine modes.
27609	SupportedEngineModes []*string `type:"list"`
27610
27611	// A list of features supported by the DB engine.
27612	//
27613	// The supported features vary by DB engine and DB engine version.
27614	//
27615	// To determine the supported features for a specific DB engine and DB engine
27616	// version using the CLI, use the following command:
27617	//
27618	// aws rds describe-db-engine-versions --engine <engine_name> --engine-version
27619	// <engine_version>
27620	//
27621	// For example, to determine the supported features for RDS for PostgreSQL version
27622	// 13.3 using the CLI, use the following command:
27623	//
27624	// aws rds describe-db-engine-versions --engine postgres --engine-version 13.3
27625	//
27626	// The supported features are listed under SupportedFeatureNames in the output.
27627	SupportedFeatureNames []*string `type:"list"`
27628
27629	// A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName
27630	// parameter of the CreateDBInstance operation.
27631	SupportedNcharCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
27632
27633	// A list of the time zones supported by this engine for the Timezone parameter
27634	// of the CreateDBInstance action.
27635	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
27636
27637	// A value that indicates whether you can use Aurora global databases with a
27638	// specific DB engine version.
27639	SupportsGlobalDatabases *bool `type:"boolean"`
27640
27641	// A value that indicates whether the engine version supports exporting the
27642	// log types specified by ExportableLogTypes to CloudWatch Logs.
27643	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
27644
27645	// A value that indicates whether you can use Aurora parallel query with a specific
27646	// DB engine version.
27647	SupportsParallelQuery *bool `type:"boolean"`
27648
27649	// Indicates whether the database engine version supports read replicas.
27650	SupportsReadReplica *bool `type:"boolean"`
27651
27652	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
27653	// in the Amazon RDS User Guide.
27654	TagList []*Tag `locationNameList:"Tag" type:"list"`
27655
27656	// A list of engine versions that this database engine version can be upgraded
27657	// to.
27658	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
27659}
27660
27661// String returns the string representation.
27662//
27663// API parameter values that are decorated as "sensitive" in the API will not
27664// be included in the string output. The member name will be present, but the
27665// value will be replaced with "sensitive".
27666func (s DeleteCustomDBEngineVersionOutput) String() string {
27667	return awsutil.Prettify(s)
27668}
27669
27670// GoString returns the string representation.
27671//
27672// API parameter values that are decorated as "sensitive" in the API will not
27673// be included in the string output. The member name will be present, but the
27674// value will be replaced with "sensitive".
27675func (s DeleteCustomDBEngineVersionOutput) GoString() string {
27676	return s.String()
27677}
27678
27679// SetCreateTime sets the CreateTime field's value.
27680func (s *DeleteCustomDBEngineVersionOutput) SetCreateTime(v time.Time) *DeleteCustomDBEngineVersionOutput {
27681	s.CreateTime = &v
27682	return s
27683}
27684
27685// SetDBEngineDescription sets the DBEngineDescription field's value.
27686func (s *DeleteCustomDBEngineVersionOutput) SetDBEngineDescription(v string) *DeleteCustomDBEngineVersionOutput {
27687	s.DBEngineDescription = &v
27688	return s
27689}
27690
27691// SetDBEngineVersionArn sets the DBEngineVersionArn field's value.
27692func (s *DeleteCustomDBEngineVersionOutput) SetDBEngineVersionArn(v string) *DeleteCustomDBEngineVersionOutput {
27693	s.DBEngineVersionArn = &v
27694	return s
27695}
27696
27697// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
27698func (s *DeleteCustomDBEngineVersionOutput) SetDBEngineVersionDescription(v string) *DeleteCustomDBEngineVersionOutput {
27699	s.DBEngineVersionDescription = &v
27700	return s
27701}
27702
27703// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
27704func (s *DeleteCustomDBEngineVersionOutput) SetDBParameterGroupFamily(v string) *DeleteCustomDBEngineVersionOutput {
27705	s.DBParameterGroupFamily = &v
27706	return s
27707}
27708
27709// SetDatabaseInstallationFilesS3BucketName sets the DatabaseInstallationFilesS3BucketName field's value.
27710func (s *DeleteCustomDBEngineVersionOutput) SetDatabaseInstallationFilesS3BucketName(v string) *DeleteCustomDBEngineVersionOutput {
27711	s.DatabaseInstallationFilesS3BucketName = &v
27712	return s
27713}
27714
27715// SetDatabaseInstallationFilesS3Prefix sets the DatabaseInstallationFilesS3Prefix field's value.
27716func (s *DeleteCustomDBEngineVersionOutput) SetDatabaseInstallationFilesS3Prefix(v string) *DeleteCustomDBEngineVersionOutput {
27717	s.DatabaseInstallationFilesS3Prefix = &v
27718	return s
27719}
27720
27721// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
27722func (s *DeleteCustomDBEngineVersionOutput) SetDefaultCharacterSet(v *CharacterSet) *DeleteCustomDBEngineVersionOutput {
27723	s.DefaultCharacterSet = v
27724	return s
27725}
27726
27727// SetEngine sets the Engine field's value.
27728func (s *DeleteCustomDBEngineVersionOutput) SetEngine(v string) *DeleteCustomDBEngineVersionOutput {
27729	s.Engine = &v
27730	return s
27731}
27732
27733// SetEngineVersion sets the EngineVersion field's value.
27734func (s *DeleteCustomDBEngineVersionOutput) SetEngineVersion(v string) *DeleteCustomDBEngineVersionOutput {
27735	s.EngineVersion = &v
27736	return s
27737}
27738
27739// SetExportableLogTypes sets the ExportableLogTypes field's value.
27740func (s *DeleteCustomDBEngineVersionOutput) SetExportableLogTypes(v []*string) *DeleteCustomDBEngineVersionOutput {
27741	s.ExportableLogTypes = v
27742	return s
27743}
27744
27745// SetKMSKeyId sets the KMSKeyId field's value.
27746func (s *DeleteCustomDBEngineVersionOutput) SetKMSKeyId(v string) *DeleteCustomDBEngineVersionOutput {
27747	s.KMSKeyId = &v
27748	return s
27749}
27750
27751// SetMajorEngineVersion sets the MajorEngineVersion field's value.
27752func (s *DeleteCustomDBEngineVersionOutput) SetMajorEngineVersion(v string) *DeleteCustomDBEngineVersionOutput {
27753	s.MajorEngineVersion = &v
27754	return s
27755}
27756
27757// SetStatus sets the Status field's value.
27758func (s *DeleteCustomDBEngineVersionOutput) SetStatus(v string) *DeleteCustomDBEngineVersionOutput {
27759	s.Status = &v
27760	return s
27761}
27762
27763// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
27764func (s *DeleteCustomDBEngineVersionOutput) SetSupportedCharacterSets(v []*CharacterSet) *DeleteCustomDBEngineVersionOutput {
27765	s.SupportedCharacterSets = v
27766	return s
27767}
27768
27769// SetSupportedEngineModes sets the SupportedEngineModes field's value.
27770func (s *DeleteCustomDBEngineVersionOutput) SetSupportedEngineModes(v []*string) *DeleteCustomDBEngineVersionOutput {
27771	s.SupportedEngineModes = v
27772	return s
27773}
27774
27775// SetSupportedFeatureNames sets the SupportedFeatureNames field's value.
27776func (s *DeleteCustomDBEngineVersionOutput) SetSupportedFeatureNames(v []*string) *DeleteCustomDBEngineVersionOutput {
27777	s.SupportedFeatureNames = v
27778	return s
27779}
27780
27781// SetSupportedNcharCharacterSets sets the SupportedNcharCharacterSets field's value.
27782func (s *DeleteCustomDBEngineVersionOutput) SetSupportedNcharCharacterSets(v []*CharacterSet) *DeleteCustomDBEngineVersionOutput {
27783	s.SupportedNcharCharacterSets = v
27784	return s
27785}
27786
27787// SetSupportedTimezones sets the SupportedTimezones field's value.
27788func (s *DeleteCustomDBEngineVersionOutput) SetSupportedTimezones(v []*Timezone) *DeleteCustomDBEngineVersionOutput {
27789	s.SupportedTimezones = v
27790	return s
27791}
27792
27793// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
27794func (s *DeleteCustomDBEngineVersionOutput) SetSupportsGlobalDatabases(v bool) *DeleteCustomDBEngineVersionOutput {
27795	s.SupportsGlobalDatabases = &v
27796	return s
27797}
27798
27799// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
27800func (s *DeleteCustomDBEngineVersionOutput) SetSupportsLogExportsToCloudwatchLogs(v bool) *DeleteCustomDBEngineVersionOutput {
27801	s.SupportsLogExportsToCloudwatchLogs = &v
27802	return s
27803}
27804
27805// SetSupportsParallelQuery sets the SupportsParallelQuery field's value.
27806func (s *DeleteCustomDBEngineVersionOutput) SetSupportsParallelQuery(v bool) *DeleteCustomDBEngineVersionOutput {
27807	s.SupportsParallelQuery = &v
27808	return s
27809}
27810
27811// SetSupportsReadReplica sets the SupportsReadReplica field's value.
27812func (s *DeleteCustomDBEngineVersionOutput) SetSupportsReadReplica(v bool) *DeleteCustomDBEngineVersionOutput {
27813	s.SupportsReadReplica = &v
27814	return s
27815}
27816
27817// SetTagList sets the TagList field's value.
27818func (s *DeleteCustomDBEngineVersionOutput) SetTagList(v []*Tag) *DeleteCustomDBEngineVersionOutput {
27819	s.TagList = v
27820	return s
27821}
27822
27823// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
27824func (s *DeleteCustomDBEngineVersionOutput) SetValidUpgradeTarget(v []*UpgradeTarget) *DeleteCustomDBEngineVersionOutput {
27825	s.ValidUpgradeTarget = v
27826	return s
27827}
27828
27829type DeleteDBClusterEndpointInput struct {
27830	_ struct{} `type:"structure"`
27831
27832	// The identifier associated with the custom endpoint. This parameter is stored
27833	// as a lowercase string.
27834	//
27835	// DBClusterEndpointIdentifier is a required field
27836	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
27837}
27838
27839// String returns the string representation.
27840//
27841// API parameter values that are decorated as "sensitive" in the API will not
27842// be included in the string output. The member name will be present, but the
27843// value will be replaced with "sensitive".
27844func (s DeleteDBClusterEndpointInput) String() string {
27845	return awsutil.Prettify(s)
27846}
27847
27848// GoString returns the string representation.
27849//
27850// API parameter values that are decorated as "sensitive" in the API will not
27851// be included in the string output. The member name will be present, but the
27852// value will be replaced with "sensitive".
27853func (s DeleteDBClusterEndpointInput) GoString() string {
27854	return s.String()
27855}
27856
27857// Validate inspects the fields of the type to determine if they are valid.
27858func (s *DeleteDBClusterEndpointInput) Validate() error {
27859	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterEndpointInput"}
27860	if s.DBClusterEndpointIdentifier == nil {
27861		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
27862	}
27863
27864	if invalidParams.Len() > 0 {
27865		return invalidParams
27866	}
27867	return nil
27868}
27869
27870// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
27871func (s *DeleteDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointInput {
27872	s.DBClusterEndpointIdentifier = &v
27873	return s
27874}
27875
27876// This data type represents the information you need to connect to an Amazon
27877// Aurora DB cluster. This data type is used as a response element in the following
27878// actions:
27879//
27880//    * CreateDBClusterEndpoint
27881//
27882//    * DescribeDBClusterEndpoints
27883//
27884//    * ModifyDBClusterEndpoint
27885//
27886//    * DeleteDBClusterEndpoint
27887//
27888// For the data structure that represents Amazon RDS DB instance endpoints,
27889// see Endpoint.
27890type DeleteDBClusterEndpointOutput struct {
27891	_ struct{} `type:"structure"`
27892
27893	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
27894	CustomEndpointType *string `type:"string"`
27895
27896	// The Amazon Resource Name (ARN) for the endpoint.
27897	DBClusterEndpointArn *string `type:"string"`
27898
27899	// The identifier associated with the endpoint. This parameter is stored as
27900	// a lowercase string.
27901	DBClusterEndpointIdentifier *string `type:"string"`
27902
27903	// A unique system-generated identifier for an endpoint. It remains the same
27904	// for the whole life of the endpoint.
27905	DBClusterEndpointResourceIdentifier *string `type:"string"`
27906
27907	// The DB cluster identifier of the DB cluster associated with the endpoint.
27908	// This parameter is stored as a lowercase string.
27909	DBClusterIdentifier *string `type:"string"`
27910
27911	// The DNS address of the endpoint.
27912	Endpoint *string `type:"string"`
27913
27914	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
27915	EndpointType *string `type:"string"`
27916
27917	// List of DB instance identifiers that aren't part of the custom endpoint group.
27918	// All other eligible instances are reachable through the custom endpoint. Only
27919	// relevant if the list of static members is empty.
27920	ExcludedMembers []*string `type:"list"`
27921
27922	// List of DB instance identifiers that are part of the custom endpoint group.
27923	StaticMembers []*string `type:"list"`
27924
27925	// The current status of the endpoint. One of: creating, available, deleting,
27926	// inactive, modifying. The inactive state applies to an endpoint that can't
27927	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
27928	// secondary cluster in a global database.
27929	Status *string `type:"string"`
27930}
27931
27932// String returns the string representation.
27933//
27934// API parameter values that are decorated as "sensitive" in the API will not
27935// be included in the string output. The member name will be present, but the
27936// value will be replaced with "sensitive".
27937func (s DeleteDBClusterEndpointOutput) String() string {
27938	return awsutil.Prettify(s)
27939}
27940
27941// GoString returns the string representation.
27942//
27943// API parameter values that are decorated as "sensitive" in the API will not
27944// be included in the string output. The member name will be present, but the
27945// value will be replaced with "sensitive".
27946func (s DeleteDBClusterEndpointOutput) GoString() string {
27947	return s.String()
27948}
27949
27950// SetCustomEndpointType sets the CustomEndpointType field's value.
27951func (s *DeleteDBClusterEndpointOutput) SetCustomEndpointType(v string) *DeleteDBClusterEndpointOutput {
27952	s.CustomEndpointType = &v
27953	return s
27954}
27955
27956// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
27957func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *DeleteDBClusterEndpointOutput {
27958	s.DBClusterEndpointArn = &v
27959	return s
27960}
27961
27962// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
27963func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointOutput {
27964	s.DBClusterEndpointIdentifier = &v
27965	return s
27966}
27967
27968// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
27969func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *DeleteDBClusterEndpointOutput {
27970	s.DBClusterEndpointResourceIdentifier = &v
27971	return s
27972}
27973
27974// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
27975func (s *DeleteDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *DeleteDBClusterEndpointOutput {
27976	s.DBClusterIdentifier = &v
27977	return s
27978}
27979
27980// SetEndpoint sets the Endpoint field's value.
27981func (s *DeleteDBClusterEndpointOutput) SetEndpoint(v string) *DeleteDBClusterEndpointOutput {
27982	s.Endpoint = &v
27983	return s
27984}
27985
27986// SetEndpointType sets the EndpointType field's value.
27987func (s *DeleteDBClusterEndpointOutput) SetEndpointType(v string) *DeleteDBClusterEndpointOutput {
27988	s.EndpointType = &v
27989	return s
27990}
27991
27992// SetExcludedMembers sets the ExcludedMembers field's value.
27993func (s *DeleteDBClusterEndpointOutput) SetExcludedMembers(v []*string) *DeleteDBClusterEndpointOutput {
27994	s.ExcludedMembers = v
27995	return s
27996}
27997
27998// SetStaticMembers sets the StaticMembers field's value.
27999func (s *DeleteDBClusterEndpointOutput) SetStaticMembers(v []*string) *DeleteDBClusterEndpointOutput {
28000	s.StaticMembers = v
28001	return s
28002}
28003
28004// SetStatus sets the Status field's value.
28005func (s *DeleteDBClusterEndpointOutput) SetStatus(v string) *DeleteDBClusterEndpointOutput {
28006	s.Status = &v
28007	return s
28008}
28009
28010type DeleteDBClusterInput struct {
28011	_ struct{} `type:"structure"`
28012
28013	// The DB cluster identifier for the DB cluster to be deleted. This parameter
28014	// isn't case-sensitive.
28015	//
28016	// Constraints:
28017	//
28018	//    * Must match an existing DBClusterIdentifier.
28019	//
28020	// DBClusterIdentifier is a required field
28021	DBClusterIdentifier *string `type:"string" required:"true"`
28022
28023	// The DB cluster snapshot identifier of the new DB cluster snapshot created
28024	// when SkipFinalSnapshot is disabled.
28025	//
28026	// Specifying this parameter and also skipping the creation of a final DB cluster
28027	// snapshot with the SkipFinalShapshot parameter results in an error.
28028	//
28029	// Constraints:
28030	//
28031	//    * Must be 1 to 255 letters, numbers, or hyphens.
28032	//
28033	//    * First character must be a letter
28034	//
28035	//    * Can't end with a hyphen or contain two consecutive hyphens
28036	FinalDBSnapshotIdentifier *string `type:"string"`
28037
28038	// A value that indicates whether to skip the creation of a final DB cluster
28039	// snapshot before the DB cluster is deleted. If skip is specified, no DB cluster
28040	// snapshot is created. If skip isn't specified, a DB cluster snapshot is created
28041	// before the DB cluster is deleted. By default, skip isn't specified, and the
28042	// DB cluster snapshot is created. By default, this parameter is disabled.
28043	//
28044	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
28045	// is disabled.
28046	SkipFinalSnapshot *bool `type:"boolean"`
28047}
28048
28049// String returns the string representation.
28050//
28051// API parameter values that are decorated as "sensitive" in the API will not
28052// be included in the string output. The member name will be present, but the
28053// value will be replaced with "sensitive".
28054func (s DeleteDBClusterInput) String() string {
28055	return awsutil.Prettify(s)
28056}
28057
28058// GoString returns the string representation.
28059//
28060// API parameter values that are decorated as "sensitive" in the API will not
28061// be included in the string output. The member name will be present, but the
28062// value will be replaced with "sensitive".
28063func (s DeleteDBClusterInput) GoString() string {
28064	return s.String()
28065}
28066
28067// Validate inspects the fields of the type to determine if they are valid.
28068func (s *DeleteDBClusterInput) Validate() error {
28069	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
28070	if s.DBClusterIdentifier == nil {
28071		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
28072	}
28073
28074	if invalidParams.Len() > 0 {
28075		return invalidParams
28076	}
28077	return nil
28078}
28079
28080// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
28081func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
28082	s.DBClusterIdentifier = &v
28083	return s
28084}
28085
28086// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
28087func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
28088	s.FinalDBSnapshotIdentifier = &v
28089	return s
28090}
28091
28092// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
28093func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
28094	s.SkipFinalSnapshot = &v
28095	return s
28096}
28097
28098type DeleteDBClusterOutput struct {
28099	_ struct{} `type:"structure"`
28100
28101	// Contains the details of an Amazon Aurora DB cluster.
28102	//
28103	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
28104	// and StartDBCluster actions.
28105	DBCluster *DBCluster `type:"structure"`
28106}
28107
28108// String returns the string representation.
28109//
28110// API parameter values that are decorated as "sensitive" in the API will not
28111// be included in the string output. The member name will be present, but the
28112// value will be replaced with "sensitive".
28113func (s DeleteDBClusterOutput) String() string {
28114	return awsutil.Prettify(s)
28115}
28116
28117// GoString returns the string representation.
28118//
28119// API parameter values that are decorated as "sensitive" in the API will not
28120// be included in the string output. The member name will be present, but the
28121// value will be replaced with "sensitive".
28122func (s DeleteDBClusterOutput) GoString() string {
28123	return s.String()
28124}
28125
28126// SetDBCluster sets the DBCluster field's value.
28127func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
28128	s.DBCluster = v
28129	return s
28130}
28131
28132type DeleteDBClusterParameterGroupInput struct {
28133	_ struct{} `type:"structure"`
28134
28135	// The name of the DB cluster parameter group.
28136	//
28137	// Constraints:
28138	//
28139	//    * Must be the name of an existing DB cluster parameter group.
28140	//
28141	//    * You can't delete a default DB cluster parameter group.
28142	//
28143	//    * Can't be associated with any DB clusters.
28144	//
28145	// DBClusterParameterGroupName is a required field
28146	DBClusterParameterGroupName *string `type:"string" required:"true"`
28147}
28148
28149// String returns the string representation.
28150//
28151// API parameter values that are decorated as "sensitive" in the API will not
28152// be included in the string output. The member name will be present, but the
28153// value will be replaced with "sensitive".
28154func (s DeleteDBClusterParameterGroupInput) String() string {
28155	return awsutil.Prettify(s)
28156}
28157
28158// GoString returns the string representation.
28159//
28160// API parameter values that are decorated as "sensitive" in the API will not
28161// be included in the string output. The member name will be present, but the
28162// value will be replaced with "sensitive".
28163func (s DeleteDBClusterParameterGroupInput) GoString() string {
28164	return s.String()
28165}
28166
28167// Validate inspects the fields of the type to determine if they are valid.
28168func (s *DeleteDBClusterParameterGroupInput) Validate() error {
28169	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
28170	if s.DBClusterParameterGroupName == nil {
28171		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
28172	}
28173
28174	if invalidParams.Len() > 0 {
28175		return invalidParams
28176	}
28177	return nil
28178}
28179
28180// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
28181func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
28182	s.DBClusterParameterGroupName = &v
28183	return s
28184}
28185
28186type DeleteDBClusterParameterGroupOutput struct {
28187	_ struct{} `type:"structure"`
28188}
28189
28190// String returns the string representation.
28191//
28192// API parameter values that are decorated as "sensitive" in the API will not
28193// be included in the string output. The member name will be present, but the
28194// value will be replaced with "sensitive".
28195func (s DeleteDBClusterParameterGroupOutput) String() string {
28196	return awsutil.Prettify(s)
28197}
28198
28199// GoString returns the string representation.
28200//
28201// API parameter values that are decorated as "sensitive" in the API will not
28202// be included in the string output. The member name will be present, but the
28203// value will be replaced with "sensitive".
28204func (s DeleteDBClusterParameterGroupOutput) GoString() string {
28205	return s.String()
28206}
28207
28208type DeleteDBClusterSnapshotInput struct {
28209	_ struct{} `type:"structure"`
28210
28211	// The identifier of the DB cluster snapshot to delete.
28212	//
28213	// Constraints: Must be the name of an existing DB cluster snapshot in the available
28214	// state.
28215	//
28216	// DBClusterSnapshotIdentifier is a required field
28217	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
28218}
28219
28220// String returns the string representation.
28221//
28222// API parameter values that are decorated as "sensitive" in the API will not
28223// be included in the string output. The member name will be present, but the
28224// value will be replaced with "sensitive".
28225func (s DeleteDBClusterSnapshotInput) String() string {
28226	return awsutil.Prettify(s)
28227}
28228
28229// GoString returns the string representation.
28230//
28231// API parameter values that are decorated as "sensitive" in the API will not
28232// be included in the string output. The member name will be present, but the
28233// value will be replaced with "sensitive".
28234func (s DeleteDBClusterSnapshotInput) GoString() string {
28235	return s.String()
28236}
28237
28238// Validate inspects the fields of the type to determine if they are valid.
28239func (s *DeleteDBClusterSnapshotInput) Validate() error {
28240	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
28241	if s.DBClusterSnapshotIdentifier == nil {
28242		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
28243	}
28244
28245	if invalidParams.Len() > 0 {
28246		return invalidParams
28247	}
28248	return nil
28249}
28250
28251// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
28252func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
28253	s.DBClusterSnapshotIdentifier = &v
28254	return s
28255}
28256
28257type DeleteDBClusterSnapshotOutput struct {
28258	_ struct{} `type:"structure"`
28259
28260	// Contains the details for an Amazon RDS DB cluster snapshot
28261	//
28262	// This data type is used as a response element in the DescribeDBClusterSnapshots
28263	// action.
28264	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
28265}
28266
28267// String returns the string representation.
28268//
28269// API parameter values that are decorated as "sensitive" in the API will not
28270// be included in the string output. The member name will be present, but the
28271// value will be replaced with "sensitive".
28272func (s DeleteDBClusterSnapshotOutput) String() string {
28273	return awsutil.Prettify(s)
28274}
28275
28276// GoString returns the string representation.
28277//
28278// API parameter values that are decorated as "sensitive" in the API will not
28279// be included in the string output. The member name will be present, but the
28280// value will be replaced with "sensitive".
28281func (s DeleteDBClusterSnapshotOutput) GoString() string {
28282	return s.String()
28283}
28284
28285// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
28286func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
28287	s.DBClusterSnapshot = v
28288	return s
28289}
28290
28291// Parameter input for the DeleteDBInstanceAutomatedBackup operation.
28292type DeleteDBInstanceAutomatedBackupInput struct {
28293	_ struct{} `type:"structure"`
28294
28295	// The Amazon Resource Name (ARN) of the automated backups to delete, for example,
28296	// arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.
28297	//
28298	// This setting doesn't apply to RDS Custom.
28299	DBInstanceAutomatedBackupsArn *string `type:"string"`
28300
28301	// The identifier for the source DB instance, which can't be changed and which
28302	// is unique to an Amazon Web Services Region.
28303	DbiResourceId *string `type:"string"`
28304}
28305
28306// String returns the string representation.
28307//
28308// API parameter values that are decorated as "sensitive" in the API will not
28309// be included in the string output. The member name will be present, but the
28310// value will be replaced with "sensitive".
28311func (s DeleteDBInstanceAutomatedBackupInput) String() string {
28312	return awsutil.Prettify(s)
28313}
28314
28315// GoString returns the string representation.
28316//
28317// API parameter values that are decorated as "sensitive" in the API will not
28318// be included in the string output. The member name will be present, but the
28319// value will be replaced with "sensitive".
28320func (s DeleteDBInstanceAutomatedBackupInput) GoString() string {
28321	return s.String()
28322}
28323
28324// SetDBInstanceAutomatedBackupsArn sets the DBInstanceAutomatedBackupsArn field's value.
28325func (s *DeleteDBInstanceAutomatedBackupInput) SetDBInstanceAutomatedBackupsArn(v string) *DeleteDBInstanceAutomatedBackupInput {
28326	s.DBInstanceAutomatedBackupsArn = &v
28327	return s
28328}
28329
28330// SetDbiResourceId sets the DbiResourceId field's value.
28331func (s *DeleteDBInstanceAutomatedBackupInput) SetDbiResourceId(v string) *DeleteDBInstanceAutomatedBackupInput {
28332	s.DbiResourceId = &v
28333	return s
28334}
28335
28336type DeleteDBInstanceAutomatedBackupOutput struct {
28337	_ struct{} `type:"structure"`
28338
28339	// An automated backup of a DB instance. It consists of system backups, transaction
28340	// logs, and the database instance properties that existed at the time you deleted
28341	// the source instance.
28342	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
28343}
28344
28345// String returns the string representation.
28346//
28347// API parameter values that are decorated as "sensitive" in the API will not
28348// be included in the string output. The member name will be present, but the
28349// value will be replaced with "sensitive".
28350func (s DeleteDBInstanceAutomatedBackupOutput) String() string {
28351	return awsutil.Prettify(s)
28352}
28353
28354// GoString returns the string representation.
28355//
28356// API parameter values that are decorated as "sensitive" in the API will not
28357// be included in the string output. The member name will be present, but the
28358// value will be replaced with "sensitive".
28359func (s DeleteDBInstanceAutomatedBackupOutput) GoString() string {
28360	return s.String()
28361}
28362
28363// SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
28364func (s *DeleteDBInstanceAutomatedBackupOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *DeleteDBInstanceAutomatedBackupOutput {
28365	s.DBInstanceAutomatedBackup = v
28366	return s
28367}
28368
28369type DeleteDBInstanceInput struct {
28370	_ struct{} `type:"structure"`
28371
28372	// The DB instance identifier for the DB instance to be deleted. This parameter
28373	// isn't case-sensitive.
28374	//
28375	// Constraints:
28376	//
28377	//    * Must match the name of an existing DB instance.
28378	//
28379	// DBInstanceIdentifier is a required field
28380	DBInstanceIdentifier *string `type:"string" required:"true"`
28381
28382	// A value that indicates whether to remove automated backups immediately after
28383	// the DB instance is deleted. This parameter isn't case-sensitive. The default
28384	// is to remove automated backups immediately after the DB instance is deleted.
28385	DeleteAutomatedBackups *bool `type:"boolean"`
28386
28387	// The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot
28388	// parameter is disabled.
28389	//
28390	// If you enable this parameter and also enable SkipFinalShapshot, the command
28391	// results in an error.
28392	//
28393	// This setting doesn't apply to RDS Custom.
28394	//
28395	// Constraints:
28396	//
28397	//    * Must be 1 to 255 letters or numbers.
28398	//
28399	//    * First character must be a letter.
28400	//
28401	//    * Can't end with a hyphen or contain two consecutive hyphens.
28402	//
28403	//    * Can't be specified when deleting a read replica.
28404	FinalDBSnapshotIdentifier *string `type:"string"`
28405
28406	// A value that indicates whether to skip the creation of a final DB snapshot
28407	// before deleting the instance. If you enable this parameter, RDS doesn't create
28408	// a DB snapshot. If you don't enable this parameter, RDS creates a DB snapshot
28409	// before the DB instance is deleted. By default, skip isn't enabled, and the
28410	// DB snapshot is created.
28411	//
28412	// If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier
28413	// parameter.
28414	//
28415	// When a DB instance is in a failure state and has a status of failed, incompatible-restore,
28416	// or incompatible-network, RDS can delete the instance only if you enable this
28417	// parameter.
28418	//
28419	// If you delete a read replica or an RDS Custom instance, you must enable this
28420	// setting.
28421	//
28422	// This setting is required for RDS Custom.
28423	SkipFinalSnapshot *bool `type:"boolean"`
28424}
28425
28426// String returns the string representation.
28427//
28428// API parameter values that are decorated as "sensitive" in the API will not
28429// be included in the string output. The member name will be present, but the
28430// value will be replaced with "sensitive".
28431func (s DeleteDBInstanceInput) String() string {
28432	return awsutil.Prettify(s)
28433}
28434
28435// GoString returns the string representation.
28436//
28437// API parameter values that are decorated as "sensitive" in the API will not
28438// be included in the string output. The member name will be present, but the
28439// value will be replaced with "sensitive".
28440func (s DeleteDBInstanceInput) GoString() string {
28441	return s.String()
28442}
28443
28444// Validate inspects the fields of the type to determine if they are valid.
28445func (s *DeleteDBInstanceInput) Validate() error {
28446	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
28447	if s.DBInstanceIdentifier == nil {
28448		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
28449	}
28450
28451	if invalidParams.Len() > 0 {
28452		return invalidParams
28453	}
28454	return nil
28455}
28456
28457// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
28458func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
28459	s.DBInstanceIdentifier = &v
28460	return s
28461}
28462
28463// SetDeleteAutomatedBackups sets the DeleteAutomatedBackups field's value.
28464func (s *DeleteDBInstanceInput) SetDeleteAutomatedBackups(v bool) *DeleteDBInstanceInput {
28465	s.DeleteAutomatedBackups = &v
28466	return s
28467}
28468
28469// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
28470func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
28471	s.FinalDBSnapshotIdentifier = &v
28472	return s
28473}
28474
28475// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
28476func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
28477	s.SkipFinalSnapshot = &v
28478	return s
28479}
28480
28481type DeleteDBInstanceOutput struct {
28482	_ struct{} `type:"structure"`
28483
28484	// Contains the details of an Amazon RDS DB instance.
28485	//
28486	// This data type is used as a response element in the DescribeDBInstances action.
28487	DBInstance *DBInstance `type:"structure"`
28488}
28489
28490// String returns the string representation.
28491//
28492// API parameter values that are decorated as "sensitive" in the API will not
28493// be included in the string output. The member name will be present, but the
28494// value will be replaced with "sensitive".
28495func (s DeleteDBInstanceOutput) String() string {
28496	return awsutil.Prettify(s)
28497}
28498
28499// GoString returns the string representation.
28500//
28501// API parameter values that are decorated as "sensitive" in the API will not
28502// be included in the string output. The member name will be present, but the
28503// value will be replaced with "sensitive".
28504func (s DeleteDBInstanceOutput) GoString() string {
28505	return s.String()
28506}
28507
28508// SetDBInstance sets the DBInstance field's value.
28509func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
28510	s.DBInstance = v
28511	return s
28512}
28513
28514type DeleteDBParameterGroupInput struct {
28515	_ struct{} `type:"structure"`
28516
28517	// The name of the DB parameter group.
28518	//
28519	// Constraints:
28520	//
28521	//    * Must be the name of an existing DB parameter group
28522	//
28523	//    * You can't delete a default DB parameter group
28524	//
28525	//    * Can't be associated with any DB instances
28526	//
28527	// DBParameterGroupName is a required field
28528	DBParameterGroupName *string `type:"string" required:"true"`
28529}
28530
28531// String returns the string representation.
28532//
28533// API parameter values that are decorated as "sensitive" in the API will not
28534// be included in the string output. The member name will be present, but the
28535// value will be replaced with "sensitive".
28536func (s DeleteDBParameterGroupInput) String() string {
28537	return awsutil.Prettify(s)
28538}
28539
28540// GoString returns the string representation.
28541//
28542// API parameter values that are decorated as "sensitive" in the API will not
28543// be included in the string output. The member name will be present, but the
28544// value will be replaced with "sensitive".
28545func (s DeleteDBParameterGroupInput) GoString() string {
28546	return s.String()
28547}
28548
28549// Validate inspects the fields of the type to determine if they are valid.
28550func (s *DeleteDBParameterGroupInput) Validate() error {
28551	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
28552	if s.DBParameterGroupName == nil {
28553		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
28554	}
28555
28556	if invalidParams.Len() > 0 {
28557		return invalidParams
28558	}
28559	return nil
28560}
28561
28562// SetDBParameterGroupName sets the DBParameterGroupName field's value.
28563func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
28564	s.DBParameterGroupName = &v
28565	return s
28566}
28567
28568type DeleteDBParameterGroupOutput struct {
28569	_ struct{} `type:"structure"`
28570}
28571
28572// String returns the string representation.
28573//
28574// API parameter values that are decorated as "sensitive" in the API will not
28575// be included in the string output. The member name will be present, but the
28576// value will be replaced with "sensitive".
28577func (s DeleteDBParameterGroupOutput) String() string {
28578	return awsutil.Prettify(s)
28579}
28580
28581// GoString returns the string representation.
28582//
28583// API parameter values that are decorated as "sensitive" in the API will not
28584// be included in the string output. The member name will be present, but the
28585// value will be replaced with "sensitive".
28586func (s DeleteDBParameterGroupOutput) GoString() string {
28587	return s.String()
28588}
28589
28590type DeleteDBProxyEndpointInput struct {
28591	_ struct{} `type:"structure"`
28592
28593	// The name of the DB proxy endpoint to delete.
28594	//
28595	// DBProxyEndpointName is a required field
28596	DBProxyEndpointName *string `min:"1" type:"string" required:"true"`
28597}
28598
28599// String returns the string representation.
28600//
28601// API parameter values that are decorated as "sensitive" in the API will not
28602// be included in the string output. The member name will be present, but the
28603// value will be replaced with "sensitive".
28604func (s DeleteDBProxyEndpointInput) String() string {
28605	return awsutil.Prettify(s)
28606}
28607
28608// GoString returns the string representation.
28609//
28610// API parameter values that are decorated as "sensitive" in the API will not
28611// be included in the string output. The member name will be present, but the
28612// value will be replaced with "sensitive".
28613func (s DeleteDBProxyEndpointInput) GoString() string {
28614	return s.String()
28615}
28616
28617// Validate inspects the fields of the type to determine if they are valid.
28618func (s *DeleteDBProxyEndpointInput) Validate() error {
28619	invalidParams := request.ErrInvalidParams{Context: "DeleteDBProxyEndpointInput"}
28620	if s.DBProxyEndpointName == nil {
28621		invalidParams.Add(request.NewErrParamRequired("DBProxyEndpointName"))
28622	}
28623	if s.DBProxyEndpointName != nil && len(*s.DBProxyEndpointName) < 1 {
28624		invalidParams.Add(request.NewErrParamMinLen("DBProxyEndpointName", 1))
28625	}
28626
28627	if invalidParams.Len() > 0 {
28628		return invalidParams
28629	}
28630	return nil
28631}
28632
28633// SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
28634func (s *DeleteDBProxyEndpointInput) SetDBProxyEndpointName(v string) *DeleteDBProxyEndpointInput {
28635	s.DBProxyEndpointName = &v
28636	return s
28637}
28638
28639type DeleteDBProxyEndpointOutput struct {
28640	_ struct{} `type:"structure"`
28641
28642	// The data structure representing the details of the DB proxy endpoint that
28643	// you delete.
28644	DBProxyEndpoint *DBProxyEndpoint `type:"structure"`
28645}
28646
28647// String returns the string representation.
28648//
28649// API parameter values that are decorated as "sensitive" in the API will not
28650// be included in the string output. The member name will be present, but the
28651// value will be replaced with "sensitive".
28652func (s DeleteDBProxyEndpointOutput) String() string {
28653	return awsutil.Prettify(s)
28654}
28655
28656// GoString returns the string representation.
28657//
28658// API parameter values that are decorated as "sensitive" in the API will not
28659// be included in the string output. The member name will be present, but the
28660// value will be replaced with "sensitive".
28661func (s DeleteDBProxyEndpointOutput) GoString() string {
28662	return s.String()
28663}
28664
28665// SetDBProxyEndpoint sets the DBProxyEndpoint field's value.
28666func (s *DeleteDBProxyEndpointOutput) SetDBProxyEndpoint(v *DBProxyEndpoint) *DeleteDBProxyEndpointOutput {
28667	s.DBProxyEndpoint = v
28668	return s
28669}
28670
28671type DeleteDBProxyInput struct {
28672	_ struct{} `type:"structure"`
28673
28674	// The name of the DB proxy to delete.
28675	//
28676	// DBProxyName is a required field
28677	DBProxyName *string `type:"string" required:"true"`
28678}
28679
28680// String returns the string representation.
28681//
28682// API parameter values that are decorated as "sensitive" in the API will not
28683// be included in the string output. The member name will be present, but the
28684// value will be replaced with "sensitive".
28685func (s DeleteDBProxyInput) String() string {
28686	return awsutil.Prettify(s)
28687}
28688
28689// GoString returns the string representation.
28690//
28691// API parameter values that are decorated as "sensitive" in the API will not
28692// be included in the string output. The member name will be present, but the
28693// value will be replaced with "sensitive".
28694func (s DeleteDBProxyInput) GoString() string {
28695	return s.String()
28696}
28697
28698// Validate inspects the fields of the type to determine if they are valid.
28699func (s *DeleteDBProxyInput) Validate() error {
28700	invalidParams := request.ErrInvalidParams{Context: "DeleteDBProxyInput"}
28701	if s.DBProxyName == nil {
28702		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
28703	}
28704
28705	if invalidParams.Len() > 0 {
28706		return invalidParams
28707	}
28708	return nil
28709}
28710
28711// SetDBProxyName sets the DBProxyName field's value.
28712func (s *DeleteDBProxyInput) SetDBProxyName(v string) *DeleteDBProxyInput {
28713	s.DBProxyName = &v
28714	return s
28715}
28716
28717type DeleteDBProxyOutput struct {
28718	_ struct{} `type:"structure"`
28719
28720	// The data structure representing the details of the DB proxy that you delete.
28721	DBProxy *DBProxy `type:"structure"`
28722}
28723
28724// String returns the string representation.
28725//
28726// API parameter values that are decorated as "sensitive" in the API will not
28727// be included in the string output. The member name will be present, but the
28728// value will be replaced with "sensitive".
28729func (s DeleteDBProxyOutput) String() string {
28730	return awsutil.Prettify(s)
28731}
28732
28733// GoString returns the string representation.
28734//
28735// API parameter values that are decorated as "sensitive" in the API will not
28736// be included in the string output. The member name will be present, but the
28737// value will be replaced with "sensitive".
28738func (s DeleteDBProxyOutput) GoString() string {
28739	return s.String()
28740}
28741
28742// SetDBProxy sets the DBProxy field's value.
28743func (s *DeleteDBProxyOutput) SetDBProxy(v *DBProxy) *DeleteDBProxyOutput {
28744	s.DBProxy = v
28745	return s
28746}
28747
28748type DeleteDBSecurityGroupInput struct {
28749	_ struct{} `type:"structure"`
28750
28751	// The name of the DB security group to delete.
28752	//
28753	// You can't delete the default DB security group.
28754	//
28755	// Constraints:
28756	//
28757	//    * Must be 1 to 255 letters, numbers, or hyphens.
28758	//
28759	//    * First character must be a letter
28760	//
28761	//    * Can't end with a hyphen or contain two consecutive hyphens
28762	//
28763	//    * Must not be "Default"
28764	//
28765	// DBSecurityGroupName is a required field
28766	DBSecurityGroupName *string `type:"string" required:"true"`
28767}
28768
28769// String returns the string representation.
28770//
28771// API parameter values that are decorated as "sensitive" in the API will not
28772// be included in the string output. The member name will be present, but the
28773// value will be replaced with "sensitive".
28774func (s DeleteDBSecurityGroupInput) String() string {
28775	return awsutil.Prettify(s)
28776}
28777
28778// GoString returns the string representation.
28779//
28780// API parameter values that are decorated as "sensitive" in the API will not
28781// be included in the string output. The member name will be present, but the
28782// value will be replaced with "sensitive".
28783func (s DeleteDBSecurityGroupInput) GoString() string {
28784	return s.String()
28785}
28786
28787// Validate inspects the fields of the type to determine if they are valid.
28788func (s *DeleteDBSecurityGroupInput) Validate() error {
28789	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSecurityGroupInput"}
28790	if s.DBSecurityGroupName == nil {
28791		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
28792	}
28793
28794	if invalidParams.Len() > 0 {
28795		return invalidParams
28796	}
28797	return nil
28798}
28799
28800// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
28801func (s *DeleteDBSecurityGroupInput) SetDBSecurityGroupName(v string) *DeleteDBSecurityGroupInput {
28802	s.DBSecurityGroupName = &v
28803	return s
28804}
28805
28806type DeleteDBSecurityGroupOutput struct {
28807	_ struct{} `type:"structure"`
28808}
28809
28810// String returns the string representation.
28811//
28812// API parameter values that are decorated as "sensitive" in the API will not
28813// be included in the string output. The member name will be present, but the
28814// value will be replaced with "sensitive".
28815func (s DeleteDBSecurityGroupOutput) String() string {
28816	return awsutil.Prettify(s)
28817}
28818
28819// GoString returns the string representation.
28820//
28821// API parameter values that are decorated as "sensitive" in the API will not
28822// be included in the string output. The member name will be present, but the
28823// value will be replaced with "sensitive".
28824func (s DeleteDBSecurityGroupOutput) GoString() string {
28825	return s.String()
28826}
28827
28828type DeleteDBSnapshotInput struct {
28829	_ struct{} `type:"structure"`
28830
28831	// The DB snapshot identifier.
28832	//
28833	// Constraints: Must be the name of an existing DB snapshot in the available
28834	// state.
28835	//
28836	// DBSnapshotIdentifier is a required field
28837	DBSnapshotIdentifier *string `type:"string" required:"true"`
28838}
28839
28840// String returns the string representation.
28841//
28842// API parameter values that are decorated as "sensitive" in the API will not
28843// be included in the string output. The member name will be present, but the
28844// value will be replaced with "sensitive".
28845func (s DeleteDBSnapshotInput) String() string {
28846	return awsutil.Prettify(s)
28847}
28848
28849// GoString returns the string representation.
28850//
28851// API parameter values that are decorated as "sensitive" in the API will not
28852// be included in the string output. The member name will be present, but the
28853// value will be replaced with "sensitive".
28854func (s DeleteDBSnapshotInput) GoString() string {
28855	return s.String()
28856}
28857
28858// Validate inspects the fields of the type to determine if they are valid.
28859func (s *DeleteDBSnapshotInput) Validate() error {
28860	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSnapshotInput"}
28861	if s.DBSnapshotIdentifier == nil {
28862		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
28863	}
28864
28865	if invalidParams.Len() > 0 {
28866		return invalidParams
28867	}
28868	return nil
28869}
28870
28871// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
28872func (s *DeleteDBSnapshotInput) SetDBSnapshotIdentifier(v string) *DeleteDBSnapshotInput {
28873	s.DBSnapshotIdentifier = &v
28874	return s
28875}
28876
28877type DeleteDBSnapshotOutput struct {
28878	_ struct{} `type:"structure"`
28879
28880	// Contains the details of an Amazon RDS DB snapshot.
28881	//
28882	// This data type is used as a response element in the DescribeDBSnapshots action.
28883	DBSnapshot *DBSnapshot `type:"structure"`
28884}
28885
28886// String returns the string representation.
28887//
28888// API parameter values that are decorated as "sensitive" in the API will not
28889// be included in the string output. The member name will be present, but the
28890// value will be replaced with "sensitive".
28891func (s DeleteDBSnapshotOutput) String() string {
28892	return awsutil.Prettify(s)
28893}
28894
28895// GoString returns the string representation.
28896//
28897// API parameter values that are decorated as "sensitive" in the API will not
28898// be included in the string output. The member name will be present, but the
28899// value will be replaced with "sensitive".
28900func (s DeleteDBSnapshotOutput) GoString() string {
28901	return s.String()
28902}
28903
28904// SetDBSnapshot sets the DBSnapshot field's value.
28905func (s *DeleteDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *DeleteDBSnapshotOutput {
28906	s.DBSnapshot = v
28907	return s
28908}
28909
28910type DeleteDBSubnetGroupInput struct {
28911	_ struct{} `type:"structure"`
28912
28913	// The name of the database subnet group to delete.
28914	//
28915	// You can't delete the default subnet group.
28916	//
28917	// Constraints:
28918	//
28919	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
28920	// default.
28921	//
28922	// Example: mySubnetgroup
28923	//
28924	// DBSubnetGroupName is a required field
28925	DBSubnetGroupName *string `type:"string" required:"true"`
28926}
28927
28928// String returns the string representation.
28929//
28930// API parameter values that are decorated as "sensitive" in the API will not
28931// be included in the string output. The member name will be present, but the
28932// value will be replaced with "sensitive".
28933func (s DeleteDBSubnetGroupInput) String() string {
28934	return awsutil.Prettify(s)
28935}
28936
28937// GoString returns the string representation.
28938//
28939// API parameter values that are decorated as "sensitive" in the API will not
28940// be included in the string output. The member name will be present, but the
28941// value will be replaced with "sensitive".
28942func (s DeleteDBSubnetGroupInput) GoString() string {
28943	return s.String()
28944}
28945
28946// Validate inspects the fields of the type to determine if they are valid.
28947func (s *DeleteDBSubnetGroupInput) Validate() error {
28948	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
28949	if s.DBSubnetGroupName == nil {
28950		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
28951	}
28952
28953	if invalidParams.Len() > 0 {
28954		return invalidParams
28955	}
28956	return nil
28957}
28958
28959// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
28960func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
28961	s.DBSubnetGroupName = &v
28962	return s
28963}
28964
28965type DeleteDBSubnetGroupOutput struct {
28966	_ struct{} `type:"structure"`
28967}
28968
28969// String returns the string representation.
28970//
28971// API parameter values that are decorated as "sensitive" in the API will not
28972// be included in the string output. The member name will be present, but the
28973// value will be replaced with "sensitive".
28974func (s DeleteDBSubnetGroupOutput) String() string {
28975	return awsutil.Prettify(s)
28976}
28977
28978// GoString returns the string representation.
28979//
28980// API parameter values that are decorated as "sensitive" in the API will not
28981// be included in the string output. The member name will be present, but the
28982// value will be replaced with "sensitive".
28983func (s DeleteDBSubnetGroupOutput) GoString() string {
28984	return s.String()
28985}
28986
28987type DeleteEventSubscriptionInput struct {
28988	_ struct{} `type:"structure"`
28989
28990	// The name of the RDS event notification subscription you want to delete.
28991	//
28992	// SubscriptionName is a required field
28993	SubscriptionName *string `type:"string" required:"true"`
28994}
28995
28996// String returns the string representation.
28997//
28998// API parameter values that are decorated as "sensitive" in the API will not
28999// be included in the string output. The member name will be present, but the
29000// value will be replaced with "sensitive".
29001func (s DeleteEventSubscriptionInput) String() string {
29002	return awsutil.Prettify(s)
29003}
29004
29005// GoString returns the string representation.
29006//
29007// API parameter values that are decorated as "sensitive" in the API will not
29008// be included in the string output. The member name will be present, but the
29009// value will be replaced with "sensitive".
29010func (s DeleteEventSubscriptionInput) GoString() string {
29011	return s.String()
29012}
29013
29014// Validate inspects the fields of the type to determine if they are valid.
29015func (s *DeleteEventSubscriptionInput) Validate() error {
29016	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
29017	if s.SubscriptionName == nil {
29018		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
29019	}
29020
29021	if invalidParams.Len() > 0 {
29022		return invalidParams
29023	}
29024	return nil
29025}
29026
29027// SetSubscriptionName sets the SubscriptionName field's value.
29028func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
29029	s.SubscriptionName = &v
29030	return s
29031}
29032
29033type DeleteEventSubscriptionOutput struct {
29034	_ struct{} `type:"structure"`
29035
29036	// Contains the results of a successful invocation of the DescribeEventSubscriptions
29037	// action.
29038	EventSubscription *EventSubscription `type:"structure"`
29039}
29040
29041// String returns the string representation.
29042//
29043// API parameter values that are decorated as "sensitive" in the API will not
29044// be included in the string output. The member name will be present, but the
29045// value will be replaced with "sensitive".
29046func (s DeleteEventSubscriptionOutput) String() string {
29047	return awsutil.Prettify(s)
29048}
29049
29050// GoString returns the string representation.
29051//
29052// API parameter values that are decorated as "sensitive" in the API will not
29053// be included in the string output. The member name will be present, but the
29054// value will be replaced with "sensitive".
29055func (s DeleteEventSubscriptionOutput) GoString() string {
29056	return s.String()
29057}
29058
29059// SetEventSubscription sets the EventSubscription field's value.
29060func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
29061	s.EventSubscription = v
29062	return s
29063}
29064
29065type DeleteGlobalClusterInput struct {
29066	_ struct{} `type:"structure"`
29067
29068	// The cluster identifier of the global database cluster being deleted.
29069	//
29070	// GlobalClusterIdentifier is a required field
29071	GlobalClusterIdentifier *string `type:"string" required:"true"`
29072}
29073
29074// String returns the string representation.
29075//
29076// API parameter values that are decorated as "sensitive" in the API will not
29077// be included in the string output. The member name will be present, but the
29078// value will be replaced with "sensitive".
29079func (s DeleteGlobalClusterInput) String() string {
29080	return awsutil.Prettify(s)
29081}
29082
29083// GoString returns the string representation.
29084//
29085// API parameter values that are decorated as "sensitive" in the API will not
29086// be included in the string output. The member name will be present, but the
29087// value will be replaced with "sensitive".
29088func (s DeleteGlobalClusterInput) GoString() string {
29089	return s.String()
29090}
29091
29092// Validate inspects the fields of the type to determine if they are valid.
29093func (s *DeleteGlobalClusterInput) Validate() error {
29094	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalClusterInput"}
29095	if s.GlobalClusterIdentifier == nil {
29096		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
29097	}
29098
29099	if invalidParams.Len() > 0 {
29100		return invalidParams
29101	}
29102	return nil
29103}
29104
29105// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
29106func (s *DeleteGlobalClusterInput) SetGlobalClusterIdentifier(v string) *DeleteGlobalClusterInput {
29107	s.GlobalClusterIdentifier = &v
29108	return s
29109}
29110
29111type DeleteGlobalClusterOutput struct {
29112	_ struct{} `type:"structure"`
29113
29114	// A data type representing an Aurora global database.
29115	GlobalCluster *GlobalCluster `type:"structure"`
29116}
29117
29118// String returns the string representation.
29119//
29120// API parameter values that are decorated as "sensitive" in the API will not
29121// be included in the string output. The member name will be present, but the
29122// value will be replaced with "sensitive".
29123func (s DeleteGlobalClusterOutput) String() string {
29124	return awsutil.Prettify(s)
29125}
29126
29127// GoString returns the string representation.
29128//
29129// API parameter values that are decorated as "sensitive" in the API will not
29130// be included in the string output. The member name will be present, but the
29131// value will be replaced with "sensitive".
29132func (s DeleteGlobalClusterOutput) GoString() string {
29133	return s.String()
29134}
29135
29136// SetGlobalCluster sets the GlobalCluster field's value.
29137func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGlobalClusterOutput {
29138	s.GlobalCluster = v
29139	return s
29140}
29141
29142type DeleteInstallationMediaInput struct {
29143	_ struct{} `type:"structure"`
29144
29145	// The installation medium ID.
29146	//
29147	// InstallationMediaId is a required field
29148	InstallationMediaId *string `type:"string" required:"true"`
29149}
29150
29151// String returns the string representation.
29152//
29153// API parameter values that are decorated as "sensitive" in the API will not
29154// be included in the string output. The member name will be present, but the
29155// value will be replaced with "sensitive".
29156func (s DeleteInstallationMediaInput) String() string {
29157	return awsutil.Prettify(s)
29158}
29159
29160// GoString returns the string representation.
29161//
29162// API parameter values that are decorated as "sensitive" in the API will not
29163// be included in the string output. The member name will be present, but the
29164// value will be replaced with "sensitive".
29165func (s DeleteInstallationMediaInput) GoString() string {
29166	return s.String()
29167}
29168
29169// Validate inspects the fields of the type to determine if they are valid.
29170func (s *DeleteInstallationMediaInput) Validate() error {
29171	invalidParams := request.ErrInvalidParams{Context: "DeleteInstallationMediaInput"}
29172	if s.InstallationMediaId == nil {
29173		invalidParams.Add(request.NewErrParamRequired("InstallationMediaId"))
29174	}
29175
29176	if invalidParams.Len() > 0 {
29177		return invalidParams
29178	}
29179	return nil
29180}
29181
29182// SetInstallationMediaId sets the InstallationMediaId field's value.
29183func (s *DeleteInstallationMediaInput) SetInstallationMediaId(v string) *DeleteInstallationMediaInput {
29184	s.InstallationMediaId = &v
29185	return s
29186}
29187
29188// Contains the installation media for a DB engine that requires an on-premises
29189// customer provided license, such as Microsoft SQL Server.
29190type DeleteInstallationMediaOutput struct {
29191	_ struct{} `type:"structure"`
29192
29193	// The custom Availability Zone (AZ) that contains the installation media.
29194	CustomAvailabilityZoneId *string `type:"string"`
29195
29196	// The DB engine.
29197	Engine *string `type:"string"`
29198
29199	// The path to the installation medium for the DB engine.
29200	EngineInstallationMediaPath *string `type:"string"`
29201
29202	// The engine version of the DB engine.
29203	EngineVersion *string `type:"string"`
29204
29205	// If an installation media failure occurred, the cause of the failure.
29206	FailureCause *InstallationMediaFailureCause `type:"structure"`
29207
29208	// The installation medium ID.
29209	InstallationMediaId *string `type:"string"`
29210
29211	// The path to the installation medium for the operating system associated with
29212	// the DB engine.
29213	OSInstallationMediaPath *string `type:"string"`
29214
29215	// The status of the installation medium.
29216	Status *string `type:"string"`
29217}
29218
29219// String returns the string representation.
29220//
29221// API parameter values that are decorated as "sensitive" in the API will not
29222// be included in the string output. The member name will be present, but the
29223// value will be replaced with "sensitive".
29224func (s DeleteInstallationMediaOutput) String() string {
29225	return awsutil.Prettify(s)
29226}
29227
29228// GoString returns the string representation.
29229//
29230// API parameter values that are decorated as "sensitive" in the API will not
29231// be included in the string output. The member name will be present, but the
29232// value will be replaced with "sensitive".
29233func (s DeleteInstallationMediaOutput) GoString() string {
29234	return s.String()
29235}
29236
29237// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
29238func (s *DeleteInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *DeleteInstallationMediaOutput {
29239	s.CustomAvailabilityZoneId = &v
29240	return s
29241}
29242
29243// SetEngine sets the Engine field's value.
29244func (s *DeleteInstallationMediaOutput) SetEngine(v string) *DeleteInstallationMediaOutput {
29245	s.Engine = &v
29246	return s
29247}
29248
29249// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
29250func (s *DeleteInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
29251	s.EngineInstallationMediaPath = &v
29252	return s
29253}
29254
29255// SetEngineVersion sets the EngineVersion field's value.
29256func (s *DeleteInstallationMediaOutput) SetEngineVersion(v string) *DeleteInstallationMediaOutput {
29257	s.EngineVersion = &v
29258	return s
29259}
29260
29261// SetFailureCause sets the FailureCause field's value.
29262func (s *DeleteInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *DeleteInstallationMediaOutput {
29263	s.FailureCause = v
29264	return s
29265}
29266
29267// SetInstallationMediaId sets the InstallationMediaId field's value.
29268func (s *DeleteInstallationMediaOutput) SetInstallationMediaId(v string) *DeleteInstallationMediaOutput {
29269	s.InstallationMediaId = &v
29270	return s
29271}
29272
29273// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
29274func (s *DeleteInstallationMediaOutput) SetOSInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
29275	s.OSInstallationMediaPath = &v
29276	return s
29277}
29278
29279// SetStatus sets the Status field's value.
29280func (s *DeleteInstallationMediaOutput) SetStatus(v string) *DeleteInstallationMediaOutput {
29281	s.Status = &v
29282	return s
29283}
29284
29285type DeleteOptionGroupInput struct {
29286	_ struct{} `type:"structure"`
29287
29288	// The name of the option group to be deleted.
29289	//
29290	// You can't delete default option groups.
29291	//
29292	// OptionGroupName is a required field
29293	OptionGroupName *string `type:"string" required:"true"`
29294}
29295
29296// String returns the string representation.
29297//
29298// API parameter values that are decorated as "sensitive" in the API will not
29299// be included in the string output. The member name will be present, but the
29300// value will be replaced with "sensitive".
29301func (s DeleteOptionGroupInput) String() string {
29302	return awsutil.Prettify(s)
29303}
29304
29305// GoString returns the string representation.
29306//
29307// API parameter values that are decorated as "sensitive" in the API will not
29308// be included in the string output. The member name will be present, but the
29309// value will be replaced with "sensitive".
29310func (s DeleteOptionGroupInput) GoString() string {
29311	return s.String()
29312}
29313
29314// Validate inspects the fields of the type to determine if they are valid.
29315func (s *DeleteOptionGroupInput) Validate() error {
29316	invalidParams := request.ErrInvalidParams{Context: "DeleteOptionGroupInput"}
29317	if s.OptionGroupName == nil {
29318		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
29319	}
29320
29321	if invalidParams.Len() > 0 {
29322		return invalidParams
29323	}
29324	return nil
29325}
29326
29327// SetOptionGroupName sets the OptionGroupName field's value.
29328func (s *DeleteOptionGroupInput) SetOptionGroupName(v string) *DeleteOptionGroupInput {
29329	s.OptionGroupName = &v
29330	return s
29331}
29332
29333type DeleteOptionGroupOutput struct {
29334	_ struct{} `type:"structure"`
29335}
29336
29337// String returns the string representation.
29338//
29339// API parameter values that are decorated as "sensitive" in the API will not
29340// be included in the string output. The member name will be present, but the
29341// value will be replaced with "sensitive".
29342func (s DeleteOptionGroupOutput) String() string {
29343	return awsutil.Prettify(s)
29344}
29345
29346// GoString returns the string representation.
29347//
29348// API parameter values that are decorated as "sensitive" in the API will not
29349// be included in the string output. The member name will be present, but the
29350// value will be replaced with "sensitive".
29351func (s DeleteOptionGroupOutput) GoString() string {
29352	return s.String()
29353}
29354
29355type DeregisterDBProxyTargetsInput struct {
29356	_ struct{} `type:"structure"`
29357
29358	// One or more DB cluster identifiers.
29359	DBClusterIdentifiers []*string `type:"list"`
29360
29361	// One or more DB instance identifiers.
29362	DBInstanceIdentifiers []*string `type:"list"`
29363
29364	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
29365	//
29366	// DBProxyName is a required field
29367	DBProxyName *string `type:"string" required:"true"`
29368
29369	// The identifier of the DBProxyTargetGroup.
29370	TargetGroupName *string `type:"string"`
29371}
29372
29373// String returns the string representation.
29374//
29375// API parameter values that are decorated as "sensitive" in the API will not
29376// be included in the string output. The member name will be present, but the
29377// value will be replaced with "sensitive".
29378func (s DeregisterDBProxyTargetsInput) String() string {
29379	return awsutil.Prettify(s)
29380}
29381
29382// GoString returns the string representation.
29383//
29384// API parameter values that are decorated as "sensitive" in the API will not
29385// be included in the string output. The member name will be present, but the
29386// value will be replaced with "sensitive".
29387func (s DeregisterDBProxyTargetsInput) GoString() string {
29388	return s.String()
29389}
29390
29391// Validate inspects the fields of the type to determine if they are valid.
29392func (s *DeregisterDBProxyTargetsInput) Validate() error {
29393	invalidParams := request.ErrInvalidParams{Context: "DeregisterDBProxyTargetsInput"}
29394	if s.DBProxyName == nil {
29395		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
29396	}
29397
29398	if invalidParams.Len() > 0 {
29399		return invalidParams
29400	}
29401	return nil
29402}
29403
29404// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
29405func (s *DeregisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
29406	s.DBClusterIdentifiers = v
29407	return s
29408}
29409
29410// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
29411func (s *DeregisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
29412	s.DBInstanceIdentifiers = v
29413	return s
29414}
29415
29416// SetDBProxyName sets the DBProxyName field's value.
29417func (s *DeregisterDBProxyTargetsInput) SetDBProxyName(v string) *DeregisterDBProxyTargetsInput {
29418	s.DBProxyName = &v
29419	return s
29420}
29421
29422// SetTargetGroupName sets the TargetGroupName field's value.
29423func (s *DeregisterDBProxyTargetsInput) SetTargetGroupName(v string) *DeregisterDBProxyTargetsInput {
29424	s.TargetGroupName = &v
29425	return s
29426}
29427
29428type DeregisterDBProxyTargetsOutput struct {
29429	_ struct{} `type:"structure"`
29430}
29431
29432// String returns the string representation.
29433//
29434// API parameter values that are decorated as "sensitive" in the API will not
29435// be included in the string output. The member name will be present, but the
29436// value will be replaced with "sensitive".
29437func (s DeregisterDBProxyTargetsOutput) String() string {
29438	return awsutil.Prettify(s)
29439}
29440
29441// GoString returns the string representation.
29442//
29443// API parameter values that are decorated as "sensitive" in the API will not
29444// be included in the string output. The member name will be present, but the
29445// value will be replaced with "sensitive".
29446func (s DeregisterDBProxyTargetsOutput) GoString() string {
29447	return s.String()
29448}
29449
29450type DescribeAccountAttributesInput struct {
29451	_ struct{} `type:"structure"`
29452}
29453
29454// String returns the string representation.
29455//
29456// API parameter values that are decorated as "sensitive" in the API will not
29457// be included in the string output. The member name will be present, but the
29458// value will be replaced with "sensitive".
29459func (s DescribeAccountAttributesInput) String() string {
29460	return awsutil.Prettify(s)
29461}
29462
29463// GoString returns the string representation.
29464//
29465// API parameter values that are decorated as "sensitive" in the API will not
29466// be included in the string output. The member name will be present, but the
29467// value will be replaced with "sensitive".
29468func (s DescribeAccountAttributesInput) GoString() string {
29469	return s.String()
29470}
29471
29472// Data returned by the DescribeAccountAttributes action.
29473type DescribeAccountAttributesOutput struct {
29474	_ struct{} `type:"structure"`
29475
29476	// A list of AccountQuota objects. Within this list, each quota has a name,
29477	// a count of usage toward the quota maximum, and a maximum value for the quota.
29478	AccountQuotas []*AccountQuota `locationNameList:"AccountQuota" type:"list"`
29479}
29480
29481// String returns the string representation.
29482//
29483// API parameter values that are decorated as "sensitive" in the API will not
29484// be included in the string output. The member name will be present, but the
29485// value will be replaced with "sensitive".
29486func (s DescribeAccountAttributesOutput) String() string {
29487	return awsutil.Prettify(s)
29488}
29489
29490// GoString returns the string representation.
29491//
29492// API parameter values that are decorated as "sensitive" in the API will not
29493// be included in the string output. The member name will be present, but the
29494// value will be replaced with "sensitive".
29495func (s DescribeAccountAttributesOutput) GoString() string {
29496	return s.String()
29497}
29498
29499// SetAccountQuotas sets the AccountQuotas field's value.
29500func (s *DescribeAccountAttributesOutput) SetAccountQuotas(v []*AccountQuota) *DescribeAccountAttributesOutput {
29501	s.AccountQuotas = v
29502	return s
29503}
29504
29505type DescribeCertificatesInput struct {
29506	_ struct{} `type:"structure"`
29507
29508	// The user-supplied certificate identifier. If this parameter is specified,
29509	// information for only the identified certificate is returned. This parameter
29510	// isn't case-sensitive.
29511	//
29512	// Constraints:
29513	//
29514	//    * Must match an existing CertificateIdentifier.
29515	CertificateIdentifier *string `type:"string"`
29516
29517	// This parameter isn't currently supported.
29518	Filters []*Filter `locationNameList:"Filter" type:"list"`
29519
29520	// An optional pagination token provided by a previous DescribeCertificates
29521	// request. If this parameter is specified, the response includes only records
29522	// beyond the marker, up to the value specified by MaxRecords.
29523	Marker *string `type:"string"`
29524
29525	// The maximum number of records to include in the response. If more records
29526	// exist than the specified MaxRecords value, a pagination token called a marker
29527	// is included in the response so you can retrieve the remaining results.
29528	//
29529	// Default: 100
29530	//
29531	// Constraints: Minimum 20, maximum 100.
29532	MaxRecords *int64 `type:"integer"`
29533}
29534
29535// String returns the string representation.
29536//
29537// API parameter values that are decorated as "sensitive" in the API will not
29538// be included in the string output. The member name will be present, but the
29539// value will be replaced with "sensitive".
29540func (s DescribeCertificatesInput) String() string {
29541	return awsutil.Prettify(s)
29542}
29543
29544// GoString returns the string representation.
29545//
29546// API parameter values that are decorated as "sensitive" in the API will not
29547// be included in the string output. The member name will be present, but the
29548// value will be replaced with "sensitive".
29549func (s DescribeCertificatesInput) GoString() string {
29550	return s.String()
29551}
29552
29553// Validate inspects the fields of the type to determine if they are valid.
29554func (s *DescribeCertificatesInput) Validate() error {
29555	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
29556	if s.Filters != nil {
29557		for i, v := range s.Filters {
29558			if v == nil {
29559				continue
29560			}
29561			if err := v.Validate(); err != nil {
29562				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29563			}
29564		}
29565	}
29566
29567	if invalidParams.Len() > 0 {
29568		return invalidParams
29569	}
29570	return nil
29571}
29572
29573// SetCertificateIdentifier sets the CertificateIdentifier field's value.
29574func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
29575	s.CertificateIdentifier = &v
29576	return s
29577}
29578
29579// SetFilters sets the Filters field's value.
29580func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
29581	s.Filters = v
29582	return s
29583}
29584
29585// SetMarker sets the Marker field's value.
29586func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
29587	s.Marker = &v
29588	return s
29589}
29590
29591// SetMaxRecords sets the MaxRecords field's value.
29592func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
29593	s.MaxRecords = &v
29594	return s
29595}
29596
29597// Data returned by the DescribeCertificates action.
29598type DescribeCertificatesOutput struct {
29599	_ struct{} `type:"structure"`
29600
29601	// The list of Certificate objects for the Amazon Web Services account.
29602	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
29603
29604	// An optional pagination token provided by a previous DescribeCertificates
29605	// request. If this parameter is specified, the response includes only records
29606	// beyond the marker, up to the value specified by MaxRecords .
29607	Marker *string `type:"string"`
29608}
29609
29610// String returns the string representation.
29611//
29612// API parameter values that are decorated as "sensitive" in the API will not
29613// be included in the string output. The member name will be present, but the
29614// value will be replaced with "sensitive".
29615func (s DescribeCertificatesOutput) String() string {
29616	return awsutil.Prettify(s)
29617}
29618
29619// GoString returns the string representation.
29620//
29621// API parameter values that are decorated as "sensitive" in the API will not
29622// be included in the string output. The member name will be present, but the
29623// value will be replaced with "sensitive".
29624func (s DescribeCertificatesOutput) GoString() string {
29625	return s.String()
29626}
29627
29628// SetCertificates sets the Certificates field's value.
29629func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
29630	s.Certificates = v
29631	return s
29632}
29633
29634// SetMarker sets the Marker field's value.
29635func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
29636	s.Marker = &v
29637	return s
29638}
29639
29640type DescribeCustomAvailabilityZonesInput struct {
29641	_ struct{} `type:"structure"`
29642
29643	// The custom AZ identifier. If this parameter is specified, information from
29644	// only the specific custom AZ is returned.
29645	CustomAvailabilityZoneId *string `type:"string"`
29646
29647	// A filter that specifies one or more custom AZs to describe.
29648	Filters []*Filter `locationNameList:"Filter" type:"list"`
29649
29650	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
29651	// request. If this parameter is specified, the response includes only records
29652	// beyond the marker, up to the value specified by MaxRecords.
29653	Marker *string `type:"string"`
29654
29655	// The maximum number of records to include in the response. If more records
29656	// exist than the specified MaxRecords value, a pagination token called a marker
29657	// is included in the response so you can retrieve the remaining results.
29658	//
29659	// Default: 100
29660	//
29661	// Constraints: Minimum 20, maximum 100.
29662	MaxRecords *int64 `type:"integer"`
29663}
29664
29665// String returns the string representation.
29666//
29667// API parameter values that are decorated as "sensitive" in the API will not
29668// be included in the string output. The member name will be present, but the
29669// value will be replaced with "sensitive".
29670func (s DescribeCustomAvailabilityZonesInput) String() string {
29671	return awsutil.Prettify(s)
29672}
29673
29674// GoString returns the string representation.
29675//
29676// API parameter values that are decorated as "sensitive" in the API will not
29677// be included in the string output. The member name will be present, but the
29678// value will be replaced with "sensitive".
29679func (s DescribeCustomAvailabilityZonesInput) GoString() string {
29680	return s.String()
29681}
29682
29683// Validate inspects the fields of the type to determine if they are valid.
29684func (s *DescribeCustomAvailabilityZonesInput) Validate() error {
29685	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomAvailabilityZonesInput"}
29686	if s.Filters != nil {
29687		for i, v := range s.Filters {
29688			if v == nil {
29689				continue
29690			}
29691			if err := v.Validate(); err != nil {
29692				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29693			}
29694		}
29695	}
29696
29697	if invalidParams.Len() > 0 {
29698		return invalidParams
29699	}
29700	return nil
29701}
29702
29703// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
29704func (s *DescribeCustomAvailabilityZonesInput) SetCustomAvailabilityZoneId(v string) *DescribeCustomAvailabilityZonesInput {
29705	s.CustomAvailabilityZoneId = &v
29706	return s
29707}
29708
29709// SetFilters sets the Filters field's value.
29710func (s *DescribeCustomAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeCustomAvailabilityZonesInput {
29711	s.Filters = v
29712	return s
29713}
29714
29715// SetMarker sets the Marker field's value.
29716func (s *DescribeCustomAvailabilityZonesInput) SetMarker(v string) *DescribeCustomAvailabilityZonesInput {
29717	s.Marker = &v
29718	return s
29719}
29720
29721// SetMaxRecords sets the MaxRecords field's value.
29722func (s *DescribeCustomAvailabilityZonesInput) SetMaxRecords(v int64) *DescribeCustomAvailabilityZonesInput {
29723	s.MaxRecords = &v
29724	return s
29725}
29726
29727type DescribeCustomAvailabilityZonesOutput struct {
29728	_ struct{} `type:"structure"`
29729
29730	// The list of CustomAvailabilityZone objects for the Amazon Web Services account.
29731	CustomAvailabilityZones []*CustomAvailabilityZone `locationNameList:"CustomAvailabilityZone" type:"list"`
29732
29733	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
29734	// request. If this parameter is specified, the response includes only records
29735	// beyond the marker, up to the value specified by MaxRecords.
29736	Marker *string `type:"string"`
29737}
29738
29739// String returns the string representation.
29740//
29741// API parameter values that are decorated as "sensitive" in the API will not
29742// be included in the string output. The member name will be present, but the
29743// value will be replaced with "sensitive".
29744func (s DescribeCustomAvailabilityZonesOutput) String() string {
29745	return awsutil.Prettify(s)
29746}
29747
29748// GoString returns the string representation.
29749//
29750// API parameter values that are decorated as "sensitive" in the API will not
29751// be included in the string output. The member name will be present, but the
29752// value will be replaced with "sensitive".
29753func (s DescribeCustomAvailabilityZonesOutput) GoString() string {
29754	return s.String()
29755}
29756
29757// SetCustomAvailabilityZones sets the CustomAvailabilityZones field's value.
29758func (s *DescribeCustomAvailabilityZonesOutput) SetCustomAvailabilityZones(v []*CustomAvailabilityZone) *DescribeCustomAvailabilityZonesOutput {
29759	s.CustomAvailabilityZones = v
29760	return s
29761}
29762
29763// SetMarker sets the Marker field's value.
29764func (s *DescribeCustomAvailabilityZonesOutput) SetMarker(v string) *DescribeCustomAvailabilityZonesOutput {
29765	s.Marker = &v
29766	return s
29767}
29768
29769type DescribeDBClusterBacktracksInput struct {
29770	_ struct{} `type:"structure"`
29771
29772	// If specified, this value is the backtrack identifier of the backtrack to
29773	// be described.
29774	//
29775	// Constraints:
29776	//
29777	//    * Must contain a valid universally unique identifier (UUID). For more
29778	//    information about UUIDs, see A Universally Unique Identifier (UUID) URN
29779	//    Namespace (http://www.ietf.org/rfc/rfc4122.txt).
29780	//
29781	// Example: 123e4567-e89b-12d3-a456-426655440000
29782	BacktrackIdentifier *string `type:"string"`
29783
29784	// The DB cluster identifier of the DB cluster to be described. This parameter
29785	// is stored as a lowercase string.
29786	//
29787	// Constraints:
29788	//
29789	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
29790	//
29791	//    * First character must be a letter.
29792	//
29793	//    * Can't end with a hyphen or contain two consecutive hyphens.
29794	//
29795	// Example: my-cluster1
29796	//
29797	// DBClusterIdentifier is a required field
29798	DBClusterIdentifier *string `type:"string" required:"true"`
29799
29800	// A filter that specifies one or more DB clusters to describe. Supported filters
29801	// include the following:
29802	//
29803	//    * db-cluster-backtrack-id - Accepts backtrack identifiers. The results
29804	//    list includes information about only the backtracks identified by these
29805	//    identifiers.
29806	//
29807	//    * db-cluster-backtrack-status - Accepts any of the following backtrack
29808	//    status values: applying completed failed pending The results list includes
29809	//    information about only the backtracks identified by these values.
29810	Filters []*Filter `locationNameList:"Filter" type:"list"`
29811
29812	// An optional pagination token provided by a previous DescribeDBClusterBacktracks
29813	// request. If this parameter is specified, the response includes only records
29814	// beyond the marker, up to the value specified by MaxRecords.
29815	Marker *string `type:"string"`
29816
29817	// The maximum number of records to include in the response. If more records
29818	// exist than the specified MaxRecords value, a pagination token called a marker
29819	// is included in the response so you can retrieve the remaining results.
29820	//
29821	// Default: 100
29822	//
29823	// Constraints: Minimum 20, maximum 100.
29824	MaxRecords *int64 `type:"integer"`
29825}
29826
29827// String returns the string representation.
29828//
29829// API parameter values that are decorated as "sensitive" in the API will not
29830// be included in the string output. The member name will be present, but the
29831// value will be replaced with "sensitive".
29832func (s DescribeDBClusterBacktracksInput) String() string {
29833	return awsutil.Prettify(s)
29834}
29835
29836// GoString returns the string representation.
29837//
29838// API parameter values that are decorated as "sensitive" in the API will not
29839// be included in the string output. The member name will be present, but the
29840// value will be replaced with "sensitive".
29841func (s DescribeDBClusterBacktracksInput) GoString() string {
29842	return s.String()
29843}
29844
29845// Validate inspects the fields of the type to determine if they are valid.
29846func (s *DescribeDBClusterBacktracksInput) Validate() error {
29847	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterBacktracksInput"}
29848	if s.DBClusterIdentifier == nil {
29849		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
29850	}
29851	if s.Filters != nil {
29852		for i, v := range s.Filters {
29853			if v == nil {
29854				continue
29855			}
29856			if err := v.Validate(); err != nil {
29857				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29858			}
29859		}
29860	}
29861
29862	if invalidParams.Len() > 0 {
29863		return invalidParams
29864	}
29865	return nil
29866}
29867
29868// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
29869func (s *DescribeDBClusterBacktracksInput) SetBacktrackIdentifier(v string) *DescribeDBClusterBacktracksInput {
29870	s.BacktrackIdentifier = &v
29871	return s
29872}
29873
29874// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
29875func (s *DescribeDBClusterBacktracksInput) SetDBClusterIdentifier(v string) *DescribeDBClusterBacktracksInput {
29876	s.DBClusterIdentifier = &v
29877	return s
29878}
29879
29880// SetFilters sets the Filters field's value.
29881func (s *DescribeDBClusterBacktracksInput) SetFilters(v []*Filter) *DescribeDBClusterBacktracksInput {
29882	s.Filters = v
29883	return s
29884}
29885
29886// SetMarker sets the Marker field's value.
29887func (s *DescribeDBClusterBacktracksInput) SetMarker(v string) *DescribeDBClusterBacktracksInput {
29888	s.Marker = &v
29889	return s
29890}
29891
29892// SetMaxRecords sets the MaxRecords field's value.
29893func (s *DescribeDBClusterBacktracksInput) SetMaxRecords(v int64) *DescribeDBClusterBacktracksInput {
29894	s.MaxRecords = &v
29895	return s
29896}
29897
29898// Contains the result of a successful invocation of the DescribeDBClusterBacktracks
29899// action.
29900type DescribeDBClusterBacktracksOutput struct {
29901	_ struct{} `type:"structure"`
29902
29903	// Contains a list of backtracks for the user.
29904	DBClusterBacktracks []*BacktrackDBClusterOutput `locationNameList:"DBClusterBacktrack" type:"list"`
29905
29906	// A pagination token that can be used in a later DescribeDBClusterBacktracks
29907	// request.
29908	Marker *string `type:"string"`
29909}
29910
29911// String returns the string representation.
29912//
29913// API parameter values that are decorated as "sensitive" in the API will not
29914// be included in the string output. The member name will be present, but the
29915// value will be replaced with "sensitive".
29916func (s DescribeDBClusterBacktracksOutput) String() string {
29917	return awsutil.Prettify(s)
29918}
29919
29920// GoString returns the string representation.
29921//
29922// API parameter values that are decorated as "sensitive" in the API will not
29923// be included in the string output. The member name will be present, but the
29924// value will be replaced with "sensitive".
29925func (s DescribeDBClusterBacktracksOutput) GoString() string {
29926	return s.String()
29927}
29928
29929// SetDBClusterBacktracks sets the DBClusterBacktracks field's value.
29930func (s *DescribeDBClusterBacktracksOutput) SetDBClusterBacktracks(v []*BacktrackDBClusterOutput) *DescribeDBClusterBacktracksOutput {
29931	s.DBClusterBacktracks = v
29932	return s
29933}
29934
29935// SetMarker sets the Marker field's value.
29936func (s *DescribeDBClusterBacktracksOutput) SetMarker(v string) *DescribeDBClusterBacktracksOutput {
29937	s.Marker = &v
29938	return s
29939}
29940
29941type DescribeDBClusterEndpointsInput struct {
29942	_ struct{} `type:"structure"`
29943
29944	// The identifier of the endpoint to describe. This parameter is stored as a
29945	// lowercase string.
29946	DBClusterEndpointIdentifier *string `type:"string"`
29947
29948	// The DB cluster identifier of the DB cluster associated with the endpoint.
29949	// This parameter is stored as a lowercase string.
29950	DBClusterIdentifier *string `type:"string"`
29951
29952	// A set of name-value pairs that define which endpoints to include in the output.
29953	// The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,....
29954	// Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type,
29955	// db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type
29956	// filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type
29957	// filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status
29958	// filter can be one or more of: available, creating, deleting, inactive, modifying.
29959	Filters []*Filter `locationNameList:"Filter" type:"list"`
29960
29961	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
29962	// request. If this parameter is specified, the response includes only records
29963	// beyond the marker, up to the value specified by MaxRecords.
29964	Marker *string `type:"string"`
29965
29966	// The maximum number of records to include in the response. If more records
29967	// exist than the specified MaxRecords value, a pagination token called a marker
29968	// is included in the response so you can retrieve the remaining results.
29969	//
29970	// Default: 100
29971	//
29972	// Constraints: Minimum 20, maximum 100.
29973	MaxRecords *int64 `type:"integer"`
29974}
29975
29976// String returns the string representation.
29977//
29978// API parameter values that are decorated as "sensitive" in the API will not
29979// be included in the string output. The member name will be present, but the
29980// value will be replaced with "sensitive".
29981func (s DescribeDBClusterEndpointsInput) String() string {
29982	return awsutil.Prettify(s)
29983}
29984
29985// GoString returns the string representation.
29986//
29987// API parameter values that are decorated as "sensitive" in the API will not
29988// be included in the string output. The member name will be present, but the
29989// value will be replaced with "sensitive".
29990func (s DescribeDBClusterEndpointsInput) GoString() string {
29991	return s.String()
29992}
29993
29994// Validate inspects the fields of the type to determine if they are valid.
29995func (s *DescribeDBClusterEndpointsInput) Validate() error {
29996	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterEndpointsInput"}
29997	if s.Filters != nil {
29998		for i, v := range s.Filters {
29999			if v == nil {
30000				continue
30001			}
30002			if err := v.Validate(); err != nil {
30003				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30004			}
30005		}
30006	}
30007
30008	if invalidParams.Len() > 0 {
30009		return invalidParams
30010	}
30011	return nil
30012}
30013
30014// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
30015func (s *DescribeDBClusterEndpointsInput) SetDBClusterEndpointIdentifier(v string) *DescribeDBClusterEndpointsInput {
30016	s.DBClusterEndpointIdentifier = &v
30017	return s
30018}
30019
30020// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30021func (s *DescribeDBClusterEndpointsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterEndpointsInput {
30022	s.DBClusterIdentifier = &v
30023	return s
30024}
30025
30026// SetFilters sets the Filters field's value.
30027func (s *DescribeDBClusterEndpointsInput) SetFilters(v []*Filter) *DescribeDBClusterEndpointsInput {
30028	s.Filters = v
30029	return s
30030}
30031
30032// SetMarker sets the Marker field's value.
30033func (s *DescribeDBClusterEndpointsInput) SetMarker(v string) *DescribeDBClusterEndpointsInput {
30034	s.Marker = &v
30035	return s
30036}
30037
30038// SetMaxRecords sets the MaxRecords field's value.
30039func (s *DescribeDBClusterEndpointsInput) SetMaxRecords(v int64) *DescribeDBClusterEndpointsInput {
30040	s.MaxRecords = &v
30041	return s
30042}
30043
30044type DescribeDBClusterEndpointsOutput struct {
30045	_ struct{} `type:"structure"`
30046
30047	// Contains the details of the endpoints associated with the cluster and matching
30048	// any filter conditions.
30049	DBClusterEndpoints []*DBClusterEndpoint `locationNameList:"DBClusterEndpointList" type:"list"`
30050
30051	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
30052	// request. If this parameter is specified, the response includes only records
30053	// beyond the marker, up to the value specified by MaxRecords.
30054	Marker *string `type:"string"`
30055}
30056
30057// String returns the string representation.
30058//
30059// API parameter values that are decorated as "sensitive" in the API will not
30060// be included in the string output. The member name will be present, but the
30061// value will be replaced with "sensitive".
30062func (s DescribeDBClusterEndpointsOutput) String() string {
30063	return awsutil.Prettify(s)
30064}
30065
30066// GoString returns the string representation.
30067//
30068// API parameter values that are decorated as "sensitive" in the API will not
30069// be included in the string output. The member name will be present, but the
30070// value will be replaced with "sensitive".
30071func (s DescribeDBClusterEndpointsOutput) GoString() string {
30072	return s.String()
30073}
30074
30075// SetDBClusterEndpoints sets the DBClusterEndpoints field's value.
30076func (s *DescribeDBClusterEndpointsOutput) SetDBClusterEndpoints(v []*DBClusterEndpoint) *DescribeDBClusterEndpointsOutput {
30077	s.DBClusterEndpoints = v
30078	return s
30079}
30080
30081// SetMarker sets the Marker field's value.
30082func (s *DescribeDBClusterEndpointsOutput) SetMarker(v string) *DescribeDBClusterEndpointsOutput {
30083	s.Marker = &v
30084	return s
30085}
30086
30087type DescribeDBClusterParameterGroupsInput struct {
30088	_ struct{} `type:"structure"`
30089
30090	// The name of a specific DB cluster parameter group to return details for.
30091	//
30092	// Constraints:
30093	//
30094	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
30095	DBClusterParameterGroupName *string `type:"string"`
30096
30097	// This parameter isn't currently supported.
30098	Filters []*Filter `locationNameList:"Filter" type:"list"`
30099
30100	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
30101	// request. If this parameter is specified, the response includes only records
30102	// beyond the marker, up to the value specified by MaxRecords.
30103	Marker *string `type:"string"`
30104
30105	// The maximum number of records to include in the response. If more records
30106	// exist than the specified MaxRecords value, a pagination token called a marker
30107	// is included in the response so you can retrieve the remaining results.
30108	//
30109	// Default: 100
30110	//
30111	// Constraints: Minimum 20, maximum 100.
30112	MaxRecords *int64 `type:"integer"`
30113}
30114
30115// String returns the string representation.
30116//
30117// API parameter values that are decorated as "sensitive" in the API will not
30118// be included in the string output. The member name will be present, but the
30119// value will be replaced with "sensitive".
30120func (s DescribeDBClusterParameterGroupsInput) String() string {
30121	return awsutil.Prettify(s)
30122}
30123
30124// GoString returns the string representation.
30125//
30126// API parameter values that are decorated as "sensitive" in the API will not
30127// be included in the string output. The member name will be present, but the
30128// value will be replaced with "sensitive".
30129func (s DescribeDBClusterParameterGroupsInput) GoString() string {
30130	return s.String()
30131}
30132
30133// Validate inspects the fields of the type to determine if they are valid.
30134func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
30135	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
30136	if s.Filters != nil {
30137		for i, v := range s.Filters {
30138			if v == nil {
30139				continue
30140			}
30141			if err := v.Validate(); err != nil {
30142				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30143			}
30144		}
30145	}
30146
30147	if invalidParams.Len() > 0 {
30148		return invalidParams
30149	}
30150	return nil
30151}
30152
30153// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
30154func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
30155	s.DBClusterParameterGroupName = &v
30156	return s
30157}
30158
30159// SetFilters sets the Filters field's value.
30160func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
30161	s.Filters = v
30162	return s
30163}
30164
30165// SetMarker sets the Marker field's value.
30166func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
30167	s.Marker = &v
30168	return s
30169}
30170
30171// SetMaxRecords sets the MaxRecords field's value.
30172func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
30173	s.MaxRecords = &v
30174	return s
30175}
30176
30177type DescribeDBClusterParameterGroupsOutput struct {
30178	_ struct{} `type:"structure"`
30179
30180	// A list of DB cluster parameter groups.
30181	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
30182
30183	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
30184	// request. If this parameter is specified, the response includes only records
30185	// beyond the marker, up to the value specified by MaxRecords.
30186	Marker *string `type:"string"`
30187}
30188
30189// String returns the string representation.
30190//
30191// API parameter values that are decorated as "sensitive" in the API will not
30192// be included in the string output. The member name will be present, but the
30193// value will be replaced with "sensitive".
30194func (s DescribeDBClusterParameterGroupsOutput) String() string {
30195	return awsutil.Prettify(s)
30196}
30197
30198// GoString returns the string representation.
30199//
30200// API parameter values that are decorated as "sensitive" in the API will not
30201// be included in the string output. The member name will be present, but the
30202// value will be replaced with "sensitive".
30203func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
30204	return s.String()
30205}
30206
30207// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
30208func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
30209	s.DBClusterParameterGroups = v
30210	return s
30211}
30212
30213// SetMarker sets the Marker field's value.
30214func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
30215	s.Marker = &v
30216	return s
30217}
30218
30219type DescribeDBClusterParametersInput struct {
30220	_ struct{} `type:"structure"`
30221
30222	// The name of a specific DB cluster parameter group to return parameter details
30223	// for.
30224	//
30225	// Constraints:
30226	//
30227	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
30228	//
30229	// DBClusterParameterGroupName is a required field
30230	DBClusterParameterGroupName *string `type:"string" required:"true"`
30231
30232	// This parameter isn't currently supported.
30233	Filters []*Filter `locationNameList:"Filter" type:"list"`
30234
30235	// An optional pagination token provided by a previous DescribeDBClusterParameters
30236	// request. If this parameter is specified, the response includes only records
30237	// beyond the marker, up to the value specified by MaxRecords.
30238	Marker *string `type:"string"`
30239
30240	// The maximum number of records to include in the response. If more records
30241	// exist than the specified MaxRecords value, a pagination token called a marker
30242	// is included in the response so you can retrieve the remaining results.
30243	//
30244	// Default: 100
30245	//
30246	// Constraints: Minimum 20, maximum 100.
30247	MaxRecords *int64 `type:"integer"`
30248
30249	// A value that indicates to return only parameters for a specific source. Parameter
30250	// sources can be engine, service, or customer.
30251	Source *string `type:"string"`
30252}
30253
30254// String returns the string representation.
30255//
30256// API parameter values that are decorated as "sensitive" in the API will not
30257// be included in the string output. The member name will be present, but the
30258// value will be replaced with "sensitive".
30259func (s DescribeDBClusterParametersInput) String() string {
30260	return awsutil.Prettify(s)
30261}
30262
30263// GoString returns the string representation.
30264//
30265// API parameter values that are decorated as "sensitive" in the API will not
30266// be included in the string output. The member name will be present, but the
30267// value will be replaced with "sensitive".
30268func (s DescribeDBClusterParametersInput) GoString() string {
30269	return s.String()
30270}
30271
30272// Validate inspects the fields of the type to determine if they are valid.
30273func (s *DescribeDBClusterParametersInput) Validate() error {
30274	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
30275	if s.DBClusterParameterGroupName == nil {
30276		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
30277	}
30278	if s.Filters != nil {
30279		for i, v := range s.Filters {
30280			if v == nil {
30281				continue
30282			}
30283			if err := v.Validate(); err != nil {
30284				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30285			}
30286		}
30287	}
30288
30289	if invalidParams.Len() > 0 {
30290		return invalidParams
30291	}
30292	return nil
30293}
30294
30295// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
30296func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
30297	s.DBClusterParameterGroupName = &v
30298	return s
30299}
30300
30301// SetFilters sets the Filters field's value.
30302func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
30303	s.Filters = v
30304	return s
30305}
30306
30307// SetMarker sets the Marker field's value.
30308func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
30309	s.Marker = &v
30310	return s
30311}
30312
30313// SetMaxRecords sets the MaxRecords field's value.
30314func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
30315	s.MaxRecords = &v
30316	return s
30317}
30318
30319// SetSource sets the Source field's value.
30320func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
30321	s.Source = &v
30322	return s
30323}
30324
30325// Provides details about a DB cluster parameter group including the parameters
30326// in the DB cluster parameter group.
30327type DescribeDBClusterParametersOutput struct {
30328	_ struct{} `type:"structure"`
30329
30330	// An optional pagination token provided by a previous DescribeDBClusterParameters
30331	// request. If this parameter is specified, the response includes only records
30332	// beyond the marker, up to the value specified by MaxRecords .
30333	Marker *string `type:"string"`
30334
30335	// Provides a list of parameters for the DB cluster parameter group.
30336	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
30337}
30338
30339// String returns the string representation.
30340//
30341// API parameter values that are decorated as "sensitive" in the API will not
30342// be included in the string output. The member name will be present, but the
30343// value will be replaced with "sensitive".
30344func (s DescribeDBClusterParametersOutput) String() string {
30345	return awsutil.Prettify(s)
30346}
30347
30348// GoString returns the string representation.
30349//
30350// API parameter values that are decorated as "sensitive" in the API will not
30351// be included in the string output. The member name will be present, but the
30352// value will be replaced with "sensitive".
30353func (s DescribeDBClusterParametersOutput) GoString() string {
30354	return s.String()
30355}
30356
30357// SetMarker sets the Marker field's value.
30358func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
30359	s.Marker = &v
30360	return s
30361}
30362
30363// SetParameters sets the Parameters field's value.
30364func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
30365	s.Parameters = v
30366	return s
30367}
30368
30369type DescribeDBClusterSnapshotAttributesInput struct {
30370	_ struct{} `type:"structure"`
30371
30372	// The identifier for the DB cluster snapshot to describe the attributes for.
30373	//
30374	// DBClusterSnapshotIdentifier is a required field
30375	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
30376}
30377
30378// String returns the string representation.
30379//
30380// API parameter values that are decorated as "sensitive" in the API will not
30381// be included in the string output. The member name will be present, but the
30382// value will be replaced with "sensitive".
30383func (s DescribeDBClusterSnapshotAttributesInput) String() string {
30384	return awsutil.Prettify(s)
30385}
30386
30387// GoString returns the string representation.
30388//
30389// API parameter values that are decorated as "sensitive" in the API will not
30390// be included in the string output. The member name will be present, but the
30391// value will be replaced with "sensitive".
30392func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
30393	return s.String()
30394}
30395
30396// Validate inspects the fields of the type to determine if they are valid.
30397func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
30398	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
30399	if s.DBClusterSnapshotIdentifier == nil {
30400		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
30401	}
30402
30403	if invalidParams.Len() > 0 {
30404		return invalidParams
30405	}
30406	return nil
30407}
30408
30409// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
30410func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
30411	s.DBClusterSnapshotIdentifier = &v
30412	return s
30413}
30414
30415type DescribeDBClusterSnapshotAttributesOutput struct {
30416	_ struct{} `type:"structure"`
30417
30418	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
30419	// API action.
30420	//
30421	// Manual DB cluster snapshot attributes are used to authorize other Amazon
30422	// Web Services accounts to copy or restore a manual DB cluster snapshot. For
30423	// more information, see the ModifyDBClusterSnapshotAttribute API action.
30424	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
30425}
30426
30427// String returns the string representation.
30428//
30429// API parameter values that are decorated as "sensitive" in the API will not
30430// be included in the string output. The member name will be present, but the
30431// value will be replaced with "sensitive".
30432func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
30433	return awsutil.Prettify(s)
30434}
30435
30436// GoString returns the string representation.
30437//
30438// API parameter values that are decorated as "sensitive" in the API will not
30439// be included in the string output. The member name will be present, but the
30440// value will be replaced with "sensitive".
30441func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
30442	return s.String()
30443}
30444
30445// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
30446func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
30447	s.DBClusterSnapshotAttributesResult = v
30448	return s
30449}
30450
30451type DescribeDBClusterSnapshotsInput struct {
30452	_ struct{} `type:"structure"`
30453
30454	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
30455	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
30456	// parameter. This parameter isn't case-sensitive.
30457	//
30458	// Constraints:
30459	//
30460	//    * If supplied, must match the identifier of an existing DBCluster.
30461	DBClusterIdentifier *string `type:"string"`
30462
30463	// A specific DB cluster snapshot identifier to describe. This parameter can't
30464	// be used in conjunction with the DBClusterIdentifier parameter. This value
30465	// is stored as a lowercase string.
30466	//
30467	// Constraints:
30468	//
30469	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
30470	//
30471	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
30472	//    must also be specified.
30473	DBClusterSnapshotIdentifier *string `type:"string"`
30474
30475	// A filter that specifies one or more DB cluster snapshots to describe.
30476	//
30477	// Supported filters:
30478	//
30479	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
30480	//    Resource Names (ARNs).
30481	//
30482	//    * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.
30483	//
30484	//    * snapshot-type - Accepts types of DB cluster snapshots.
30485	//
30486	//    * engine - Accepts names of database engines.
30487	Filters []*Filter `locationNameList:"Filter" type:"list"`
30488
30489	// A value that indicates whether to include manual DB cluster snapshots that
30490	// are public and can be copied or restored by any Amazon Web Services account.
30491	// By default, the public snapshots are not included.
30492	//
30493	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
30494	// API action.
30495	IncludePublic *bool `type:"boolean"`
30496
30497	// A value that indicates whether to include shared manual DB cluster snapshots
30498	// from other Amazon Web Services accounts that this Amazon Web Services account
30499	// has been given permission to copy or restore. By default, these snapshots
30500	// are not included.
30501	//
30502	// You can give an Amazon Web Services account permission to restore a manual
30503	// DB cluster snapshot from another Amazon Web Services account by the ModifyDBClusterSnapshotAttribute
30504	// API action.
30505	IncludeShared *bool `type:"boolean"`
30506
30507	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
30508	// request. If this parameter is specified, the response includes only records
30509	// beyond the marker, up to the value specified by MaxRecords.
30510	Marker *string `type:"string"`
30511
30512	// The maximum number of records to include in the response. If more records
30513	// exist than the specified MaxRecords value, a pagination token called a marker
30514	// is included in the response so you can retrieve the remaining results.
30515	//
30516	// Default: 100
30517	//
30518	// Constraints: Minimum 20, maximum 100.
30519	MaxRecords *int64 `type:"integer"`
30520
30521	// The type of DB cluster snapshots to be returned. You can specify one of the
30522	// following values:
30523	//
30524	//    * automated - Return all DB cluster snapshots that have been automatically
30525	//    taken by Amazon RDS for my Amazon Web Services account.
30526	//
30527	//    * manual - Return all DB cluster snapshots that have been taken by my
30528	//    Amazon Web Services account.
30529	//
30530	//    * shared - Return all manual DB cluster snapshots that have been shared
30531	//    to my Amazon Web Services account.
30532	//
30533	//    * public - Return all DB cluster snapshots that have been marked as public.
30534	//
30535	// If you don't specify a SnapshotType value, then both automated and manual
30536	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
30537	// with these results by enabling the IncludeShared parameter. You can include
30538	// public DB cluster snapshots with these results by enabling the IncludePublic
30539	// parameter.
30540	//
30541	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
30542	// values of manual or automated. The IncludePublic parameter doesn't apply
30543	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
30544	// when SnapshotType is set to public.
30545	SnapshotType *string `type:"string"`
30546}
30547
30548// String returns the string representation.
30549//
30550// API parameter values that are decorated as "sensitive" in the API will not
30551// be included in the string output. The member name will be present, but the
30552// value will be replaced with "sensitive".
30553func (s DescribeDBClusterSnapshotsInput) String() string {
30554	return awsutil.Prettify(s)
30555}
30556
30557// GoString returns the string representation.
30558//
30559// API parameter values that are decorated as "sensitive" in the API will not
30560// be included in the string output. The member name will be present, but the
30561// value will be replaced with "sensitive".
30562func (s DescribeDBClusterSnapshotsInput) GoString() string {
30563	return s.String()
30564}
30565
30566// Validate inspects the fields of the type to determine if they are valid.
30567func (s *DescribeDBClusterSnapshotsInput) Validate() error {
30568	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
30569	if s.Filters != nil {
30570		for i, v := range s.Filters {
30571			if v == nil {
30572				continue
30573			}
30574			if err := v.Validate(); err != nil {
30575				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30576			}
30577		}
30578	}
30579
30580	if invalidParams.Len() > 0 {
30581		return invalidParams
30582	}
30583	return nil
30584}
30585
30586// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30587func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
30588	s.DBClusterIdentifier = &v
30589	return s
30590}
30591
30592// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
30593func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
30594	s.DBClusterSnapshotIdentifier = &v
30595	return s
30596}
30597
30598// SetFilters sets the Filters field's value.
30599func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
30600	s.Filters = v
30601	return s
30602}
30603
30604// SetIncludePublic sets the IncludePublic field's value.
30605func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
30606	s.IncludePublic = &v
30607	return s
30608}
30609
30610// SetIncludeShared sets the IncludeShared field's value.
30611func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
30612	s.IncludeShared = &v
30613	return s
30614}
30615
30616// SetMarker sets the Marker field's value.
30617func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
30618	s.Marker = &v
30619	return s
30620}
30621
30622// SetMaxRecords sets the MaxRecords field's value.
30623func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
30624	s.MaxRecords = &v
30625	return s
30626}
30627
30628// SetSnapshotType sets the SnapshotType field's value.
30629func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
30630	s.SnapshotType = &v
30631	return s
30632}
30633
30634// Provides a list of DB cluster snapshots for the user as the result of a call
30635// to the DescribeDBClusterSnapshots action.
30636type DescribeDBClusterSnapshotsOutput struct {
30637	_ struct{} `type:"structure"`
30638
30639	// Provides a list of DB cluster snapshots for the user.
30640	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
30641
30642	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
30643	// request. If this parameter is specified, the response includes only records
30644	// beyond the marker, up to the value specified by MaxRecords.
30645	Marker *string `type:"string"`
30646}
30647
30648// String returns the string representation.
30649//
30650// API parameter values that are decorated as "sensitive" in the API will not
30651// be included in the string output. The member name will be present, but the
30652// value will be replaced with "sensitive".
30653func (s DescribeDBClusterSnapshotsOutput) String() string {
30654	return awsutil.Prettify(s)
30655}
30656
30657// GoString returns the string representation.
30658//
30659// API parameter values that are decorated as "sensitive" in the API will not
30660// be included in the string output. The member name will be present, but the
30661// value will be replaced with "sensitive".
30662func (s DescribeDBClusterSnapshotsOutput) GoString() string {
30663	return s.String()
30664}
30665
30666// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
30667func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
30668	s.DBClusterSnapshots = v
30669	return s
30670}
30671
30672// SetMarker sets the Marker field's value.
30673func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
30674	s.Marker = &v
30675	return s
30676}
30677
30678type DescribeDBClustersInput struct {
30679	_ struct{} `type:"structure"`
30680
30681	// The user-supplied DB cluster identifier. If this parameter is specified,
30682	// information from only the specific DB cluster is returned. This parameter
30683	// isn't case-sensitive.
30684	//
30685	// Constraints:
30686	//
30687	//    * If supplied, must match an existing DBClusterIdentifier.
30688	DBClusterIdentifier *string `type:"string"`
30689
30690	// A filter that specifies one or more DB clusters to describe.
30691	//
30692	// Supported filters:
30693	//
30694	//    * clone-group-id - Accepts clone group identifiers. The results list will
30695	//    only include information about the DB clusters associated with these clone
30696	//    groups.
30697	//
30698	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
30699	//    Resource Names (ARNs). The results list will only include information
30700	//    about the DB clusters identified by these ARNs.
30701	//
30702	//    * domain - Accepts Active Directory directory IDs. The results list will
30703	//    only include information about the DB clusters associated with these domains.
30704	//
30705	//    * engine - Accepts engine names. The results list will only include information
30706	//    about the DB clusters for these engines.
30707	Filters []*Filter `locationNameList:"Filter" type:"list"`
30708
30709	// Optional Boolean parameter that specifies whether the output includes information
30710	// about clusters shared from other Amazon Web Services accounts.
30711	IncludeShared *bool `type:"boolean"`
30712
30713	// An optional pagination token provided by a previous DescribeDBClusters request.
30714	// If this parameter is specified, the response includes only records beyond
30715	// the marker, up to the value specified by MaxRecords.
30716	Marker *string `type:"string"`
30717
30718	// The maximum number of records to include in the response. If more records
30719	// exist than the specified MaxRecords value, a pagination token called a marker
30720	// is included in the response so you can retrieve the remaining results.
30721	//
30722	// Default: 100
30723	//
30724	// Constraints: Minimum 20, maximum 100.
30725	MaxRecords *int64 `type:"integer"`
30726}
30727
30728// String returns the string representation.
30729//
30730// API parameter values that are decorated as "sensitive" in the API will not
30731// be included in the string output. The member name will be present, but the
30732// value will be replaced with "sensitive".
30733func (s DescribeDBClustersInput) String() string {
30734	return awsutil.Prettify(s)
30735}
30736
30737// GoString returns the string representation.
30738//
30739// API parameter values that are decorated as "sensitive" in the API will not
30740// be included in the string output. The member name will be present, but the
30741// value will be replaced with "sensitive".
30742func (s DescribeDBClustersInput) GoString() string {
30743	return s.String()
30744}
30745
30746// Validate inspects the fields of the type to determine if they are valid.
30747func (s *DescribeDBClustersInput) Validate() error {
30748	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
30749	if s.Filters != nil {
30750		for i, v := range s.Filters {
30751			if v == nil {
30752				continue
30753			}
30754			if err := v.Validate(); err != nil {
30755				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30756			}
30757		}
30758	}
30759
30760	if invalidParams.Len() > 0 {
30761		return invalidParams
30762	}
30763	return nil
30764}
30765
30766// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30767func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
30768	s.DBClusterIdentifier = &v
30769	return s
30770}
30771
30772// SetFilters sets the Filters field's value.
30773func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
30774	s.Filters = v
30775	return s
30776}
30777
30778// SetIncludeShared sets the IncludeShared field's value.
30779func (s *DescribeDBClustersInput) SetIncludeShared(v bool) *DescribeDBClustersInput {
30780	s.IncludeShared = &v
30781	return s
30782}
30783
30784// SetMarker sets the Marker field's value.
30785func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
30786	s.Marker = &v
30787	return s
30788}
30789
30790// SetMaxRecords sets the MaxRecords field's value.
30791func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
30792	s.MaxRecords = &v
30793	return s
30794}
30795
30796// Contains the result of a successful invocation of the DescribeDBClusters
30797// action.
30798type DescribeDBClustersOutput struct {
30799	_ struct{} `type:"structure"`
30800
30801	// Contains a list of DB clusters for the user.
30802	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
30803
30804	// A pagination token that can be used in a later DescribeDBClusters request.
30805	Marker *string `type:"string"`
30806}
30807
30808// String returns the string representation.
30809//
30810// API parameter values that are decorated as "sensitive" in the API will not
30811// be included in the string output. The member name will be present, but the
30812// value will be replaced with "sensitive".
30813func (s DescribeDBClustersOutput) String() string {
30814	return awsutil.Prettify(s)
30815}
30816
30817// GoString returns the string representation.
30818//
30819// API parameter values that are decorated as "sensitive" in the API will not
30820// be included in the string output. The member name will be present, but the
30821// value will be replaced with "sensitive".
30822func (s DescribeDBClustersOutput) GoString() string {
30823	return s.String()
30824}
30825
30826// SetDBClusters sets the DBClusters field's value.
30827func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
30828	s.DBClusters = v
30829	return s
30830}
30831
30832// SetMarker sets the Marker field's value.
30833func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
30834	s.Marker = &v
30835	return s
30836}
30837
30838type DescribeDBEngineVersionsInput struct {
30839	_ struct{} `type:"structure"`
30840
30841	// The name of a specific DB parameter group family to return details for.
30842	//
30843	// Constraints:
30844	//
30845	//    * If supplied, must match an existing DBParameterGroupFamily.
30846	DBParameterGroupFamily *string `type:"string"`
30847
30848	// A value that indicates whether only the default version of the specified
30849	// engine or engine and major version combination is returned.
30850	DefaultOnly *bool `type:"boolean"`
30851
30852	// The database engine to return.
30853	//
30854	// Valid Values:
30855	//
30856	//    * aurora (for MySQL 5.6-compatible Aurora)
30857	//
30858	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
30859	//
30860	//    * aurora-postgresql
30861	//
30862	//    * mariadb
30863	//
30864	//    * mysql
30865	//
30866	//    * oracle-ee
30867	//
30868	//    * oracle-ee-cdb
30869	//
30870	//    * oracle-se2
30871	//
30872	//    * oracle-se2-cdb
30873	//
30874	//    * postgres
30875	//
30876	//    * sqlserver-ee
30877	//
30878	//    * sqlserver-se
30879	//
30880	//    * sqlserver-ex
30881	//
30882	//    * sqlserver-web
30883	Engine *string `type:"string"`
30884
30885	// The database engine version to return.
30886	//
30887	// Example: 5.1.49
30888	EngineVersion *string `type:"string"`
30889
30890	// This parameter isn't currently supported.
30891	Filters []*Filter `locationNameList:"Filter" type:"list"`
30892
30893	// A value that indicates whether to include engine versions that aren't available
30894	// in the list. The default is to list only available engine versions.
30895	IncludeAll *bool `type:"boolean"`
30896
30897	// A value that indicates whether to list the supported character sets for each
30898	// engine version.
30899	//
30900	// If this parameter is enabled and the requested engine supports the CharacterSetName
30901	// parameter for CreateDBInstance, the response includes a list of supported
30902	// character sets for each engine version.
30903	//
30904	// For RDS Custom, the default is not to list supported character sets. If you
30905	// set ListSupportedCharacterSets to true, RDS Custom returns no results.
30906	ListSupportedCharacterSets *bool `type:"boolean"`
30907
30908	// A value that indicates whether to list the supported time zones for each
30909	// engine version.
30910	//
30911	// If this parameter is enabled and the requested engine supports the TimeZone
30912	// parameter for CreateDBInstance, the response includes a list of supported
30913	// time zones for each engine version.
30914	//
30915	// For RDS Custom, the default is not to list supported time zones. If you set
30916	// ListSupportedTimezones to true, RDS Custom returns no results.
30917	ListSupportedTimezones *bool `type:"boolean"`
30918
30919	// An optional pagination token provided by a previous request. If this parameter
30920	// is specified, the response includes only records beyond the marker, up to
30921	// the value specified by MaxRecords.
30922	Marker *string `type:"string"`
30923
30924	// The maximum number of records to include in the response. If more than the
30925	// MaxRecords value is available, a pagination token called a marker is included
30926	// in the response so you can retrieve the remaining results.
30927	//
30928	// Default: 100
30929	//
30930	// Constraints: Minimum 20, maximum 100.
30931	MaxRecords *int64 `type:"integer"`
30932}
30933
30934// String returns the string representation.
30935//
30936// API parameter values that are decorated as "sensitive" in the API will not
30937// be included in the string output. The member name will be present, but the
30938// value will be replaced with "sensitive".
30939func (s DescribeDBEngineVersionsInput) String() string {
30940	return awsutil.Prettify(s)
30941}
30942
30943// GoString returns the string representation.
30944//
30945// API parameter values that are decorated as "sensitive" in the API will not
30946// be included in the string output. The member name will be present, but the
30947// value will be replaced with "sensitive".
30948func (s DescribeDBEngineVersionsInput) GoString() string {
30949	return s.String()
30950}
30951
30952// Validate inspects the fields of the type to determine if they are valid.
30953func (s *DescribeDBEngineVersionsInput) Validate() error {
30954	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
30955	if s.Filters != nil {
30956		for i, v := range s.Filters {
30957			if v == nil {
30958				continue
30959			}
30960			if err := v.Validate(); err != nil {
30961				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30962			}
30963		}
30964	}
30965
30966	if invalidParams.Len() > 0 {
30967		return invalidParams
30968	}
30969	return nil
30970}
30971
30972// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
30973func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
30974	s.DBParameterGroupFamily = &v
30975	return s
30976}
30977
30978// SetDefaultOnly sets the DefaultOnly field's value.
30979func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
30980	s.DefaultOnly = &v
30981	return s
30982}
30983
30984// SetEngine sets the Engine field's value.
30985func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
30986	s.Engine = &v
30987	return s
30988}
30989
30990// SetEngineVersion sets the EngineVersion field's value.
30991func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
30992	s.EngineVersion = &v
30993	return s
30994}
30995
30996// SetFilters sets the Filters field's value.
30997func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
30998	s.Filters = v
30999	return s
31000}
31001
31002// SetIncludeAll sets the IncludeAll field's value.
31003func (s *DescribeDBEngineVersionsInput) SetIncludeAll(v bool) *DescribeDBEngineVersionsInput {
31004	s.IncludeAll = &v
31005	return s
31006}
31007
31008// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
31009func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
31010	s.ListSupportedCharacterSets = &v
31011	return s
31012}
31013
31014// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
31015func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
31016	s.ListSupportedTimezones = &v
31017	return s
31018}
31019
31020// SetMarker sets the Marker field's value.
31021func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
31022	s.Marker = &v
31023	return s
31024}
31025
31026// SetMaxRecords sets the MaxRecords field's value.
31027func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
31028	s.MaxRecords = &v
31029	return s
31030}
31031
31032// Contains the result of a successful invocation of the DescribeDBEngineVersions
31033// action.
31034type DescribeDBEngineVersionsOutput struct {
31035	_ struct{} `type:"structure"`
31036
31037	// A list of DBEngineVersion elements.
31038	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
31039
31040	// An optional pagination token provided by a previous request. If this parameter
31041	// is specified, the response includes only records beyond the marker, up to
31042	// the value specified by MaxRecords.
31043	Marker *string `type:"string"`
31044}
31045
31046// String returns the string representation.
31047//
31048// API parameter values that are decorated as "sensitive" in the API will not
31049// be included in the string output. The member name will be present, but the
31050// value will be replaced with "sensitive".
31051func (s DescribeDBEngineVersionsOutput) String() string {
31052	return awsutil.Prettify(s)
31053}
31054
31055// GoString returns the string representation.
31056//
31057// API parameter values that are decorated as "sensitive" in the API will not
31058// be included in the string output. The member name will be present, but the
31059// value will be replaced with "sensitive".
31060func (s DescribeDBEngineVersionsOutput) GoString() string {
31061	return s.String()
31062}
31063
31064// SetDBEngineVersions sets the DBEngineVersions field's value.
31065func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
31066	s.DBEngineVersions = v
31067	return s
31068}
31069
31070// SetMarker sets the Marker field's value.
31071func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
31072	s.Marker = &v
31073	return s
31074}
31075
31076// Parameter input for DescribeDBInstanceAutomatedBackups.
31077type DescribeDBInstanceAutomatedBackupsInput struct {
31078	_ struct{} `type:"structure"`
31079
31080	// The Amazon Resource Name (ARN) of the replicated automated backups, for example,
31081	// arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.
31082	//
31083	// This setting doesn't apply to RDS Custom.
31084	DBInstanceAutomatedBackupsArn *string `type:"string"`
31085
31086	// (Optional) The user-supplied instance identifier. If this parameter is specified,
31087	// it must match the identifier of an existing DB instance. It returns information
31088	// from the specific DB instance' automated backup. This parameter isn't case-sensitive.
31089	DBInstanceIdentifier *string `type:"string"`
31090
31091	// The resource ID of the DB instance that is the source of the automated backup.
31092	// This parameter isn't case-sensitive.
31093	DbiResourceId *string `type:"string"`
31094
31095	// A filter that specifies which resources to return based on status.
31096	//
31097	// Supported filters are the following:
31098	//
31099	//    * status active - automated backups for current instances retained - automated
31100	//    backups for deleted instances and after backup replication is stopped
31101	//    creating - automated backups that are waiting for the first automated
31102	//    snapshot to be available
31103	//
31104	//    * db-instance-id - Accepts DB instance identifiers and Amazon Resource
31105	//    Names (ARNs). The results list includes only information about the DB
31106	//    instance automated backups identified by these ARNs.
31107	//
31108	//    * dbi-resource-id - Accepts DB resource identifiers and Amazon Resource
31109	//    Names (ARNs). The results list includes only information about the DB
31110	//    instance resources identified by these ARNs.
31111	//
31112	// Returns all resources by default. The status for each resource is specified
31113	// in the response.
31114	Filters []*Filter `locationNameList:"Filter" type:"list"`
31115
31116	// The pagination token provided in the previous request. If this parameter
31117	// is specified the response includes only records beyond the marker, up to
31118	// MaxRecords.
31119	Marker *string `type:"string"`
31120
31121	// The maximum number of records to include in the response. If more records
31122	// exist than the specified MaxRecords value, a pagination token called a marker
31123	// is included in the response so that you can retrieve the remaining results.
31124	MaxRecords *int64 `type:"integer"`
31125}
31126
31127// String returns the string representation.
31128//
31129// API parameter values that are decorated as "sensitive" in the API will not
31130// be included in the string output. The member name will be present, but the
31131// value will be replaced with "sensitive".
31132func (s DescribeDBInstanceAutomatedBackupsInput) String() string {
31133	return awsutil.Prettify(s)
31134}
31135
31136// GoString returns the string representation.
31137//
31138// API parameter values that are decorated as "sensitive" in the API will not
31139// be included in the string output. The member name will be present, but the
31140// value will be replaced with "sensitive".
31141func (s DescribeDBInstanceAutomatedBackupsInput) GoString() string {
31142	return s.String()
31143}
31144
31145// Validate inspects the fields of the type to determine if they are valid.
31146func (s *DescribeDBInstanceAutomatedBackupsInput) Validate() error {
31147	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstanceAutomatedBackupsInput"}
31148	if s.Filters != nil {
31149		for i, v := range s.Filters {
31150			if v == nil {
31151				continue
31152			}
31153			if err := v.Validate(); err != nil {
31154				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31155			}
31156		}
31157	}
31158
31159	if invalidParams.Len() > 0 {
31160		return invalidParams
31161	}
31162	return nil
31163}
31164
31165// SetDBInstanceAutomatedBackupsArn sets the DBInstanceAutomatedBackupsArn field's value.
31166func (s *DescribeDBInstanceAutomatedBackupsInput) SetDBInstanceAutomatedBackupsArn(v string) *DescribeDBInstanceAutomatedBackupsInput {
31167	s.DBInstanceAutomatedBackupsArn = &v
31168	return s
31169}
31170
31171// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
31172func (s *DescribeDBInstanceAutomatedBackupsInput) SetDBInstanceIdentifier(v string) *DescribeDBInstanceAutomatedBackupsInput {
31173	s.DBInstanceIdentifier = &v
31174	return s
31175}
31176
31177// SetDbiResourceId sets the DbiResourceId field's value.
31178func (s *DescribeDBInstanceAutomatedBackupsInput) SetDbiResourceId(v string) *DescribeDBInstanceAutomatedBackupsInput {
31179	s.DbiResourceId = &v
31180	return s
31181}
31182
31183// SetFilters sets the Filters field's value.
31184func (s *DescribeDBInstanceAutomatedBackupsInput) SetFilters(v []*Filter) *DescribeDBInstanceAutomatedBackupsInput {
31185	s.Filters = v
31186	return s
31187}
31188
31189// SetMarker sets the Marker field's value.
31190func (s *DescribeDBInstanceAutomatedBackupsInput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsInput {
31191	s.Marker = &v
31192	return s
31193}
31194
31195// SetMaxRecords sets the MaxRecords field's value.
31196func (s *DescribeDBInstanceAutomatedBackupsInput) SetMaxRecords(v int64) *DescribeDBInstanceAutomatedBackupsInput {
31197	s.MaxRecords = &v
31198	return s
31199}
31200
31201// Contains the result of a successful invocation of the DescribeDBInstanceAutomatedBackups
31202// action.
31203type DescribeDBInstanceAutomatedBackupsOutput struct {
31204	_ struct{} `type:"structure"`
31205
31206	// A list of DBInstanceAutomatedBackup instances.
31207	DBInstanceAutomatedBackups []*DBInstanceAutomatedBackup `locationNameList:"DBInstanceAutomatedBackup" type:"list"`
31208
31209	// An optional pagination token provided by a previous request. If this parameter
31210	// is specified, the response includes only records beyond the marker, up to
31211	// the value specified by MaxRecords .
31212	Marker *string `type:"string"`
31213}
31214
31215// String returns the string representation.
31216//
31217// API parameter values that are decorated as "sensitive" in the API will not
31218// be included in the string output. The member name will be present, but the
31219// value will be replaced with "sensitive".
31220func (s DescribeDBInstanceAutomatedBackupsOutput) String() string {
31221	return awsutil.Prettify(s)
31222}
31223
31224// GoString returns the string representation.
31225//
31226// API parameter values that are decorated as "sensitive" in the API will not
31227// be included in the string output. The member name will be present, but the
31228// value will be replaced with "sensitive".
31229func (s DescribeDBInstanceAutomatedBackupsOutput) GoString() string {
31230	return s.String()
31231}
31232
31233// SetDBInstanceAutomatedBackups sets the DBInstanceAutomatedBackups field's value.
31234func (s *DescribeDBInstanceAutomatedBackupsOutput) SetDBInstanceAutomatedBackups(v []*DBInstanceAutomatedBackup) *DescribeDBInstanceAutomatedBackupsOutput {
31235	s.DBInstanceAutomatedBackups = v
31236	return s
31237}
31238
31239// SetMarker sets the Marker field's value.
31240func (s *DescribeDBInstanceAutomatedBackupsOutput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsOutput {
31241	s.Marker = &v
31242	return s
31243}
31244
31245type DescribeDBInstancesInput struct {
31246	_ struct{} `type:"structure"`
31247
31248	// The user-supplied instance identifier. If this parameter is specified, information
31249	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
31250	//
31251	// Constraints:
31252	//
31253	//    * If supplied, must match the identifier of an existing DBInstance.
31254	DBInstanceIdentifier *string `type:"string"`
31255
31256	// A filter that specifies one or more DB instances to describe.
31257	//
31258	// Supported filters:
31259	//
31260	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
31261	//    Resource Names (ARNs). The results list will only include information
31262	//    about the DB instances associated with the DB clusters identified by these
31263	//    ARNs.
31264	//
31265	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
31266	//    Resource Names (ARNs). The results list will only include information
31267	//    about the DB instances identified by these ARNs.
31268	//
31269	//    * dbi-resource-id - Accepts DB instance resource identifiers. The results
31270	//    list will only include information about the DB instances identified by
31271	//    these DB instance resource identifiers.
31272	//
31273	//    * domain - Accepts Active Directory directory IDs. The results list will
31274	//    only include information about the DB instances associated with these
31275	//    domains.
31276	//
31277	//    * engine - Accepts engine names. The results list will only include information
31278	//    about the DB instances for these engines.
31279	Filters []*Filter `locationNameList:"Filter" type:"list"`
31280
31281	// An optional pagination token provided by a previous DescribeDBInstances request.
31282	// If this parameter is specified, the response includes only records beyond
31283	// the marker, up to the value specified by MaxRecords.
31284	Marker *string `type:"string"`
31285
31286	// The maximum number of records to include in the response. If more records
31287	// exist than the specified MaxRecords value, a pagination token called a marker
31288	// is included in the response so that you can retrieve the remaining results.
31289	//
31290	// Default: 100
31291	//
31292	// Constraints: Minimum 20, maximum 100.
31293	MaxRecords *int64 `type:"integer"`
31294}
31295
31296// String returns the string representation.
31297//
31298// API parameter values that are decorated as "sensitive" in the API will not
31299// be included in the string output. The member name will be present, but the
31300// value will be replaced with "sensitive".
31301func (s DescribeDBInstancesInput) String() string {
31302	return awsutil.Prettify(s)
31303}
31304
31305// GoString returns the string representation.
31306//
31307// API parameter values that are decorated as "sensitive" in the API will not
31308// be included in the string output. The member name will be present, but the
31309// value will be replaced with "sensitive".
31310func (s DescribeDBInstancesInput) GoString() string {
31311	return s.String()
31312}
31313
31314// Validate inspects the fields of the type to determine if they are valid.
31315func (s *DescribeDBInstancesInput) Validate() error {
31316	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
31317	if s.Filters != nil {
31318		for i, v := range s.Filters {
31319			if v == nil {
31320				continue
31321			}
31322			if err := v.Validate(); err != nil {
31323				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31324			}
31325		}
31326	}
31327
31328	if invalidParams.Len() > 0 {
31329		return invalidParams
31330	}
31331	return nil
31332}
31333
31334// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
31335func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
31336	s.DBInstanceIdentifier = &v
31337	return s
31338}
31339
31340// SetFilters sets the Filters field's value.
31341func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
31342	s.Filters = v
31343	return s
31344}
31345
31346// SetMarker sets the Marker field's value.
31347func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
31348	s.Marker = &v
31349	return s
31350}
31351
31352// SetMaxRecords sets the MaxRecords field's value.
31353func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
31354	s.MaxRecords = &v
31355	return s
31356}
31357
31358// Contains the result of a successful invocation of the DescribeDBInstances
31359// action.
31360type DescribeDBInstancesOutput struct {
31361	_ struct{} `type:"structure"`
31362
31363	// A list of DBInstance instances.
31364	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
31365
31366	// An optional pagination token provided by a previous request. If this parameter
31367	// is specified, the response includes only records beyond the marker, up to
31368	// the value specified by MaxRecords .
31369	Marker *string `type:"string"`
31370}
31371
31372// String returns the string representation.
31373//
31374// API parameter values that are decorated as "sensitive" in the API will not
31375// be included in the string output. The member name will be present, but the
31376// value will be replaced with "sensitive".
31377func (s DescribeDBInstancesOutput) String() string {
31378	return awsutil.Prettify(s)
31379}
31380
31381// GoString returns the string representation.
31382//
31383// API parameter values that are decorated as "sensitive" in the API will not
31384// be included in the string output. The member name will be present, but the
31385// value will be replaced with "sensitive".
31386func (s DescribeDBInstancesOutput) GoString() string {
31387	return s.String()
31388}
31389
31390// SetDBInstances sets the DBInstances field's value.
31391func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
31392	s.DBInstances = v
31393	return s
31394}
31395
31396// SetMarker sets the Marker field's value.
31397func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
31398	s.Marker = &v
31399	return s
31400}
31401
31402// This data type is used as a response element to DescribeDBLogFiles.
31403type DescribeDBLogFilesDetails struct {
31404	_ struct{} `type:"structure"`
31405
31406	// A POSIX timestamp when the last log entry was written.
31407	LastWritten *int64 `type:"long"`
31408
31409	// The name of the log file for the specified DB instance.
31410	LogFileName *string `type:"string"`
31411
31412	// The size, in bytes, of the log file for the specified DB instance.
31413	Size *int64 `type:"long"`
31414}
31415
31416// String returns the string representation.
31417//
31418// API parameter values that are decorated as "sensitive" in the API will not
31419// be included in the string output. The member name will be present, but the
31420// value will be replaced with "sensitive".
31421func (s DescribeDBLogFilesDetails) String() string {
31422	return awsutil.Prettify(s)
31423}
31424
31425// GoString returns the string representation.
31426//
31427// API parameter values that are decorated as "sensitive" in the API will not
31428// be included in the string output. The member name will be present, but the
31429// value will be replaced with "sensitive".
31430func (s DescribeDBLogFilesDetails) GoString() string {
31431	return s.String()
31432}
31433
31434// SetLastWritten sets the LastWritten field's value.
31435func (s *DescribeDBLogFilesDetails) SetLastWritten(v int64) *DescribeDBLogFilesDetails {
31436	s.LastWritten = &v
31437	return s
31438}
31439
31440// SetLogFileName sets the LogFileName field's value.
31441func (s *DescribeDBLogFilesDetails) SetLogFileName(v string) *DescribeDBLogFilesDetails {
31442	s.LogFileName = &v
31443	return s
31444}
31445
31446// SetSize sets the Size field's value.
31447func (s *DescribeDBLogFilesDetails) SetSize(v int64) *DescribeDBLogFilesDetails {
31448	s.Size = &v
31449	return s
31450}
31451
31452type DescribeDBLogFilesInput struct {
31453	_ struct{} `type:"structure"`
31454
31455	// The customer-assigned name of the DB instance that contains the log files
31456	// you want to list.
31457	//
31458	// Constraints:
31459	//
31460	//    * Must match the identifier of an existing DBInstance.
31461	//
31462	// DBInstanceIdentifier is a required field
31463	DBInstanceIdentifier *string `type:"string" required:"true"`
31464
31465	// Filters the available log files for files written since the specified date,
31466	// in POSIX timestamp format with milliseconds.
31467	FileLastWritten *int64 `type:"long"`
31468
31469	// Filters the available log files for files larger than the specified size.
31470	FileSize *int64 `type:"long"`
31471
31472	// Filters the available log files for log file names that contain the specified
31473	// string.
31474	FilenameContains *string `type:"string"`
31475
31476	// This parameter isn't currently supported.
31477	Filters []*Filter `locationNameList:"Filter" type:"list"`
31478
31479	// The pagination token provided in the previous request. If this parameter
31480	// is specified the response includes only records beyond the marker, up to
31481	// MaxRecords.
31482	Marker *string `type:"string"`
31483
31484	// The maximum number of records to include in the response. If more records
31485	// exist than the specified MaxRecords value, a pagination token called a marker
31486	// is included in the response so you can retrieve the remaining results.
31487	MaxRecords *int64 `type:"integer"`
31488}
31489
31490// String returns the string representation.
31491//
31492// API parameter values that are decorated as "sensitive" in the API will not
31493// be included in the string output. The member name will be present, but the
31494// value will be replaced with "sensitive".
31495func (s DescribeDBLogFilesInput) String() string {
31496	return awsutil.Prettify(s)
31497}
31498
31499// GoString returns the string representation.
31500//
31501// API parameter values that are decorated as "sensitive" in the API will not
31502// be included in the string output. The member name will be present, but the
31503// value will be replaced with "sensitive".
31504func (s DescribeDBLogFilesInput) GoString() string {
31505	return s.String()
31506}
31507
31508// Validate inspects the fields of the type to determine if they are valid.
31509func (s *DescribeDBLogFilesInput) Validate() error {
31510	invalidParams := request.ErrInvalidParams{Context: "DescribeDBLogFilesInput"}
31511	if s.DBInstanceIdentifier == nil {
31512		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
31513	}
31514	if s.Filters != nil {
31515		for i, v := range s.Filters {
31516			if v == nil {
31517				continue
31518			}
31519			if err := v.Validate(); err != nil {
31520				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31521			}
31522		}
31523	}
31524
31525	if invalidParams.Len() > 0 {
31526		return invalidParams
31527	}
31528	return nil
31529}
31530
31531// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
31532func (s *DescribeDBLogFilesInput) SetDBInstanceIdentifier(v string) *DescribeDBLogFilesInput {
31533	s.DBInstanceIdentifier = &v
31534	return s
31535}
31536
31537// SetFileLastWritten sets the FileLastWritten field's value.
31538func (s *DescribeDBLogFilesInput) SetFileLastWritten(v int64) *DescribeDBLogFilesInput {
31539	s.FileLastWritten = &v
31540	return s
31541}
31542
31543// SetFileSize sets the FileSize field's value.
31544func (s *DescribeDBLogFilesInput) SetFileSize(v int64) *DescribeDBLogFilesInput {
31545	s.FileSize = &v
31546	return s
31547}
31548
31549// SetFilenameContains sets the FilenameContains field's value.
31550func (s *DescribeDBLogFilesInput) SetFilenameContains(v string) *DescribeDBLogFilesInput {
31551	s.FilenameContains = &v
31552	return s
31553}
31554
31555// SetFilters sets the Filters field's value.
31556func (s *DescribeDBLogFilesInput) SetFilters(v []*Filter) *DescribeDBLogFilesInput {
31557	s.Filters = v
31558	return s
31559}
31560
31561// SetMarker sets the Marker field's value.
31562func (s *DescribeDBLogFilesInput) SetMarker(v string) *DescribeDBLogFilesInput {
31563	s.Marker = &v
31564	return s
31565}
31566
31567// SetMaxRecords sets the MaxRecords field's value.
31568func (s *DescribeDBLogFilesInput) SetMaxRecords(v int64) *DescribeDBLogFilesInput {
31569	s.MaxRecords = &v
31570	return s
31571}
31572
31573// The response from a call to DescribeDBLogFiles.
31574type DescribeDBLogFilesOutput struct {
31575	_ struct{} `type:"structure"`
31576
31577	// The DB log files returned.
31578	DescribeDBLogFiles []*DescribeDBLogFilesDetails `locationNameList:"DescribeDBLogFilesDetails" type:"list"`
31579
31580	// A pagination token that can be used in a later DescribeDBLogFiles request.
31581	Marker *string `type:"string"`
31582}
31583
31584// String returns the string representation.
31585//
31586// API parameter values that are decorated as "sensitive" in the API will not
31587// be included in the string output. The member name will be present, but the
31588// value will be replaced with "sensitive".
31589func (s DescribeDBLogFilesOutput) String() string {
31590	return awsutil.Prettify(s)
31591}
31592
31593// GoString returns the string representation.
31594//
31595// API parameter values that are decorated as "sensitive" in the API will not
31596// be included in the string output. The member name will be present, but the
31597// value will be replaced with "sensitive".
31598func (s DescribeDBLogFilesOutput) GoString() string {
31599	return s.String()
31600}
31601
31602// SetDescribeDBLogFiles sets the DescribeDBLogFiles field's value.
31603func (s *DescribeDBLogFilesOutput) SetDescribeDBLogFiles(v []*DescribeDBLogFilesDetails) *DescribeDBLogFilesOutput {
31604	s.DescribeDBLogFiles = v
31605	return s
31606}
31607
31608// SetMarker sets the Marker field's value.
31609func (s *DescribeDBLogFilesOutput) SetMarker(v string) *DescribeDBLogFilesOutput {
31610	s.Marker = &v
31611	return s
31612}
31613
31614type DescribeDBParameterGroupsInput struct {
31615	_ struct{} `type:"structure"`
31616
31617	// The name of a specific DB parameter group to return details for.
31618	//
31619	// Constraints:
31620	//
31621	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
31622	DBParameterGroupName *string `type:"string"`
31623
31624	// This parameter isn't currently supported.
31625	Filters []*Filter `locationNameList:"Filter" type:"list"`
31626
31627	// An optional pagination token provided by a previous DescribeDBParameterGroups
31628	// request. If this parameter is specified, the response includes only records
31629	// beyond the marker, up to the value specified by MaxRecords.
31630	Marker *string `type:"string"`
31631
31632	// The maximum number of records to include in the response. If more records
31633	// exist than the specified MaxRecords value, a pagination token called a marker
31634	// is included in the response so that you can retrieve the remaining results.
31635	//
31636	// Default: 100
31637	//
31638	// Constraints: Minimum 20, maximum 100.
31639	MaxRecords *int64 `type:"integer"`
31640}
31641
31642// String returns the string representation.
31643//
31644// API parameter values that are decorated as "sensitive" in the API will not
31645// be included in the string output. The member name will be present, but the
31646// value will be replaced with "sensitive".
31647func (s DescribeDBParameterGroupsInput) String() string {
31648	return awsutil.Prettify(s)
31649}
31650
31651// GoString returns the string representation.
31652//
31653// API parameter values that are decorated as "sensitive" in the API will not
31654// be included in the string output. The member name will be present, but the
31655// value will be replaced with "sensitive".
31656func (s DescribeDBParameterGroupsInput) GoString() string {
31657	return s.String()
31658}
31659
31660// Validate inspects the fields of the type to determine if they are valid.
31661func (s *DescribeDBParameterGroupsInput) Validate() error {
31662	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
31663	if s.Filters != nil {
31664		for i, v := range s.Filters {
31665			if v == nil {
31666				continue
31667			}
31668			if err := v.Validate(); err != nil {
31669				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31670			}
31671		}
31672	}
31673
31674	if invalidParams.Len() > 0 {
31675		return invalidParams
31676	}
31677	return nil
31678}
31679
31680// SetDBParameterGroupName sets the DBParameterGroupName field's value.
31681func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
31682	s.DBParameterGroupName = &v
31683	return s
31684}
31685
31686// SetFilters sets the Filters field's value.
31687func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
31688	s.Filters = v
31689	return s
31690}
31691
31692// SetMarker sets the Marker field's value.
31693func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
31694	s.Marker = &v
31695	return s
31696}
31697
31698// SetMaxRecords sets the MaxRecords field's value.
31699func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
31700	s.MaxRecords = &v
31701	return s
31702}
31703
31704// Contains the result of a successful invocation of the DescribeDBParameterGroups
31705// action.
31706type DescribeDBParameterGroupsOutput struct {
31707	_ struct{} `type:"structure"`
31708
31709	// A list of DBParameterGroup instances.
31710	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
31711
31712	// An optional pagination token provided by a previous request. If this parameter
31713	// is specified, the response includes only records beyond the marker, up to
31714	// the value specified by MaxRecords.
31715	Marker *string `type:"string"`
31716}
31717
31718// String returns the string representation.
31719//
31720// API parameter values that are decorated as "sensitive" in the API will not
31721// be included in the string output. The member name will be present, but the
31722// value will be replaced with "sensitive".
31723func (s DescribeDBParameterGroupsOutput) String() string {
31724	return awsutil.Prettify(s)
31725}
31726
31727// GoString returns the string representation.
31728//
31729// API parameter values that are decorated as "sensitive" in the API will not
31730// be included in the string output. The member name will be present, but the
31731// value will be replaced with "sensitive".
31732func (s DescribeDBParameterGroupsOutput) GoString() string {
31733	return s.String()
31734}
31735
31736// SetDBParameterGroups sets the DBParameterGroups field's value.
31737func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
31738	s.DBParameterGroups = v
31739	return s
31740}
31741
31742// SetMarker sets the Marker field's value.
31743func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
31744	s.Marker = &v
31745	return s
31746}
31747
31748type DescribeDBParametersInput struct {
31749	_ struct{} `type:"structure"`
31750
31751	// The name of a specific DB parameter group to return details for.
31752	//
31753	// Constraints:
31754	//
31755	//    * If supplied, must match the name of an existing DBParameterGroup.
31756	//
31757	// DBParameterGroupName is a required field
31758	DBParameterGroupName *string `type:"string" required:"true"`
31759
31760	// This parameter isn't currently supported.
31761	Filters []*Filter `locationNameList:"Filter" type:"list"`
31762
31763	// An optional pagination token provided by a previous DescribeDBParameters
31764	// request. If this parameter is specified, the response includes only records
31765	// beyond the marker, up to the value specified by MaxRecords.
31766	Marker *string `type:"string"`
31767
31768	// The maximum number of records to include in the response. If more records
31769	// exist than the specified MaxRecords value, a pagination token called a marker
31770	// is included in the response so that you can retrieve the remaining results.
31771	//
31772	// Default: 100
31773	//
31774	// Constraints: Minimum 20, maximum 100.
31775	MaxRecords *int64 `type:"integer"`
31776
31777	// The parameter types to return.
31778	//
31779	// Default: All parameter types returned
31780	//
31781	// Valid Values: user | system | engine-default
31782	Source *string `type:"string"`
31783}
31784
31785// String returns the string representation.
31786//
31787// API parameter values that are decorated as "sensitive" in the API will not
31788// be included in the string output. The member name will be present, but the
31789// value will be replaced with "sensitive".
31790func (s DescribeDBParametersInput) String() string {
31791	return awsutil.Prettify(s)
31792}
31793
31794// GoString returns the string representation.
31795//
31796// API parameter values that are decorated as "sensitive" in the API will not
31797// be included in the string output. The member name will be present, but the
31798// value will be replaced with "sensitive".
31799func (s DescribeDBParametersInput) GoString() string {
31800	return s.String()
31801}
31802
31803// Validate inspects the fields of the type to determine if they are valid.
31804func (s *DescribeDBParametersInput) Validate() error {
31805	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
31806	if s.DBParameterGroupName == nil {
31807		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
31808	}
31809	if s.Filters != nil {
31810		for i, v := range s.Filters {
31811			if v == nil {
31812				continue
31813			}
31814			if err := v.Validate(); err != nil {
31815				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31816			}
31817		}
31818	}
31819
31820	if invalidParams.Len() > 0 {
31821		return invalidParams
31822	}
31823	return nil
31824}
31825
31826// SetDBParameterGroupName sets the DBParameterGroupName field's value.
31827func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
31828	s.DBParameterGroupName = &v
31829	return s
31830}
31831
31832// SetFilters sets the Filters field's value.
31833func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
31834	s.Filters = v
31835	return s
31836}
31837
31838// SetMarker sets the Marker field's value.
31839func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
31840	s.Marker = &v
31841	return s
31842}
31843
31844// SetMaxRecords sets the MaxRecords field's value.
31845func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
31846	s.MaxRecords = &v
31847	return s
31848}
31849
31850// SetSource sets the Source field's value.
31851func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
31852	s.Source = &v
31853	return s
31854}
31855
31856// Contains the result of a successful invocation of the DescribeDBParameters
31857// action.
31858type DescribeDBParametersOutput struct {
31859	_ struct{} `type:"structure"`
31860
31861	// An optional pagination token provided by a previous request. If this parameter
31862	// is specified, the response includes only records beyond the marker, up to
31863	// the value specified by MaxRecords.
31864	Marker *string `type:"string"`
31865
31866	// A list of Parameter values.
31867	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
31868}
31869
31870// String returns the string representation.
31871//
31872// API parameter values that are decorated as "sensitive" in the API will not
31873// be included in the string output. The member name will be present, but the
31874// value will be replaced with "sensitive".
31875func (s DescribeDBParametersOutput) String() string {
31876	return awsutil.Prettify(s)
31877}
31878
31879// GoString returns the string representation.
31880//
31881// API parameter values that are decorated as "sensitive" in the API will not
31882// be included in the string output. The member name will be present, but the
31883// value will be replaced with "sensitive".
31884func (s DescribeDBParametersOutput) GoString() string {
31885	return s.String()
31886}
31887
31888// SetMarker sets the Marker field's value.
31889func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
31890	s.Marker = &v
31891	return s
31892}
31893
31894// SetParameters sets the Parameters field's value.
31895func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
31896	s.Parameters = v
31897	return s
31898}
31899
31900type DescribeDBProxiesInput struct {
31901	_ struct{} `type:"structure"`
31902
31903	// The name of the DB proxy. If you omit this parameter, the output includes
31904	// information about all DB proxies owned by your Amazon Web Services account
31905	// ID.
31906	DBProxyName *string `type:"string"`
31907
31908	// This parameter is not currently supported.
31909	Filters []*Filter `locationNameList:"Filter" type:"list"`
31910
31911	// An optional pagination token provided by a previous request. If this parameter
31912	// is specified, the response includes only records beyond the marker, up to
31913	// the value specified by MaxRecords.
31914	Marker *string `type:"string"`
31915
31916	// The maximum number of records to include in the response. If more records
31917	// exist than the specified MaxRecords value, a pagination token called a marker
31918	// is included in the response so that the remaining results can be retrieved.
31919	//
31920	// Default: 100
31921	//
31922	// Constraints: Minimum 20, maximum 100.
31923	MaxRecords *int64 `min:"20" type:"integer"`
31924}
31925
31926// String returns the string representation.
31927//
31928// API parameter values that are decorated as "sensitive" in the API will not
31929// be included in the string output. The member name will be present, but the
31930// value will be replaced with "sensitive".
31931func (s DescribeDBProxiesInput) String() string {
31932	return awsutil.Prettify(s)
31933}
31934
31935// GoString returns the string representation.
31936//
31937// API parameter values that are decorated as "sensitive" in the API will not
31938// be included in the string output. The member name will be present, but the
31939// value will be replaced with "sensitive".
31940func (s DescribeDBProxiesInput) GoString() string {
31941	return s.String()
31942}
31943
31944// Validate inspects the fields of the type to determine if they are valid.
31945func (s *DescribeDBProxiesInput) Validate() error {
31946	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxiesInput"}
31947	if s.MaxRecords != nil && *s.MaxRecords < 20 {
31948		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
31949	}
31950	if s.Filters != nil {
31951		for i, v := range s.Filters {
31952			if v == nil {
31953				continue
31954			}
31955			if err := v.Validate(); err != nil {
31956				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31957			}
31958		}
31959	}
31960
31961	if invalidParams.Len() > 0 {
31962		return invalidParams
31963	}
31964	return nil
31965}
31966
31967// SetDBProxyName sets the DBProxyName field's value.
31968func (s *DescribeDBProxiesInput) SetDBProxyName(v string) *DescribeDBProxiesInput {
31969	s.DBProxyName = &v
31970	return s
31971}
31972
31973// SetFilters sets the Filters field's value.
31974func (s *DescribeDBProxiesInput) SetFilters(v []*Filter) *DescribeDBProxiesInput {
31975	s.Filters = v
31976	return s
31977}
31978
31979// SetMarker sets the Marker field's value.
31980func (s *DescribeDBProxiesInput) SetMarker(v string) *DescribeDBProxiesInput {
31981	s.Marker = &v
31982	return s
31983}
31984
31985// SetMaxRecords sets the MaxRecords field's value.
31986func (s *DescribeDBProxiesInput) SetMaxRecords(v int64) *DescribeDBProxiesInput {
31987	s.MaxRecords = &v
31988	return s
31989}
31990
31991type DescribeDBProxiesOutput struct {
31992	_ struct{} `type:"structure"`
31993
31994	// A return value representing an arbitrary number of DBProxy data structures.
31995	DBProxies []*DBProxy `type:"list"`
31996
31997	// An optional pagination token provided by a previous request. If this parameter
31998	// is specified, the response includes only records beyond the marker, up to
31999	// the value specified by MaxRecords.
32000	Marker *string `type:"string"`
32001}
32002
32003// String returns the string representation.
32004//
32005// API parameter values that are decorated as "sensitive" in the API will not
32006// be included in the string output. The member name will be present, but the
32007// value will be replaced with "sensitive".
32008func (s DescribeDBProxiesOutput) String() string {
32009	return awsutil.Prettify(s)
32010}
32011
32012// GoString returns the string representation.
32013//
32014// API parameter values that are decorated as "sensitive" in the API will not
32015// be included in the string output. The member name will be present, but the
32016// value will be replaced with "sensitive".
32017func (s DescribeDBProxiesOutput) GoString() string {
32018	return s.String()
32019}
32020
32021// SetDBProxies sets the DBProxies field's value.
32022func (s *DescribeDBProxiesOutput) SetDBProxies(v []*DBProxy) *DescribeDBProxiesOutput {
32023	s.DBProxies = v
32024	return s
32025}
32026
32027// SetMarker sets the Marker field's value.
32028func (s *DescribeDBProxiesOutput) SetMarker(v string) *DescribeDBProxiesOutput {
32029	s.Marker = &v
32030	return s
32031}
32032
32033type DescribeDBProxyEndpointsInput struct {
32034	_ struct{} `type:"structure"`
32035
32036	// The name of a DB proxy endpoint to describe. If you omit this parameter,
32037	// the output includes information about all DB proxy endpoints associated with
32038	// the specified proxy.
32039	DBProxyEndpointName *string `min:"1" type:"string"`
32040
32041	// The name of the DB proxy whose endpoints you want to describe. If you omit
32042	// this parameter, the output includes information about all DB proxy endpoints
32043	// associated with all your DB proxies.
32044	DBProxyName *string `min:"1" type:"string"`
32045
32046	// This parameter is not currently supported.
32047	Filters []*Filter `locationNameList:"Filter" type:"list"`
32048
32049	// An optional pagination token provided by a previous request. If this parameter
32050	// is specified, the response includes only records beyond the marker, up to
32051	// the value specified by MaxRecords.
32052	Marker *string `type:"string"`
32053
32054	// The maximum number of records to include in the response. If more records
32055	// exist than the specified MaxRecords value, a pagination token called a marker
32056	// is included in the response so that the remaining results can be retrieved.
32057	//
32058	// Default: 100
32059	//
32060	// Constraints: Minimum 20, maximum 100.
32061	MaxRecords *int64 `min:"20" type:"integer"`
32062}
32063
32064// String returns the string representation.
32065//
32066// API parameter values that are decorated as "sensitive" in the API will not
32067// be included in the string output. The member name will be present, but the
32068// value will be replaced with "sensitive".
32069func (s DescribeDBProxyEndpointsInput) String() string {
32070	return awsutil.Prettify(s)
32071}
32072
32073// GoString returns the string representation.
32074//
32075// API parameter values that are decorated as "sensitive" in the API will not
32076// be included in the string output. The member name will be present, but the
32077// value will be replaced with "sensitive".
32078func (s DescribeDBProxyEndpointsInput) GoString() string {
32079	return s.String()
32080}
32081
32082// Validate inspects the fields of the type to determine if they are valid.
32083func (s *DescribeDBProxyEndpointsInput) Validate() error {
32084	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyEndpointsInput"}
32085	if s.DBProxyEndpointName != nil && len(*s.DBProxyEndpointName) < 1 {
32086		invalidParams.Add(request.NewErrParamMinLen("DBProxyEndpointName", 1))
32087	}
32088	if s.DBProxyName != nil && len(*s.DBProxyName) < 1 {
32089		invalidParams.Add(request.NewErrParamMinLen("DBProxyName", 1))
32090	}
32091	if s.MaxRecords != nil && *s.MaxRecords < 20 {
32092		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
32093	}
32094	if s.Filters != nil {
32095		for i, v := range s.Filters {
32096			if v == nil {
32097				continue
32098			}
32099			if err := v.Validate(); err != nil {
32100				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
32101			}
32102		}
32103	}
32104
32105	if invalidParams.Len() > 0 {
32106		return invalidParams
32107	}
32108	return nil
32109}
32110
32111// SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
32112func (s *DescribeDBProxyEndpointsInput) SetDBProxyEndpointName(v string) *DescribeDBProxyEndpointsInput {
32113	s.DBProxyEndpointName = &v
32114	return s
32115}
32116
32117// SetDBProxyName sets the DBProxyName field's value.
32118func (s *DescribeDBProxyEndpointsInput) SetDBProxyName(v string) *DescribeDBProxyEndpointsInput {
32119	s.DBProxyName = &v
32120	return s
32121}
32122
32123// SetFilters sets the Filters field's value.
32124func (s *DescribeDBProxyEndpointsInput) SetFilters(v []*Filter) *DescribeDBProxyEndpointsInput {
32125	s.Filters = v
32126	return s
32127}
32128
32129// SetMarker sets the Marker field's value.
32130func (s *DescribeDBProxyEndpointsInput) SetMarker(v string) *DescribeDBProxyEndpointsInput {
32131	s.Marker = &v
32132	return s
32133}
32134
32135// SetMaxRecords sets the MaxRecords field's value.
32136func (s *DescribeDBProxyEndpointsInput) SetMaxRecords(v int64) *DescribeDBProxyEndpointsInput {
32137	s.MaxRecords = &v
32138	return s
32139}
32140
32141type DescribeDBProxyEndpointsOutput struct {
32142	_ struct{} `type:"structure"`
32143
32144	// The list of ProxyEndpoint objects returned by the API operation.
32145	DBProxyEndpoints []*DBProxyEndpoint `type:"list"`
32146
32147	// An optional pagination token provided by a previous request. If this parameter
32148	// is specified, the response includes only records beyond the marker, up to
32149	// the value specified by MaxRecords.
32150	Marker *string `type:"string"`
32151}
32152
32153// String returns the string representation.
32154//
32155// API parameter values that are decorated as "sensitive" in the API will not
32156// be included in the string output. The member name will be present, but the
32157// value will be replaced with "sensitive".
32158func (s DescribeDBProxyEndpointsOutput) String() string {
32159	return awsutil.Prettify(s)
32160}
32161
32162// GoString returns the string representation.
32163//
32164// API parameter values that are decorated as "sensitive" in the API will not
32165// be included in the string output. The member name will be present, but the
32166// value will be replaced with "sensitive".
32167func (s DescribeDBProxyEndpointsOutput) GoString() string {
32168	return s.String()
32169}
32170
32171// SetDBProxyEndpoints sets the DBProxyEndpoints field's value.
32172func (s *DescribeDBProxyEndpointsOutput) SetDBProxyEndpoints(v []*DBProxyEndpoint) *DescribeDBProxyEndpointsOutput {
32173	s.DBProxyEndpoints = v
32174	return s
32175}
32176
32177// SetMarker sets the Marker field's value.
32178func (s *DescribeDBProxyEndpointsOutput) SetMarker(v string) *DescribeDBProxyEndpointsOutput {
32179	s.Marker = &v
32180	return s
32181}
32182
32183type DescribeDBProxyTargetGroupsInput struct {
32184	_ struct{} `type:"structure"`
32185
32186	// The identifier of the DBProxy associated with the target group.
32187	//
32188	// DBProxyName is a required field
32189	DBProxyName *string `type:"string" required:"true"`
32190
32191	// This parameter is not currently supported.
32192	Filters []*Filter `locationNameList:"Filter" type:"list"`
32193
32194	// An optional pagination token provided by a previous request. If this parameter
32195	// is specified, the response includes only records beyond the marker, up to
32196	// the value specified by MaxRecords.
32197	Marker *string `type:"string"`
32198
32199	// The maximum number of records to include in the response. If more records
32200	// exist than the specified MaxRecords value, a pagination token called a marker
32201	// is included in the response so that the remaining results can be retrieved.
32202	//
32203	// Default: 100
32204	//
32205	// Constraints: Minimum 20, maximum 100.
32206	MaxRecords *int64 `min:"20" type:"integer"`
32207
32208	// The identifier of the DBProxyTargetGroup to describe.
32209	TargetGroupName *string `type:"string"`
32210}
32211
32212// String returns the string representation.
32213//
32214// API parameter values that are decorated as "sensitive" in the API will not
32215// be included in the string output. The member name will be present, but the
32216// value will be replaced with "sensitive".
32217func (s DescribeDBProxyTargetGroupsInput) String() string {
32218	return awsutil.Prettify(s)
32219}
32220
32221// GoString returns the string representation.
32222//
32223// API parameter values that are decorated as "sensitive" in the API will not
32224// be included in the string output. The member name will be present, but the
32225// value will be replaced with "sensitive".
32226func (s DescribeDBProxyTargetGroupsInput) GoString() string {
32227	return s.String()
32228}
32229
32230// Validate inspects the fields of the type to determine if they are valid.
32231func (s *DescribeDBProxyTargetGroupsInput) Validate() error {
32232	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetGroupsInput"}
32233	if s.DBProxyName == nil {
32234		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
32235	}
32236	if s.MaxRecords != nil && *s.MaxRecords < 20 {
32237		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
32238	}
32239	if s.Filters != nil {
32240		for i, v := range s.Filters {
32241			if v == nil {
32242				continue
32243			}
32244			if err := v.Validate(); err != nil {
32245				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
32246			}
32247		}
32248	}
32249
32250	if invalidParams.Len() > 0 {
32251		return invalidParams
32252	}
32253	return nil
32254}
32255
32256// SetDBProxyName sets the DBProxyName field's value.
32257func (s *DescribeDBProxyTargetGroupsInput) SetDBProxyName(v string) *DescribeDBProxyTargetGroupsInput {
32258	s.DBProxyName = &v
32259	return s
32260}
32261
32262// SetFilters sets the Filters field's value.
32263func (s *DescribeDBProxyTargetGroupsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetGroupsInput {
32264	s.Filters = v
32265	return s
32266}
32267
32268// SetMarker sets the Marker field's value.
32269func (s *DescribeDBProxyTargetGroupsInput) SetMarker(v string) *DescribeDBProxyTargetGroupsInput {
32270	s.Marker = &v
32271	return s
32272}
32273
32274// SetMaxRecords sets the MaxRecords field's value.
32275func (s *DescribeDBProxyTargetGroupsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetGroupsInput {
32276	s.MaxRecords = &v
32277	return s
32278}
32279
32280// SetTargetGroupName sets the TargetGroupName field's value.
32281func (s *DescribeDBProxyTargetGroupsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetGroupsInput {
32282	s.TargetGroupName = &v
32283	return s
32284}
32285
32286type DescribeDBProxyTargetGroupsOutput struct {
32287	_ struct{} `type:"structure"`
32288
32289	// An optional pagination token provided by a previous request. If this parameter
32290	// is specified, the response includes only records beyond the marker, up to
32291	// the value specified by MaxRecords.
32292	Marker *string `type:"string"`
32293
32294	// An arbitrary number of DBProxyTargetGroup objects, containing details of
32295	// the corresponding target groups.
32296	TargetGroups []*DBProxyTargetGroup `type:"list"`
32297}
32298
32299// String returns the string representation.
32300//
32301// API parameter values that are decorated as "sensitive" in the API will not
32302// be included in the string output. The member name will be present, but the
32303// value will be replaced with "sensitive".
32304func (s DescribeDBProxyTargetGroupsOutput) String() string {
32305	return awsutil.Prettify(s)
32306}
32307
32308// GoString returns the string representation.
32309//
32310// API parameter values that are decorated as "sensitive" in the API will not
32311// be included in the string output. The member name will be present, but the
32312// value will be replaced with "sensitive".
32313func (s DescribeDBProxyTargetGroupsOutput) GoString() string {
32314	return s.String()
32315}
32316
32317// SetMarker sets the Marker field's value.
32318func (s *DescribeDBProxyTargetGroupsOutput) SetMarker(v string) *DescribeDBProxyTargetGroupsOutput {
32319	s.Marker = &v
32320	return s
32321}
32322
32323// SetTargetGroups sets the TargetGroups field's value.
32324func (s *DescribeDBProxyTargetGroupsOutput) SetTargetGroups(v []*DBProxyTargetGroup) *DescribeDBProxyTargetGroupsOutput {
32325	s.TargetGroups = v
32326	return s
32327}
32328
32329type DescribeDBProxyTargetsInput struct {
32330	_ struct{} `type:"structure"`
32331
32332	// The identifier of the DBProxyTarget to describe.
32333	//
32334	// DBProxyName is a required field
32335	DBProxyName *string `type:"string" required:"true"`
32336
32337	// This parameter is not currently supported.
32338	Filters []*Filter `locationNameList:"Filter" type:"list"`
32339
32340	// An optional pagination token provided by a previous request. If this parameter
32341	// is specified, the response includes only records beyond the marker, up to
32342	// the value specified by MaxRecords.
32343	Marker *string `type:"string"`
32344
32345	// The maximum number of records to include in the response. If more records
32346	// exist than the specified MaxRecords value, a pagination token called a marker
32347	// is included in the response so that the remaining results can be retrieved.
32348	//
32349	// Default: 100
32350	//
32351	// Constraints: Minimum 20, maximum 100.
32352	MaxRecords *int64 `min:"20" type:"integer"`
32353
32354	// The identifier of the DBProxyTargetGroup to describe.
32355	TargetGroupName *string `type:"string"`
32356}
32357
32358// String returns the string representation.
32359//
32360// API parameter values that are decorated as "sensitive" in the API will not
32361// be included in the string output. The member name will be present, but the
32362// value will be replaced with "sensitive".
32363func (s DescribeDBProxyTargetsInput) String() string {
32364	return awsutil.Prettify(s)
32365}
32366
32367// GoString returns the string representation.
32368//
32369// API parameter values that are decorated as "sensitive" in the API will not
32370// be included in the string output. The member name will be present, but the
32371// value will be replaced with "sensitive".
32372func (s DescribeDBProxyTargetsInput) GoString() string {
32373	return s.String()
32374}
32375
32376// Validate inspects the fields of the type to determine if they are valid.
32377func (s *DescribeDBProxyTargetsInput) Validate() error {
32378	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetsInput"}
32379	if s.DBProxyName == nil {
32380		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
32381	}
32382	if s.MaxRecords != nil && *s.MaxRecords < 20 {
32383		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
32384	}
32385	if s.Filters != nil {
32386		for i, v := range s.Filters {
32387			if v == nil {
32388				continue
32389			}
32390			if err := v.Validate(); err != nil {
32391				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
32392			}
32393		}
32394	}
32395
32396	if invalidParams.Len() > 0 {
32397		return invalidParams
32398	}
32399	return nil
32400}
32401
32402// SetDBProxyName sets the DBProxyName field's value.
32403func (s *DescribeDBProxyTargetsInput) SetDBProxyName(v string) *DescribeDBProxyTargetsInput {
32404	s.DBProxyName = &v
32405	return s
32406}
32407
32408// SetFilters sets the Filters field's value.
32409func (s *DescribeDBProxyTargetsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetsInput {
32410	s.Filters = v
32411	return s
32412}
32413
32414// SetMarker sets the Marker field's value.
32415func (s *DescribeDBProxyTargetsInput) SetMarker(v string) *DescribeDBProxyTargetsInput {
32416	s.Marker = &v
32417	return s
32418}
32419
32420// SetMaxRecords sets the MaxRecords field's value.
32421func (s *DescribeDBProxyTargetsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetsInput {
32422	s.MaxRecords = &v
32423	return s
32424}
32425
32426// SetTargetGroupName sets the TargetGroupName field's value.
32427func (s *DescribeDBProxyTargetsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetsInput {
32428	s.TargetGroupName = &v
32429	return s
32430}
32431
32432type DescribeDBProxyTargetsOutput struct {
32433	_ struct{} `type:"structure"`
32434
32435	// An optional pagination token provided by a previous request. If this parameter
32436	// is specified, the response includes only records beyond the marker, up to
32437	// the value specified by MaxRecords.
32438	Marker *string `type:"string"`
32439
32440	// An arbitrary number of DBProxyTarget objects, containing details of the corresponding
32441	// targets.
32442	Targets []*DBProxyTarget `type:"list"`
32443}
32444
32445// String returns the string representation.
32446//
32447// API parameter values that are decorated as "sensitive" in the API will not
32448// be included in the string output. The member name will be present, but the
32449// value will be replaced with "sensitive".
32450func (s DescribeDBProxyTargetsOutput) String() string {
32451	return awsutil.Prettify(s)
32452}
32453
32454// GoString returns the string representation.
32455//
32456// API parameter values that are decorated as "sensitive" in the API will not
32457// be included in the string output. The member name will be present, but the
32458// value will be replaced with "sensitive".
32459func (s DescribeDBProxyTargetsOutput) GoString() string {
32460	return s.String()
32461}
32462
32463// SetMarker sets the Marker field's value.
32464func (s *DescribeDBProxyTargetsOutput) SetMarker(v string) *DescribeDBProxyTargetsOutput {
32465	s.Marker = &v
32466	return s
32467}
32468
32469// SetTargets sets the Targets field's value.
32470func (s *DescribeDBProxyTargetsOutput) SetTargets(v []*DBProxyTarget) *DescribeDBProxyTargetsOutput {
32471	s.Targets = v
32472	return s
32473}
32474
32475type DescribeDBSecurityGroupsInput struct {
32476	_ struct{} `type:"structure"`
32477
32478	// The name of the DB security group to return details for.
32479	DBSecurityGroupName *string `type:"string"`
32480
32481	// This parameter isn't currently supported.
32482	Filters []*Filter `locationNameList:"Filter" type:"list"`
32483
32484	// An optional pagination token provided by a previous DescribeDBSecurityGroups
32485	// request. If this parameter is specified, the response includes only records
32486	// beyond the marker, up to the value specified by MaxRecords.
32487	Marker *string `type:"string"`
32488
32489	// The maximum number of records to include in the response. If more records
32490	// exist than the specified MaxRecords value, a pagination token called a marker
32491	// is included in the response so that you can retrieve the remaining results.
32492	//
32493	// Default: 100
32494	//
32495	// Constraints: Minimum 20, maximum 100.
32496	MaxRecords *int64 `type:"integer"`
32497}
32498
32499// String returns the string representation.
32500//
32501// API parameter values that are decorated as "sensitive" in the API will not
32502// be included in the string output. The member name will be present, but the
32503// value will be replaced with "sensitive".
32504func (s DescribeDBSecurityGroupsInput) String() string {
32505	return awsutil.Prettify(s)
32506}
32507
32508// GoString returns the string representation.
32509//
32510// API parameter values that are decorated as "sensitive" in the API will not
32511// be included in the string output. The member name will be present, but the
32512// value will be replaced with "sensitive".
32513func (s DescribeDBSecurityGroupsInput) GoString() string {
32514	return s.String()
32515}
32516
32517// Validate inspects the fields of the type to determine if they are valid.
32518func (s *DescribeDBSecurityGroupsInput) Validate() error {
32519	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSecurityGroupsInput"}
32520	if s.Filters != nil {
32521		for i, v := range s.Filters {
32522			if v == nil {
32523				continue
32524			}
32525			if err := v.Validate(); err != nil {
32526				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
32527			}
32528		}
32529	}
32530
32531	if invalidParams.Len() > 0 {
32532		return invalidParams
32533	}
32534	return nil
32535}
32536
32537// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
32538func (s *DescribeDBSecurityGroupsInput) SetDBSecurityGroupName(v string) *DescribeDBSecurityGroupsInput {
32539	s.DBSecurityGroupName = &v
32540	return s
32541}
32542
32543// SetFilters sets the Filters field's value.
32544func (s *DescribeDBSecurityGroupsInput) SetFilters(v []*Filter) *DescribeDBSecurityGroupsInput {
32545	s.Filters = v
32546	return s
32547}
32548
32549// SetMarker sets the Marker field's value.
32550func (s *DescribeDBSecurityGroupsInput) SetMarker(v string) *DescribeDBSecurityGroupsInput {
32551	s.Marker = &v
32552	return s
32553}
32554
32555// SetMaxRecords sets the MaxRecords field's value.
32556func (s *DescribeDBSecurityGroupsInput) SetMaxRecords(v int64) *DescribeDBSecurityGroupsInput {
32557	s.MaxRecords = &v
32558	return s
32559}
32560
32561// Contains the result of a successful invocation of the DescribeDBSecurityGroups
32562// action.
32563type DescribeDBSecurityGroupsOutput struct {
32564	_ struct{} `type:"structure"`
32565
32566	// A list of DBSecurityGroup instances.
32567	DBSecurityGroups []*DBSecurityGroup `locationNameList:"DBSecurityGroup" type:"list"`
32568
32569	// An optional pagination token provided by a previous request. If this parameter
32570	// is specified, the response includes only records beyond the marker, up to
32571	// the value specified by MaxRecords.
32572	Marker *string `type:"string"`
32573}
32574
32575// String returns the string representation.
32576//
32577// API parameter values that are decorated as "sensitive" in the API will not
32578// be included in the string output. The member name will be present, but the
32579// value will be replaced with "sensitive".
32580func (s DescribeDBSecurityGroupsOutput) String() string {
32581	return awsutil.Prettify(s)
32582}
32583
32584// GoString returns the string representation.
32585//
32586// API parameter values that are decorated as "sensitive" in the API will not
32587// be included in the string output. The member name will be present, but the
32588// value will be replaced with "sensitive".
32589func (s DescribeDBSecurityGroupsOutput) GoString() string {
32590	return s.String()
32591}
32592
32593// SetDBSecurityGroups sets the DBSecurityGroups field's value.
32594func (s *DescribeDBSecurityGroupsOutput) SetDBSecurityGroups(v []*DBSecurityGroup) *DescribeDBSecurityGroupsOutput {
32595	s.DBSecurityGroups = v
32596	return s
32597}
32598
32599// SetMarker sets the Marker field's value.
32600func (s *DescribeDBSecurityGroupsOutput) SetMarker(v string) *DescribeDBSecurityGroupsOutput {
32601	s.Marker = &v
32602	return s
32603}
32604
32605type DescribeDBSnapshotAttributesInput struct {
32606	_ struct{} `type:"structure"`
32607
32608	// The identifier for the DB snapshot to describe the attributes for.
32609	//
32610	// DBSnapshotIdentifier is a required field
32611	DBSnapshotIdentifier *string `type:"string" required:"true"`
32612}
32613
32614// String returns the string representation.
32615//
32616// API parameter values that are decorated as "sensitive" in the API will not
32617// be included in the string output. The member name will be present, but the
32618// value will be replaced with "sensitive".
32619func (s DescribeDBSnapshotAttributesInput) String() string {
32620	return awsutil.Prettify(s)
32621}
32622
32623// GoString returns the string representation.
32624//
32625// API parameter values that are decorated as "sensitive" in the API will not
32626// be included in the string output. The member name will be present, but the
32627// value will be replaced with "sensitive".
32628func (s DescribeDBSnapshotAttributesInput) GoString() string {
32629	return s.String()
32630}
32631
32632// Validate inspects the fields of the type to determine if they are valid.
32633func (s *DescribeDBSnapshotAttributesInput) Validate() error {
32634	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotAttributesInput"}
32635	if s.DBSnapshotIdentifier == nil {
32636		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
32637	}
32638
32639	if invalidParams.Len() > 0 {
32640		return invalidParams
32641	}
32642	return nil
32643}
32644
32645// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
32646func (s *DescribeDBSnapshotAttributesInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotAttributesInput {
32647	s.DBSnapshotIdentifier = &v
32648	return s
32649}
32650
32651type DescribeDBSnapshotAttributesOutput struct {
32652	_ struct{} `type:"structure"`
32653
32654	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
32655	// API action.
32656	//
32657	// Manual DB snapshot attributes are used to authorize other Amazon Web Services
32658	// accounts to copy or restore a manual DB snapshot. For more information, see
32659	// the ModifyDBSnapshotAttribute API action.
32660	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
32661}
32662
32663// String returns the string representation.
32664//
32665// API parameter values that are decorated as "sensitive" in the API will not
32666// be included in the string output. The member name will be present, but the
32667// value will be replaced with "sensitive".
32668func (s DescribeDBSnapshotAttributesOutput) String() string {
32669	return awsutil.Prettify(s)
32670}
32671
32672// GoString returns the string representation.
32673//
32674// API parameter values that are decorated as "sensitive" in the API will not
32675// be included in the string output. The member name will be present, but the
32676// value will be replaced with "sensitive".
32677func (s DescribeDBSnapshotAttributesOutput) GoString() string {
32678	return s.String()
32679}
32680
32681// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
32682func (s *DescribeDBSnapshotAttributesOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *DescribeDBSnapshotAttributesOutput {
32683	s.DBSnapshotAttributesResult = v
32684	return s
32685}
32686
32687type DescribeDBSnapshotsInput struct {
32688	_ struct{} `type:"structure"`
32689
32690	// The ID of the DB instance to retrieve the list of DB snapshots for. This
32691	// parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter
32692	// isn't case-sensitive.
32693	//
32694	// Constraints:
32695	//
32696	//    * If supplied, must match the identifier of an existing DBInstance.
32697	DBInstanceIdentifier *string `type:"string"`
32698
32699	// A specific DB snapshot identifier to describe. This parameter can't be used
32700	// in conjunction with DBInstanceIdentifier. This value is stored as a lowercase
32701	// string.
32702	//
32703	// Constraints:
32704	//
32705	//    * If supplied, must match the identifier of an existing DBSnapshot.
32706	//
32707	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
32708	//    must also be specified.
32709	DBSnapshotIdentifier *string `type:"string"`
32710
32711	// A specific DB resource ID to describe.
32712	DbiResourceId *string `type:"string"`
32713
32714	// A filter that specifies one or more DB snapshots to describe.
32715	//
32716	// Supported filters:
32717	//
32718	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
32719	//    Resource Names (ARNs).
32720	//
32721	//    * db-snapshot-id - Accepts DB snapshot identifiers.
32722	//
32723	//    * dbi-resource-id - Accepts identifiers of source DB instances.
32724	//
32725	//    * snapshot-type - Accepts types of DB snapshots.
32726	//
32727	//    * engine - Accepts names of database engines.
32728	Filters []*Filter `locationNameList:"Filter" type:"list"`
32729
32730	// A value that indicates whether to include manual DB cluster snapshots that
32731	// are public and can be copied or restored by any Amazon Web Services account.
32732	// By default, the public snapshots are not included.
32733	//
32734	// You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute
32735	// API.
32736	//
32737	// This setting doesn't apply to RDS Custom.
32738	IncludePublic *bool `type:"boolean"`
32739
32740	// A value that indicates whether to include shared manual DB cluster snapshots
32741	// from other Amazon Web Services accounts that this Amazon Web Services account
32742	// has been given permission to copy or restore. By default, these snapshots
32743	// are not included.
32744	//
32745	// You can give an Amazon Web Services account permission to restore a manual
32746	// DB snapshot from another Amazon Web Services account by using the ModifyDBSnapshotAttribute
32747	// API action.
32748	//
32749	// This setting doesn't apply to RDS Custom.
32750	IncludeShared *bool `type:"boolean"`
32751
32752	// An optional pagination token provided by a previous DescribeDBSnapshots request.
32753	// If this parameter is specified, the response includes only records beyond
32754	// the marker, up to the value specified by MaxRecords.
32755	Marker *string `type:"string"`
32756
32757	// The maximum number of records to include in the response. If more records
32758	// exist than the specified MaxRecords value, a pagination token called a marker
32759	// is included in the response so that you can retrieve the remaining results.
32760	//
32761	// Default: 100
32762	//
32763	// Constraints: Minimum 20, maximum 100.
32764	MaxRecords *int64 `type:"integer"`
32765
32766	// The type of snapshots to be returned. You can specify one of the following
32767	// values:
32768	//
32769	//    * automated - Return all DB snapshots that have been automatically taken
32770	//    by Amazon RDS for my Amazon Web Services account.
32771	//
32772	//    * manual - Return all DB snapshots that have been taken by my Amazon Web
32773	//    Services account.
32774	//
32775	//    * shared - Return all manual DB snapshots that have been shared to my
32776	//    Amazon Web Services account.
32777	//
32778	//    * public - Return all DB snapshots that have been marked as public.
32779	//
32780	//    * awsbackup - Return the DB snapshots managed by the Amazon Web Services
32781	//    Backup service. For information about Amazon Web Services Backup, see
32782	//    the Amazon Web Services Backup Developer Guide. (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)
32783	//    The awsbackup type does not apply to Aurora.
32784	//
32785	// If you don't specify a SnapshotType value, then both automated and manual
32786	// snapshots are returned. Shared and public DB snapshots are not included in
32787	// the returned results by default. You can include shared snapshots with these
32788	// results by enabling the IncludeShared parameter. You can include public snapshots
32789	// with these results by enabling the IncludePublic parameter.
32790	//
32791	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
32792	// values of manual or automated. The IncludePublic parameter doesn't apply
32793	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
32794	// when SnapshotType is set to public.
32795	SnapshotType *string `type:"string"`
32796}
32797
32798// String returns the string representation.
32799//
32800// API parameter values that are decorated as "sensitive" in the API will not
32801// be included in the string output. The member name will be present, but the
32802// value will be replaced with "sensitive".
32803func (s DescribeDBSnapshotsInput) String() string {
32804	return awsutil.Prettify(s)
32805}
32806
32807// GoString returns the string representation.
32808//
32809// API parameter values that are decorated as "sensitive" in the API will not
32810// be included in the string output. The member name will be present, but the
32811// value will be replaced with "sensitive".
32812func (s DescribeDBSnapshotsInput) GoString() string {
32813	return s.String()
32814}
32815
32816// Validate inspects the fields of the type to determine if they are valid.
32817func (s *DescribeDBSnapshotsInput) Validate() error {
32818	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotsInput"}
32819	if s.Filters != nil {
32820		for i, v := range s.Filters {
32821			if v == nil {
32822				continue
32823			}
32824			if err := v.Validate(); err != nil {
32825				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
32826			}
32827		}
32828	}
32829
32830	if invalidParams.Len() > 0 {
32831		return invalidParams
32832	}
32833	return nil
32834}
32835
32836// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
32837func (s *DescribeDBSnapshotsInput) SetDBInstanceIdentifier(v string) *DescribeDBSnapshotsInput {
32838	s.DBInstanceIdentifier = &v
32839	return s
32840}
32841
32842// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
32843func (s *DescribeDBSnapshotsInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotsInput {
32844	s.DBSnapshotIdentifier = &v
32845	return s
32846}
32847
32848// SetDbiResourceId sets the DbiResourceId field's value.
32849func (s *DescribeDBSnapshotsInput) SetDbiResourceId(v string) *DescribeDBSnapshotsInput {
32850	s.DbiResourceId = &v
32851	return s
32852}
32853
32854// SetFilters sets the Filters field's value.
32855func (s *DescribeDBSnapshotsInput) SetFilters(v []*Filter) *DescribeDBSnapshotsInput {
32856	s.Filters = v
32857	return s
32858}
32859
32860// SetIncludePublic sets the IncludePublic field's value.
32861func (s *DescribeDBSnapshotsInput) SetIncludePublic(v bool) *DescribeDBSnapshotsInput {
32862	s.IncludePublic = &v
32863	return s
32864}
32865
32866// SetIncludeShared sets the IncludeShared field's value.
32867func (s *DescribeDBSnapshotsInput) SetIncludeShared(v bool) *DescribeDBSnapshotsInput {
32868	s.IncludeShared = &v
32869	return s
32870}
32871
32872// SetMarker sets the Marker field's value.
32873func (s *DescribeDBSnapshotsInput) SetMarker(v string) *DescribeDBSnapshotsInput {
32874	s.Marker = &v
32875	return s
32876}
32877
32878// SetMaxRecords sets the MaxRecords field's value.
32879func (s *DescribeDBSnapshotsInput) SetMaxRecords(v int64) *DescribeDBSnapshotsInput {
32880	s.MaxRecords = &v
32881	return s
32882}
32883
32884// SetSnapshotType sets the SnapshotType field's value.
32885func (s *DescribeDBSnapshotsInput) SetSnapshotType(v string) *DescribeDBSnapshotsInput {
32886	s.SnapshotType = &v
32887	return s
32888}
32889
32890// Contains the result of a successful invocation of the DescribeDBSnapshots
32891// action.
32892type DescribeDBSnapshotsOutput struct {
32893	_ struct{} `type:"structure"`
32894
32895	// A list of DBSnapshot instances.
32896	DBSnapshots []*DBSnapshot `locationNameList:"DBSnapshot" type:"list"`
32897
32898	// An optional pagination token provided by a previous request. If this parameter
32899	// is specified, the response includes only records beyond the marker, up to
32900	// the value specified by MaxRecords.
32901	Marker *string `type:"string"`
32902}
32903
32904// String returns the string representation.
32905//
32906// API parameter values that are decorated as "sensitive" in the API will not
32907// be included in the string output. The member name will be present, but the
32908// value will be replaced with "sensitive".
32909func (s DescribeDBSnapshotsOutput) String() string {
32910	return awsutil.Prettify(s)
32911}
32912
32913// GoString returns the string representation.
32914//
32915// API parameter values that are decorated as "sensitive" in the API will not
32916// be included in the string output. The member name will be present, but the
32917// value will be replaced with "sensitive".
32918func (s DescribeDBSnapshotsOutput) GoString() string {
32919	return s.String()
32920}
32921
32922// SetDBSnapshots sets the DBSnapshots field's value.
32923func (s *DescribeDBSnapshotsOutput) SetDBSnapshots(v []*DBSnapshot) *DescribeDBSnapshotsOutput {
32924	s.DBSnapshots = v
32925	return s
32926}
32927
32928// SetMarker sets the Marker field's value.
32929func (s *DescribeDBSnapshotsOutput) SetMarker(v string) *DescribeDBSnapshotsOutput {
32930	s.Marker = &v
32931	return s
32932}
32933
32934type DescribeDBSubnetGroupsInput struct {
32935	_ struct{} `type:"structure"`
32936
32937	// The name of the DB subnet group to return details for.
32938	DBSubnetGroupName *string `type:"string"`
32939
32940	// This parameter isn't currently supported.
32941	Filters []*Filter `locationNameList:"Filter" type:"list"`
32942
32943	// An optional pagination token provided by a previous DescribeDBSubnetGroups
32944	// request. If this parameter is specified, the response includes only records
32945	// beyond the marker, up to the value specified by MaxRecords.
32946	Marker *string `type:"string"`
32947
32948	// The maximum number of records to include in the response. If more records
32949	// exist than the specified MaxRecords value, a pagination token called a marker
32950	// is included in the response so that you can retrieve the remaining results.
32951	//
32952	// Default: 100
32953	//
32954	// Constraints: Minimum 20, maximum 100.
32955	MaxRecords *int64 `type:"integer"`
32956}
32957
32958// String returns the string representation.
32959//
32960// API parameter values that are decorated as "sensitive" in the API will not
32961// be included in the string output. The member name will be present, but the
32962// value will be replaced with "sensitive".
32963func (s DescribeDBSubnetGroupsInput) String() string {
32964	return awsutil.Prettify(s)
32965}
32966
32967// GoString returns the string representation.
32968//
32969// API parameter values that are decorated as "sensitive" in the API will not
32970// be included in the string output. The member name will be present, but the
32971// value will be replaced with "sensitive".
32972func (s DescribeDBSubnetGroupsInput) GoString() string {
32973	return s.String()
32974}
32975
32976// Validate inspects the fields of the type to determine if they are valid.
32977func (s *DescribeDBSubnetGroupsInput) Validate() error {
32978	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
32979	if s.Filters != nil {
32980		for i, v := range s.Filters {
32981			if v == nil {
32982				continue
32983			}
32984			if err := v.Validate(); err != nil {
32985				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
32986			}
32987		}
32988	}
32989
32990	if invalidParams.Len() > 0 {
32991		return invalidParams
32992	}
32993	return nil
32994}
32995
32996// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
32997func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
32998	s.DBSubnetGroupName = &v
32999	return s
33000}
33001
33002// SetFilters sets the Filters field's value.
33003func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
33004	s.Filters = v
33005	return s
33006}
33007
33008// SetMarker sets the Marker field's value.
33009func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
33010	s.Marker = &v
33011	return s
33012}
33013
33014// SetMaxRecords sets the MaxRecords field's value.
33015func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
33016	s.MaxRecords = &v
33017	return s
33018}
33019
33020// Contains the result of a successful invocation of the DescribeDBSubnetGroups
33021// action.
33022type DescribeDBSubnetGroupsOutput struct {
33023	_ struct{} `type:"structure"`
33024
33025	// A list of DBSubnetGroup instances.
33026	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
33027
33028	// An optional pagination token provided by a previous request. If this parameter
33029	// is specified, the response includes only records beyond the marker, up to
33030	// the value specified by MaxRecords.
33031	Marker *string `type:"string"`
33032}
33033
33034// String returns the string representation.
33035//
33036// API parameter values that are decorated as "sensitive" in the API will not
33037// be included in the string output. The member name will be present, but the
33038// value will be replaced with "sensitive".
33039func (s DescribeDBSubnetGroupsOutput) String() string {
33040	return awsutil.Prettify(s)
33041}
33042
33043// GoString returns the string representation.
33044//
33045// API parameter values that are decorated as "sensitive" in the API will not
33046// be included in the string output. The member name will be present, but the
33047// value will be replaced with "sensitive".
33048func (s DescribeDBSubnetGroupsOutput) GoString() string {
33049	return s.String()
33050}
33051
33052// SetDBSubnetGroups sets the DBSubnetGroups field's value.
33053func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
33054	s.DBSubnetGroups = v
33055	return s
33056}
33057
33058// SetMarker sets the Marker field's value.
33059func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
33060	s.Marker = &v
33061	return s
33062}
33063
33064type DescribeEngineDefaultClusterParametersInput struct {
33065	_ struct{} `type:"structure"`
33066
33067	// The name of the DB cluster parameter group family to return engine parameter
33068	// information for.
33069	//
33070	// DBParameterGroupFamily is a required field
33071	DBParameterGroupFamily *string `type:"string" required:"true"`
33072
33073	// This parameter isn't currently supported.
33074	Filters []*Filter `locationNameList:"Filter" type:"list"`
33075
33076	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
33077	// request. If this parameter is specified, the response includes only records
33078	// beyond the marker, up to the value specified by MaxRecords.
33079	Marker *string `type:"string"`
33080
33081	// The maximum number of records to include in the response. If more records
33082	// exist than the specified MaxRecords value, a pagination token called a marker
33083	// is included in the response so you can retrieve the remaining results.
33084	//
33085	// Default: 100
33086	//
33087	// Constraints: Minimum 20, maximum 100.
33088	MaxRecords *int64 `type:"integer"`
33089}
33090
33091// String returns the string representation.
33092//
33093// API parameter values that are decorated as "sensitive" in the API will not
33094// be included in the string output. The member name will be present, but the
33095// value will be replaced with "sensitive".
33096func (s DescribeEngineDefaultClusterParametersInput) String() string {
33097	return awsutil.Prettify(s)
33098}
33099
33100// GoString returns the string representation.
33101//
33102// API parameter values that are decorated as "sensitive" in the API will not
33103// be included in the string output. The member name will be present, but the
33104// value will be replaced with "sensitive".
33105func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
33106	return s.String()
33107}
33108
33109// Validate inspects the fields of the type to determine if they are valid.
33110func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
33111	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
33112	if s.DBParameterGroupFamily == nil {
33113		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
33114	}
33115	if s.Filters != nil {
33116		for i, v := range s.Filters {
33117			if v == nil {
33118				continue
33119			}
33120			if err := v.Validate(); err != nil {
33121				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
33122			}
33123		}
33124	}
33125
33126	if invalidParams.Len() > 0 {
33127		return invalidParams
33128	}
33129	return nil
33130}
33131
33132// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
33133func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
33134	s.DBParameterGroupFamily = &v
33135	return s
33136}
33137
33138// SetFilters sets the Filters field's value.
33139func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
33140	s.Filters = v
33141	return s
33142}
33143
33144// SetMarker sets the Marker field's value.
33145func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
33146	s.Marker = &v
33147	return s
33148}
33149
33150// SetMaxRecords sets the MaxRecords field's value.
33151func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
33152	s.MaxRecords = &v
33153	return s
33154}
33155
33156type DescribeEngineDefaultClusterParametersOutput struct {
33157	_ struct{} `type:"structure"`
33158
33159	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
33160	// action.
33161	EngineDefaults *EngineDefaults `type:"structure"`
33162}
33163
33164// String returns the string representation.
33165//
33166// API parameter values that are decorated as "sensitive" in the API will not
33167// be included in the string output. The member name will be present, but the
33168// value will be replaced with "sensitive".
33169func (s DescribeEngineDefaultClusterParametersOutput) String() string {
33170	return awsutil.Prettify(s)
33171}
33172
33173// GoString returns the string representation.
33174//
33175// API parameter values that are decorated as "sensitive" in the API will not
33176// be included in the string output. The member name will be present, but the
33177// value will be replaced with "sensitive".
33178func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
33179	return s.String()
33180}
33181
33182// SetEngineDefaults sets the EngineDefaults field's value.
33183func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
33184	s.EngineDefaults = v
33185	return s
33186}
33187
33188type DescribeEngineDefaultParametersInput struct {
33189	_ struct{} `type:"structure"`
33190
33191	// The name of the DB parameter group family.
33192	//
33193	// DBParameterGroupFamily is a required field
33194	DBParameterGroupFamily *string `type:"string" required:"true"`
33195
33196	// This parameter isn't currently supported.
33197	Filters []*Filter `locationNameList:"Filter" type:"list"`
33198
33199	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
33200	// request. If this parameter is specified, the response includes only records
33201	// beyond the marker, up to the value specified by MaxRecords.
33202	Marker *string `type:"string"`
33203
33204	// The maximum number of records to include in the response. If more records
33205	// exist than the specified MaxRecords value, a pagination token called a marker
33206	// is included in the response so you can retrieve the remaining results.
33207	//
33208	// Default: 100
33209	//
33210	// Constraints: Minimum 20, maximum 100.
33211	MaxRecords *int64 `type:"integer"`
33212}
33213
33214// String returns the string representation.
33215//
33216// API parameter values that are decorated as "sensitive" in the API will not
33217// be included in the string output. The member name will be present, but the
33218// value will be replaced with "sensitive".
33219func (s DescribeEngineDefaultParametersInput) String() string {
33220	return awsutil.Prettify(s)
33221}
33222
33223// GoString returns the string representation.
33224//
33225// API parameter values that are decorated as "sensitive" in the API will not
33226// be included in the string output. The member name will be present, but the
33227// value will be replaced with "sensitive".
33228func (s DescribeEngineDefaultParametersInput) GoString() string {
33229	return s.String()
33230}
33231
33232// Validate inspects the fields of the type to determine if they are valid.
33233func (s *DescribeEngineDefaultParametersInput) Validate() error {
33234	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
33235	if s.DBParameterGroupFamily == nil {
33236		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
33237	}
33238	if s.Filters != nil {
33239		for i, v := range s.Filters {
33240			if v == nil {
33241				continue
33242			}
33243			if err := v.Validate(); err != nil {
33244				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
33245			}
33246		}
33247	}
33248
33249	if invalidParams.Len() > 0 {
33250		return invalidParams
33251	}
33252	return nil
33253}
33254
33255// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
33256func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
33257	s.DBParameterGroupFamily = &v
33258	return s
33259}
33260
33261// SetFilters sets the Filters field's value.
33262func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
33263	s.Filters = v
33264	return s
33265}
33266
33267// SetMarker sets the Marker field's value.
33268func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
33269	s.Marker = &v
33270	return s
33271}
33272
33273// SetMaxRecords sets the MaxRecords field's value.
33274func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
33275	s.MaxRecords = &v
33276	return s
33277}
33278
33279type DescribeEngineDefaultParametersOutput struct {
33280	_ struct{} `type:"structure"`
33281
33282	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
33283	// action.
33284	EngineDefaults *EngineDefaults `type:"structure"`
33285}
33286
33287// String returns the string representation.
33288//
33289// API parameter values that are decorated as "sensitive" in the API will not
33290// be included in the string output. The member name will be present, but the
33291// value will be replaced with "sensitive".
33292func (s DescribeEngineDefaultParametersOutput) String() string {
33293	return awsutil.Prettify(s)
33294}
33295
33296// GoString returns the string representation.
33297//
33298// API parameter values that are decorated as "sensitive" in the API will not
33299// be included in the string output. The member name will be present, but the
33300// value will be replaced with "sensitive".
33301func (s DescribeEngineDefaultParametersOutput) GoString() string {
33302	return s.String()
33303}
33304
33305// SetEngineDefaults sets the EngineDefaults field's value.
33306func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
33307	s.EngineDefaults = v
33308	return s
33309}
33310
33311type DescribeEventCategoriesInput struct {
33312	_ struct{} `type:"structure"`
33313
33314	// This parameter isn't currently supported.
33315	Filters []*Filter `locationNameList:"Filter" type:"list"`
33316
33317	// The type of source that is generating the events.
33318	//
33319	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
33320	// | db-snapshot | db-cluster-snapshot
33321	SourceType *string `type:"string"`
33322}
33323
33324// String returns the string representation.
33325//
33326// API parameter values that are decorated as "sensitive" in the API will not
33327// be included in the string output. The member name will be present, but the
33328// value will be replaced with "sensitive".
33329func (s DescribeEventCategoriesInput) String() string {
33330	return awsutil.Prettify(s)
33331}
33332
33333// GoString returns the string representation.
33334//
33335// API parameter values that are decorated as "sensitive" in the API will not
33336// be included in the string output. The member name will be present, but the
33337// value will be replaced with "sensitive".
33338func (s DescribeEventCategoriesInput) GoString() string {
33339	return s.String()
33340}
33341
33342// Validate inspects the fields of the type to determine if they are valid.
33343func (s *DescribeEventCategoriesInput) Validate() error {
33344	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
33345	if s.Filters != nil {
33346		for i, v := range s.Filters {
33347			if v == nil {
33348				continue
33349			}
33350			if err := v.Validate(); err != nil {
33351				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
33352			}
33353		}
33354	}
33355
33356	if invalidParams.Len() > 0 {
33357		return invalidParams
33358	}
33359	return nil
33360}
33361
33362// SetFilters sets the Filters field's value.
33363func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
33364	s.Filters = v
33365	return s
33366}
33367
33368// SetSourceType sets the SourceType field's value.
33369func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
33370	s.SourceType = &v
33371	return s
33372}
33373
33374// Data returned from the DescribeEventCategories operation.
33375type DescribeEventCategoriesOutput struct {
33376	_ struct{} `type:"structure"`
33377
33378	// A list of EventCategoriesMap data types.
33379	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
33380}
33381
33382// String returns the string representation.
33383//
33384// API parameter values that are decorated as "sensitive" in the API will not
33385// be included in the string output. The member name will be present, but the
33386// value will be replaced with "sensitive".
33387func (s DescribeEventCategoriesOutput) String() string {
33388	return awsutil.Prettify(s)
33389}
33390
33391// GoString returns the string representation.
33392//
33393// API parameter values that are decorated as "sensitive" in the API will not
33394// be included in the string output. The member name will be present, but the
33395// value will be replaced with "sensitive".
33396func (s DescribeEventCategoriesOutput) GoString() string {
33397	return s.String()
33398}
33399
33400// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
33401func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
33402	s.EventCategoriesMapList = v
33403	return s
33404}
33405
33406type DescribeEventSubscriptionsInput struct {
33407	_ struct{} `type:"structure"`
33408
33409	// This parameter isn't currently supported.
33410	Filters []*Filter `locationNameList:"Filter" type:"list"`
33411
33412	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
33413	// request. If this parameter is specified, the response includes only records
33414	// beyond the marker, up to the value specified by MaxRecords .
33415	Marker *string `type:"string"`
33416
33417	// The maximum number of records to include in the response. If more records
33418	// exist than the specified MaxRecords value, a pagination token called a marker
33419	// is included in the response so that you can retrieve the remaining results.
33420	//
33421	// Default: 100
33422	//
33423	// Constraints: Minimum 20, maximum 100.
33424	MaxRecords *int64 `type:"integer"`
33425
33426	// The name of the RDS event notification subscription you want to describe.
33427	SubscriptionName *string `type:"string"`
33428}
33429
33430// String returns the string representation.
33431//
33432// API parameter values that are decorated as "sensitive" in the API will not
33433// be included in the string output. The member name will be present, but the
33434// value will be replaced with "sensitive".
33435func (s DescribeEventSubscriptionsInput) String() string {
33436	return awsutil.Prettify(s)
33437}
33438
33439// GoString returns the string representation.
33440//
33441// API parameter values that are decorated as "sensitive" in the API will not
33442// be included in the string output. The member name will be present, but the
33443// value will be replaced with "sensitive".
33444func (s DescribeEventSubscriptionsInput) GoString() string {
33445	return s.String()
33446}
33447
33448// Validate inspects the fields of the type to determine if they are valid.
33449func (s *DescribeEventSubscriptionsInput) Validate() error {
33450	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
33451	if s.Filters != nil {
33452		for i, v := range s.Filters {
33453			if v == nil {
33454				continue
33455			}
33456			if err := v.Validate(); err != nil {
33457				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
33458			}
33459		}
33460	}
33461
33462	if invalidParams.Len() > 0 {
33463		return invalidParams
33464	}
33465	return nil
33466}
33467
33468// SetFilters sets the Filters field's value.
33469func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
33470	s.Filters = v
33471	return s
33472}
33473
33474// SetMarker sets the Marker field's value.
33475func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
33476	s.Marker = &v
33477	return s
33478}
33479
33480// SetMaxRecords sets the MaxRecords field's value.
33481func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
33482	s.MaxRecords = &v
33483	return s
33484}
33485
33486// SetSubscriptionName sets the SubscriptionName field's value.
33487func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
33488	s.SubscriptionName = &v
33489	return s
33490}
33491
33492// Data returned by the DescribeEventSubscriptions action.
33493type DescribeEventSubscriptionsOutput struct {
33494	_ struct{} `type:"structure"`
33495
33496	// A list of EventSubscriptions data types.
33497	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
33498
33499	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
33500	// request. If this parameter is specified, the response includes only records
33501	// beyond the marker, up to the value specified by MaxRecords.
33502	Marker *string `type:"string"`
33503}
33504
33505// String returns the string representation.
33506//
33507// API parameter values that are decorated as "sensitive" in the API will not
33508// be included in the string output. The member name will be present, but the
33509// value will be replaced with "sensitive".
33510func (s DescribeEventSubscriptionsOutput) String() string {
33511	return awsutil.Prettify(s)
33512}
33513
33514// GoString returns the string representation.
33515//
33516// API parameter values that are decorated as "sensitive" in the API will not
33517// be included in the string output. The member name will be present, but the
33518// value will be replaced with "sensitive".
33519func (s DescribeEventSubscriptionsOutput) GoString() string {
33520	return s.String()
33521}
33522
33523// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
33524func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
33525	s.EventSubscriptionsList = v
33526	return s
33527}
33528
33529// SetMarker sets the Marker field's value.
33530func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
33531	s.Marker = &v
33532	return s
33533}
33534
33535type DescribeEventsInput struct {
33536	_ struct{} `type:"structure"`
33537
33538	// The number of minutes to retrieve events for.
33539	//
33540	// Default: 60
33541	Duration *int64 `type:"integer"`
33542
33543	// The end of the time interval for which to retrieve events, specified in ISO
33544	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
33545	// page. (http://en.wikipedia.org/wiki/ISO_8601)
33546	//
33547	// Example: 2009-07-08T18:00Z
33548	EndTime *time.Time `type:"timestamp"`
33549
33550	// A list of event categories that trigger notifications for a event notification
33551	// subscription.
33552	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
33553
33554	// This parameter isn't currently supported.
33555	Filters []*Filter `locationNameList:"Filter" type:"list"`
33556
33557	// An optional pagination token provided by a previous DescribeEvents request.
33558	// If this parameter is specified, the response includes only records beyond
33559	// the marker, up to the value specified by MaxRecords.
33560	Marker *string `type:"string"`
33561
33562	// The maximum number of records to include in the response. If more records
33563	// exist than the specified MaxRecords value, a pagination token called a marker
33564	// is included in the response so that you can retrieve the remaining results.
33565	//
33566	// Default: 100
33567	//
33568	// Constraints: Minimum 20, maximum 100.
33569	MaxRecords *int64 `type:"integer"`
33570
33571	// The identifier of the event source for which events are returned. If not
33572	// specified, then all sources are included in the response.
33573	//
33574	// Constraints:
33575	//
33576	//    * If SourceIdentifier is supplied, SourceType must also be provided.
33577	//
33578	//    * If the source type is a DB instance, a DBInstanceIdentifier value must
33579	//    be supplied.
33580	//
33581	//    * If the source type is a DB cluster, a DBClusterIdentifier value must
33582	//    be supplied.
33583	//
33584	//    * If the source type is a DB parameter group, a DBParameterGroupName value
33585	//    must be supplied.
33586	//
33587	//    * If the source type is a DB security group, a DBSecurityGroupName value
33588	//    must be supplied.
33589	//
33590	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier value must
33591	//    be supplied.
33592	//
33593	//    * If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier
33594	//    value must be supplied.
33595	//
33596	//    * Can't end with a hyphen or contain two consecutive hyphens.
33597	SourceIdentifier *string `type:"string"`
33598
33599	// The event source to retrieve events for. If no value is specified, all events
33600	// are returned.
33601	SourceType *string `type:"string" enum:"SourceType"`
33602
33603	// The beginning of the time interval to retrieve events for, specified in ISO
33604	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
33605	// page. (http://en.wikipedia.org/wiki/ISO_8601)
33606	//
33607	// Example: 2009-07-08T18:00Z
33608	StartTime *time.Time `type:"timestamp"`
33609}
33610
33611// String returns the string representation.
33612//
33613// API parameter values that are decorated as "sensitive" in the API will not
33614// be included in the string output. The member name will be present, but the
33615// value will be replaced with "sensitive".
33616func (s DescribeEventsInput) String() string {
33617	return awsutil.Prettify(s)
33618}
33619
33620// GoString returns the string representation.
33621//
33622// API parameter values that are decorated as "sensitive" in the API will not
33623// be included in the string output. The member name will be present, but the
33624// value will be replaced with "sensitive".
33625func (s DescribeEventsInput) GoString() string {
33626	return s.String()
33627}
33628
33629// Validate inspects the fields of the type to determine if they are valid.
33630func (s *DescribeEventsInput) Validate() error {
33631	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
33632	if s.Filters != nil {
33633		for i, v := range s.Filters {
33634			if v == nil {
33635				continue
33636			}
33637			if err := v.Validate(); err != nil {
33638				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
33639			}
33640		}
33641	}
33642
33643	if invalidParams.Len() > 0 {
33644		return invalidParams
33645	}
33646	return nil
33647}
33648
33649// SetDuration sets the Duration field's value.
33650func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
33651	s.Duration = &v
33652	return s
33653}
33654
33655// SetEndTime sets the EndTime field's value.
33656func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
33657	s.EndTime = &v
33658	return s
33659}
33660
33661// SetEventCategories sets the EventCategories field's value.
33662func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
33663	s.EventCategories = v
33664	return s
33665}
33666
33667// SetFilters sets the Filters field's value.
33668func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
33669	s.Filters = v
33670	return s
33671}
33672
33673// SetMarker sets the Marker field's value.
33674func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
33675	s.Marker = &v
33676	return s
33677}
33678
33679// SetMaxRecords sets the MaxRecords field's value.
33680func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
33681	s.MaxRecords = &v
33682	return s
33683}
33684
33685// SetSourceIdentifier sets the SourceIdentifier field's value.
33686func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
33687	s.SourceIdentifier = &v
33688	return s
33689}
33690
33691// SetSourceType sets the SourceType field's value.
33692func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
33693	s.SourceType = &v
33694	return s
33695}
33696
33697// SetStartTime sets the StartTime field's value.
33698func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
33699	s.StartTime = &v
33700	return s
33701}
33702
33703// Contains the result of a successful invocation of the DescribeEvents action.
33704type DescribeEventsOutput struct {
33705	_ struct{} `type:"structure"`
33706
33707	// A list of Event instances.
33708	Events []*Event `locationNameList:"Event" type:"list"`
33709
33710	// An optional pagination token provided by a previous Events request. If this
33711	// parameter is specified, the response includes only records beyond the marker,
33712	// up to the value specified by MaxRecords .
33713	Marker *string `type:"string"`
33714}
33715
33716// String returns the string representation.
33717//
33718// API parameter values that are decorated as "sensitive" in the API will not
33719// be included in the string output. The member name will be present, but the
33720// value will be replaced with "sensitive".
33721func (s DescribeEventsOutput) String() string {
33722	return awsutil.Prettify(s)
33723}
33724
33725// GoString returns the string representation.
33726//
33727// API parameter values that are decorated as "sensitive" in the API will not
33728// be included in the string output. The member name will be present, but the
33729// value will be replaced with "sensitive".
33730func (s DescribeEventsOutput) GoString() string {
33731	return s.String()
33732}
33733
33734// SetEvents sets the Events field's value.
33735func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
33736	s.Events = v
33737	return s
33738}
33739
33740// SetMarker sets the Marker field's value.
33741func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
33742	s.Marker = &v
33743	return s
33744}
33745
33746type DescribeExportTasksInput struct {
33747	_ struct{} `type:"structure"`
33748
33749	// The identifier of the snapshot export task to be described.
33750	ExportTaskIdentifier *string `type:"string"`
33751
33752	// Filters specify one or more snapshot exports to describe. The filters are
33753	// specified as name-value pairs that define what to include in the output.
33754	// Filter names and values are case-sensitive.
33755	//
33756	// Supported filters include the following:
33757	//
33758	//    * export-task-identifier - An identifier for the snapshot export task.
33759	//
33760	//    * s3-bucket - The Amazon S3 bucket the snapshot is exported to.
33761	//
33762	//    * source-arn - The Amazon Resource Name (ARN) of the snapshot exported
33763	//    to Amazon S3
33764	//
33765	//    * status - The status of the export task. Must be lowercase. Valid statuses
33766	//    are the following: canceled canceling complete failed starting
33767	Filters []*Filter `locationNameList:"Filter" type:"list"`
33768
33769	// An optional pagination token provided by a previous DescribeExportTasks request.
33770	// If you specify this parameter, the response includes only records beyond
33771	// the marker, up to the value specified by the MaxRecords parameter.
33772	Marker *string `type:"string"`
33773
33774	// The maximum number of records to include in the response. If more records
33775	// exist than the specified value, a pagination token called a marker is included
33776	// in the response. You can use the marker in a later DescribeExportTasks request
33777	// to retrieve the remaining results.
33778	//
33779	// Default: 100
33780	//
33781	// Constraints: Minimum 20, maximum 100.
33782	MaxRecords *int64 `min:"20" type:"integer"`
33783
33784	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
33785	SourceArn *string `type:"string"`
33786}
33787
33788// String returns the string representation.
33789//
33790// API parameter values that are decorated as "sensitive" in the API will not
33791// be included in the string output. The member name will be present, but the
33792// value will be replaced with "sensitive".
33793func (s DescribeExportTasksInput) String() string {
33794	return awsutil.Prettify(s)
33795}
33796
33797// GoString returns the string representation.
33798//
33799// API parameter values that are decorated as "sensitive" in the API will not
33800// be included in the string output. The member name will be present, but the
33801// value will be replaced with "sensitive".
33802func (s DescribeExportTasksInput) GoString() string {
33803	return s.String()
33804}
33805
33806// Validate inspects the fields of the type to determine if they are valid.
33807func (s *DescribeExportTasksInput) Validate() error {
33808	invalidParams := request.ErrInvalidParams{Context: "DescribeExportTasksInput"}
33809	if s.MaxRecords != nil && *s.MaxRecords < 20 {
33810		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
33811	}
33812	if s.Filters != nil {
33813		for i, v := range s.Filters {
33814			if v == nil {
33815				continue
33816			}
33817			if err := v.Validate(); err != nil {
33818				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
33819			}
33820		}
33821	}
33822
33823	if invalidParams.Len() > 0 {
33824		return invalidParams
33825	}
33826	return nil
33827}
33828
33829// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
33830func (s *DescribeExportTasksInput) SetExportTaskIdentifier(v string) *DescribeExportTasksInput {
33831	s.ExportTaskIdentifier = &v
33832	return s
33833}
33834
33835// SetFilters sets the Filters field's value.
33836func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
33837	s.Filters = v
33838	return s
33839}
33840
33841// SetMarker sets the Marker field's value.
33842func (s *DescribeExportTasksInput) SetMarker(v string) *DescribeExportTasksInput {
33843	s.Marker = &v
33844	return s
33845}
33846
33847// SetMaxRecords sets the MaxRecords field's value.
33848func (s *DescribeExportTasksInput) SetMaxRecords(v int64) *DescribeExportTasksInput {
33849	s.MaxRecords = &v
33850	return s
33851}
33852
33853// SetSourceArn sets the SourceArn field's value.
33854func (s *DescribeExportTasksInput) SetSourceArn(v string) *DescribeExportTasksInput {
33855	s.SourceArn = &v
33856	return s
33857}
33858
33859type DescribeExportTasksOutput struct {
33860	_ struct{} `type:"structure"`
33861
33862	// Information about an export of a snapshot to Amazon S3.
33863	ExportTasks []*ExportTask `locationNameList:"ExportTask" type:"list"`
33864
33865	// A pagination token that can be used in a later DescribeExportTasks request.
33866	// A marker is used for pagination to identify the location to begin output
33867	// for the next response of DescribeExportTasks.
33868	Marker *string `type:"string"`
33869}
33870
33871// String returns the string representation.
33872//
33873// API parameter values that are decorated as "sensitive" in the API will not
33874// be included in the string output. The member name will be present, but the
33875// value will be replaced with "sensitive".
33876func (s DescribeExportTasksOutput) String() string {
33877	return awsutil.Prettify(s)
33878}
33879
33880// GoString returns the string representation.
33881//
33882// API parameter values that are decorated as "sensitive" in the API will not
33883// be included in the string output. The member name will be present, but the
33884// value will be replaced with "sensitive".
33885func (s DescribeExportTasksOutput) GoString() string {
33886	return s.String()
33887}
33888
33889// SetExportTasks sets the ExportTasks field's value.
33890func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
33891	s.ExportTasks = v
33892	return s
33893}
33894
33895// SetMarker sets the Marker field's value.
33896func (s *DescribeExportTasksOutput) SetMarker(v string) *DescribeExportTasksOutput {
33897	s.Marker = &v
33898	return s
33899}
33900
33901type DescribeGlobalClustersInput struct {
33902	_ struct{} `type:"structure"`
33903
33904	// This parameter isn't currently supported.
33905	Filters []*Filter `locationNameList:"Filter" type:"list"`
33906
33907	// The user-supplied DB cluster identifier. If this parameter is specified,
33908	// information from only the specific DB cluster is returned. This parameter
33909	// isn't case-sensitive.
33910	//
33911	// Constraints:
33912	//
33913	//    * If supplied, must match an existing DBClusterIdentifier.
33914	GlobalClusterIdentifier *string `type:"string"`
33915
33916	// An optional pagination token provided by a previous DescribeGlobalClusters
33917	// request. If this parameter is specified, the response includes only records
33918	// beyond the marker, up to the value specified by MaxRecords.
33919	Marker *string `type:"string"`
33920
33921	// The maximum number of records to include in the response. If more records
33922	// exist than the specified MaxRecords value, a pagination token called a marker
33923	// is included in the response so that you can retrieve the remaining results.
33924	//
33925	// Default: 100
33926	//
33927	// Constraints: Minimum 20, maximum 100.
33928	MaxRecords *int64 `type:"integer"`
33929}
33930
33931// String returns the string representation.
33932//
33933// API parameter values that are decorated as "sensitive" in the API will not
33934// be included in the string output. The member name will be present, but the
33935// value will be replaced with "sensitive".
33936func (s DescribeGlobalClustersInput) String() string {
33937	return awsutil.Prettify(s)
33938}
33939
33940// GoString returns the string representation.
33941//
33942// API parameter values that are decorated as "sensitive" in the API will not
33943// be included in the string output. The member name will be present, but the
33944// value will be replaced with "sensitive".
33945func (s DescribeGlobalClustersInput) GoString() string {
33946	return s.String()
33947}
33948
33949// Validate inspects the fields of the type to determine if they are valid.
33950func (s *DescribeGlobalClustersInput) Validate() error {
33951	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalClustersInput"}
33952	if s.Filters != nil {
33953		for i, v := range s.Filters {
33954			if v == nil {
33955				continue
33956			}
33957			if err := v.Validate(); err != nil {
33958				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
33959			}
33960		}
33961	}
33962
33963	if invalidParams.Len() > 0 {
33964		return invalidParams
33965	}
33966	return nil
33967}
33968
33969// SetFilters sets the Filters field's value.
33970func (s *DescribeGlobalClustersInput) SetFilters(v []*Filter) *DescribeGlobalClustersInput {
33971	s.Filters = v
33972	return s
33973}
33974
33975// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
33976func (s *DescribeGlobalClustersInput) SetGlobalClusterIdentifier(v string) *DescribeGlobalClustersInput {
33977	s.GlobalClusterIdentifier = &v
33978	return s
33979}
33980
33981// SetMarker sets the Marker field's value.
33982func (s *DescribeGlobalClustersInput) SetMarker(v string) *DescribeGlobalClustersInput {
33983	s.Marker = &v
33984	return s
33985}
33986
33987// SetMaxRecords sets the MaxRecords field's value.
33988func (s *DescribeGlobalClustersInput) SetMaxRecords(v int64) *DescribeGlobalClustersInput {
33989	s.MaxRecords = &v
33990	return s
33991}
33992
33993type DescribeGlobalClustersOutput struct {
33994	_ struct{} `type:"structure"`
33995
33996	// The list of global clusters returned by this request.
33997	GlobalClusters []*GlobalCluster `locationNameList:"GlobalClusterMember" type:"list"`
33998
33999	// An optional pagination token provided by a previous DescribeGlobalClusters
34000	// request. If this parameter is specified, the response includes only records
34001	// beyond the marker, up to the value specified by MaxRecords.
34002	Marker *string `type:"string"`
34003}
34004
34005// String returns the string representation.
34006//
34007// API parameter values that are decorated as "sensitive" in the API will not
34008// be included in the string output. The member name will be present, but the
34009// value will be replaced with "sensitive".
34010func (s DescribeGlobalClustersOutput) String() string {
34011	return awsutil.Prettify(s)
34012}
34013
34014// GoString returns the string representation.
34015//
34016// API parameter values that are decorated as "sensitive" in the API will not
34017// be included in the string output. The member name will be present, but the
34018// value will be replaced with "sensitive".
34019func (s DescribeGlobalClustersOutput) GoString() string {
34020	return s.String()
34021}
34022
34023// SetGlobalClusters sets the GlobalClusters field's value.
34024func (s *DescribeGlobalClustersOutput) SetGlobalClusters(v []*GlobalCluster) *DescribeGlobalClustersOutput {
34025	s.GlobalClusters = v
34026	return s
34027}
34028
34029// SetMarker sets the Marker field's value.
34030func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalClustersOutput {
34031	s.Marker = &v
34032	return s
34033}
34034
34035type DescribeInstallationMediaInput struct {
34036	_ struct{} `type:"structure"`
34037
34038	// A filter that specifies one or more installation media to describe. Supported
34039	// filters include the following:
34040	//
34041	//    * custom-availability-zone-id - Accepts custom Availability Zone (AZ)
34042	//    identifiers. The results list includes information about only the custom
34043	//    AZs identified by these identifiers.
34044	//
34045	//    * engine - Accepts database engines. The results list includes information
34046	//    about only the database engines identified by these identifiers. For more
34047	//    information about the valid engines for installation media, see ImportInstallationMedia.
34048	Filters []*Filter `locationNameList:"Filter" type:"list"`
34049
34050	// The installation medium ID.
34051	InstallationMediaId *string `type:"string"`
34052
34053	// An optional pagination token provided by a previous request. If this parameter
34054	// is specified, the response includes only records beyond the marker, up to
34055	// the value specified by MaxRecords.
34056	Marker *string `type:"string"`
34057
34058	// An optional pagination token provided by a previous DescribeInstallationMedia
34059	// request. If this parameter is specified, the response includes only records
34060	// beyond the marker, up to the value specified by MaxRecords.
34061	MaxRecords *int64 `type:"integer"`
34062}
34063
34064// String returns the string representation.
34065//
34066// API parameter values that are decorated as "sensitive" in the API will not
34067// be included in the string output. The member name will be present, but the
34068// value will be replaced with "sensitive".
34069func (s DescribeInstallationMediaInput) String() string {
34070	return awsutil.Prettify(s)
34071}
34072
34073// GoString returns the string representation.
34074//
34075// API parameter values that are decorated as "sensitive" in the API will not
34076// be included in the string output. The member name will be present, but the
34077// value will be replaced with "sensitive".
34078func (s DescribeInstallationMediaInput) GoString() string {
34079	return s.String()
34080}
34081
34082// Validate inspects the fields of the type to determine if they are valid.
34083func (s *DescribeInstallationMediaInput) Validate() error {
34084	invalidParams := request.ErrInvalidParams{Context: "DescribeInstallationMediaInput"}
34085	if s.Filters != nil {
34086		for i, v := range s.Filters {
34087			if v == nil {
34088				continue
34089			}
34090			if err := v.Validate(); err != nil {
34091				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
34092			}
34093		}
34094	}
34095
34096	if invalidParams.Len() > 0 {
34097		return invalidParams
34098	}
34099	return nil
34100}
34101
34102// SetFilters sets the Filters field's value.
34103func (s *DescribeInstallationMediaInput) SetFilters(v []*Filter) *DescribeInstallationMediaInput {
34104	s.Filters = v
34105	return s
34106}
34107
34108// SetInstallationMediaId sets the InstallationMediaId field's value.
34109func (s *DescribeInstallationMediaInput) SetInstallationMediaId(v string) *DescribeInstallationMediaInput {
34110	s.InstallationMediaId = &v
34111	return s
34112}
34113
34114// SetMarker sets the Marker field's value.
34115func (s *DescribeInstallationMediaInput) SetMarker(v string) *DescribeInstallationMediaInput {
34116	s.Marker = &v
34117	return s
34118}
34119
34120// SetMaxRecords sets the MaxRecords field's value.
34121func (s *DescribeInstallationMediaInput) SetMaxRecords(v int64) *DescribeInstallationMediaInput {
34122	s.MaxRecords = &v
34123	return s
34124}
34125
34126type DescribeInstallationMediaOutput struct {
34127	_ struct{} `type:"structure"`
34128
34129	// The list of InstallationMedia objects for the Amazon Web Services account.
34130	InstallationMedia []*InstallationMedia `locationNameList:"InstallationMedia" type:"list"`
34131
34132	// An optional pagination token provided by a previous DescribeInstallationMedia
34133	// request. If this parameter is specified, the response includes only records
34134	// beyond the marker, up to the value specified by MaxRecords.
34135	Marker *string `type:"string"`
34136}
34137
34138// String returns the string representation.
34139//
34140// API parameter values that are decorated as "sensitive" in the API will not
34141// be included in the string output. The member name will be present, but the
34142// value will be replaced with "sensitive".
34143func (s DescribeInstallationMediaOutput) String() string {
34144	return awsutil.Prettify(s)
34145}
34146
34147// GoString returns the string representation.
34148//
34149// API parameter values that are decorated as "sensitive" in the API will not
34150// be included in the string output. The member name will be present, but the
34151// value will be replaced with "sensitive".
34152func (s DescribeInstallationMediaOutput) GoString() string {
34153	return s.String()
34154}
34155
34156// SetInstallationMedia sets the InstallationMedia field's value.
34157func (s *DescribeInstallationMediaOutput) SetInstallationMedia(v []*InstallationMedia) *DescribeInstallationMediaOutput {
34158	s.InstallationMedia = v
34159	return s
34160}
34161
34162// SetMarker sets the Marker field's value.
34163func (s *DescribeInstallationMediaOutput) SetMarker(v string) *DescribeInstallationMediaOutput {
34164	s.Marker = &v
34165	return s
34166}
34167
34168type DescribeOptionGroupOptionsInput struct {
34169	_ struct{} `type:"structure"`
34170
34171	// A required parameter. Options available for the given engine name are described.
34172	//
34173	// Valid Values:
34174	//
34175	//    * mariadb
34176	//
34177	//    * mysql
34178	//
34179	//    * oracle-ee
34180	//
34181	//    * oracle-ee-cdb
34182	//
34183	//    * oracle-se2
34184	//
34185	//    * oracle-se2-cdb
34186	//
34187	//    * postgres
34188	//
34189	//    * sqlserver-ee
34190	//
34191	//    * sqlserver-se
34192	//
34193	//    * sqlserver-ex
34194	//
34195	//    * sqlserver-web
34196	//
34197	// EngineName is a required field
34198	EngineName *string `type:"string" required:"true"`
34199
34200	// This parameter isn't currently supported.
34201	Filters []*Filter `locationNameList:"Filter" type:"list"`
34202
34203	// If specified, filters the results to include only options for the specified
34204	// major engine version.
34205	MajorEngineVersion *string `type:"string"`
34206
34207	// An optional pagination token provided by a previous request. If this parameter
34208	// is specified, the response includes only records beyond the marker, up to
34209	// the value specified by MaxRecords.
34210	Marker *string `type:"string"`
34211
34212	// The maximum number of records to include in the response. If more records
34213	// exist than the specified MaxRecords value, a pagination token called a marker
34214	// is included in the response so that you can retrieve the remaining results.
34215	//
34216	// Default: 100
34217	//
34218	// Constraints: Minimum 20, maximum 100.
34219	MaxRecords *int64 `type:"integer"`
34220}
34221
34222// String returns the string representation.
34223//
34224// API parameter values that are decorated as "sensitive" in the API will not
34225// be included in the string output. The member name will be present, but the
34226// value will be replaced with "sensitive".
34227func (s DescribeOptionGroupOptionsInput) String() string {
34228	return awsutil.Prettify(s)
34229}
34230
34231// GoString returns the string representation.
34232//
34233// API parameter values that are decorated as "sensitive" in the API will not
34234// be included in the string output. The member name will be present, but the
34235// value will be replaced with "sensitive".
34236func (s DescribeOptionGroupOptionsInput) GoString() string {
34237	return s.String()
34238}
34239
34240// Validate inspects the fields of the type to determine if they are valid.
34241func (s *DescribeOptionGroupOptionsInput) Validate() error {
34242	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupOptionsInput"}
34243	if s.EngineName == nil {
34244		invalidParams.Add(request.NewErrParamRequired("EngineName"))
34245	}
34246	if s.Filters != nil {
34247		for i, v := range s.Filters {
34248			if v == nil {
34249				continue
34250			}
34251			if err := v.Validate(); err != nil {
34252				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
34253			}
34254		}
34255	}
34256
34257	if invalidParams.Len() > 0 {
34258		return invalidParams
34259	}
34260	return nil
34261}
34262
34263// SetEngineName sets the EngineName field's value.
34264func (s *DescribeOptionGroupOptionsInput) SetEngineName(v string) *DescribeOptionGroupOptionsInput {
34265	s.EngineName = &v
34266	return s
34267}
34268
34269// SetFilters sets the Filters field's value.
34270func (s *DescribeOptionGroupOptionsInput) SetFilters(v []*Filter) *DescribeOptionGroupOptionsInput {
34271	s.Filters = v
34272	return s
34273}
34274
34275// SetMajorEngineVersion sets the MajorEngineVersion field's value.
34276func (s *DescribeOptionGroupOptionsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupOptionsInput {
34277	s.MajorEngineVersion = &v
34278	return s
34279}
34280
34281// SetMarker sets the Marker field's value.
34282func (s *DescribeOptionGroupOptionsInput) SetMarker(v string) *DescribeOptionGroupOptionsInput {
34283	s.Marker = &v
34284	return s
34285}
34286
34287// SetMaxRecords sets the MaxRecords field's value.
34288func (s *DescribeOptionGroupOptionsInput) SetMaxRecords(v int64) *DescribeOptionGroupOptionsInput {
34289	s.MaxRecords = &v
34290	return s
34291}
34292
34293type DescribeOptionGroupOptionsOutput struct {
34294	_ struct{} `type:"structure"`
34295
34296	// An optional pagination token provided by a previous request. If this parameter
34297	// is specified, the response includes only records beyond the marker, up to
34298	// the value specified by MaxRecords.
34299	Marker *string `type:"string"`
34300
34301	// List of available option group options.
34302	OptionGroupOptions []*OptionGroupOption `locationNameList:"OptionGroupOption" type:"list"`
34303}
34304
34305// String returns the string representation.
34306//
34307// API parameter values that are decorated as "sensitive" in the API will not
34308// be included in the string output. The member name will be present, but the
34309// value will be replaced with "sensitive".
34310func (s DescribeOptionGroupOptionsOutput) String() string {
34311	return awsutil.Prettify(s)
34312}
34313
34314// GoString returns the string representation.
34315//
34316// API parameter values that are decorated as "sensitive" in the API will not
34317// be included in the string output. The member name will be present, but the
34318// value will be replaced with "sensitive".
34319func (s DescribeOptionGroupOptionsOutput) GoString() string {
34320	return s.String()
34321}
34322
34323// SetMarker sets the Marker field's value.
34324func (s *DescribeOptionGroupOptionsOutput) SetMarker(v string) *DescribeOptionGroupOptionsOutput {
34325	s.Marker = &v
34326	return s
34327}
34328
34329// SetOptionGroupOptions sets the OptionGroupOptions field's value.
34330func (s *DescribeOptionGroupOptionsOutput) SetOptionGroupOptions(v []*OptionGroupOption) *DescribeOptionGroupOptionsOutput {
34331	s.OptionGroupOptions = v
34332	return s
34333}
34334
34335type DescribeOptionGroupsInput struct {
34336	_ struct{} `type:"structure"`
34337
34338	// Filters the list of option groups to only include groups associated with
34339	// a specific database engine.
34340	//
34341	// Valid Values:
34342	//
34343	//    * mariadb
34344	//
34345	//    * mysql
34346	//
34347	//    * oracle-ee
34348	//
34349	//    * oracle-ee-cdb
34350	//
34351	//    * oracle-se2
34352	//
34353	//    * oracle-se2-cdb
34354	//
34355	//    * postgres
34356	//
34357	//    * sqlserver-ee
34358	//
34359	//    * sqlserver-se
34360	//
34361	//    * sqlserver-ex
34362	//
34363	//    * sqlserver-web
34364	EngineName *string `type:"string"`
34365
34366	// This parameter isn't currently supported.
34367	Filters []*Filter `locationNameList:"Filter" type:"list"`
34368
34369	// Filters the list of option groups to only include groups associated with
34370	// a specific database engine version. If specified, then EngineName must also
34371	// be specified.
34372	MajorEngineVersion *string `type:"string"`
34373
34374	// An optional pagination token provided by a previous DescribeOptionGroups
34375	// request. If this parameter is specified, the response includes only records
34376	// beyond the marker, up to the value specified by MaxRecords.
34377	Marker *string `type:"string"`
34378
34379	// The maximum number of records to include in the response. If more records
34380	// exist than the specified MaxRecords value, a pagination token called a marker
34381	// is included in the response so that you can retrieve the remaining results.
34382	//
34383	// Default: 100
34384	//
34385	// Constraints: Minimum 20, maximum 100.
34386	MaxRecords *int64 `type:"integer"`
34387
34388	// The name of the option group to describe. Can't be supplied together with
34389	// EngineName or MajorEngineVersion.
34390	OptionGroupName *string `type:"string"`
34391}
34392
34393// String returns the string representation.
34394//
34395// API parameter values that are decorated as "sensitive" in the API will not
34396// be included in the string output. The member name will be present, but the
34397// value will be replaced with "sensitive".
34398func (s DescribeOptionGroupsInput) String() string {
34399	return awsutil.Prettify(s)
34400}
34401
34402// GoString returns the string representation.
34403//
34404// API parameter values that are decorated as "sensitive" in the API will not
34405// be included in the string output. The member name will be present, but the
34406// value will be replaced with "sensitive".
34407func (s DescribeOptionGroupsInput) GoString() string {
34408	return s.String()
34409}
34410
34411// Validate inspects the fields of the type to determine if they are valid.
34412func (s *DescribeOptionGroupsInput) Validate() error {
34413	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupsInput"}
34414	if s.Filters != nil {
34415		for i, v := range s.Filters {
34416			if v == nil {
34417				continue
34418			}
34419			if err := v.Validate(); err != nil {
34420				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
34421			}
34422		}
34423	}
34424
34425	if invalidParams.Len() > 0 {
34426		return invalidParams
34427	}
34428	return nil
34429}
34430
34431// SetEngineName sets the EngineName field's value.
34432func (s *DescribeOptionGroupsInput) SetEngineName(v string) *DescribeOptionGroupsInput {
34433	s.EngineName = &v
34434	return s
34435}
34436
34437// SetFilters sets the Filters field's value.
34438func (s *DescribeOptionGroupsInput) SetFilters(v []*Filter) *DescribeOptionGroupsInput {
34439	s.Filters = v
34440	return s
34441}
34442
34443// SetMajorEngineVersion sets the MajorEngineVersion field's value.
34444func (s *DescribeOptionGroupsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupsInput {
34445	s.MajorEngineVersion = &v
34446	return s
34447}
34448
34449// SetMarker sets the Marker field's value.
34450func (s *DescribeOptionGroupsInput) SetMarker(v string) *DescribeOptionGroupsInput {
34451	s.Marker = &v
34452	return s
34453}
34454
34455// SetMaxRecords sets the MaxRecords field's value.
34456func (s *DescribeOptionGroupsInput) SetMaxRecords(v int64) *DescribeOptionGroupsInput {
34457	s.MaxRecords = &v
34458	return s
34459}
34460
34461// SetOptionGroupName sets the OptionGroupName field's value.
34462func (s *DescribeOptionGroupsInput) SetOptionGroupName(v string) *DescribeOptionGroupsInput {
34463	s.OptionGroupName = &v
34464	return s
34465}
34466
34467// List of option groups.
34468type DescribeOptionGroupsOutput struct {
34469	_ struct{} `type:"structure"`
34470
34471	// An optional pagination token provided by a previous request. If this parameter
34472	// is specified, the response includes only records beyond the marker, up to
34473	// the value specified by MaxRecords.
34474	Marker *string `type:"string"`
34475
34476	// List of option groups.
34477	OptionGroupsList []*OptionGroup `locationNameList:"OptionGroup" type:"list"`
34478}
34479
34480// String returns the string representation.
34481//
34482// API parameter values that are decorated as "sensitive" in the API will not
34483// be included in the string output. The member name will be present, but the
34484// value will be replaced with "sensitive".
34485func (s DescribeOptionGroupsOutput) String() string {
34486	return awsutil.Prettify(s)
34487}
34488
34489// GoString returns the string representation.
34490//
34491// API parameter values that are decorated as "sensitive" in the API will not
34492// be included in the string output. The member name will be present, but the
34493// value will be replaced with "sensitive".
34494func (s DescribeOptionGroupsOutput) GoString() string {
34495	return s.String()
34496}
34497
34498// SetMarker sets the Marker field's value.
34499func (s *DescribeOptionGroupsOutput) SetMarker(v string) *DescribeOptionGroupsOutput {
34500	s.Marker = &v
34501	return s
34502}
34503
34504// SetOptionGroupsList sets the OptionGroupsList field's value.
34505func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *DescribeOptionGroupsOutput {
34506	s.OptionGroupsList = v
34507	return s
34508}
34509
34510type DescribeOrderableDBInstanceOptionsInput struct {
34511	_ struct{} `type:"structure"`
34512
34513	// The Availability Zone group associated with a Local Zone. Specify this parameter
34514	// to retrieve available offerings for the Local Zones in the group.
34515	//
34516	// Omit this parameter to show the available offerings in the specified Amazon
34517	// Web Services Region.
34518	//
34519	// This setting doesn't apply to RDS Custom.
34520	AvailabilityZoneGroup *string `type:"string"`
34521
34522	// The DB instance class filter value. Specify this parameter to show only the
34523	// available offerings matching the specified DB instance class.
34524	DBInstanceClass *string `type:"string"`
34525
34526	// The name of the engine to retrieve DB instance options for.
34527	//
34528	// Valid Values:
34529	//
34530	//    * aurora (for MySQL 5.6-compatible Aurora)
34531	//
34532	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
34533	//
34534	//    * aurora-postgresql
34535	//
34536	//    * mariadb
34537	//
34538	//    * mysql
34539	//
34540	//    * oracle-ee
34541	//
34542	//    * oracle-ee-cdb
34543	//
34544	//    * oracle-se2
34545	//
34546	//    * oracle-se2-cdb
34547	//
34548	//    * postgres
34549	//
34550	//    * sqlserver-ee
34551	//
34552	//    * sqlserver-se
34553	//
34554	//    * sqlserver-ex
34555	//
34556	//    * sqlserver-web
34557	//
34558	// Engine is a required field
34559	Engine *string `type:"string" required:"true"`
34560
34561	// The engine version filter value. Specify this parameter to show only the
34562	// available offerings matching the specified engine version.
34563	EngineVersion *string `type:"string"`
34564
34565	// This parameter isn't currently supported.
34566	Filters []*Filter `locationNameList:"Filter" type:"list"`
34567
34568	// The license model filter value. Specify this parameter to show only the available
34569	// offerings matching the specified license model.
34570	//
34571	// RDS Custom supports only the BYOL licensing model.
34572	LicenseModel *string `type:"string"`
34573
34574	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
34575	// request. If this parameter is specified, the response includes only records
34576	// beyond the marker, up to the value specified by MaxRecords .
34577	Marker *string `type:"string"`
34578
34579	// The maximum number of records to include in the response. If more records
34580	// exist than the specified MaxRecords value, a pagination token called a marker
34581	// is included in the response so that you can retrieve the remaining results.
34582	//
34583	// Default: 100
34584	//
34585	// Constraints: Minimum 20, maximum 100.
34586	MaxRecords *int64 `type:"integer"`
34587
34588	// A value that indicates whether to show only VPC or non-VPC offerings. RDS
34589	// Custom supports only VPC offerings.
34590	//
34591	// RDS Custom supports only VPC offerings. If you describe non-VPC offerings
34592	// for RDS Custom, the output shows VPC offerings.
34593	Vpc *bool `type:"boolean"`
34594}
34595
34596// String returns the string representation.
34597//
34598// API parameter values that are decorated as "sensitive" in the API will not
34599// be included in the string output. The member name will be present, but the
34600// value will be replaced with "sensitive".
34601func (s DescribeOrderableDBInstanceOptionsInput) String() string {
34602	return awsutil.Prettify(s)
34603}
34604
34605// GoString returns the string representation.
34606//
34607// API parameter values that are decorated as "sensitive" in the API will not
34608// be included in the string output. The member name will be present, but the
34609// value will be replaced with "sensitive".
34610func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
34611	return s.String()
34612}
34613
34614// Validate inspects the fields of the type to determine if they are valid.
34615func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
34616	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
34617	if s.Engine == nil {
34618		invalidParams.Add(request.NewErrParamRequired("Engine"))
34619	}
34620	if s.Filters != nil {
34621		for i, v := range s.Filters {
34622			if v == nil {
34623				continue
34624			}
34625			if err := v.Validate(); err != nil {
34626				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
34627			}
34628		}
34629	}
34630
34631	if invalidParams.Len() > 0 {
34632		return invalidParams
34633	}
34634	return nil
34635}
34636
34637// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
34638func (s *DescribeOrderableDBInstanceOptionsInput) SetAvailabilityZoneGroup(v string) *DescribeOrderableDBInstanceOptionsInput {
34639	s.AvailabilityZoneGroup = &v
34640	return s
34641}
34642
34643// SetDBInstanceClass sets the DBInstanceClass field's value.
34644func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
34645	s.DBInstanceClass = &v
34646	return s
34647}
34648
34649// SetEngine sets the Engine field's value.
34650func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
34651	s.Engine = &v
34652	return s
34653}
34654
34655// SetEngineVersion sets the EngineVersion field's value.
34656func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
34657	s.EngineVersion = &v
34658	return s
34659}
34660
34661// SetFilters sets the Filters field's value.
34662func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
34663	s.Filters = v
34664	return s
34665}
34666
34667// SetLicenseModel sets the LicenseModel field's value.
34668func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
34669	s.LicenseModel = &v
34670	return s
34671}
34672
34673// SetMarker sets the Marker field's value.
34674func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
34675	s.Marker = &v
34676	return s
34677}
34678
34679// SetMaxRecords sets the MaxRecords field's value.
34680func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
34681	s.MaxRecords = &v
34682	return s
34683}
34684
34685// SetVpc sets the Vpc field's value.
34686func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
34687	s.Vpc = &v
34688	return s
34689}
34690
34691// Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions
34692// action.
34693type DescribeOrderableDBInstanceOptionsOutput struct {
34694	_ struct{} `type:"structure"`
34695
34696	// An optional pagination token provided by a previous OrderableDBInstanceOptions
34697	// request. If this parameter is specified, the response includes only records
34698	// beyond the marker, up to the value specified by MaxRecords .
34699	Marker *string `type:"string"`
34700
34701	// An OrderableDBInstanceOption structure containing information about orderable
34702	// options for the DB instance.
34703	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
34704}
34705
34706// String returns the string representation.
34707//
34708// API parameter values that are decorated as "sensitive" in the API will not
34709// be included in the string output. The member name will be present, but the
34710// value will be replaced with "sensitive".
34711func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
34712	return awsutil.Prettify(s)
34713}
34714
34715// GoString returns the string representation.
34716//
34717// API parameter values that are decorated as "sensitive" in the API will not
34718// be included in the string output. The member name will be present, but the
34719// value will be replaced with "sensitive".
34720func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
34721	return s.String()
34722}
34723
34724// SetMarker sets the Marker field's value.
34725func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
34726	s.Marker = &v
34727	return s
34728}
34729
34730// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
34731func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
34732	s.OrderableDBInstanceOptions = v
34733	return s
34734}
34735
34736type DescribePendingMaintenanceActionsInput struct {
34737	_ struct{} `type:"structure"`
34738
34739	// A filter that specifies one or more resources to return pending maintenance
34740	// actions for.
34741	//
34742	// Supported filters:
34743	//
34744	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
34745	//    Resource Names (ARNs). The results list will only include pending maintenance
34746	//    actions for the DB clusters identified by these ARNs.
34747	//
34748	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
34749	//    The results list will only include pending maintenance actions for the
34750	//    DB instances identified by these ARNs.
34751	Filters []*Filter `locationNameList:"Filter" type:"list"`
34752
34753	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
34754	// request. If this parameter is specified, the response includes only records
34755	// beyond the marker, up to a number of records specified by MaxRecords.
34756	Marker *string `type:"string"`
34757
34758	// The maximum number of records to include in the response. If more records
34759	// exist than the specified MaxRecords value, a pagination token called a marker
34760	// is included in the response so that you can retrieve the remaining results.
34761	//
34762	// Default: 100
34763	//
34764	// Constraints: Minimum 20, maximum 100.
34765	MaxRecords *int64 `type:"integer"`
34766
34767	// The ARN of a resource to return pending maintenance actions for.
34768	ResourceIdentifier *string `type:"string"`
34769}
34770
34771// String returns the string representation.
34772//
34773// API parameter values that are decorated as "sensitive" in the API will not
34774// be included in the string output. The member name will be present, but the
34775// value will be replaced with "sensitive".
34776func (s DescribePendingMaintenanceActionsInput) String() string {
34777	return awsutil.Prettify(s)
34778}
34779
34780// GoString returns the string representation.
34781//
34782// API parameter values that are decorated as "sensitive" in the API will not
34783// be included in the string output. The member name will be present, but the
34784// value will be replaced with "sensitive".
34785func (s DescribePendingMaintenanceActionsInput) GoString() string {
34786	return s.String()
34787}
34788
34789// Validate inspects the fields of the type to determine if they are valid.
34790func (s *DescribePendingMaintenanceActionsInput) Validate() error {
34791	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
34792	if s.Filters != nil {
34793		for i, v := range s.Filters {
34794			if v == nil {
34795				continue
34796			}
34797			if err := v.Validate(); err != nil {
34798				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
34799			}
34800		}
34801	}
34802
34803	if invalidParams.Len() > 0 {
34804		return invalidParams
34805	}
34806	return nil
34807}
34808
34809// SetFilters sets the Filters field's value.
34810func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
34811	s.Filters = v
34812	return s
34813}
34814
34815// SetMarker sets the Marker field's value.
34816func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
34817	s.Marker = &v
34818	return s
34819}
34820
34821// SetMaxRecords sets the MaxRecords field's value.
34822func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
34823	s.MaxRecords = &v
34824	return s
34825}
34826
34827// SetResourceIdentifier sets the ResourceIdentifier field's value.
34828func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
34829	s.ResourceIdentifier = &v
34830	return s
34831}
34832
34833// Data returned from the DescribePendingMaintenanceActions action.
34834type DescribePendingMaintenanceActionsOutput struct {
34835	_ struct{} `type:"structure"`
34836
34837	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
34838	// request. If this parameter is specified, the response includes only records
34839	// beyond the marker, up to a number of records specified by MaxRecords.
34840	Marker *string `type:"string"`
34841
34842	// A list of the pending maintenance actions for the resource.
34843	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
34844}
34845
34846// String returns the string representation.
34847//
34848// API parameter values that are decorated as "sensitive" in the API will not
34849// be included in the string output. The member name will be present, but the
34850// value will be replaced with "sensitive".
34851func (s DescribePendingMaintenanceActionsOutput) String() string {
34852	return awsutil.Prettify(s)
34853}
34854
34855// GoString returns the string representation.
34856//
34857// API parameter values that are decorated as "sensitive" in the API will not
34858// be included in the string output. The member name will be present, but the
34859// value will be replaced with "sensitive".
34860func (s DescribePendingMaintenanceActionsOutput) GoString() string {
34861	return s.String()
34862}
34863
34864// SetMarker sets the Marker field's value.
34865func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
34866	s.Marker = &v
34867	return s
34868}
34869
34870// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
34871func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
34872	s.PendingMaintenanceActions = v
34873	return s
34874}
34875
34876type DescribeReservedDBInstancesInput struct {
34877	_ struct{} `type:"structure"`
34878
34879	// The DB instance class filter value. Specify this parameter to show only those
34880	// reservations matching the specified DB instances class.
34881	DBInstanceClass *string `type:"string"`
34882
34883	// The duration filter value, specified in years or seconds. Specify this parameter
34884	// to show only reservations for this duration.
34885	//
34886	// Valid Values: 1 | 3 | 31536000 | 94608000
34887	Duration *string `type:"string"`
34888
34889	// This parameter isn't currently supported.
34890	Filters []*Filter `locationNameList:"Filter" type:"list"`
34891
34892	// The lease identifier filter value. Specify this parameter to show only the
34893	// reservation that matches the specified lease ID.
34894	//
34895	// Amazon Web Services Support might request the lease ID for an issue related
34896	// to a reserved DB instance.
34897	LeaseId *string `type:"string"`
34898
34899	// An optional pagination token provided by a previous request. If this parameter
34900	// is specified, the response includes only records beyond the marker, up to
34901	// the value specified by MaxRecords.
34902	Marker *string `type:"string"`
34903
34904	// The maximum number of records to include in the response. If more than the
34905	// MaxRecords value is available, a pagination token called a marker is included
34906	// in the response so you can retrieve the remaining results.
34907	//
34908	// Default: 100
34909	//
34910	// Constraints: Minimum 20, maximum 100.
34911	MaxRecords *int64 `type:"integer"`
34912
34913	// A value that indicates whether to show only those reservations that support
34914	// Multi-AZ.
34915	MultiAZ *bool `type:"boolean"`
34916
34917	// The offering type filter value. Specify this parameter to show only the available
34918	// offerings matching the specified offering type.
34919	//
34920	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
34921	OfferingType *string `type:"string"`
34922
34923	// The product description filter value. Specify this parameter to show only
34924	// those reservations matching the specified product description.
34925	ProductDescription *string `type:"string"`
34926
34927	// The reserved DB instance identifier filter value. Specify this parameter
34928	// to show only the reservation that matches the specified reservation ID.
34929	ReservedDBInstanceId *string `type:"string"`
34930
34931	// The offering identifier filter value. Specify this parameter to show only
34932	// purchased reservations matching the specified offering identifier.
34933	ReservedDBInstancesOfferingId *string `type:"string"`
34934}
34935
34936// String returns the string representation.
34937//
34938// API parameter values that are decorated as "sensitive" in the API will not
34939// be included in the string output. The member name will be present, but the
34940// value will be replaced with "sensitive".
34941func (s DescribeReservedDBInstancesInput) String() string {
34942	return awsutil.Prettify(s)
34943}
34944
34945// GoString returns the string representation.
34946//
34947// API parameter values that are decorated as "sensitive" in the API will not
34948// be included in the string output. The member name will be present, but the
34949// value will be replaced with "sensitive".
34950func (s DescribeReservedDBInstancesInput) GoString() string {
34951	return s.String()
34952}
34953
34954// Validate inspects the fields of the type to determine if they are valid.
34955func (s *DescribeReservedDBInstancesInput) Validate() error {
34956	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesInput"}
34957	if s.Filters != nil {
34958		for i, v := range s.Filters {
34959			if v == nil {
34960				continue
34961			}
34962			if err := v.Validate(); err != nil {
34963				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
34964			}
34965		}
34966	}
34967
34968	if invalidParams.Len() > 0 {
34969		return invalidParams
34970	}
34971	return nil
34972}
34973
34974// SetDBInstanceClass sets the DBInstanceClass field's value.
34975func (s *DescribeReservedDBInstancesInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesInput {
34976	s.DBInstanceClass = &v
34977	return s
34978}
34979
34980// SetDuration sets the Duration field's value.
34981func (s *DescribeReservedDBInstancesInput) SetDuration(v string) *DescribeReservedDBInstancesInput {
34982	s.Duration = &v
34983	return s
34984}
34985
34986// SetFilters sets the Filters field's value.
34987func (s *DescribeReservedDBInstancesInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesInput {
34988	s.Filters = v
34989	return s
34990}
34991
34992// SetLeaseId sets the LeaseId field's value.
34993func (s *DescribeReservedDBInstancesInput) SetLeaseId(v string) *DescribeReservedDBInstancesInput {
34994	s.LeaseId = &v
34995	return s
34996}
34997
34998// SetMarker sets the Marker field's value.
34999func (s *DescribeReservedDBInstancesInput) SetMarker(v string) *DescribeReservedDBInstancesInput {
35000	s.Marker = &v
35001	return s
35002}
35003
35004// SetMaxRecords sets the MaxRecords field's value.
35005func (s *DescribeReservedDBInstancesInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesInput {
35006	s.MaxRecords = &v
35007	return s
35008}
35009
35010// SetMultiAZ sets the MultiAZ field's value.
35011func (s *DescribeReservedDBInstancesInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesInput {
35012	s.MultiAZ = &v
35013	return s
35014}
35015
35016// SetOfferingType sets the OfferingType field's value.
35017func (s *DescribeReservedDBInstancesInput) SetOfferingType(v string) *DescribeReservedDBInstancesInput {
35018	s.OfferingType = &v
35019	return s
35020}
35021
35022// SetProductDescription sets the ProductDescription field's value.
35023func (s *DescribeReservedDBInstancesInput) SetProductDescription(v string) *DescribeReservedDBInstancesInput {
35024	s.ProductDescription = &v
35025	return s
35026}
35027
35028// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
35029func (s *DescribeReservedDBInstancesInput) SetReservedDBInstanceId(v string) *DescribeReservedDBInstancesInput {
35030	s.ReservedDBInstanceId = &v
35031	return s
35032}
35033
35034// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
35035func (s *DescribeReservedDBInstancesInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesInput {
35036	s.ReservedDBInstancesOfferingId = &v
35037	return s
35038}
35039
35040type DescribeReservedDBInstancesOfferingsInput struct {
35041	_ struct{} `type:"structure"`
35042
35043	// The DB instance class filter value. Specify this parameter to show only the
35044	// available offerings matching the specified DB instance class.
35045	DBInstanceClass *string `type:"string"`
35046
35047	// Duration filter value, specified in years or seconds. Specify this parameter
35048	// to show only reservations for this duration.
35049	//
35050	// Valid Values: 1 | 3 | 31536000 | 94608000
35051	Duration *string `type:"string"`
35052
35053	// This parameter isn't currently supported.
35054	Filters []*Filter `locationNameList:"Filter" type:"list"`
35055
35056	// An optional pagination token provided by a previous request. If this parameter
35057	// is specified, the response includes only records beyond the marker, up to
35058	// the value specified by MaxRecords.
35059	Marker *string `type:"string"`
35060
35061	// The maximum number of records to include in the response. If more than the
35062	// MaxRecords value is available, a pagination token called a marker is included
35063	// in the response so you can retrieve the remaining results.
35064	//
35065	// Default: 100
35066	//
35067	// Constraints: Minimum 20, maximum 100.
35068	MaxRecords *int64 `type:"integer"`
35069
35070	// A value that indicates whether to show only those reservations that support
35071	// Multi-AZ.
35072	MultiAZ *bool `type:"boolean"`
35073
35074	// The offering type filter value. Specify this parameter to show only the available
35075	// offerings matching the specified offering type.
35076	//
35077	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
35078	OfferingType *string `type:"string"`
35079
35080	// Product description filter value. Specify this parameter to show only the
35081	// available offerings that contain the specified product description.
35082	//
35083	// The results show offerings that partially match the filter value.
35084	ProductDescription *string `type:"string"`
35085
35086	// The offering identifier filter value. Specify this parameter to show only
35087	// the available offering that matches the specified reservation identifier.
35088	//
35089	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
35090	ReservedDBInstancesOfferingId *string `type:"string"`
35091}
35092
35093// String returns the string representation.
35094//
35095// API parameter values that are decorated as "sensitive" in the API will not
35096// be included in the string output. The member name will be present, but the
35097// value will be replaced with "sensitive".
35098func (s DescribeReservedDBInstancesOfferingsInput) String() string {
35099	return awsutil.Prettify(s)
35100}
35101
35102// GoString returns the string representation.
35103//
35104// API parameter values that are decorated as "sensitive" in the API will not
35105// be included in the string output. The member name will be present, but the
35106// value will be replaced with "sensitive".
35107func (s DescribeReservedDBInstancesOfferingsInput) GoString() string {
35108	return s.String()
35109}
35110
35111// Validate inspects the fields of the type to determine if they are valid.
35112func (s *DescribeReservedDBInstancesOfferingsInput) Validate() error {
35113	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesOfferingsInput"}
35114	if s.Filters != nil {
35115		for i, v := range s.Filters {
35116			if v == nil {
35117				continue
35118			}
35119			if err := v.Validate(); err != nil {
35120				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
35121			}
35122		}
35123	}
35124
35125	if invalidParams.Len() > 0 {
35126		return invalidParams
35127	}
35128	return nil
35129}
35130
35131// SetDBInstanceClass sets the DBInstanceClass field's value.
35132func (s *DescribeReservedDBInstancesOfferingsInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesOfferingsInput {
35133	s.DBInstanceClass = &v
35134	return s
35135}
35136
35137// SetDuration sets the Duration field's value.
35138func (s *DescribeReservedDBInstancesOfferingsInput) SetDuration(v string) *DescribeReservedDBInstancesOfferingsInput {
35139	s.Duration = &v
35140	return s
35141}
35142
35143// SetFilters sets the Filters field's value.
35144func (s *DescribeReservedDBInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesOfferingsInput {
35145	s.Filters = v
35146	return s
35147}
35148
35149// SetMarker sets the Marker field's value.
35150func (s *DescribeReservedDBInstancesOfferingsInput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsInput {
35151	s.Marker = &v
35152	return s
35153}
35154
35155// SetMaxRecords sets the MaxRecords field's value.
35156func (s *DescribeReservedDBInstancesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesOfferingsInput {
35157	s.MaxRecords = &v
35158	return s
35159}
35160
35161// SetMultiAZ sets the MultiAZ field's value.
35162func (s *DescribeReservedDBInstancesOfferingsInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesOfferingsInput {
35163	s.MultiAZ = &v
35164	return s
35165}
35166
35167// SetOfferingType sets the OfferingType field's value.
35168func (s *DescribeReservedDBInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedDBInstancesOfferingsInput {
35169	s.OfferingType = &v
35170	return s
35171}
35172
35173// SetProductDescription sets the ProductDescription field's value.
35174func (s *DescribeReservedDBInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedDBInstancesOfferingsInput {
35175	s.ProductDescription = &v
35176	return s
35177}
35178
35179// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
35180func (s *DescribeReservedDBInstancesOfferingsInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesOfferingsInput {
35181	s.ReservedDBInstancesOfferingId = &v
35182	return s
35183}
35184
35185// Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings
35186// action.
35187type DescribeReservedDBInstancesOfferingsOutput struct {
35188	_ struct{} `type:"structure"`
35189
35190	// An optional pagination token provided by a previous request. If this parameter
35191	// is specified, the response includes only records beyond the marker, up to
35192	// the value specified by MaxRecords.
35193	Marker *string `type:"string"`
35194
35195	// A list of reserved DB instance offerings.
35196	ReservedDBInstancesOfferings []*ReservedDBInstancesOffering `locationNameList:"ReservedDBInstancesOffering" type:"list"`
35197}
35198
35199// String returns the string representation.
35200//
35201// API parameter values that are decorated as "sensitive" in the API will not
35202// be included in the string output. The member name will be present, but the
35203// value will be replaced with "sensitive".
35204func (s DescribeReservedDBInstancesOfferingsOutput) String() string {
35205	return awsutil.Prettify(s)
35206}
35207
35208// GoString returns the string representation.
35209//
35210// API parameter values that are decorated as "sensitive" in the API will not
35211// be included in the string output. The member name will be present, but the
35212// value will be replaced with "sensitive".
35213func (s DescribeReservedDBInstancesOfferingsOutput) GoString() string {
35214	return s.String()
35215}
35216
35217// SetMarker sets the Marker field's value.
35218func (s *DescribeReservedDBInstancesOfferingsOutput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsOutput {
35219	s.Marker = &v
35220	return s
35221}
35222
35223// SetReservedDBInstancesOfferings sets the ReservedDBInstancesOfferings field's value.
35224func (s *DescribeReservedDBInstancesOfferingsOutput) SetReservedDBInstancesOfferings(v []*ReservedDBInstancesOffering) *DescribeReservedDBInstancesOfferingsOutput {
35225	s.ReservedDBInstancesOfferings = v
35226	return s
35227}
35228
35229// Contains the result of a successful invocation of the DescribeReservedDBInstances
35230// action.
35231type DescribeReservedDBInstancesOutput struct {
35232	_ struct{} `type:"structure"`
35233
35234	// An optional pagination token provided by a previous request. If this parameter
35235	// is specified, the response includes only records beyond the marker, up to
35236	// the value specified by MaxRecords.
35237	Marker *string `type:"string"`
35238
35239	// A list of reserved DB instances.
35240	ReservedDBInstances []*ReservedDBInstance `locationNameList:"ReservedDBInstance" type:"list"`
35241}
35242
35243// String returns the string representation.
35244//
35245// API parameter values that are decorated as "sensitive" in the API will not
35246// be included in the string output. The member name will be present, but the
35247// value will be replaced with "sensitive".
35248func (s DescribeReservedDBInstancesOutput) String() string {
35249	return awsutil.Prettify(s)
35250}
35251
35252// GoString returns the string representation.
35253//
35254// API parameter values that are decorated as "sensitive" in the API will not
35255// be included in the string output. The member name will be present, but the
35256// value will be replaced with "sensitive".
35257func (s DescribeReservedDBInstancesOutput) GoString() string {
35258	return s.String()
35259}
35260
35261// SetMarker sets the Marker field's value.
35262func (s *DescribeReservedDBInstancesOutput) SetMarker(v string) *DescribeReservedDBInstancesOutput {
35263	s.Marker = &v
35264	return s
35265}
35266
35267// SetReservedDBInstances sets the ReservedDBInstances field's value.
35268func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*ReservedDBInstance) *DescribeReservedDBInstancesOutput {
35269	s.ReservedDBInstances = v
35270	return s
35271}
35272
35273type DescribeSourceRegionsInput struct {
35274	_ struct{} `type:"structure"`
35275
35276	// This parameter isn't currently supported.
35277	Filters []*Filter `locationNameList:"Filter" type:"list"`
35278
35279	// An optional pagination token provided by a previous DescribeSourceRegions
35280	// request. If this parameter is specified, the response includes only records
35281	// beyond the marker, up to the value specified by MaxRecords.
35282	Marker *string `type:"string"`
35283
35284	// The maximum number of records to include in the response. If more records
35285	// exist than the specified MaxRecords value, a pagination token called a marker
35286	// is included in the response so you can retrieve the remaining results.
35287	//
35288	// Default: 100
35289	//
35290	// Constraints: Minimum 20, maximum 100.
35291	MaxRecords *int64 `type:"integer"`
35292
35293	// The source Amazon Web Services Region name. For example, us-east-1.
35294	//
35295	// Constraints:
35296	//
35297	//    * Must specify a valid Amazon Web Services Region name.
35298	RegionName *string `type:"string"`
35299}
35300
35301// String returns the string representation.
35302//
35303// API parameter values that are decorated as "sensitive" in the API will not
35304// be included in the string output. The member name will be present, but the
35305// value will be replaced with "sensitive".
35306func (s DescribeSourceRegionsInput) String() string {
35307	return awsutil.Prettify(s)
35308}
35309
35310// GoString returns the string representation.
35311//
35312// API parameter values that are decorated as "sensitive" in the API will not
35313// be included in the string output. The member name will be present, but the
35314// value will be replaced with "sensitive".
35315func (s DescribeSourceRegionsInput) GoString() string {
35316	return s.String()
35317}
35318
35319// Validate inspects the fields of the type to determine if they are valid.
35320func (s *DescribeSourceRegionsInput) Validate() error {
35321	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"}
35322	if s.Filters != nil {
35323		for i, v := range s.Filters {
35324			if v == nil {
35325				continue
35326			}
35327			if err := v.Validate(); err != nil {
35328				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
35329			}
35330		}
35331	}
35332
35333	if invalidParams.Len() > 0 {
35334		return invalidParams
35335	}
35336	return nil
35337}
35338
35339// SetFilters sets the Filters field's value.
35340func (s *DescribeSourceRegionsInput) SetFilters(v []*Filter) *DescribeSourceRegionsInput {
35341	s.Filters = v
35342	return s
35343}
35344
35345// SetMarker sets the Marker field's value.
35346func (s *DescribeSourceRegionsInput) SetMarker(v string) *DescribeSourceRegionsInput {
35347	s.Marker = &v
35348	return s
35349}
35350
35351// SetMaxRecords sets the MaxRecords field's value.
35352func (s *DescribeSourceRegionsInput) SetMaxRecords(v int64) *DescribeSourceRegionsInput {
35353	s.MaxRecords = &v
35354	return s
35355}
35356
35357// SetRegionName sets the RegionName field's value.
35358func (s *DescribeSourceRegionsInput) SetRegionName(v string) *DescribeSourceRegionsInput {
35359	s.RegionName = &v
35360	return s
35361}
35362
35363// Contains the result of a successful invocation of the DescribeSourceRegions
35364// action.
35365type DescribeSourceRegionsOutput struct {
35366	_ struct{} `type:"structure"`
35367
35368	// An optional pagination token provided by a previous request. If this parameter
35369	// is specified, the response includes only records beyond the marker, up to
35370	// the value specified by MaxRecords.
35371	Marker *string `type:"string"`
35372
35373	// A list of SourceRegion instances that contains each source Amazon Web Services
35374	// Region that the current Amazon Web Services Region can get a read replica
35375	// or a DB snapshot from.
35376	SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"`
35377}
35378
35379// String returns the string representation.
35380//
35381// API parameter values that are decorated as "sensitive" in the API will not
35382// be included in the string output. The member name will be present, but the
35383// value will be replaced with "sensitive".
35384func (s DescribeSourceRegionsOutput) String() string {
35385	return awsutil.Prettify(s)
35386}
35387
35388// GoString returns the string representation.
35389//
35390// API parameter values that are decorated as "sensitive" in the API will not
35391// be included in the string output. The member name will be present, but the
35392// value will be replaced with "sensitive".
35393func (s DescribeSourceRegionsOutput) GoString() string {
35394	return s.String()
35395}
35396
35397// SetMarker sets the Marker field's value.
35398func (s *DescribeSourceRegionsOutput) SetMarker(v string) *DescribeSourceRegionsOutput {
35399	s.Marker = &v
35400	return s
35401}
35402
35403// SetSourceRegions sets the SourceRegions field's value.
35404func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *DescribeSourceRegionsOutput {
35405	s.SourceRegions = v
35406	return s
35407}
35408
35409type DescribeValidDBInstanceModificationsInput struct {
35410	_ struct{} `type:"structure"`
35411
35412	// The customer identifier or the ARN of your DB instance.
35413	//
35414	// DBInstanceIdentifier is a required field
35415	DBInstanceIdentifier *string `type:"string" required:"true"`
35416}
35417
35418// String returns the string representation.
35419//
35420// API parameter values that are decorated as "sensitive" in the API will not
35421// be included in the string output. The member name will be present, but the
35422// value will be replaced with "sensitive".
35423func (s DescribeValidDBInstanceModificationsInput) String() string {
35424	return awsutil.Prettify(s)
35425}
35426
35427// GoString returns the string representation.
35428//
35429// API parameter values that are decorated as "sensitive" in the API will not
35430// be included in the string output. The member name will be present, but the
35431// value will be replaced with "sensitive".
35432func (s DescribeValidDBInstanceModificationsInput) GoString() string {
35433	return s.String()
35434}
35435
35436// Validate inspects the fields of the type to determine if they are valid.
35437func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
35438	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
35439	if s.DBInstanceIdentifier == nil {
35440		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
35441	}
35442
35443	if invalidParams.Len() > 0 {
35444		return invalidParams
35445	}
35446	return nil
35447}
35448
35449// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35450func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
35451	s.DBInstanceIdentifier = &v
35452	return s
35453}
35454
35455type DescribeValidDBInstanceModificationsOutput struct {
35456	_ struct{} `type:"structure"`
35457
35458	// Information about valid modifications that you can make to your DB instance.
35459	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
35460	// action. You can use this information when you call ModifyDBInstance.
35461	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
35462}
35463
35464// String returns the string representation.
35465//
35466// API parameter values that are decorated as "sensitive" in the API will not
35467// be included in the string output. The member name will be present, but the
35468// value will be replaced with "sensitive".
35469func (s DescribeValidDBInstanceModificationsOutput) String() string {
35470	return awsutil.Prettify(s)
35471}
35472
35473// GoString returns the string representation.
35474//
35475// API parameter values that are decorated as "sensitive" in the API will not
35476// be included in the string output. The member name will be present, but the
35477// value will be replaced with "sensitive".
35478func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
35479	return s.String()
35480}
35481
35482// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
35483func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
35484	s.ValidDBInstanceModificationsMessage = v
35485	return s
35486}
35487
35488// An Active Directory Domain membership record associated with the DB instance
35489// or cluster.
35490type DomainMembership struct {
35491	_ struct{} `type:"structure"`
35492
35493	// The identifier of the Active Directory Domain.
35494	Domain *string `type:"string"`
35495
35496	// The fully qualified domain name of the Active Directory Domain.
35497	FQDN *string `type:"string"`
35498
35499	// The name of the IAM role to be used when making API calls to the Directory
35500	// Service.
35501	IAMRoleName *string `type:"string"`
35502
35503	// The status of the Active Directory Domain membership for the DB instance
35504	// or cluster. Values include joined, pending-join, failed, and so on.
35505	Status *string `type:"string"`
35506}
35507
35508// String returns the string representation.
35509//
35510// API parameter values that are decorated as "sensitive" in the API will not
35511// be included in the string output. The member name will be present, but the
35512// value will be replaced with "sensitive".
35513func (s DomainMembership) String() string {
35514	return awsutil.Prettify(s)
35515}
35516
35517// GoString returns the string representation.
35518//
35519// API parameter values that are decorated as "sensitive" in the API will not
35520// be included in the string output. The member name will be present, but the
35521// value will be replaced with "sensitive".
35522func (s DomainMembership) GoString() string {
35523	return s.String()
35524}
35525
35526// SetDomain sets the Domain field's value.
35527func (s *DomainMembership) SetDomain(v string) *DomainMembership {
35528	s.Domain = &v
35529	return s
35530}
35531
35532// SetFQDN sets the FQDN field's value.
35533func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
35534	s.FQDN = &v
35535	return s
35536}
35537
35538// SetIAMRoleName sets the IAMRoleName field's value.
35539func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
35540	s.IAMRoleName = &v
35541	return s
35542}
35543
35544// SetStatus sets the Status field's value.
35545func (s *DomainMembership) SetStatus(v string) *DomainMembership {
35546	s.Status = &v
35547	return s
35548}
35549
35550// A range of double values.
35551type DoubleRange struct {
35552	_ struct{} `type:"structure"`
35553
35554	// The minimum value in the range.
35555	From *float64 `type:"double"`
35556
35557	// The maximum value in the range.
35558	To *float64 `type:"double"`
35559}
35560
35561// String returns the string representation.
35562//
35563// API parameter values that are decorated as "sensitive" in the API will not
35564// be included in the string output. The member name will be present, but the
35565// value will be replaced with "sensitive".
35566func (s DoubleRange) String() string {
35567	return awsutil.Prettify(s)
35568}
35569
35570// GoString returns the string representation.
35571//
35572// API parameter values that are decorated as "sensitive" in the API will not
35573// be included in the string output. The member name will be present, but the
35574// value will be replaced with "sensitive".
35575func (s DoubleRange) GoString() string {
35576	return s.String()
35577}
35578
35579// SetFrom sets the From field's value.
35580func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
35581	s.From = &v
35582	return s
35583}
35584
35585// SetTo sets the To field's value.
35586func (s *DoubleRange) SetTo(v float64) *DoubleRange {
35587	s.To = &v
35588	return s
35589}
35590
35591type DownloadDBLogFilePortionInput struct {
35592	_ struct{} `type:"structure"`
35593
35594	// The customer-assigned name of the DB instance that contains the log files
35595	// you want to list.
35596	//
35597	// Constraints:
35598	//
35599	//    * Must match the identifier of an existing DBInstance.
35600	//
35601	// DBInstanceIdentifier is a required field
35602	DBInstanceIdentifier *string `type:"string" required:"true"`
35603
35604	// The name of the log file to be downloaded.
35605	//
35606	// LogFileName is a required field
35607	LogFileName *string `type:"string" required:"true"`
35608
35609	// The pagination token provided in the previous request or "0". If the Marker
35610	// parameter is specified the response includes only records beyond the marker
35611	// until the end of the file or up to NumberOfLines.
35612	Marker *string `type:"string"`
35613
35614	// The number of lines to download. If the number of lines specified results
35615	// in a file over 1 MB in size, the file is truncated at 1 MB in size.
35616	//
35617	// If the NumberOfLines parameter is specified, then the block of lines returned
35618	// can be from the beginning or the end of the log file, depending on the value
35619	// of the Marker parameter.
35620	//
35621	//    * If neither Marker or NumberOfLines are specified, the entire log file
35622	//    is returned up to a maximum of 10000 lines, starting with the most recent
35623	//    log entries first.
35624	//
35625	//    * If NumberOfLines is specified and Marker isn't specified, then the most
35626	//    recent lines from the end of the log file are returned.
35627	//
35628	//    * If Marker is specified as "0", then the specified number of lines from
35629	//    the beginning of the log file are returned.
35630	//
35631	//    * You can download the log file in blocks of lines by specifying the size
35632	//    of the block using the NumberOfLines parameter, and by specifying a value
35633	//    of "0" for the Marker parameter in your first request. Include the Marker
35634	//    value returned in the response as the Marker value for the next request,
35635	//    continuing until the AdditionalDataPending response element returns false.
35636	NumberOfLines *int64 `type:"integer"`
35637}
35638
35639// String returns the string representation.
35640//
35641// API parameter values that are decorated as "sensitive" in the API will not
35642// be included in the string output. The member name will be present, but the
35643// value will be replaced with "sensitive".
35644func (s DownloadDBLogFilePortionInput) String() string {
35645	return awsutil.Prettify(s)
35646}
35647
35648// GoString returns the string representation.
35649//
35650// API parameter values that are decorated as "sensitive" in the API will not
35651// be included in the string output. The member name will be present, but the
35652// value will be replaced with "sensitive".
35653func (s DownloadDBLogFilePortionInput) GoString() string {
35654	return s.String()
35655}
35656
35657// Validate inspects the fields of the type to determine if they are valid.
35658func (s *DownloadDBLogFilePortionInput) Validate() error {
35659	invalidParams := request.ErrInvalidParams{Context: "DownloadDBLogFilePortionInput"}
35660	if s.DBInstanceIdentifier == nil {
35661		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
35662	}
35663	if s.LogFileName == nil {
35664		invalidParams.Add(request.NewErrParamRequired("LogFileName"))
35665	}
35666
35667	if invalidParams.Len() > 0 {
35668		return invalidParams
35669	}
35670	return nil
35671}
35672
35673// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35674func (s *DownloadDBLogFilePortionInput) SetDBInstanceIdentifier(v string) *DownloadDBLogFilePortionInput {
35675	s.DBInstanceIdentifier = &v
35676	return s
35677}
35678
35679// SetLogFileName sets the LogFileName field's value.
35680func (s *DownloadDBLogFilePortionInput) SetLogFileName(v string) *DownloadDBLogFilePortionInput {
35681	s.LogFileName = &v
35682	return s
35683}
35684
35685// SetMarker sets the Marker field's value.
35686func (s *DownloadDBLogFilePortionInput) SetMarker(v string) *DownloadDBLogFilePortionInput {
35687	s.Marker = &v
35688	return s
35689}
35690
35691// SetNumberOfLines sets the NumberOfLines field's value.
35692func (s *DownloadDBLogFilePortionInput) SetNumberOfLines(v int64) *DownloadDBLogFilePortionInput {
35693	s.NumberOfLines = &v
35694	return s
35695}
35696
35697// This data type is used as a response element to DownloadDBLogFilePortion.
35698type DownloadDBLogFilePortionOutput struct {
35699	_ struct{} `type:"structure"`
35700
35701	// Boolean value that if true, indicates there is more data to be downloaded.
35702	AdditionalDataPending *bool `type:"boolean"`
35703
35704	// Entries from the specified log file.
35705	LogFileData *string `type:"string"`
35706
35707	// A pagination token that can be used in a later DownloadDBLogFilePortion request.
35708	Marker *string `type:"string"`
35709}
35710
35711// String returns the string representation.
35712//
35713// API parameter values that are decorated as "sensitive" in the API will not
35714// be included in the string output. The member name will be present, but the
35715// value will be replaced with "sensitive".
35716func (s DownloadDBLogFilePortionOutput) String() string {
35717	return awsutil.Prettify(s)
35718}
35719
35720// GoString returns the string representation.
35721//
35722// API parameter values that are decorated as "sensitive" in the API will not
35723// be included in the string output. The member name will be present, but the
35724// value will be replaced with "sensitive".
35725func (s DownloadDBLogFilePortionOutput) GoString() string {
35726	return s.String()
35727}
35728
35729// SetAdditionalDataPending sets the AdditionalDataPending field's value.
35730func (s *DownloadDBLogFilePortionOutput) SetAdditionalDataPending(v bool) *DownloadDBLogFilePortionOutput {
35731	s.AdditionalDataPending = &v
35732	return s
35733}
35734
35735// SetLogFileData sets the LogFileData field's value.
35736func (s *DownloadDBLogFilePortionOutput) SetLogFileData(v string) *DownloadDBLogFilePortionOutput {
35737	s.LogFileData = &v
35738	return s
35739}
35740
35741// SetMarker sets the Marker field's value.
35742func (s *DownloadDBLogFilePortionOutput) SetMarker(v string) *DownloadDBLogFilePortionOutput {
35743	s.Marker = &v
35744	return s
35745}
35746
35747// This data type is used as a response element in the following actions:
35748//
35749//    * AuthorizeDBSecurityGroupIngress
35750//
35751//    * DescribeDBSecurityGroups
35752//
35753//    * RevokeDBSecurityGroupIngress
35754type EC2SecurityGroup struct {
35755	_ struct{} `type:"structure"`
35756
35757	// Specifies the id of the EC2 security group.
35758	EC2SecurityGroupId *string `type:"string"`
35759
35760	// Specifies the name of the EC2 security group.
35761	EC2SecurityGroupName *string `type:"string"`
35762
35763	// Specifies the Amazon Web Services ID of the owner of the EC2 security group
35764	// specified in the EC2SecurityGroupName field.
35765	EC2SecurityGroupOwnerId *string `type:"string"`
35766
35767	// Provides the status of the EC2 security group. Status can be "authorizing",
35768	// "authorized", "revoking", and "revoked".
35769	Status *string `type:"string"`
35770}
35771
35772// String returns the string representation.
35773//
35774// API parameter values that are decorated as "sensitive" in the API will not
35775// be included in the string output. The member name will be present, but the
35776// value will be replaced with "sensitive".
35777func (s EC2SecurityGroup) String() string {
35778	return awsutil.Prettify(s)
35779}
35780
35781// GoString returns the string representation.
35782//
35783// API parameter values that are decorated as "sensitive" in the API will not
35784// be included in the string output. The member name will be present, but the
35785// value will be replaced with "sensitive".
35786func (s EC2SecurityGroup) GoString() string {
35787	return s.String()
35788}
35789
35790// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
35791func (s *EC2SecurityGroup) SetEC2SecurityGroupId(v string) *EC2SecurityGroup {
35792	s.EC2SecurityGroupId = &v
35793	return s
35794}
35795
35796// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
35797func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
35798	s.EC2SecurityGroupName = &v
35799	return s
35800}
35801
35802// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
35803func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
35804	s.EC2SecurityGroupOwnerId = &v
35805	return s
35806}
35807
35808// SetStatus sets the Status field's value.
35809func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
35810	s.Status = &v
35811	return s
35812}
35813
35814// This data type represents the information you need to connect to an Amazon
35815// RDS DB instance. This data type is used as a response element in the following
35816// actions:
35817//
35818//    * CreateDBInstance
35819//
35820//    * DescribeDBInstances
35821//
35822//    * DeleteDBInstance
35823//
35824// For the data structure that represents Amazon Aurora DB cluster endpoints,
35825// see DBClusterEndpoint.
35826type Endpoint struct {
35827	_ struct{} `type:"structure"`
35828
35829	// Specifies the DNS address of the DB instance.
35830	Address *string `type:"string"`
35831
35832	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
35833	HostedZoneId *string `type:"string"`
35834
35835	// Specifies the port that the database engine is listening on.
35836	Port *int64 `type:"integer"`
35837}
35838
35839// String returns the string representation.
35840//
35841// API parameter values that are decorated as "sensitive" in the API will not
35842// be included in the string output. The member name will be present, but the
35843// value will be replaced with "sensitive".
35844func (s Endpoint) String() string {
35845	return awsutil.Prettify(s)
35846}
35847
35848// GoString returns the string representation.
35849//
35850// API parameter values that are decorated as "sensitive" in the API will not
35851// be included in the string output. The member name will be present, but the
35852// value will be replaced with "sensitive".
35853func (s Endpoint) GoString() string {
35854	return s.String()
35855}
35856
35857// SetAddress sets the Address field's value.
35858func (s *Endpoint) SetAddress(v string) *Endpoint {
35859	s.Address = &v
35860	return s
35861}
35862
35863// SetHostedZoneId sets the HostedZoneId field's value.
35864func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
35865	s.HostedZoneId = &v
35866	return s
35867}
35868
35869// SetPort sets the Port field's value.
35870func (s *Endpoint) SetPort(v int64) *Endpoint {
35871	s.Port = &v
35872	return s
35873}
35874
35875// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
35876// action.
35877type EngineDefaults struct {
35878	_ struct{} `type:"structure"`
35879
35880	// Specifies the name of the DB parameter group family that the engine default
35881	// parameters apply to.
35882	DBParameterGroupFamily *string `type:"string"`
35883
35884	// An optional pagination token provided by a previous EngineDefaults request.
35885	// If this parameter is specified, the response includes only records beyond
35886	// the marker, up to the value specified by MaxRecords .
35887	Marker *string `type:"string"`
35888
35889	// Contains a list of engine default parameters.
35890	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
35891}
35892
35893// String returns the string representation.
35894//
35895// API parameter values that are decorated as "sensitive" in the API will not
35896// be included in the string output. The member name will be present, but the
35897// value will be replaced with "sensitive".
35898func (s EngineDefaults) String() string {
35899	return awsutil.Prettify(s)
35900}
35901
35902// GoString returns the string representation.
35903//
35904// API parameter values that are decorated as "sensitive" in the API will not
35905// be included in the string output. The member name will be present, but the
35906// value will be replaced with "sensitive".
35907func (s EngineDefaults) GoString() string {
35908	return s.String()
35909}
35910
35911// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
35912func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
35913	s.DBParameterGroupFamily = &v
35914	return s
35915}
35916
35917// SetMarker sets the Marker field's value.
35918func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
35919	s.Marker = &v
35920	return s
35921}
35922
35923// SetParameters sets the Parameters field's value.
35924func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
35925	s.Parameters = v
35926	return s
35927}
35928
35929// This data type is used as a response element in the DescribeEvents action.
35930type Event struct {
35931	_ struct{} `type:"structure"`
35932
35933	// Specifies the date and time of the event.
35934	Date *time.Time `type:"timestamp"`
35935
35936	// Specifies the category for the event.
35937	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
35938
35939	// Provides the text of this event.
35940	Message *string `type:"string"`
35941
35942	// The Amazon Resource Name (ARN) for the event.
35943	SourceArn *string `type:"string"`
35944
35945	// Provides the identifier for the source of the event.
35946	SourceIdentifier *string `type:"string"`
35947
35948	// Specifies the source type for this event.
35949	SourceType *string `type:"string" enum:"SourceType"`
35950}
35951
35952// String returns the string representation.
35953//
35954// API parameter values that are decorated as "sensitive" in the API will not
35955// be included in the string output. The member name will be present, but the
35956// value will be replaced with "sensitive".
35957func (s Event) String() string {
35958	return awsutil.Prettify(s)
35959}
35960
35961// GoString returns the string representation.
35962//
35963// API parameter values that are decorated as "sensitive" in the API will not
35964// be included in the string output. The member name will be present, but the
35965// value will be replaced with "sensitive".
35966func (s Event) GoString() string {
35967	return s.String()
35968}
35969
35970// SetDate sets the Date field's value.
35971func (s *Event) SetDate(v time.Time) *Event {
35972	s.Date = &v
35973	return s
35974}
35975
35976// SetEventCategories sets the EventCategories field's value.
35977func (s *Event) SetEventCategories(v []*string) *Event {
35978	s.EventCategories = v
35979	return s
35980}
35981
35982// SetMessage sets the Message field's value.
35983func (s *Event) SetMessage(v string) *Event {
35984	s.Message = &v
35985	return s
35986}
35987
35988// SetSourceArn sets the SourceArn field's value.
35989func (s *Event) SetSourceArn(v string) *Event {
35990	s.SourceArn = &v
35991	return s
35992}
35993
35994// SetSourceIdentifier sets the SourceIdentifier field's value.
35995func (s *Event) SetSourceIdentifier(v string) *Event {
35996	s.SourceIdentifier = &v
35997	return s
35998}
35999
36000// SetSourceType sets the SourceType field's value.
36001func (s *Event) SetSourceType(v string) *Event {
36002	s.SourceType = &v
36003	return s
36004}
36005
36006// Contains the results of a successful invocation of the DescribeEventCategories
36007// operation.
36008type EventCategoriesMap struct {
36009	_ struct{} `type:"structure"`
36010
36011	// The event categories for the specified source type
36012	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
36013
36014	// The source type that the returned categories belong to
36015	SourceType *string `type:"string"`
36016}
36017
36018// String returns the string representation.
36019//
36020// API parameter values that are decorated as "sensitive" in the API will not
36021// be included in the string output. The member name will be present, but the
36022// value will be replaced with "sensitive".
36023func (s EventCategoriesMap) String() string {
36024	return awsutil.Prettify(s)
36025}
36026
36027// GoString returns the string representation.
36028//
36029// API parameter values that are decorated as "sensitive" in the API will not
36030// be included in the string output. The member name will be present, but the
36031// value will be replaced with "sensitive".
36032func (s EventCategoriesMap) GoString() string {
36033	return s.String()
36034}
36035
36036// SetEventCategories sets the EventCategories field's value.
36037func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
36038	s.EventCategories = v
36039	return s
36040}
36041
36042// SetSourceType sets the SourceType field's value.
36043func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
36044	s.SourceType = &v
36045	return s
36046}
36047
36048// Contains the results of a successful invocation of the DescribeEventSubscriptions
36049// action.
36050type EventSubscription struct {
36051	_ struct{} `type:"structure"`
36052
36053	// The RDS event notification subscription Id.
36054	CustSubscriptionId *string `type:"string"`
36055
36056	// The Amazon Web Services customer account associated with the RDS event notification
36057	// subscription.
36058	CustomerAwsId *string `type:"string"`
36059
36060	// A Boolean value indicating if the subscription is enabled. True indicates
36061	// the subscription is enabled.
36062	Enabled *bool `type:"boolean"`
36063
36064	// A list of event categories for the RDS event notification subscription.
36065	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
36066
36067	// The Amazon Resource Name (ARN) for the event subscription.
36068	EventSubscriptionArn *string `type:"string"`
36069
36070	// The topic ARN of the RDS event notification subscription.
36071	SnsTopicArn *string `type:"string"`
36072
36073	// A list of source IDs for the RDS event notification subscription.
36074	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
36075
36076	// The source type for the RDS event notification subscription.
36077	SourceType *string `type:"string"`
36078
36079	// The status of the RDS event notification subscription.
36080	//
36081	// Constraints:
36082	//
36083	// Can be one of the following: creating | modifying | deleting | active | no-permission
36084	// | topic-not-exist
36085	//
36086	// The status "no-permission" indicates that RDS no longer has permission to
36087	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
36088	// was deleted after the subscription was created.
36089	Status *string `type:"string"`
36090
36091	// The time the RDS event notification subscription was created.
36092	SubscriptionCreationTime *string `type:"string"`
36093}
36094
36095// String returns the string representation.
36096//
36097// API parameter values that are decorated as "sensitive" in the API will not
36098// be included in the string output. The member name will be present, but the
36099// value will be replaced with "sensitive".
36100func (s EventSubscription) String() string {
36101	return awsutil.Prettify(s)
36102}
36103
36104// GoString returns the string representation.
36105//
36106// API parameter values that are decorated as "sensitive" in the API will not
36107// be included in the string output. The member name will be present, but the
36108// value will be replaced with "sensitive".
36109func (s EventSubscription) GoString() string {
36110	return s.String()
36111}
36112
36113// SetCustSubscriptionId sets the CustSubscriptionId field's value.
36114func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
36115	s.CustSubscriptionId = &v
36116	return s
36117}
36118
36119// SetCustomerAwsId sets the CustomerAwsId field's value.
36120func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
36121	s.CustomerAwsId = &v
36122	return s
36123}
36124
36125// SetEnabled sets the Enabled field's value.
36126func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
36127	s.Enabled = &v
36128	return s
36129}
36130
36131// SetEventCategoriesList sets the EventCategoriesList field's value.
36132func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
36133	s.EventCategoriesList = v
36134	return s
36135}
36136
36137// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
36138func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
36139	s.EventSubscriptionArn = &v
36140	return s
36141}
36142
36143// SetSnsTopicArn sets the SnsTopicArn field's value.
36144func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
36145	s.SnsTopicArn = &v
36146	return s
36147}
36148
36149// SetSourceIdsList sets the SourceIdsList field's value.
36150func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
36151	s.SourceIdsList = v
36152	return s
36153}
36154
36155// SetSourceType sets the SourceType field's value.
36156func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
36157	s.SourceType = &v
36158	return s
36159}
36160
36161// SetStatus sets the Status field's value.
36162func (s *EventSubscription) SetStatus(v string) *EventSubscription {
36163	s.Status = &v
36164	return s
36165}
36166
36167// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
36168func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
36169	s.SubscriptionCreationTime = &v
36170	return s
36171}
36172
36173// Contains the details of a snapshot export to Amazon S3.
36174//
36175// This data type is used as a response element in the DescribeExportTasks action.
36176type ExportTask struct {
36177	_ struct{} `type:"structure"`
36178
36179	// The data exported from the snapshot. Valid values are the following:
36180	//
36181	//    * database - Export all the data from a specified database.
36182	//
36183	//    * database.table table-name - Export a table of the snapshot. This format
36184	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
36185	//
36186	//    * database.schema schema-name - Export a database schema of the snapshot.
36187	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
36188	//
36189	//    * database.schema.table table-name - Export a table of the database schema.
36190	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
36191	ExportOnly []*string `type:"list"`
36192
36193	// A unique identifier for the snapshot export task. This ID isn't an identifier
36194	// for the Amazon S3 bucket where the snapshot is exported to.
36195	ExportTaskIdentifier *string `type:"string"`
36196
36197	// The reason the export failed, if it failed.
36198	FailureCause *string `type:"string"`
36199
36200	// The name of the IAM role that is used to write to Amazon S3 when exporting
36201	// a snapshot.
36202	IamRoleArn *string `type:"string"`
36203
36204	// The key identifier of the Amazon Web Services KMS key that is used to encrypt
36205	// the snapshot when it's exported to Amazon S3. The KMS key identifier is its
36206	// key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot
36207	// export must have encryption and decryption permissions to use this KMS key.
36208	KmsKeyId *string `type:"string"`
36209
36210	// The progress of the snapshot export task as a percentage.
36211	PercentProgress *int64 `type:"integer"`
36212
36213	// The Amazon S3 bucket that the snapshot is exported to.
36214	S3Bucket *string `type:"string"`
36215
36216	// The Amazon S3 bucket prefix that is the file name and path of the exported
36217	// snapshot.
36218	S3Prefix *string `type:"string"`
36219
36220	// The time that the snapshot was created.
36221	SnapshotTime *time.Time `type:"timestamp"`
36222
36223	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
36224	SourceArn *string `type:"string"`
36225
36226	// The progress status of the export task.
36227	Status *string `type:"string"`
36228
36229	// The time that the snapshot export task completed.
36230	TaskEndTime *time.Time `type:"timestamp"`
36231
36232	// The time that the snapshot export task started.
36233	TaskStartTime *time.Time `type:"timestamp"`
36234
36235	// The total amount of data exported, in gigabytes.
36236	TotalExtractedDataInGB *int64 `type:"integer"`
36237
36238	// A warning about the snapshot export task.
36239	WarningMessage *string `type:"string"`
36240}
36241
36242// String returns the string representation.
36243//
36244// API parameter values that are decorated as "sensitive" in the API will not
36245// be included in the string output. The member name will be present, but the
36246// value will be replaced with "sensitive".
36247func (s ExportTask) String() string {
36248	return awsutil.Prettify(s)
36249}
36250
36251// GoString returns the string representation.
36252//
36253// API parameter values that are decorated as "sensitive" in the API will not
36254// be included in the string output. The member name will be present, but the
36255// value will be replaced with "sensitive".
36256func (s ExportTask) GoString() string {
36257	return s.String()
36258}
36259
36260// SetExportOnly sets the ExportOnly field's value.
36261func (s *ExportTask) SetExportOnly(v []*string) *ExportTask {
36262	s.ExportOnly = v
36263	return s
36264}
36265
36266// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
36267func (s *ExportTask) SetExportTaskIdentifier(v string) *ExportTask {
36268	s.ExportTaskIdentifier = &v
36269	return s
36270}
36271
36272// SetFailureCause sets the FailureCause field's value.
36273func (s *ExportTask) SetFailureCause(v string) *ExportTask {
36274	s.FailureCause = &v
36275	return s
36276}
36277
36278// SetIamRoleArn sets the IamRoleArn field's value.
36279func (s *ExportTask) SetIamRoleArn(v string) *ExportTask {
36280	s.IamRoleArn = &v
36281	return s
36282}
36283
36284// SetKmsKeyId sets the KmsKeyId field's value.
36285func (s *ExportTask) SetKmsKeyId(v string) *ExportTask {
36286	s.KmsKeyId = &v
36287	return s
36288}
36289
36290// SetPercentProgress sets the PercentProgress field's value.
36291func (s *ExportTask) SetPercentProgress(v int64) *ExportTask {
36292	s.PercentProgress = &v
36293	return s
36294}
36295
36296// SetS3Bucket sets the S3Bucket field's value.
36297func (s *ExportTask) SetS3Bucket(v string) *ExportTask {
36298	s.S3Bucket = &v
36299	return s
36300}
36301
36302// SetS3Prefix sets the S3Prefix field's value.
36303func (s *ExportTask) SetS3Prefix(v string) *ExportTask {
36304	s.S3Prefix = &v
36305	return s
36306}
36307
36308// SetSnapshotTime sets the SnapshotTime field's value.
36309func (s *ExportTask) SetSnapshotTime(v time.Time) *ExportTask {
36310	s.SnapshotTime = &v
36311	return s
36312}
36313
36314// SetSourceArn sets the SourceArn field's value.
36315func (s *ExportTask) SetSourceArn(v string) *ExportTask {
36316	s.SourceArn = &v
36317	return s
36318}
36319
36320// SetStatus sets the Status field's value.
36321func (s *ExportTask) SetStatus(v string) *ExportTask {
36322	s.Status = &v
36323	return s
36324}
36325
36326// SetTaskEndTime sets the TaskEndTime field's value.
36327func (s *ExportTask) SetTaskEndTime(v time.Time) *ExportTask {
36328	s.TaskEndTime = &v
36329	return s
36330}
36331
36332// SetTaskStartTime sets the TaskStartTime field's value.
36333func (s *ExportTask) SetTaskStartTime(v time.Time) *ExportTask {
36334	s.TaskStartTime = &v
36335	return s
36336}
36337
36338// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
36339func (s *ExportTask) SetTotalExtractedDataInGB(v int64) *ExportTask {
36340	s.TotalExtractedDataInGB = &v
36341	return s
36342}
36343
36344// SetWarningMessage sets the WarningMessage field's value.
36345func (s *ExportTask) SetWarningMessage(v string) *ExportTask {
36346	s.WarningMessage = &v
36347	return s
36348}
36349
36350type FailoverDBClusterInput struct {
36351	_ struct{} `type:"structure"`
36352
36353	// A DB cluster identifier to force a failover for. This parameter isn't case-sensitive.
36354	//
36355	// Constraints:
36356	//
36357	//    * Must match the identifier of an existing DBCluster.
36358	//
36359	// DBClusterIdentifier is a required field
36360	DBClusterIdentifier *string `type:"string" required:"true"`
36361
36362	// The name of the instance to promote to the primary instance.
36363	//
36364	// You must specify the instance identifier for an Aurora Replica in the DB
36365	// cluster. For example, mydbcluster-replica1.
36366	TargetDBInstanceIdentifier *string `type:"string"`
36367}
36368
36369// String returns the string representation.
36370//
36371// API parameter values that are decorated as "sensitive" in the API will not
36372// be included in the string output. The member name will be present, but the
36373// value will be replaced with "sensitive".
36374func (s FailoverDBClusterInput) String() string {
36375	return awsutil.Prettify(s)
36376}
36377
36378// GoString returns the string representation.
36379//
36380// API parameter values that are decorated as "sensitive" in the API will not
36381// be included in the string output. The member name will be present, but the
36382// value will be replaced with "sensitive".
36383func (s FailoverDBClusterInput) GoString() string {
36384	return s.String()
36385}
36386
36387// Validate inspects the fields of the type to determine if they are valid.
36388func (s *FailoverDBClusterInput) Validate() error {
36389	invalidParams := request.ErrInvalidParams{Context: "FailoverDBClusterInput"}
36390	if s.DBClusterIdentifier == nil {
36391		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
36392	}
36393
36394	if invalidParams.Len() > 0 {
36395		return invalidParams
36396	}
36397	return nil
36398}
36399
36400// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
36401func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
36402	s.DBClusterIdentifier = &v
36403	return s
36404}
36405
36406// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
36407func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
36408	s.TargetDBInstanceIdentifier = &v
36409	return s
36410}
36411
36412type FailoverDBClusterOutput struct {
36413	_ struct{} `type:"structure"`
36414
36415	// Contains the details of an Amazon Aurora DB cluster.
36416	//
36417	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
36418	// and StartDBCluster actions.
36419	DBCluster *DBCluster `type:"structure"`
36420}
36421
36422// String returns the string representation.
36423//
36424// API parameter values that are decorated as "sensitive" in the API will not
36425// be included in the string output. The member name will be present, but the
36426// value will be replaced with "sensitive".
36427func (s FailoverDBClusterOutput) String() string {
36428	return awsutil.Prettify(s)
36429}
36430
36431// GoString returns the string representation.
36432//
36433// API parameter values that are decorated as "sensitive" in the API will not
36434// be included in the string output. The member name will be present, but the
36435// value will be replaced with "sensitive".
36436func (s FailoverDBClusterOutput) GoString() string {
36437	return s.String()
36438}
36439
36440// SetDBCluster sets the DBCluster field's value.
36441func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
36442	s.DBCluster = v
36443	return s
36444}
36445
36446type FailoverGlobalClusterInput struct {
36447	_ struct{} `type:"structure"`
36448
36449	// Identifier of the Aurora global database (GlobalCluster) that should be failed
36450	// over. The identifier is the unique key assigned by the user when the Aurora
36451	// global database was created. In other words, it's the name of the Aurora
36452	// global database that you want to fail over.
36453	//
36454	// Constraints:
36455	//
36456	//    * Must match the identifier of an existing GlobalCluster (Aurora global
36457	//    database).
36458	//
36459	// GlobalClusterIdentifier is a required field
36460	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
36461
36462	// Identifier of the secondary Aurora DB cluster that you want to promote to
36463	// primary for the Aurora global database (GlobalCluster.) Use the Amazon Resource
36464	// Name (ARN) for the identifier so that Aurora can locate the cluster in its
36465	// Amazon Web Services Region.
36466	//
36467	// TargetDbClusterIdentifier is a required field
36468	TargetDbClusterIdentifier *string `min:"1" type:"string" required:"true"`
36469}
36470
36471// String returns the string representation.
36472//
36473// API parameter values that are decorated as "sensitive" in the API will not
36474// be included in the string output. The member name will be present, but the
36475// value will be replaced with "sensitive".
36476func (s FailoverGlobalClusterInput) String() string {
36477	return awsutil.Prettify(s)
36478}
36479
36480// GoString returns the string representation.
36481//
36482// API parameter values that are decorated as "sensitive" in the API will not
36483// be included in the string output. The member name will be present, but the
36484// value will be replaced with "sensitive".
36485func (s FailoverGlobalClusterInput) GoString() string {
36486	return s.String()
36487}
36488
36489// Validate inspects the fields of the type to determine if they are valid.
36490func (s *FailoverGlobalClusterInput) Validate() error {
36491	invalidParams := request.ErrInvalidParams{Context: "FailoverGlobalClusterInput"}
36492	if s.GlobalClusterIdentifier == nil {
36493		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
36494	}
36495	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
36496		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
36497	}
36498	if s.TargetDbClusterIdentifier == nil {
36499		invalidParams.Add(request.NewErrParamRequired("TargetDbClusterIdentifier"))
36500	}
36501	if s.TargetDbClusterIdentifier != nil && len(*s.TargetDbClusterIdentifier) < 1 {
36502		invalidParams.Add(request.NewErrParamMinLen("TargetDbClusterIdentifier", 1))
36503	}
36504
36505	if invalidParams.Len() > 0 {
36506		return invalidParams
36507	}
36508	return nil
36509}
36510
36511// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
36512func (s *FailoverGlobalClusterInput) SetGlobalClusterIdentifier(v string) *FailoverGlobalClusterInput {
36513	s.GlobalClusterIdentifier = &v
36514	return s
36515}
36516
36517// SetTargetDbClusterIdentifier sets the TargetDbClusterIdentifier field's value.
36518func (s *FailoverGlobalClusterInput) SetTargetDbClusterIdentifier(v string) *FailoverGlobalClusterInput {
36519	s.TargetDbClusterIdentifier = &v
36520	return s
36521}
36522
36523type FailoverGlobalClusterOutput struct {
36524	_ struct{} `type:"structure"`
36525
36526	// A data type representing an Aurora global database.
36527	GlobalCluster *GlobalCluster `type:"structure"`
36528}
36529
36530// String returns the string representation.
36531//
36532// API parameter values that are decorated as "sensitive" in the API will not
36533// be included in the string output. The member name will be present, but the
36534// value will be replaced with "sensitive".
36535func (s FailoverGlobalClusterOutput) String() string {
36536	return awsutil.Prettify(s)
36537}
36538
36539// GoString returns the string representation.
36540//
36541// API parameter values that are decorated as "sensitive" in the API will not
36542// be included in the string output. The member name will be present, but the
36543// value will be replaced with "sensitive".
36544func (s FailoverGlobalClusterOutput) GoString() string {
36545	return s.String()
36546}
36547
36548// SetGlobalCluster sets the GlobalCluster field's value.
36549func (s *FailoverGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *FailoverGlobalClusterOutput {
36550	s.GlobalCluster = v
36551	return s
36552}
36553
36554// Contains the state of scheduled or in-process failover operations on an Aurora
36555// global database (GlobalCluster). This Data type is empty unless a failover
36556// operation is scheduled or is currently underway on the Aurora global database.
36557type FailoverState struct {
36558	_ struct{} `type:"structure"`
36559
36560	// The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently
36561	// being demoted, and which is associated with this state.
36562	FromDbClusterArn *string `type:"string"`
36563
36564	// The current status of the Aurora global database (GlobalCluster). Possible
36565	// values are as follows:
36566	//
36567	//    * pending – A request to fail over the Aurora global database (GlobalCluster)
36568	//    has been received by the service. The GlobalCluster's primary DB cluster
36569	//    and the specified secondary DB cluster are being verified before the failover
36570	//    process can start.
36571	//
36572	//    * failing-over – This status covers the range of Aurora internal operations
36573	//    that take place during the failover process, such as demoting the primary
36574	//    Aurora DB cluster, promoting the secondary Aurora DB, and synchronizing
36575	//    replicas.
36576	//
36577	//    * cancelling – The request to fail over the Aurora global database (GlobalCluster)
36578	//    was cancelled and the primary Aurora DB cluster and the selected secondary
36579	//    Aurora DB cluster are returning to their previous states.
36580	Status *string `type:"string" enum:"FailoverStatus"`
36581
36582	// The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently
36583	// being promoted, and which is associated with this state.
36584	ToDbClusterArn *string `type:"string"`
36585}
36586
36587// String returns the string representation.
36588//
36589// API parameter values that are decorated as "sensitive" in the API will not
36590// be included in the string output. The member name will be present, but the
36591// value will be replaced with "sensitive".
36592func (s FailoverState) String() string {
36593	return awsutil.Prettify(s)
36594}
36595
36596// GoString returns the string representation.
36597//
36598// API parameter values that are decorated as "sensitive" in the API will not
36599// be included in the string output. The member name will be present, but the
36600// value will be replaced with "sensitive".
36601func (s FailoverState) GoString() string {
36602	return s.String()
36603}
36604
36605// SetFromDbClusterArn sets the FromDbClusterArn field's value.
36606func (s *FailoverState) SetFromDbClusterArn(v string) *FailoverState {
36607	s.FromDbClusterArn = &v
36608	return s
36609}
36610
36611// SetStatus sets the Status field's value.
36612func (s *FailoverState) SetStatus(v string) *FailoverState {
36613	s.Status = &v
36614	return s
36615}
36616
36617// SetToDbClusterArn sets the ToDbClusterArn field's value.
36618func (s *FailoverState) SetToDbClusterArn(v string) *FailoverState {
36619	s.ToDbClusterArn = &v
36620	return s
36621}
36622
36623// A filter name and value pair that is used to return a more specific list
36624// of results from a describe operation. Filters can be used to match a set
36625// of resources by specific criteria, such as IDs. The filters supported by
36626// a describe operation are documented with the describe operation.
36627//
36628// Currently, wildcards are not supported in filters.
36629//
36630// The following actions can be filtered:
36631//
36632//    * DescribeDBClusterBacktracks
36633//
36634//    * DescribeDBClusterEndpoints
36635//
36636//    * DescribeDBClusters
36637//
36638//    * DescribeDBInstances
36639//
36640//    * DescribePendingMaintenanceActions
36641type Filter struct {
36642	_ struct{} `type:"structure"`
36643
36644	// The name of the filter. Filter names are case-sensitive.
36645	//
36646	// Name is a required field
36647	Name *string `type:"string" required:"true"`
36648
36649	// One or more filter values. Filter values are case-sensitive.
36650	//
36651	// Values is a required field
36652	Values []*string `locationNameList:"Value" type:"list" required:"true"`
36653}
36654
36655// String returns the string representation.
36656//
36657// API parameter values that are decorated as "sensitive" in the API will not
36658// be included in the string output. The member name will be present, but the
36659// value will be replaced with "sensitive".
36660func (s Filter) String() string {
36661	return awsutil.Prettify(s)
36662}
36663
36664// GoString returns the string representation.
36665//
36666// API parameter values that are decorated as "sensitive" in the API will not
36667// be included in the string output. The member name will be present, but the
36668// value will be replaced with "sensitive".
36669func (s Filter) GoString() string {
36670	return s.String()
36671}
36672
36673// Validate inspects the fields of the type to determine if they are valid.
36674func (s *Filter) Validate() error {
36675	invalidParams := request.ErrInvalidParams{Context: "Filter"}
36676	if s.Name == nil {
36677		invalidParams.Add(request.NewErrParamRequired("Name"))
36678	}
36679	if s.Values == nil {
36680		invalidParams.Add(request.NewErrParamRequired("Values"))
36681	}
36682
36683	if invalidParams.Len() > 0 {
36684		return invalidParams
36685	}
36686	return nil
36687}
36688
36689// SetName sets the Name field's value.
36690func (s *Filter) SetName(v string) *Filter {
36691	s.Name = &v
36692	return s
36693}
36694
36695// SetValues sets the Values field's value.
36696func (s *Filter) SetValues(v []*string) *Filter {
36697	s.Values = v
36698	return s
36699}
36700
36701// A data type representing an Aurora global database.
36702type GlobalCluster struct {
36703	_ struct{} `type:"structure"`
36704
36705	// The default database name within the new global database cluster.
36706	DatabaseName *string `type:"string"`
36707
36708	// The deletion protection setting for the new global database cluster.
36709	DeletionProtection *bool `type:"boolean"`
36710
36711	// The Aurora database engine used by the global database cluster.
36712	Engine *string `type:"string"`
36713
36714	// Indicates the database engine version.
36715	EngineVersion *string `type:"string"`
36716
36717	// A data object containing all properties for the current state of an in-process
36718	// or pending failover process for this Aurora global database. This object
36719	// is empty unless the FailoverGlobalCluster API operation has been called on
36720	// this Aurora global database (GlobalCluster).
36721	FailoverState *FailoverState `type:"structure"`
36722
36723	// The Amazon Resource Name (ARN) for the global database cluster.
36724	GlobalClusterArn *string `type:"string"`
36725
36726	// Contains a user-supplied global database cluster identifier. This identifier
36727	// is the unique key that identifies a global database cluster.
36728	GlobalClusterIdentifier *string `type:"string"`
36729
36730	// The list of cluster IDs for secondary clusters within the global database
36731	// cluster. Currently limited to 1 item.
36732	GlobalClusterMembers []*GlobalClusterMember `locationNameList:"GlobalClusterMember" type:"list"`
36733
36734	// The Amazon Web Services Region-unique, immutable identifier for the global
36735	// database cluster. This identifier is found in Amazon Web Services CloudTrail
36736	// log entries whenever the Amazon Web Services KMS key for the DB cluster is
36737	// accessed.
36738	GlobalClusterResourceId *string `type:"string"`
36739
36740	// Specifies the current state of this global database cluster.
36741	Status *string `type:"string"`
36742
36743	// The storage encryption setting for the global database cluster.
36744	StorageEncrypted *bool `type:"boolean"`
36745}
36746
36747// String returns the string representation.
36748//
36749// API parameter values that are decorated as "sensitive" in the API will not
36750// be included in the string output. The member name will be present, but the
36751// value will be replaced with "sensitive".
36752func (s GlobalCluster) String() string {
36753	return awsutil.Prettify(s)
36754}
36755
36756// GoString returns the string representation.
36757//
36758// API parameter values that are decorated as "sensitive" in the API will not
36759// be included in the string output. The member name will be present, but the
36760// value will be replaced with "sensitive".
36761func (s GlobalCluster) GoString() string {
36762	return s.String()
36763}
36764
36765// SetDatabaseName sets the DatabaseName field's value.
36766func (s *GlobalCluster) SetDatabaseName(v string) *GlobalCluster {
36767	s.DatabaseName = &v
36768	return s
36769}
36770
36771// SetDeletionProtection sets the DeletionProtection field's value.
36772func (s *GlobalCluster) SetDeletionProtection(v bool) *GlobalCluster {
36773	s.DeletionProtection = &v
36774	return s
36775}
36776
36777// SetEngine sets the Engine field's value.
36778func (s *GlobalCluster) SetEngine(v string) *GlobalCluster {
36779	s.Engine = &v
36780	return s
36781}
36782
36783// SetEngineVersion sets the EngineVersion field's value.
36784func (s *GlobalCluster) SetEngineVersion(v string) *GlobalCluster {
36785	s.EngineVersion = &v
36786	return s
36787}
36788
36789// SetFailoverState sets the FailoverState field's value.
36790func (s *GlobalCluster) SetFailoverState(v *FailoverState) *GlobalCluster {
36791	s.FailoverState = v
36792	return s
36793}
36794
36795// SetGlobalClusterArn sets the GlobalClusterArn field's value.
36796func (s *GlobalCluster) SetGlobalClusterArn(v string) *GlobalCluster {
36797	s.GlobalClusterArn = &v
36798	return s
36799}
36800
36801// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
36802func (s *GlobalCluster) SetGlobalClusterIdentifier(v string) *GlobalCluster {
36803	s.GlobalClusterIdentifier = &v
36804	return s
36805}
36806
36807// SetGlobalClusterMembers sets the GlobalClusterMembers field's value.
36808func (s *GlobalCluster) SetGlobalClusterMembers(v []*GlobalClusterMember) *GlobalCluster {
36809	s.GlobalClusterMembers = v
36810	return s
36811}
36812
36813// SetGlobalClusterResourceId sets the GlobalClusterResourceId field's value.
36814func (s *GlobalCluster) SetGlobalClusterResourceId(v string) *GlobalCluster {
36815	s.GlobalClusterResourceId = &v
36816	return s
36817}
36818
36819// SetStatus sets the Status field's value.
36820func (s *GlobalCluster) SetStatus(v string) *GlobalCluster {
36821	s.Status = &v
36822	return s
36823}
36824
36825// SetStorageEncrypted sets the StorageEncrypted field's value.
36826func (s *GlobalCluster) SetStorageEncrypted(v bool) *GlobalCluster {
36827	s.StorageEncrypted = &v
36828	return s
36829}
36830
36831// A data structure with information about any primary and secondary clusters
36832// associated with an Aurora global database.
36833type GlobalClusterMember struct {
36834	_ struct{} `type:"structure"`
36835
36836	// The Amazon Resource Name (ARN) for each Aurora cluster.
36837	DBClusterArn *string `type:"string"`
36838
36839	// Specifies whether a secondary cluster in an Aurora global database has write
36840	// forwarding enabled, not enabled, or is in the process of enabling it.
36841	GlobalWriteForwardingStatus *string `type:"string" enum:"WriteForwardingStatus"`
36842
36843	// Specifies whether the Aurora cluster is the primary cluster (that is, has
36844	// read-write capability) for the Aurora global database with which it is associated.
36845	IsWriter *bool `type:"boolean"`
36846
36847	// The Amazon Resource Name (ARN) for each read-only secondary cluster associated
36848	// with the Aurora global database.
36849	Readers []*string `type:"list"`
36850}
36851
36852// String returns the string representation.
36853//
36854// API parameter values that are decorated as "sensitive" in the API will not
36855// be included in the string output. The member name will be present, but the
36856// value will be replaced with "sensitive".
36857func (s GlobalClusterMember) String() string {
36858	return awsutil.Prettify(s)
36859}
36860
36861// GoString returns the string representation.
36862//
36863// API parameter values that are decorated as "sensitive" in the API will not
36864// be included in the string output. The member name will be present, but the
36865// value will be replaced with "sensitive".
36866func (s GlobalClusterMember) GoString() string {
36867	return s.String()
36868}
36869
36870// SetDBClusterArn sets the DBClusterArn field's value.
36871func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember {
36872	s.DBClusterArn = &v
36873	return s
36874}
36875
36876// SetGlobalWriteForwardingStatus sets the GlobalWriteForwardingStatus field's value.
36877func (s *GlobalClusterMember) SetGlobalWriteForwardingStatus(v string) *GlobalClusterMember {
36878	s.GlobalWriteForwardingStatus = &v
36879	return s
36880}
36881
36882// SetIsWriter sets the IsWriter field's value.
36883func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember {
36884	s.IsWriter = &v
36885	return s
36886}
36887
36888// SetReaders sets the Readers field's value.
36889func (s *GlobalClusterMember) SetReaders(v []*string) *GlobalClusterMember {
36890	s.Readers = v
36891	return s
36892}
36893
36894// This data type is used as a response element in the DescribeDBSecurityGroups
36895// action.
36896type IPRange struct {
36897	_ struct{} `type:"structure"`
36898
36899	// Specifies the IP range.
36900	CIDRIP *string `type:"string"`
36901
36902	// Specifies the status of the IP range. Status can be "authorizing", "authorized",
36903	// "revoking", and "revoked".
36904	Status *string `type:"string"`
36905}
36906
36907// String returns the string representation.
36908//
36909// API parameter values that are decorated as "sensitive" in the API will not
36910// be included in the string output. The member name will be present, but the
36911// value will be replaced with "sensitive".
36912func (s IPRange) String() string {
36913	return awsutil.Prettify(s)
36914}
36915
36916// GoString returns the string representation.
36917//
36918// API parameter values that are decorated as "sensitive" in the API will not
36919// be included in the string output. The member name will be present, but the
36920// value will be replaced with "sensitive".
36921func (s IPRange) GoString() string {
36922	return s.String()
36923}
36924
36925// SetCIDRIP sets the CIDRIP field's value.
36926func (s *IPRange) SetCIDRIP(v string) *IPRange {
36927	s.CIDRIP = &v
36928	return s
36929}
36930
36931// SetStatus sets the Status field's value.
36932func (s *IPRange) SetStatus(v string) *IPRange {
36933	s.Status = &v
36934	return s
36935}
36936
36937type ImportInstallationMediaInput struct {
36938	_ struct{} `type:"structure"`
36939
36940	// The identifier of the custom Availability Zone (AZ) to import the installation
36941	// media to.
36942	//
36943	// CustomAvailabilityZoneId is a required field
36944	CustomAvailabilityZoneId *string `type:"string" required:"true"`
36945
36946	// The name of the database engine to be used for this instance.
36947	//
36948	// The list only includes supported DB engines that require an on-premises customer
36949	// provided license.
36950	//
36951	// Valid Values:
36952	//
36953	//    * sqlserver-ee
36954	//
36955	//    * sqlserver-se
36956	//
36957	//    * sqlserver-ex
36958	//
36959	//    * sqlserver-web
36960	//
36961	// Engine is a required field
36962	Engine *string `type:"string" required:"true"`
36963
36964	// The path to the installation medium for the specified DB engine.
36965	//
36966	// Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso
36967	//
36968	// EngineInstallationMediaPath is a required field
36969	EngineInstallationMediaPath *string `type:"string" required:"true"`
36970
36971	// The version number of the database engine to use.
36972	//
36973	// For a list of valid engine versions, call DescribeDBEngineVersions.
36974	//
36975	// The following are the database engines and links to information about the
36976	// major and minor versions. The list only includes DB engines that require
36977	// an on-premises customer provided license.
36978	//
36979	// Microsoft SQL Server
36980	//
36981	// See Microsoft SQL Server Versions on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport)
36982	// in the Amazon RDS User Guide.
36983	//
36984	// EngineVersion is a required field
36985	EngineVersion *string `type:"string" required:"true"`
36986
36987	// The path to the installation medium for the operating system associated with
36988	// the specified DB engine.
36989	//
36990	// Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso
36991	//
36992	// OSInstallationMediaPath is a required field
36993	OSInstallationMediaPath *string `type:"string" required:"true"`
36994}
36995
36996// String returns the string representation.
36997//
36998// API parameter values that are decorated as "sensitive" in the API will not
36999// be included in the string output. The member name will be present, but the
37000// value will be replaced with "sensitive".
37001func (s ImportInstallationMediaInput) String() string {
37002	return awsutil.Prettify(s)
37003}
37004
37005// GoString returns the string representation.
37006//
37007// API parameter values that are decorated as "sensitive" in the API will not
37008// be included in the string output. The member name will be present, but the
37009// value will be replaced with "sensitive".
37010func (s ImportInstallationMediaInput) GoString() string {
37011	return s.String()
37012}
37013
37014// Validate inspects the fields of the type to determine if they are valid.
37015func (s *ImportInstallationMediaInput) Validate() error {
37016	invalidParams := request.ErrInvalidParams{Context: "ImportInstallationMediaInput"}
37017	if s.CustomAvailabilityZoneId == nil {
37018		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
37019	}
37020	if s.Engine == nil {
37021		invalidParams.Add(request.NewErrParamRequired("Engine"))
37022	}
37023	if s.EngineInstallationMediaPath == nil {
37024		invalidParams.Add(request.NewErrParamRequired("EngineInstallationMediaPath"))
37025	}
37026	if s.EngineVersion == nil {
37027		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
37028	}
37029	if s.OSInstallationMediaPath == nil {
37030		invalidParams.Add(request.NewErrParamRequired("OSInstallationMediaPath"))
37031	}
37032
37033	if invalidParams.Len() > 0 {
37034		return invalidParams
37035	}
37036	return nil
37037}
37038
37039// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
37040func (s *ImportInstallationMediaInput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaInput {
37041	s.CustomAvailabilityZoneId = &v
37042	return s
37043}
37044
37045// SetEngine sets the Engine field's value.
37046func (s *ImportInstallationMediaInput) SetEngine(v string) *ImportInstallationMediaInput {
37047	s.Engine = &v
37048	return s
37049}
37050
37051// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
37052func (s *ImportInstallationMediaInput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaInput {
37053	s.EngineInstallationMediaPath = &v
37054	return s
37055}
37056
37057// SetEngineVersion sets the EngineVersion field's value.
37058func (s *ImportInstallationMediaInput) SetEngineVersion(v string) *ImportInstallationMediaInput {
37059	s.EngineVersion = &v
37060	return s
37061}
37062
37063// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
37064func (s *ImportInstallationMediaInput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaInput {
37065	s.OSInstallationMediaPath = &v
37066	return s
37067}
37068
37069// Contains the installation media for a DB engine that requires an on-premises
37070// customer provided license, such as Microsoft SQL Server.
37071type ImportInstallationMediaOutput struct {
37072	_ struct{} `type:"structure"`
37073
37074	// The custom Availability Zone (AZ) that contains the installation media.
37075	CustomAvailabilityZoneId *string `type:"string"`
37076
37077	// The DB engine.
37078	Engine *string `type:"string"`
37079
37080	// The path to the installation medium for the DB engine.
37081	EngineInstallationMediaPath *string `type:"string"`
37082
37083	// The engine version of the DB engine.
37084	EngineVersion *string `type:"string"`
37085
37086	// If an installation media failure occurred, the cause of the failure.
37087	FailureCause *InstallationMediaFailureCause `type:"structure"`
37088
37089	// The installation medium ID.
37090	InstallationMediaId *string `type:"string"`
37091
37092	// The path to the installation medium for the operating system associated with
37093	// the DB engine.
37094	OSInstallationMediaPath *string `type:"string"`
37095
37096	// The status of the installation medium.
37097	Status *string `type:"string"`
37098}
37099
37100// String returns the string representation.
37101//
37102// API parameter values that are decorated as "sensitive" in the API will not
37103// be included in the string output. The member name will be present, but the
37104// value will be replaced with "sensitive".
37105func (s ImportInstallationMediaOutput) String() string {
37106	return awsutil.Prettify(s)
37107}
37108
37109// GoString returns the string representation.
37110//
37111// API parameter values that are decorated as "sensitive" in the API will not
37112// be included in the string output. The member name will be present, but the
37113// value will be replaced with "sensitive".
37114func (s ImportInstallationMediaOutput) GoString() string {
37115	return s.String()
37116}
37117
37118// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
37119func (s *ImportInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaOutput {
37120	s.CustomAvailabilityZoneId = &v
37121	return s
37122}
37123
37124// SetEngine sets the Engine field's value.
37125func (s *ImportInstallationMediaOutput) SetEngine(v string) *ImportInstallationMediaOutput {
37126	s.Engine = &v
37127	return s
37128}
37129
37130// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
37131func (s *ImportInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaOutput {
37132	s.EngineInstallationMediaPath = &v
37133	return s
37134}
37135
37136// SetEngineVersion sets the EngineVersion field's value.
37137func (s *ImportInstallationMediaOutput) SetEngineVersion(v string) *ImportInstallationMediaOutput {
37138	s.EngineVersion = &v
37139	return s
37140}
37141
37142// SetFailureCause sets the FailureCause field's value.
37143func (s *ImportInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *ImportInstallationMediaOutput {
37144	s.FailureCause = v
37145	return s
37146}
37147
37148// SetInstallationMediaId sets the InstallationMediaId field's value.
37149func (s *ImportInstallationMediaOutput) SetInstallationMediaId(v string) *ImportInstallationMediaOutput {
37150	s.InstallationMediaId = &v
37151	return s
37152}
37153
37154// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
37155func (s *ImportInstallationMediaOutput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaOutput {
37156	s.OSInstallationMediaPath = &v
37157	return s
37158}
37159
37160// SetStatus sets the Status field's value.
37161func (s *ImportInstallationMediaOutput) SetStatus(v string) *ImportInstallationMediaOutput {
37162	s.Status = &v
37163	return s
37164}
37165
37166// Contains the installation media for a DB engine that requires an on-premises
37167// customer provided license, such as Microsoft SQL Server.
37168type InstallationMedia struct {
37169	_ struct{} `type:"structure"`
37170
37171	// The custom Availability Zone (AZ) that contains the installation media.
37172	CustomAvailabilityZoneId *string `type:"string"`
37173
37174	// The DB engine.
37175	Engine *string `type:"string"`
37176
37177	// The path to the installation medium for the DB engine.
37178	EngineInstallationMediaPath *string `type:"string"`
37179
37180	// The engine version of the DB engine.
37181	EngineVersion *string `type:"string"`
37182
37183	// If an installation media failure occurred, the cause of the failure.
37184	FailureCause *InstallationMediaFailureCause `type:"structure"`
37185
37186	// The installation medium ID.
37187	InstallationMediaId *string `type:"string"`
37188
37189	// The path to the installation medium for the operating system associated with
37190	// the DB engine.
37191	OSInstallationMediaPath *string `type:"string"`
37192
37193	// The status of the installation medium.
37194	Status *string `type:"string"`
37195}
37196
37197// String returns the string representation.
37198//
37199// API parameter values that are decorated as "sensitive" in the API will not
37200// be included in the string output. The member name will be present, but the
37201// value will be replaced with "sensitive".
37202func (s InstallationMedia) String() string {
37203	return awsutil.Prettify(s)
37204}
37205
37206// GoString returns the string representation.
37207//
37208// API parameter values that are decorated as "sensitive" in the API will not
37209// be included in the string output. The member name will be present, but the
37210// value will be replaced with "sensitive".
37211func (s InstallationMedia) GoString() string {
37212	return s.String()
37213}
37214
37215// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
37216func (s *InstallationMedia) SetCustomAvailabilityZoneId(v string) *InstallationMedia {
37217	s.CustomAvailabilityZoneId = &v
37218	return s
37219}
37220
37221// SetEngine sets the Engine field's value.
37222func (s *InstallationMedia) SetEngine(v string) *InstallationMedia {
37223	s.Engine = &v
37224	return s
37225}
37226
37227// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
37228func (s *InstallationMedia) SetEngineInstallationMediaPath(v string) *InstallationMedia {
37229	s.EngineInstallationMediaPath = &v
37230	return s
37231}
37232
37233// SetEngineVersion sets the EngineVersion field's value.
37234func (s *InstallationMedia) SetEngineVersion(v string) *InstallationMedia {
37235	s.EngineVersion = &v
37236	return s
37237}
37238
37239// SetFailureCause sets the FailureCause field's value.
37240func (s *InstallationMedia) SetFailureCause(v *InstallationMediaFailureCause) *InstallationMedia {
37241	s.FailureCause = v
37242	return s
37243}
37244
37245// SetInstallationMediaId sets the InstallationMediaId field's value.
37246func (s *InstallationMedia) SetInstallationMediaId(v string) *InstallationMedia {
37247	s.InstallationMediaId = &v
37248	return s
37249}
37250
37251// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
37252func (s *InstallationMedia) SetOSInstallationMediaPath(v string) *InstallationMedia {
37253	s.OSInstallationMediaPath = &v
37254	return s
37255}
37256
37257// SetStatus sets the Status field's value.
37258func (s *InstallationMedia) SetStatus(v string) *InstallationMedia {
37259	s.Status = &v
37260	return s
37261}
37262
37263// Contains the cause of an installation media failure. Installation media is
37264// used for a DB engine that requires an on-premises customer provided license,
37265// such as Microsoft SQL Server.
37266type InstallationMediaFailureCause struct {
37267	_ struct{} `type:"structure"`
37268
37269	// The reason that an installation media import failed.
37270	Message *string `type:"string"`
37271}
37272
37273// String returns the string representation.
37274//
37275// API parameter values that are decorated as "sensitive" in the API will not
37276// be included in the string output. The member name will be present, but the
37277// value will be replaced with "sensitive".
37278func (s InstallationMediaFailureCause) String() string {
37279	return awsutil.Prettify(s)
37280}
37281
37282// GoString returns the string representation.
37283//
37284// API parameter values that are decorated as "sensitive" in the API will not
37285// be included in the string output. The member name will be present, but the
37286// value will be replaced with "sensitive".
37287func (s InstallationMediaFailureCause) GoString() string {
37288	return s.String()
37289}
37290
37291// SetMessage sets the Message field's value.
37292func (s *InstallationMediaFailureCause) SetMessage(v string) *InstallationMediaFailureCause {
37293	s.Message = &v
37294	return s
37295}
37296
37297type ListTagsForResourceInput struct {
37298	_ struct{} `type:"structure"`
37299
37300	// This parameter isn't currently supported.
37301	Filters []*Filter `locationNameList:"Filter" type:"list"`
37302
37303	// The Amazon RDS resource with tags to be listed. This value is an Amazon Resource
37304	// Name (ARN). For information about creating an ARN, see Constructing an ARN
37305	// for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
37306	// in the Amazon RDS User Guide.
37307	//
37308	// ResourceName is a required field
37309	ResourceName *string `type:"string" required:"true"`
37310}
37311
37312// String returns the string representation.
37313//
37314// API parameter values that are decorated as "sensitive" in the API will not
37315// be included in the string output. The member name will be present, but the
37316// value will be replaced with "sensitive".
37317func (s ListTagsForResourceInput) String() string {
37318	return awsutil.Prettify(s)
37319}
37320
37321// GoString returns the string representation.
37322//
37323// API parameter values that are decorated as "sensitive" in the API will not
37324// be included in the string output. The member name will be present, but the
37325// value will be replaced with "sensitive".
37326func (s ListTagsForResourceInput) GoString() string {
37327	return s.String()
37328}
37329
37330// Validate inspects the fields of the type to determine if they are valid.
37331func (s *ListTagsForResourceInput) Validate() error {
37332	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
37333	if s.ResourceName == nil {
37334		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
37335	}
37336	if s.Filters != nil {
37337		for i, v := range s.Filters {
37338			if v == nil {
37339				continue
37340			}
37341			if err := v.Validate(); err != nil {
37342				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
37343			}
37344		}
37345	}
37346
37347	if invalidParams.Len() > 0 {
37348		return invalidParams
37349	}
37350	return nil
37351}
37352
37353// SetFilters sets the Filters field's value.
37354func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
37355	s.Filters = v
37356	return s
37357}
37358
37359// SetResourceName sets the ResourceName field's value.
37360func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
37361	s.ResourceName = &v
37362	return s
37363}
37364
37365type ListTagsForResourceOutput struct {
37366	_ struct{} `type:"structure"`
37367
37368	// List of tags returned by the ListTagsForResource operation.
37369	TagList []*Tag `locationNameList:"Tag" type:"list"`
37370}
37371
37372// String returns the string representation.
37373//
37374// API parameter values that are decorated as "sensitive" in the API will not
37375// be included in the string output. The member name will be present, but the
37376// value will be replaced with "sensitive".
37377func (s ListTagsForResourceOutput) String() string {
37378	return awsutil.Prettify(s)
37379}
37380
37381// GoString returns the string representation.
37382//
37383// API parameter values that are decorated as "sensitive" in the API will not
37384// be included in the string output. The member name will be present, but the
37385// value will be replaced with "sensitive".
37386func (s ListTagsForResourceOutput) GoString() string {
37387	return s.String()
37388}
37389
37390// SetTagList sets the TagList field's value.
37391func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
37392	s.TagList = v
37393	return s
37394}
37395
37396// The minimum DB engine version required for each corresponding allowed value
37397// for an option setting.
37398type MinimumEngineVersionPerAllowedValue struct {
37399	_ struct{} `type:"structure"`
37400
37401	// The allowed value for an option setting.
37402	AllowedValue *string `type:"string"`
37403
37404	// The minimum DB engine version required for the allowed value.
37405	MinimumEngineVersion *string `type:"string"`
37406}
37407
37408// String returns the string representation.
37409//
37410// API parameter values that are decorated as "sensitive" in the API will not
37411// be included in the string output. The member name will be present, but the
37412// value will be replaced with "sensitive".
37413func (s MinimumEngineVersionPerAllowedValue) String() string {
37414	return awsutil.Prettify(s)
37415}
37416
37417// GoString returns the string representation.
37418//
37419// API parameter values that are decorated as "sensitive" in the API will not
37420// be included in the string output. The member name will be present, but the
37421// value will be replaced with "sensitive".
37422func (s MinimumEngineVersionPerAllowedValue) GoString() string {
37423	return s.String()
37424}
37425
37426// SetAllowedValue sets the AllowedValue field's value.
37427func (s *MinimumEngineVersionPerAllowedValue) SetAllowedValue(v string) *MinimumEngineVersionPerAllowedValue {
37428	s.AllowedValue = &v
37429	return s
37430}
37431
37432// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
37433func (s *MinimumEngineVersionPerAllowedValue) SetMinimumEngineVersion(v string) *MinimumEngineVersionPerAllowedValue {
37434	s.MinimumEngineVersion = &v
37435	return s
37436}
37437
37438type ModifyCertificatesInput struct {
37439	_ struct{} `type:"structure"`
37440
37441	// The new default certificate identifier to override the current one with.
37442	//
37443	// To determine the valid values, use the describe-certificates CLI command
37444	// or the DescribeCertificates API operation.
37445	CertificateIdentifier *string `type:"string"`
37446
37447	// A value that indicates whether to remove the override for the default certificate.
37448	// If the override is removed, the default certificate is the system default.
37449	RemoveCustomerOverride *bool `type:"boolean"`
37450}
37451
37452// String returns the string representation.
37453//
37454// API parameter values that are decorated as "sensitive" in the API will not
37455// be included in the string output. The member name will be present, but the
37456// value will be replaced with "sensitive".
37457func (s ModifyCertificatesInput) String() string {
37458	return awsutil.Prettify(s)
37459}
37460
37461// GoString returns the string representation.
37462//
37463// API parameter values that are decorated as "sensitive" in the API will not
37464// be included in the string output. The member name will be present, but the
37465// value will be replaced with "sensitive".
37466func (s ModifyCertificatesInput) GoString() string {
37467	return s.String()
37468}
37469
37470// SetCertificateIdentifier sets the CertificateIdentifier field's value.
37471func (s *ModifyCertificatesInput) SetCertificateIdentifier(v string) *ModifyCertificatesInput {
37472	s.CertificateIdentifier = &v
37473	return s
37474}
37475
37476// SetRemoveCustomerOverride sets the RemoveCustomerOverride field's value.
37477func (s *ModifyCertificatesInput) SetRemoveCustomerOverride(v bool) *ModifyCertificatesInput {
37478	s.RemoveCustomerOverride = &v
37479	return s
37480}
37481
37482type ModifyCertificatesOutput struct {
37483	_ struct{} `type:"structure"`
37484
37485	// A CA certificate for an Amazon Web Services account.
37486	Certificate *Certificate `type:"structure"`
37487}
37488
37489// String returns the string representation.
37490//
37491// API parameter values that are decorated as "sensitive" in the API will not
37492// be included in the string output. The member name will be present, but the
37493// value will be replaced with "sensitive".
37494func (s ModifyCertificatesOutput) String() string {
37495	return awsutil.Prettify(s)
37496}
37497
37498// GoString returns the string representation.
37499//
37500// API parameter values that are decorated as "sensitive" in the API will not
37501// be included in the string output. The member name will be present, but the
37502// value will be replaced with "sensitive".
37503func (s ModifyCertificatesOutput) GoString() string {
37504	return s.String()
37505}
37506
37507// SetCertificate sets the Certificate field's value.
37508func (s *ModifyCertificatesOutput) SetCertificate(v *Certificate) *ModifyCertificatesOutput {
37509	s.Certificate = v
37510	return s
37511}
37512
37513type ModifyCurrentDBClusterCapacityInput struct {
37514	_ struct{} `type:"structure"`
37515
37516	// The DB cluster capacity.
37517	//
37518	// When you change the capacity of a paused Aurora Serverless DB cluster, it
37519	// automatically resumes.
37520	//
37521	// Constraints:
37522	//
37523	//    * For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64,
37524	//    128, and 256.
37525	//
37526	//    * For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64,
37527	//    192, and 384.
37528	Capacity *int64 `type:"integer"`
37529
37530	// The DB cluster identifier for the cluster being modified. This parameter
37531	// isn't case-sensitive.
37532	//
37533	// Constraints:
37534	//
37535	//    * Must match the identifier of an existing DB cluster.
37536	//
37537	// DBClusterIdentifier is a required field
37538	DBClusterIdentifier *string `type:"string" required:"true"`
37539
37540	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
37541	// point to perform seamless scaling before enforcing the timeout action. The
37542	// default is 300.
37543	//
37544	// Specify a value between 10 and 600 seconds.
37545	SecondsBeforeTimeout *int64 `type:"integer"`
37546
37547	// The action to take when the timeout is reached, either ForceApplyCapacityChange
37548	// or RollbackCapacityChange.
37549	//
37550	// ForceApplyCapacityChange, the default, sets the capacity to the specified
37551	// value as soon as possible.
37552	//
37553	// RollbackCapacityChange ignores the capacity change if a scaling point isn't
37554	// found in the timeout period.
37555	TimeoutAction *string `type:"string"`
37556}
37557
37558// String returns the string representation.
37559//
37560// API parameter values that are decorated as "sensitive" in the API will not
37561// be included in the string output. The member name will be present, but the
37562// value will be replaced with "sensitive".
37563func (s ModifyCurrentDBClusterCapacityInput) String() string {
37564	return awsutil.Prettify(s)
37565}
37566
37567// GoString returns the string representation.
37568//
37569// API parameter values that are decorated as "sensitive" in the API will not
37570// be included in the string output. The member name will be present, but the
37571// value will be replaced with "sensitive".
37572func (s ModifyCurrentDBClusterCapacityInput) GoString() string {
37573	return s.String()
37574}
37575
37576// Validate inspects the fields of the type to determine if they are valid.
37577func (s *ModifyCurrentDBClusterCapacityInput) Validate() error {
37578	invalidParams := request.ErrInvalidParams{Context: "ModifyCurrentDBClusterCapacityInput"}
37579	if s.DBClusterIdentifier == nil {
37580		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
37581	}
37582
37583	if invalidParams.Len() > 0 {
37584		return invalidParams
37585	}
37586	return nil
37587}
37588
37589// SetCapacity sets the Capacity field's value.
37590func (s *ModifyCurrentDBClusterCapacityInput) SetCapacity(v int64) *ModifyCurrentDBClusterCapacityInput {
37591	s.Capacity = &v
37592	return s
37593}
37594
37595// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37596func (s *ModifyCurrentDBClusterCapacityInput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityInput {
37597	s.DBClusterIdentifier = &v
37598	return s
37599}
37600
37601// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
37602func (s *ModifyCurrentDBClusterCapacityInput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityInput {
37603	s.SecondsBeforeTimeout = &v
37604	return s
37605}
37606
37607// SetTimeoutAction sets the TimeoutAction field's value.
37608func (s *ModifyCurrentDBClusterCapacityInput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityInput {
37609	s.TimeoutAction = &v
37610	return s
37611}
37612
37613type ModifyCurrentDBClusterCapacityOutput struct {
37614	_ struct{} `type:"structure"`
37615
37616	// The current capacity of the DB cluster.
37617	CurrentCapacity *int64 `type:"integer"`
37618
37619	// A user-supplied DB cluster identifier. This identifier is the unique key
37620	// that identifies a DB cluster.
37621	DBClusterIdentifier *string `type:"string"`
37622
37623	// A value that specifies the capacity that the DB cluster scales to next.
37624	PendingCapacity *int64 `type:"integer"`
37625
37626	// The number of seconds before a call to ModifyCurrentDBClusterCapacity times
37627	// out.
37628	SecondsBeforeTimeout *int64 `type:"integer"`
37629
37630	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
37631	// or RollbackCapacityChange.
37632	TimeoutAction *string `type:"string"`
37633}
37634
37635// String returns the string representation.
37636//
37637// API parameter values that are decorated as "sensitive" in the API will not
37638// be included in the string output. The member name will be present, but the
37639// value will be replaced with "sensitive".
37640func (s ModifyCurrentDBClusterCapacityOutput) String() string {
37641	return awsutil.Prettify(s)
37642}
37643
37644// GoString returns the string representation.
37645//
37646// API parameter values that are decorated as "sensitive" in the API will not
37647// be included in the string output. The member name will be present, but the
37648// value will be replaced with "sensitive".
37649func (s ModifyCurrentDBClusterCapacityOutput) GoString() string {
37650	return s.String()
37651}
37652
37653// SetCurrentCapacity sets the CurrentCapacity field's value.
37654func (s *ModifyCurrentDBClusterCapacityOutput) SetCurrentCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
37655	s.CurrentCapacity = &v
37656	return s
37657}
37658
37659// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37660func (s *ModifyCurrentDBClusterCapacityOutput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityOutput {
37661	s.DBClusterIdentifier = &v
37662	return s
37663}
37664
37665// SetPendingCapacity sets the PendingCapacity field's value.
37666func (s *ModifyCurrentDBClusterCapacityOutput) SetPendingCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
37667	s.PendingCapacity = &v
37668	return s
37669}
37670
37671// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
37672func (s *ModifyCurrentDBClusterCapacityOutput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityOutput {
37673	s.SecondsBeforeTimeout = &v
37674	return s
37675}
37676
37677// SetTimeoutAction sets the TimeoutAction field's value.
37678func (s *ModifyCurrentDBClusterCapacityOutput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityOutput {
37679	s.TimeoutAction = &v
37680	return s
37681}
37682
37683type ModifyCustomDBEngineVersionInput struct {
37684	_ struct{} `type:"structure"`
37685
37686	// An optional description of your CEV.
37687	Description *string `min:"1" type:"string"`
37688
37689	// The DB engine. The only supported value is custom-oracle-ee.
37690	//
37691	// Engine is a required field
37692	Engine *string `min:"1" type:"string" required:"true"`
37693
37694	// The custom engine version (CEV) that you want to modify. This option is required
37695	// for RDS Custom, but optional for Amazon RDS. The combination of Engine and
37696	// EngineVersion is unique per customer per Amazon Web Services Region.
37697	//
37698	// EngineVersion is a required field
37699	EngineVersion *string `min:"1" type:"string" required:"true"`
37700
37701	// The availability status to be assigned to the CEV. Valid values are as follows:
37702	//
37703	// available
37704	//
37705	// You can use this CEV to create a new RDS Custom DB instance.
37706	//
37707	// inactive
37708	//
37709	// You can create a new RDS Custom instance by restoring a DB snapshot with
37710	// this CEV. You can't patch or create new instances with this CEV.
37711	//
37712	// You can change any status to any status. A typical reason to change status
37713	// is to prevent the accidental use of a CEV, or to make a deprecated CEV eligible
37714	// for use again. For example, you might change the status of your CEV from
37715	// available to inactive, and from inactive back to available. To change the
37716	// availability status of the CEV, it must not currently be in use by an RDS
37717	// Custom instance, snapshot, or automated backup.
37718	Status *string `type:"string" enum:"CustomEngineVersionStatus"`
37719}
37720
37721// String returns the string representation.
37722//
37723// API parameter values that are decorated as "sensitive" in the API will not
37724// be included in the string output. The member name will be present, but the
37725// value will be replaced with "sensitive".
37726func (s ModifyCustomDBEngineVersionInput) String() string {
37727	return awsutil.Prettify(s)
37728}
37729
37730// GoString returns the string representation.
37731//
37732// API parameter values that are decorated as "sensitive" in the API will not
37733// be included in the string output. The member name will be present, but the
37734// value will be replaced with "sensitive".
37735func (s ModifyCustomDBEngineVersionInput) GoString() string {
37736	return s.String()
37737}
37738
37739// Validate inspects the fields of the type to determine if they are valid.
37740func (s *ModifyCustomDBEngineVersionInput) Validate() error {
37741	invalidParams := request.ErrInvalidParams{Context: "ModifyCustomDBEngineVersionInput"}
37742	if s.Description != nil && len(*s.Description) < 1 {
37743		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
37744	}
37745	if s.Engine == nil {
37746		invalidParams.Add(request.NewErrParamRequired("Engine"))
37747	}
37748	if s.Engine != nil && len(*s.Engine) < 1 {
37749		invalidParams.Add(request.NewErrParamMinLen("Engine", 1))
37750	}
37751	if s.EngineVersion == nil {
37752		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
37753	}
37754	if s.EngineVersion != nil && len(*s.EngineVersion) < 1 {
37755		invalidParams.Add(request.NewErrParamMinLen("EngineVersion", 1))
37756	}
37757
37758	if invalidParams.Len() > 0 {
37759		return invalidParams
37760	}
37761	return nil
37762}
37763
37764// SetDescription sets the Description field's value.
37765func (s *ModifyCustomDBEngineVersionInput) SetDescription(v string) *ModifyCustomDBEngineVersionInput {
37766	s.Description = &v
37767	return s
37768}
37769
37770// SetEngine sets the Engine field's value.
37771func (s *ModifyCustomDBEngineVersionInput) SetEngine(v string) *ModifyCustomDBEngineVersionInput {
37772	s.Engine = &v
37773	return s
37774}
37775
37776// SetEngineVersion sets the EngineVersion field's value.
37777func (s *ModifyCustomDBEngineVersionInput) SetEngineVersion(v string) *ModifyCustomDBEngineVersionInput {
37778	s.EngineVersion = &v
37779	return s
37780}
37781
37782// SetStatus sets the Status field's value.
37783func (s *ModifyCustomDBEngineVersionInput) SetStatus(v string) *ModifyCustomDBEngineVersionInput {
37784	s.Status = &v
37785	return s
37786}
37787
37788// This data type is used as a response element in the action DescribeDBEngineVersions.
37789type ModifyCustomDBEngineVersionOutput struct {
37790	_ struct{} `type:"structure"`
37791
37792	// The creation time of the DB engine version.
37793	CreateTime *time.Time `type:"timestamp"`
37794
37795	// The description of the database engine.
37796	DBEngineDescription *string `type:"string"`
37797
37798	// The ARN of the custom engine version.
37799	DBEngineVersionArn *string `type:"string"`
37800
37801	// The description of the database engine version.
37802	DBEngineVersionDescription *string `type:"string"`
37803
37804	// The name of the DB parameter group family for the database engine.
37805	DBParameterGroupFamily *string `type:"string"`
37806
37807	// The name of the Amazon S3 bucket that contains your database installation
37808	// files.
37809	DatabaseInstallationFilesS3BucketName *string `type:"string"`
37810
37811	// The Amazon S3 directory that contains the database installation files. If
37812	// not specified, then no prefix is assumed.
37813	DatabaseInstallationFilesS3Prefix *string `type:"string"`
37814
37815	// The default character set for new instances of this engine version, if the
37816	// CharacterSetName parameter of the CreateDBInstance API isn't specified.
37817	DefaultCharacterSet *CharacterSet `type:"structure"`
37818
37819	// The name of the database engine.
37820	Engine *string `type:"string"`
37821
37822	// The version number of the database engine.
37823	EngineVersion *string `type:"string"`
37824
37825	// The types of logs that the database engine has available for export to CloudWatch
37826	// Logs.
37827	ExportableLogTypes []*string `type:"list"`
37828
37829	// The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter
37830	// is required for RDS Custom, but optional for Amazon RDS.
37831	KMSKeyId *string `type:"string"`
37832
37833	// The major engine version of the CEV.
37834	MajorEngineVersion *string `type:"string"`
37835
37836	// The status of the DB engine version, either available or deprecated.
37837	Status *string `type:"string"`
37838
37839	// A list of the character sets supported by this engine for the CharacterSetName
37840	// parameter of the CreateDBInstance operation.
37841	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
37842
37843	// A list of the supported DB engine modes.
37844	SupportedEngineModes []*string `type:"list"`
37845
37846	// A list of features supported by the DB engine.
37847	//
37848	// The supported features vary by DB engine and DB engine version.
37849	//
37850	// To determine the supported features for a specific DB engine and DB engine
37851	// version using the CLI, use the following command:
37852	//
37853	// aws rds describe-db-engine-versions --engine <engine_name> --engine-version
37854	// <engine_version>
37855	//
37856	// For example, to determine the supported features for RDS for PostgreSQL version
37857	// 13.3 using the CLI, use the following command:
37858	//
37859	// aws rds describe-db-engine-versions --engine postgres --engine-version 13.3
37860	//
37861	// The supported features are listed under SupportedFeatureNames in the output.
37862	SupportedFeatureNames []*string `type:"list"`
37863
37864	// A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName
37865	// parameter of the CreateDBInstance operation.
37866	SupportedNcharCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
37867
37868	// A list of the time zones supported by this engine for the Timezone parameter
37869	// of the CreateDBInstance action.
37870	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
37871
37872	// A value that indicates whether you can use Aurora global databases with a
37873	// specific DB engine version.
37874	SupportsGlobalDatabases *bool `type:"boolean"`
37875
37876	// A value that indicates whether the engine version supports exporting the
37877	// log types specified by ExportableLogTypes to CloudWatch Logs.
37878	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
37879
37880	// A value that indicates whether you can use Aurora parallel query with a specific
37881	// DB engine version.
37882	SupportsParallelQuery *bool `type:"boolean"`
37883
37884	// Indicates whether the database engine version supports read replicas.
37885	SupportsReadReplica *bool `type:"boolean"`
37886
37887	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
37888	// in the Amazon RDS User Guide.
37889	TagList []*Tag `locationNameList:"Tag" type:"list"`
37890
37891	// A list of engine versions that this database engine version can be upgraded
37892	// to.
37893	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
37894}
37895
37896// String returns the string representation.
37897//
37898// API parameter values that are decorated as "sensitive" in the API will not
37899// be included in the string output. The member name will be present, but the
37900// value will be replaced with "sensitive".
37901func (s ModifyCustomDBEngineVersionOutput) String() string {
37902	return awsutil.Prettify(s)
37903}
37904
37905// GoString returns the string representation.
37906//
37907// API parameter values that are decorated as "sensitive" in the API will not
37908// be included in the string output. The member name will be present, but the
37909// value will be replaced with "sensitive".
37910func (s ModifyCustomDBEngineVersionOutput) GoString() string {
37911	return s.String()
37912}
37913
37914// SetCreateTime sets the CreateTime field's value.
37915func (s *ModifyCustomDBEngineVersionOutput) SetCreateTime(v time.Time) *ModifyCustomDBEngineVersionOutput {
37916	s.CreateTime = &v
37917	return s
37918}
37919
37920// SetDBEngineDescription sets the DBEngineDescription field's value.
37921func (s *ModifyCustomDBEngineVersionOutput) SetDBEngineDescription(v string) *ModifyCustomDBEngineVersionOutput {
37922	s.DBEngineDescription = &v
37923	return s
37924}
37925
37926// SetDBEngineVersionArn sets the DBEngineVersionArn field's value.
37927func (s *ModifyCustomDBEngineVersionOutput) SetDBEngineVersionArn(v string) *ModifyCustomDBEngineVersionOutput {
37928	s.DBEngineVersionArn = &v
37929	return s
37930}
37931
37932// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
37933func (s *ModifyCustomDBEngineVersionOutput) SetDBEngineVersionDescription(v string) *ModifyCustomDBEngineVersionOutput {
37934	s.DBEngineVersionDescription = &v
37935	return s
37936}
37937
37938// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
37939func (s *ModifyCustomDBEngineVersionOutput) SetDBParameterGroupFamily(v string) *ModifyCustomDBEngineVersionOutput {
37940	s.DBParameterGroupFamily = &v
37941	return s
37942}
37943
37944// SetDatabaseInstallationFilesS3BucketName sets the DatabaseInstallationFilesS3BucketName field's value.
37945func (s *ModifyCustomDBEngineVersionOutput) SetDatabaseInstallationFilesS3BucketName(v string) *ModifyCustomDBEngineVersionOutput {
37946	s.DatabaseInstallationFilesS3BucketName = &v
37947	return s
37948}
37949
37950// SetDatabaseInstallationFilesS3Prefix sets the DatabaseInstallationFilesS3Prefix field's value.
37951func (s *ModifyCustomDBEngineVersionOutput) SetDatabaseInstallationFilesS3Prefix(v string) *ModifyCustomDBEngineVersionOutput {
37952	s.DatabaseInstallationFilesS3Prefix = &v
37953	return s
37954}
37955
37956// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
37957func (s *ModifyCustomDBEngineVersionOutput) SetDefaultCharacterSet(v *CharacterSet) *ModifyCustomDBEngineVersionOutput {
37958	s.DefaultCharacterSet = v
37959	return s
37960}
37961
37962// SetEngine sets the Engine field's value.
37963func (s *ModifyCustomDBEngineVersionOutput) SetEngine(v string) *ModifyCustomDBEngineVersionOutput {
37964	s.Engine = &v
37965	return s
37966}
37967
37968// SetEngineVersion sets the EngineVersion field's value.
37969func (s *ModifyCustomDBEngineVersionOutput) SetEngineVersion(v string) *ModifyCustomDBEngineVersionOutput {
37970	s.EngineVersion = &v
37971	return s
37972}
37973
37974// SetExportableLogTypes sets the ExportableLogTypes field's value.
37975func (s *ModifyCustomDBEngineVersionOutput) SetExportableLogTypes(v []*string) *ModifyCustomDBEngineVersionOutput {
37976	s.ExportableLogTypes = v
37977	return s
37978}
37979
37980// SetKMSKeyId sets the KMSKeyId field's value.
37981func (s *ModifyCustomDBEngineVersionOutput) SetKMSKeyId(v string) *ModifyCustomDBEngineVersionOutput {
37982	s.KMSKeyId = &v
37983	return s
37984}
37985
37986// SetMajorEngineVersion sets the MajorEngineVersion field's value.
37987func (s *ModifyCustomDBEngineVersionOutput) SetMajorEngineVersion(v string) *ModifyCustomDBEngineVersionOutput {
37988	s.MajorEngineVersion = &v
37989	return s
37990}
37991
37992// SetStatus sets the Status field's value.
37993func (s *ModifyCustomDBEngineVersionOutput) SetStatus(v string) *ModifyCustomDBEngineVersionOutput {
37994	s.Status = &v
37995	return s
37996}
37997
37998// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
37999func (s *ModifyCustomDBEngineVersionOutput) SetSupportedCharacterSets(v []*CharacterSet) *ModifyCustomDBEngineVersionOutput {
38000	s.SupportedCharacterSets = v
38001	return s
38002}
38003
38004// SetSupportedEngineModes sets the SupportedEngineModes field's value.
38005func (s *ModifyCustomDBEngineVersionOutput) SetSupportedEngineModes(v []*string) *ModifyCustomDBEngineVersionOutput {
38006	s.SupportedEngineModes = v
38007	return s
38008}
38009
38010// SetSupportedFeatureNames sets the SupportedFeatureNames field's value.
38011func (s *ModifyCustomDBEngineVersionOutput) SetSupportedFeatureNames(v []*string) *ModifyCustomDBEngineVersionOutput {
38012	s.SupportedFeatureNames = v
38013	return s
38014}
38015
38016// SetSupportedNcharCharacterSets sets the SupportedNcharCharacterSets field's value.
38017func (s *ModifyCustomDBEngineVersionOutput) SetSupportedNcharCharacterSets(v []*CharacterSet) *ModifyCustomDBEngineVersionOutput {
38018	s.SupportedNcharCharacterSets = v
38019	return s
38020}
38021
38022// SetSupportedTimezones sets the SupportedTimezones field's value.
38023func (s *ModifyCustomDBEngineVersionOutput) SetSupportedTimezones(v []*Timezone) *ModifyCustomDBEngineVersionOutput {
38024	s.SupportedTimezones = v
38025	return s
38026}
38027
38028// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
38029func (s *ModifyCustomDBEngineVersionOutput) SetSupportsGlobalDatabases(v bool) *ModifyCustomDBEngineVersionOutput {
38030	s.SupportsGlobalDatabases = &v
38031	return s
38032}
38033
38034// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
38035func (s *ModifyCustomDBEngineVersionOutput) SetSupportsLogExportsToCloudwatchLogs(v bool) *ModifyCustomDBEngineVersionOutput {
38036	s.SupportsLogExportsToCloudwatchLogs = &v
38037	return s
38038}
38039
38040// SetSupportsParallelQuery sets the SupportsParallelQuery field's value.
38041func (s *ModifyCustomDBEngineVersionOutput) SetSupportsParallelQuery(v bool) *ModifyCustomDBEngineVersionOutput {
38042	s.SupportsParallelQuery = &v
38043	return s
38044}
38045
38046// SetSupportsReadReplica sets the SupportsReadReplica field's value.
38047func (s *ModifyCustomDBEngineVersionOutput) SetSupportsReadReplica(v bool) *ModifyCustomDBEngineVersionOutput {
38048	s.SupportsReadReplica = &v
38049	return s
38050}
38051
38052// SetTagList sets the TagList field's value.
38053func (s *ModifyCustomDBEngineVersionOutput) SetTagList(v []*Tag) *ModifyCustomDBEngineVersionOutput {
38054	s.TagList = v
38055	return s
38056}
38057
38058// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
38059func (s *ModifyCustomDBEngineVersionOutput) SetValidUpgradeTarget(v []*UpgradeTarget) *ModifyCustomDBEngineVersionOutput {
38060	s.ValidUpgradeTarget = v
38061	return s
38062}
38063
38064type ModifyDBClusterEndpointInput struct {
38065	_ struct{} `type:"structure"`
38066
38067	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
38068	// string.
38069	//
38070	// DBClusterEndpointIdentifier is a required field
38071	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
38072
38073	// The type of the endpoint. One of: READER, WRITER, ANY.
38074	EndpointType *string `type:"string"`
38075
38076	// List of DB instance identifiers that aren't part of the custom endpoint group.
38077	// All other eligible instances are reachable through the custom endpoint. Only
38078	// relevant if the list of static members is empty.
38079	ExcludedMembers []*string `type:"list"`
38080
38081	// List of DB instance identifiers that are part of the custom endpoint group.
38082	StaticMembers []*string `type:"list"`
38083}
38084
38085// String returns the string representation.
38086//
38087// API parameter values that are decorated as "sensitive" in the API will not
38088// be included in the string output. The member name will be present, but the
38089// value will be replaced with "sensitive".
38090func (s ModifyDBClusterEndpointInput) String() string {
38091	return awsutil.Prettify(s)
38092}
38093
38094// GoString returns the string representation.
38095//
38096// API parameter values that are decorated as "sensitive" in the API will not
38097// be included in the string output. The member name will be present, but the
38098// value will be replaced with "sensitive".
38099func (s ModifyDBClusterEndpointInput) GoString() string {
38100	return s.String()
38101}
38102
38103// Validate inspects the fields of the type to determine if they are valid.
38104func (s *ModifyDBClusterEndpointInput) Validate() error {
38105	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
38106	if s.DBClusterEndpointIdentifier == nil {
38107		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
38108	}
38109
38110	if invalidParams.Len() > 0 {
38111		return invalidParams
38112	}
38113	return nil
38114}
38115
38116// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
38117func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
38118	s.DBClusterEndpointIdentifier = &v
38119	return s
38120}
38121
38122// SetEndpointType sets the EndpointType field's value.
38123func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
38124	s.EndpointType = &v
38125	return s
38126}
38127
38128// SetExcludedMembers sets the ExcludedMembers field's value.
38129func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
38130	s.ExcludedMembers = v
38131	return s
38132}
38133
38134// SetStaticMembers sets the StaticMembers field's value.
38135func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
38136	s.StaticMembers = v
38137	return s
38138}
38139
38140// This data type represents the information you need to connect to an Amazon
38141// Aurora DB cluster. This data type is used as a response element in the following
38142// actions:
38143//
38144//    * CreateDBClusterEndpoint
38145//
38146//    * DescribeDBClusterEndpoints
38147//
38148//    * ModifyDBClusterEndpoint
38149//
38150//    * DeleteDBClusterEndpoint
38151//
38152// For the data structure that represents Amazon RDS DB instance endpoints,
38153// see Endpoint.
38154type ModifyDBClusterEndpointOutput struct {
38155	_ struct{} `type:"structure"`
38156
38157	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
38158	CustomEndpointType *string `type:"string"`
38159
38160	// The Amazon Resource Name (ARN) for the endpoint.
38161	DBClusterEndpointArn *string `type:"string"`
38162
38163	// The identifier associated with the endpoint. This parameter is stored as
38164	// a lowercase string.
38165	DBClusterEndpointIdentifier *string `type:"string"`
38166
38167	// A unique system-generated identifier for an endpoint. It remains the same
38168	// for the whole life of the endpoint.
38169	DBClusterEndpointResourceIdentifier *string `type:"string"`
38170
38171	// The DB cluster identifier of the DB cluster associated with the endpoint.
38172	// This parameter is stored as a lowercase string.
38173	DBClusterIdentifier *string `type:"string"`
38174
38175	// The DNS address of the endpoint.
38176	Endpoint *string `type:"string"`
38177
38178	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
38179	EndpointType *string `type:"string"`
38180
38181	// List of DB instance identifiers that aren't part of the custom endpoint group.
38182	// All other eligible instances are reachable through the custom endpoint. Only
38183	// relevant if the list of static members is empty.
38184	ExcludedMembers []*string `type:"list"`
38185
38186	// List of DB instance identifiers that are part of the custom endpoint group.
38187	StaticMembers []*string `type:"list"`
38188
38189	// The current status of the endpoint. One of: creating, available, deleting,
38190	// inactive, modifying. The inactive state applies to an endpoint that can't
38191	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
38192	// secondary cluster in a global database.
38193	Status *string `type:"string"`
38194}
38195
38196// String returns the string representation.
38197//
38198// API parameter values that are decorated as "sensitive" in the API will not
38199// be included in the string output. The member name will be present, but the
38200// value will be replaced with "sensitive".
38201func (s ModifyDBClusterEndpointOutput) String() string {
38202	return awsutil.Prettify(s)
38203}
38204
38205// GoString returns the string representation.
38206//
38207// API parameter values that are decorated as "sensitive" in the API will not
38208// be included in the string output. The member name will be present, but the
38209// value will be replaced with "sensitive".
38210func (s ModifyDBClusterEndpointOutput) GoString() string {
38211	return s.String()
38212}
38213
38214// SetCustomEndpointType sets the CustomEndpointType field's value.
38215func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
38216	s.CustomEndpointType = &v
38217	return s
38218}
38219
38220// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
38221func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
38222	s.DBClusterEndpointArn = &v
38223	return s
38224}
38225
38226// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
38227func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
38228	s.DBClusterEndpointIdentifier = &v
38229	return s
38230}
38231
38232// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
38233func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
38234	s.DBClusterEndpointResourceIdentifier = &v
38235	return s
38236}
38237
38238// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
38239func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
38240	s.DBClusterIdentifier = &v
38241	return s
38242}
38243
38244// SetEndpoint sets the Endpoint field's value.
38245func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
38246	s.Endpoint = &v
38247	return s
38248}
38249
38250// SetEndpointType sets the EndpointType field's value.
38251func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
38252	s.EndpointType = &v
38253	return s
38254}
38255
38256// SetExcludedMembers sets the ExcludedMembers field's value.
38257func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
38258	s.ExcludedMembers = v
38259	return s
38260}
38261
38262// SetStaticMembers sets the StaticMembers field's value.
38263func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
38264	s.StaticMembers = v
38265	return s
38266}
38267
38268// SetStatus sets the Status field's value.
38269func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
38270	s.Status = &v
38271	return s
38272}
38273
38274type ModifyDBClusterInput struct {
38275	_ struct{} `type:"structure"`
38276
38277	// A value that indicates whether major version upgrades are allowed.
38278	//
38279	// Constraints: You must allow major version upgrades when specifying a value
38280	// for the EngineVersion parameter that is a different major version than the
38281	// DB cluster's current version.
38282	AllowMajorVersionUpgrade *bool `type:"boolean"`
38283
38284	// A value that indicates whether the modifications in this request and any
38285	// pending modifications are asynchronously applied as soon as possible, regardless
38286	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
38287	// is disabled, changes to the DB cluster are applied during the next maintenance
38288	// window.
38289	//
38290	// The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication,
38291	// MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately
38292	// parameter is disabled, then changes to the EnableIAMDatabaseAuthentication,
38293	// MasterUserPassword, and NewDBClusterIdentifier values are applied during
38294	// the next maintenance window. All other changes are applied immediately, regardless
38295	// of the value of the ApplyImmediately parameter.
38296	//
38297	// By default, this parameter is disabled.
38298	ApplyImmediately *bool `type:"boolean"`
38299
38300	// The target backtrack window, in seconds. To disable backtracking, set this
38301	// value to 0.
38302	//
38303	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
38304	//
38305	// Default: 0
38306	//
38307	// Constraints:
38308	//
38309	//    * If specified, this value must be set to a number from 0 to 259,200 (72
38310	//    hours).
38311	BacktrackWindow *int64 `type:"long"`
38312
38313	// The number of days for which automated backups are retained. You must specify
38314	// a minimum value of 1.
38315	//
38316	// Default: 1
38317	//
38318	// Constraints:
38319	//
38320	//    * Must be a value from 1 to 35
38321	BackupRetentionPeriod *int64 `type:"integer"`
38322
38323	// The configuration setting for the log types to be enabled for export to CloudWatch
38324	// Logs for a specific DB cluster.
38325	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
38326
38327	// A value that indicates whether to copy all tags from the DB cluster to snapshots
38328	// of the DB cluster. The default is not to copy them.
38329	CopyTagsToSnapshot *bool `type:"boolean"`
38330
38331	// The DB cluster identifier for the cluster being modified. This parameter
38332	// isn't case-sensitive.
38333	//
38334	// Constraints: This identifier must match the identifier of an existing DB
38335	// cluster.
38336	//
38337	// DBClusterIdentifier is a required field
38338	DBClusterIdentifier *string `type:"string" required:"true"`
38339
38340	// The name of the DB cluster parameter group to use for the DB cluster.
38341	DBClusterParameterGroupName *string `type:"string"`
38342
38343	// The name of the DB parameter group to apply to all instances of the DB cluster.
38344	//
38345	// When you apply a parameter group using the DBInstanceParameterGroupName parameter,
38346	// the DB cluster isn't rebooted automatically. Also, parameter changes aren't
38347	// applied during the next maintenance window but instead are applied immediately.
38348	//
38349	// Default: The existing name setting
38350	//
38351	// Constraints:
38352	//
38353	//    * The DB parameter group must be in the same DB parameter group family
38354	//    as this DB cluster.
38355	//
38356	//    * The DBInstanceParameterGroupName parameter is only valid in combination
38357	//    with the AllowMajorVersionUpgrade parameter.
38358	DBInstanceParameterGroupName *string `type:"string"`
38359
38360	// A value that indicates whether the DB cluster has deletion protection enabled.
38361	// The database can't be deleted when deletion protection is enabled. By default,
38362	// deletion protection is disabled.
38363	DeletionProtection *bool `type:"boolean"`
38364
38365	// The Active Directory directory ID to move the DB cluster to. Specify none
38366	// to remove the cluster from its current domain. The domain must be created
38367	// prior to this operation.
38368	//
38369	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
38370	// in the Amazon Aurora User Guide.
38371	Domain *string `type:"string"`
38372
38373	// Specify the name of the IAM role to be used when making API calls to the
38374	// Directory Service.
38375	DomainIAMRoleName *string `type:"string"`
38376
38377	// A value that indicates whether to enable this DB cluster to forward write
38378	// operations to the primary cluster of an Aurora global database (GlobalCluster).
38379	// By default, write operations are not allowed on Aurora DB clusters that are
38380	// secondary clusters in an Aurora global database.
38381	//
38382	// You can set this value only on Aurora DB clusters that are members of an
38383	// Aurora global database. With this parameter enabled, a secondary cluster
38384	// can forward writes to the current primary cluster and the resulting changes
38385	// are replicated back to this cluster. For the primary DB cluster of an Aurora
38386	// global database, this value is used immediately if the primary is demoted
38387	// by the FailoverGlobalCluster API operation, but it does nothing until then.
38388	EnableGlobalWriteForwarding *bool `type:"boolean"`
38389
38390	// A value that indicates whether to enable the HTTP endpoint for an Aurora
38391	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
38392	//
38393	// When enabled, the HTTP endpoint provides a connectionless web service API
38394	// for running SQL queries on the Aurora Serverless DB cluster. You can also
38395	// query your database from inside the RDS console with the query editor.
38396	//
38397	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
38398	// in the Amazon Aurora User Guide.
38399	EnableHttpEndpoint *bool `type:"boolean"`
38400
38401	// A value that indicates whether to enable mapping of Amazon Web Services Identity
38402	// and Access Management (IAM) accounts to database accounts. By default, mapping
38403	// is disabled.
38404	//
38405	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
38406	// in the Amazon Aurora User Guide.
38407	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
38408
38409	// The version number of the database engine to which you want to upgrade. Changing
38410	// this parameter results in an outage. The change is applied during the next
38411	// maintenance window unless ApplyImmediately is enabled.
38412	//
38413	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
38414	// Aurora), use the following command:
38415	//
38416	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
38417	//
38418	// To list all of the available engine versions for aurora-mysql (for MySQL
38419	// 5.7-compatible Aurora), use the following command:
38420	//
38421	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
38422	//
38423	// To list all of the available engine versions for aurora-postgresql, use the
38424	// following command:
38425	//
38426	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
38427	EngineVersion *string `type:"string"`
38428
38429	// The new password for the master database user. This password can contain
38430	// any printable ASCII character except "/", """, or "@".
38431	//
38432	// Constraints: Must contain from 8 to 41 characters.
38433	MasterUserPassword *string `type:"string"`
38434
38435	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
38436	// This value is stored as a lowercase string.
38437	//
38438	// Constraints:
38439	//
38440	//    * Must contain from 1 to 63 letters, numbers, or hyphens
38441	//
38442	//    * The first character must be a letter
38443	//
38444	//    * Can't end with a hyphen or contain two consecutive hyphens
38445	//
38446	// Example: my-cluster2
38447	NewDBClusterIdentifier *string `type:"string"`
38448
38449	// A value that indicates that the DB cluster should be associated with the
38450	// specified option group. Changing this parameter doesn't result in an outage
38451	// except in the following case, and the change is applied during the next maintenance
38452	// window unless the ApplyImmediately is enabled for this request. If the parameter
38453	// change results in an option group that enables OEM, this change can cause
38454	// a brief (sub-second) period during which new connections are rejected but
38455	// existing connections are not interrupted.
38456	//
38457	// Permanent options can't be removed from an option group. The option group
38458	// can't be removed from a DB cluster once it is associated with a DB cluster.
38459	OptionGroupName *string `type:"string"`
38460
38461	// The port number on which the DB cluster accepts connections.
38462	//
38463	// Constraints: Value must be 1150-65535
38464	//
38465	// Default: The same port as the original DB cluster.
38466	Port *int64 `type:"integer"`
38467
38468	// The daily time range during which automated backups are created if automated
38469	// backups are enabled, using the BackupRetentionPeriod parameter.
38470	//
38471	// The default is a 30-minute window selected at random from an 8-hour block
38472	// of time for each Amazon Web Services Region. To view the time blocks available,
38473	// see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)
38474	// in the Amazon Aurora User Guide.
38475	//
38476	// Constraints:
38477	//
38478	//    * Must be in the format hh24:mi-hh24:mi.
38479	//
38480	//    * Must be in Universal Coordinated Time (UTC).
38481	//
38482	//    * Must not conflict with the preferred maintenance window.
38483	//
38484	//    * Must be at least 30 minutes.
38485	PreferredBackupWindow *string `type:"string"`
38486
38487	// The weekly time range during which system maintenance can occur, in Universal
38488	// Coordinated Time (UTC).
38489	//
38490	// Format: ddd:hh24:mi-ddd:hh24:mi
38491	//
38492	// The default is a 30-minute window selected at random from an 8-hour block
38493	// of time for each Amazon Web Services Region, occurring on a random day of
38494	// the week. To see the time blocks available, see Adjusting the Preferred DB
38495	// Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
38496	// in the Amazon Aurora User Guide.
38497	//
38498	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
38499	//
38500	// Constraints: Minimum 30-minute window.
38501	PreferredMaintenanceWindow *string `type:"string"`
38502
38503	// The scaling properties of the DB cluster. You can only modify scaling properties
38504	// for DB clusters in serverless DB engine mode.
38505	ScalingConfiguration *ScalingConfiguration `type:"structure"`
38506
38507	// A list of VPC security groups that the DB cluster will belong to.
38508	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38509}
38510
38511// String returns the string representation.
38512//
38513// API parameter values that are decorated as "sensitive" in the API will not
38514// be included in the string output. The member name will be present, but the
38515// value will be replaced with "sensitive".
38516func (s ModifyDBClusterInput) String() string {
38517	return awsutil.Prettify(s)
38518}
38519
38520// GoString returns the string representation.
38521//
38522// API parameter values that are decorated as "sensitive" in the API will not
38523// be included in the string output. The member name will be present, but the
38524// value will be replaced with "sensitive".
38525func (s ModifyDBClusterInput) GoString() string {
38526	return s.String()
38527}
38528
38529// Validate inspects the fields of the type to determine if they are valid.
38530func (s *ModifyDBClusterInput) Validate() error {
38531	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
38532	if s.DBClusterIdentifier == nil {
38533		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
38534	}
38535
38536	if invalidParams.Len() > 0 {
38537		return invalidParams
38538	}
38539	return nil
38540}
38541
38542// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
38543func (s *ModifyDBClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBClusterInput {
38544	s.AllowMajorVersionUpgrade = &v
38545	return s
38546}
38547
38548// SetApplyImmediately sets the ApplyImmediately field's value.
38549func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
38550	s.ApplyImmediately = &v
38551	return s
38552}
38553
38554// SetBacktrackWindow sets the BacktrackWindow field's value.
38555func (s *ModifyDBClusterInput) SetBacktrackWindow(v int64) *ModifyDBClusterInput {
38556	s.BacktrackWindow = &v
38557	return s
38558}
38559
38560// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
38561func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
38562	s.BackupRetentionPeriod = &v
38563	return s
38564}
38565
38566// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
38567func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
38568	s.CloudwatchLogsExportConfiguration = v
38569	return s
38570}
38571
38572// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38573func (s *ModifyDBClusterInput) SetCopyTagsToSnapshot(v bool) *ModifyDBClusterInput {
38574	s.CopyTagsToSnapshot = &v
38575	return s
38576}
38577
38578// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
38579func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
38580	s.DBClusterIdentifier = &v
38581	return s
38582}
38583
38584// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
38585func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
38586	s.DBClusterParameterGroupName = &v
38587	return s
38588}
38589
38590// SetDBInstanceParameterGroupName sets the DBInstanceParameterGroupName field's value.
38591func (s *ModifyDBClusterInput) SetDBInstanceParameterGroupName(v string) *ModifyDBClusterInput {
38592	s.DBInstanceParameterGroupName = &v
38593	return s
38594}
38595
38596// SetDeletionProtection sets the DeletionProtection field's value.
38597func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
38598	s.DeletionProtection = &v
38599	return s
38600}
38601
38602// SetDomain sets the Domain field's value.
38603func (s *ModifyDBClusterInput) SetDomain(v string) *ModifyDBClusterInput {
38604	s.Domain = &v
38605	return s
38606}
38607
38608// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
38609func (s *ModifyDBClusterInput) SetDomainIAMRoleName(v string) *ModifyDBClusterInput {
38610	s.DomainIAMRoleName = &v
38611	return s
38612}
38613
38614// SetEnableGlobalWriteForwarding sets the EnableGlobalWriteForwarding field's value.
38615func (s *ModifyDBClusterInput) SetEnableGlobalWriteForwarding(v bool) *ModifyDBClusterInput {
38616	s.EnableGlobalWriteForwarding = &v
38617	return s
38618}
38619
38620// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
38621func (s *ModifyDBClusterInput) SetEnableHttpEndpoint(v bool) *ModifyDBClusterInput {
38622	s.EnableHttpEndpoint = &v
38623	return s
38624}
38625
38626// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
38627func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
38628	s.EnableIAMDatabaseAuthentication = &v
38629	return s
38630}
38631
38632// SetEngineVersion sets the EngineVersion field's value.
38633func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
38634	s.EngineVersion = &v
38635	return s
38636}
38637
38638// SetMasterUserPassword sets the MasterUserPassword field's value.
38639func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
38640	s.MasterUserPassword = &v
38641	return s
38642}
38643
38644// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
38645func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
38646	s.NewDBClusterIdentifier = &v
38647	return s
38648}
38649
38650// SetOptionGroupName sets the OptionGroupName field's value.
38651func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
38652	s.OptionGroupName = &v
38653	return s
38654}
38655
38656// SetPort sets the Port field's value.
38657func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
38658	s.Port = &v
38659	return s
38660}
38661
38662// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
38663func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
38664	s.PreferredBackupWindow = &v
38665	return s
38666}
38667
38668// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
38669func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
38670	s.PreferredMaintenanceWindow = &v
38671	return s
38672}
38673
38674// SetScalingConfiguration sets the ScalingConfiguration field's value.
38675func (s *ModifyDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *ModifyDBClusterInput {
38676	s.ScalingConfiguration = v
38677	return s
38678}
38679
38680// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
38681func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
38682	s.VpcSecurityGroupIds = v
38683	return s
38684}
38685
38686type ModifyDBClusterOutput struct {
38687	_ struct{} `type:"structure"`
38688
38689	// Contains the details of an Amazon Aurora DB cluster.
38690	//
38691	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
38692	// and StartDBCluster actions.
38693	DBCluster *DBCluster `type:"structure"`
38694}
38695
38696// String returns the string representation.
38697//
38698// API parameter values that are decorated as "sensitive" in the API will not
38699// be included in the string output. The member name will be present, but the
38700// value will be replaced with "sensitive".
38701func (s ModifyDBClusterOutput) String() string {
38702	return awsutil.Prettify(s)
38703}
38704
38705// GoString returns the string representation.
38706//
38707// API parameter values that are decorated as "sensitive" in the API will not
38708// be included in the string output. The member name will be present, but the
38709// value will be replaced with "sensitive".
38710func (s ModifyDBClusterOutput) GoString() string {
38711	return s.String()
38712}
38713
38714// SetDBCluster sets the DBCluster field's value.
38715func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
38716	s.DBCluster = v
38717	return s
38718}
38719
38720type ModifyDBClusterParameterGroupInput struct {
38721	_ struct{} `type:"structure"`
38722
38723	// The name of the DB cluster parameter group to modify.
38724	//
38725	// DBClusterParameterGroupName is a required field
38726	DBClusterParameterGroupName *string `type:"string" required:"true"`
38727
38728	// A list of parameters in the DB cluster parameter group to modify.
38729	//
38730	// Valid Values (for the application method): immediate | pending-reboot
38731	//
38732	// You can use the immediate value with dynamic parameters only. You can use
38733	// the pending-reboot value for both dynamic and static parameters.
38734	//
38735	// When the application method is immediate, changes to dynamic parameters are
38736	// applied immediately to the DB clusters associated with the parameter group.
38737	// When the application method is pending-reboot, changes to dynamic and static
38738	// parameters are applied after a reboot without failover to the DB clusters
38739	// associated with the parameter group.
38740	//
38741	// Parameters is a required field
38742	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
38743}
38744
38745// String returns the string representation.
38746//
38747// API parameter values that are decorated as "sensitive" in the API will not
38748// be included in the string output. The member name will be present, but the
38749// value will be replaced with "sensitive".
38750func (s ModifyDBClusterParameterGroupInput) String() string {
38751	return awsutil.Prettify(s)
38752}
38753
38754// GoString returns the string representation.
38755//
38756// API parameter values that are decorated as "sensitive" in the API will not
38757// be included in the string output. The member name will be present, but the
38758// value will be replaced with "sensitive".
38759func (s ModifyDBClusterParameterGroupInput) GoString() string {
38760	return s.String()
38761}
38762
38763// Validate inspects the fields of the type to determine if they are valid.
38764func (s *ModifyDBClusterParameterGroupInput) Validate() error {
38765	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
38766	if s.DBClusterParameterGroupName == nil {
38767		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
38768	}
38769	if s.Parameters == nil {
38770		invalidParams.Add(request.NewErrParamRequired("Parameters"))
38771	}
38772
38773	if invalidParams.Len() > 0 {
38774		return invalidParams
38775	}
38776	return nil
38777}
38778
38779// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
38780func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
38781	s.DBClusterParameterGroupName = &v
38782	return s
38783}
38784
38785// SetParameters sets the Parameters field's value.
38786func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
38787	s.Parameters = v
38788	return s
38789}
38790
38791type ModifyDBClusterSnapshotAttributeInput struct {
38792	_ struct{} `type:"structure"`
38793
38794	// The name of the DB cluster snapshot attribute to modify.
38795	//
38796	// To manage authorization for other Amazon Web Services accounts to copy or
38797	// restore a manual DB cluster snapshot, set this value to restore.
38798	//
38799	// To view the list of attributes available to modify, use the DescribeDBClusterSnapshotAttributes
38800	// API action.
38801	//
38802	// AttributeName is a required field
38803	AttributeName *string `type:"string" required:"true"`
38804
38805	// The identifier for the DB cluster snapshot to modify the attributes for.
38806	//
38807	// DBClusterSnapshotIdentifier is a required field
38808	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
38809
38810	// A list of DB cluster snapshot attributes to add to the attribute specified
38811	// by AttributeName.
38812	//
38813	// To authorize other Amazon Web Services accounts to copy or restore a manual
38814	// DB cluster snapshot, set this list to include one or more Amazon Web Services
38815	// account IDs, or all to make the manual DB cluster snapshot restorable by
38816	// any Amazon Web Services account. Do not add the all value for any manual
38817	// DB cluster snapshots that contain private information that you don't want
38818	// available to all Amazon Web Services accounts.
38819	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
38820
38821	// A list of DB cluster snapshot attributes to remove from the attribute specified
38822	// by AttributeName.
38823	//
38824	// To remove authorization for other Amazon Web Services accounts to copy or
38825	// restore a manual DB cluster snapshot, set this list to include one or more
38826	// Amazon Web Services account identifiers, or all to remove authorization for
38827	// any Amazon Web Services account to copy or restore the DB cluster snapshot.
38828	// If you specify all, an Amazon Web Services account whose account ID is explicitly
38829	// added to the restore attribute can still copy or restore a manual DB cluster
38830	// snapshot.
38831	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
38832}
38833
38834// String returns the string representation.
38835//
38836// API parameter values that are decorated as "sensitive" in the API will not
38837// be included in the string output. The member name will be present, but the
38838// value will be replaced with "sensitive".
38839func (s ModifyDBClusterSnapshotAttributeInput) String() string {
38840	return awsutil.Prettify(s)
38841}
38842
38843// GoString returns the string representation.
38844//
38845// API parameter values that are decorated as "sensitive" in the API will not
38846// be included in the string output. The member name will be present, but the
38847// value will be replaced with "sensitive".
38848func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
38849	return s.String()
38850}
38851
38852// Validate inspects the fields of the type to determine if they are valid.
38853func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
38854	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
38855	if s.AttributeName == nil {
38856		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
38857	}
38858	if s.DBClusterSnapshotIdentifier == nil {
38859		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
38860	}
38861
38862	if invalidParams.Len() > 0 {
38863		return invalidParams
38864	}
38865	return nil
38866}
38867
38868// SetAttributeName sets the AttributeName field's value.
38869func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
38870	s.AttributeName = &v
38871	return s
38872}
38873
38874// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
38875func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
38876	s.DBClusterSnapshotIdentifier = &v
38877	return s
38878}
38879
38880// SetValuesToAdd sets the ValuesToAdd field's value.
38881func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
38882	s.ValuesToAdd = v
38883	return s
38884}
38885
38886// SetValuesToRemove sets the ValuesToRemove field's value.
38887func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
38888	s.ValuesToRemove = v
38889	return s
38890}
38891
38892type ModifyDBClusterSnapshotAttributeOutput struct {
38893	_ struct{} `type:"structure"`
38894
38895	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
38896	// API action.
38897	//
38898	// Manual DB cluster snapshot attributes are used to authorize other Amazon
38899	// Web Services accounts to copy or restore a manual DB cluster snapshot. For
38900	// more information, see the ModifyDBClusterSnapshotAttribute API action.
38901	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
38902}
38903
38904// String returns the string representation.
38905//
38906// API parameter values that are decorated as "sensitive" in the API will not
38907// be included in the string output. The member name will be present, but the
38908// value will be replaced with "sensitive".
38909func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
38910	return awsutil.Prettify(s)
38911}
38912
38913// GoString returns the string representation.
38914//
38915// API parameter values that are decorated as "sensitive" in the API will not
38916// be included in the string output. The member name will be present, but the
38917// value will be replaced with "sensitive".
38918func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
38919	return s.String()
38920}
38921
38922// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
38923func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
38924	s.DBClusterSnapshotAttributesResult = v
38925	return s
38926}
38927
38928type ModifyDBInstanceInput struct {
38929	_ struct{} `type:"structure"`
38930
38931	// The new amount of storage in gibibytes (GiB) to allocate for the DB instance.
38932	//
38933	// For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at
38934	// least 10% greater than the current value. Values that are not at least 10%
38935	// greater than the existing value are rounded up so that they are 10% greater
38936	// than the current value.
38937	//
38938	// For the valid values for allocated storage for each engine, see CreateDBInstance.
38939	AllocatedStorage *int64 `type:"integer"`
38940
38941	// A value that indicates whether major version upgrades are allowed. Changing
38942	// this parameter doesn't result in an outage and the change is asynchronously
38943	// applied as soon as possible.
38944	//
38945	// This setting doesn't apply to RDS Custom.
38946	//
38947	// Constraints: Major version upgrades must be allowed when specifying a value
38948	// for the EngineVersion parameter that is a different major version than the
38949	// DB instance's current version.
38950	AllowMajorVersionUpgrade *bool `type:"boolean"`
38951
38952	// A value that indicates whether the modifications in this request and any
38953	// pending modifications are asynchronously applied as soon as possible, regardless
38954	// of the PreferredMaintenanceWindow setting for the DB instance. By default,
38955	// this parameter is disabled.
38956	//
38957	// If this parameter is disabled, changes to the DB instance are applied during
38958	// the next maintenance window. Some parameter changes can cause an outage and
38959	// are applied on the next call to RebootDBInstance, or the next failure reboot.
38960	// Review the table of parameters in Modifying a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
38961	// in the Amazon RDS User Guide. to see the impact of enabling or disabling
38962	// ApplyImmediately for each modified parameter and to determine when the changes
38963	// are applied.
38964	ApplyImmediately *bool `type:"boolean"`
38965
38966	// A value that indicates whether minor version upgrades are applied automatically
38967	// to the DB instance during the maintenance window. An outage occurs when all
38968	// the following conditions are met:
38969	//
38970	//    * The automatic upgrade is enabled for the maintenance window.
38971	//
38972	//    * A newer minor version is available.
38973	//
38974	//    * RDS has enabled automatic patching for the engine version.
38975	//
38976	// If any of the preceding conditions isn't met, RDS applies the change as soon
38977	// as possible and doesn't cause an outage.
38978	//
38979	// For an RDS Custom DB instance, set AutoMinorVersionUpgrade to false. Otherwise,
38980	// the operation returns an error.
38981	AutoMinorVersionUpgrade *bool `type:"boolean"`
38982
38983	// The automation mode of the RDS Custom DB instance: full or all paused. If
38984	// full, the DB instance automates monitoring and instance recovery. If all
38985	// paused, the instance pauses automation for the duration set by ResumeFullAutomationModeMinutes.
38986	AutomationMode *string `type:"string" enum:"AutomationMode"`
38987
38988	// The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services
38989	// Backup.
38990	//
38991	// This setting doesn't apply to RDS Custom.
38992	AwsBackupRecoveryPointArn *string `min:"43" type:"string"`
38993
38994	// The number of days to retain automated backups. Setting this parameter to
38995	// a positive number enables backups. Setting this parameter to 0 disables automated
38996	// backups.
38997	//
38998	// Enabling and disabling backups can result in a brief I/O suspension that
38999	// lasts from a few seconds to a few minutes, depending on the size and class
39000	// of your DB instance.
39001	//
39002	// These changes are applied during the next maintenance window unless the ApplyImmediately
39003	// parameter is enabled for this request. If you change the parameter from one
39004	// non-zero value to another non-zero value, the change is asynchronously applied
39005	// as soon as possible.
39006	//
39007	// Amazon Aurora
39008	//
39009	// Not applicable. The retention period for automated backups is managed by
39010	// the DB cluster. For more information, see ModifyDBCluster.
39011	//
39012	// Default: Uses existing setting
39013	//
39014	// Constraints:
39015	//
39016	//    * It must be a value from 0 to 35. It can't be set to 0 if the DB instance
39017	//    is a source to read replicas. It can't be set to 0 or 35 for an RDS Custom
39018	//    DB instance.
39019	//
39020	//    * It can be specified for a MySQL read replica only if the source is running
39021	//    MySQL 5.6 or later.
39022	//
39023	//    * It can be specified for a PostgreSQL read replica only if the source
39024	//    is running PostgreSQL 9.3.5.
39025	BackupRetentionPeriod *int64 `type:"integer"`
39026
39027	// Specifies the certificate to associate with the DB instance.
39028	//
39029	// This setting doesn't apply to RDS Custom.
39030	CACertificateIdentifier *string `type:"string"`
39031
39032	// A value that indicates whether the DB instance is restarted when you rotate
39033	// your SSL/TLS certificate.
39034	//
39035	// By default, the DB instance is restarted when you rotate your SSL/TLS certificate.
39036	// The certificate is not updated until the DB instance is restarted.
39037	//
39038	// Set this parameter only if you are not using SSL/TLS to connect to the DB
39039	// instance.
39040	//
39041	// If you are using SSL/TLS to connect to the DB instance, follow the appropriate
39042	// instructions for your DB engine to rotate your SSL/TLS certificate:
39043	//
39044	//    * For more information about rotating your SSL/TLS certificate for RDS
39045	//    DB engines, see Rotating Your SSL/TLS Certificate. (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
39046	//    in the Amazon RDS User Guide.
39047	//
39048	//    * For more information about rotating your SSL/TLS certificate for Aurora
39049	//    DB engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
39050	//    in the Amazon Aurora User Guide.
39051	//
39052	// This setting doesn't apply to RDS Custom.
39053	CertificateRotationRestart *bool `type:"boolean"`
39054
39055	// The configuration setting for the log types to be enabled for export to CloudWatch
39056	// Logs for a specific DB instance.
39057	//
39058	// A change to the CloudwatchLogsExportConfiguration parameter is always applied
39059	// to the DB instance immediately. Therefore, the ApplyImmediately parameter
39060	// has no effect.
39061	//
39062	// This setting doesn't apply to RDS Custom.
39063	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
39064
39065	// A value that indicates whether to copy all tags from the DB instance to snapshots
39066	// of the DB instance. By default, tags are not copied.
39067	//
39068	// Amazon Aurora
39069	//
39070	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
39071	// this value for an Aurora DB instance has no effect on the DB cluster setting.
39072	// For more information, see ModifyDBCluster.
39073	CopyTagsToSnapshot *bool `type:"boolean"`
39074
39075	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
39076	// Not all DB instance classes are available in all Amazon Web Services Regions,
39077	// or for all database engines. For the full list of DB instance classes, and
39078	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
39079	// in the Amazon RDS User Guide.
39080	//
39081	// If you modify the DB instance class, an outage occurs during the change.
39082	// The change is applied during the next maintenance window, unless ApplyImmediately
39083	// is enabled for this request.
39084	//
39085	// This setting doesn't apply to RDS Custom.
39086	//
39087	// Default: Uses existing setting
39088	DBInstanceClass *string `type:"string"`
39089
39090	// The DB instance identifier. This value is stored as a lowercase string.
39091	//
39092	// Constraints:
39093	//
39094	//    * Must match the identifier of an existing DBInstance.
39095	//
39096	// DBInstanceIdentifier is a required field
39097	DBInstanceIdentifier *string `type:"string" required:"true"`
39098
39099	// The name of the DB parameter group to apply to the DB instance.
39100	//
39101	// Changing this setting doesn't result in an outage. The parameter group name
39102	// itself is changed immediately, but the actual parameter changes are not applied
39103	// until you reboot the instance without failover. In this case, the DB instance
39104	// isn't rebooted automatically, and the parameter changes aren't applied during
39105	// the next maintenance window. However, if you modify dynamic parameters in
39106	// the newly associated DB parameter group, these changes are applied immediately
39107	// without a reboot.
39108	//
39109	// This setting doesn't apply to RDS Custom.
39110	//
39111	// Default: Uses existing setting
39112	//
39113	// Constraints: The DB parameter group must be in the same DB parameter group
39114	// family as the DB instance.
39115	DBParameterGroupName *string `type:"string"`
39116
39117	// The port number on which the database accepts connections.
39118	//
39119	// The value of the DBPortNumber parameter must not match any of the port values
39120	// specified for options in the option group for the DB instance.
39121	//
39122	// If you change the DBPortNumber value, your database restarts regardless of
39123	// the value of the ApplyImmediately parameter.
39124	//
39125	// This setting doesn't apply to RDS Custom.
39126	//
39127	// MySQL
39128	//
39129	// Default: 3306
39130	//
39131	// Valid values: 1150-65535
39132	//
39133	// MariaDB
39134	//
39135	// Default: 3306
39136	//
39137	// Valid values: 1150-65535
39138	//
39139	// PostgreSQL
39140	//
39141	// Default: 5432
39142	//
39143	// Valid values: 1150-65535
39144	//
39145	// Type: Integer
39146	//
39147	// Oracle
39148	//
39149	// Default: 1521
39150	//
39151	// Valid values: 1150-65535
39152	//
39153	// SQL Server
39154	//
39155	// Default: 1433
39156	//
39157	// Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and
39158	// 49152-49156.
39159	//
39160	// Amazon Aurora
39161	//
39162	// Default: 3306
39163	//
39164	// Valid values: 1150-65535
39165	DBPortNumber *int64 `type:"integer"`
39166
39167	// A list of DB security groups to authorize on this DB instance. Changing this
39168	// setting doesn't result in an outage and the change is asynchronously applied
39169	// as soon as possible.
39170	//
39171	// This setting doesn't apply to RDS Custom.
39172	//
39173	// Constraints:
39174	//
39175	//    * If supplied, must match existing DBSecurityGroups.
39176	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
39177
39178	// The new DB subnet group for the DB instance. You can use this parameter to
39179	// move your DB instance to a different VPC. If your DB instance isn't in a
39180	// VPC, you can also use this parameter to move your DB instance into a VPC.
39181	// For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC)
39182	// in the Amazon RDS User Guide.
39183	//
39184	// Changing the subnet group causes an outage during the change. The change
39185	// is applied during the next maintenance window, unless you enable ApplyImmediately.
39186	//
39187	// This parameter doesn't apply to RDS Custom.
39188	//
39189	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
39190	//
39191	// Example: mySubnetGroup
39192	DBSubnetGroupName *string `type:"string"`
39193
39194	// A value that indicates whether the DB instance has deletion protection enabled.
39195	// The database can't be deleted when deletion protection is enabled. By default,
39196	// deletion protection is disabled. For more information, see Deleting a DB
39197	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
39198	DeletionProtection *bool `type:"boolean"`
39199
39200	// The Active Directory directory ID to move the DB instance to. Specify none
39201	// to remove the instance from its current domain. You must create the domain
39202	// before this operation. Currently, you can create only MySQL, Microsoft SQL
39203	// Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.
39204	//
39205	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
39206	// in the Amazon RDS User Guide.
39207	//
39208	// This setting doesn't apply to RDS Custom.
39209	Domain *string `type:"string"`
39210
39211	// The name of the IAM role to use when making API calls to the Directory Service.
39212	//
39213	// This setting doesn't apply to RDS Custom.
39214	DomainIAMRoleName *string `type:"string"`
39215
39216	// A value that indicates whether to enable a customer-owned IP address (CoIP)
39217	// for an RDS on Outposts DB instance.
39218	//
39219	// A CoIP provides local or external connectivity to resources in your Outpost
39220	// subnets through your on-premises network. For some use cases, a CoIP can
39221	// provide lower latency for connections to the DB instance from outside of
39222	// its virtual private cloud (VPC) on your local network.
39223	//
39224	// For more information about RDS on Outposts, see Working with Amazon RDS on
39225	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
39226	// in the Amazon RDS User Guide.
39227	//
39228	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
39229	// in the Amazon Web Services Outposts User Guide.
39230	EnableCustomerOwnedIp *bool `type:"boolean"`
39231
39232	// A value that indicates whether to enable mapping of Amazon Web Services Identity
39233	// and Access Management (IAM) accounts to database accounts. By default, mapping
39234	// is disabled.
39235	//
39236	// This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services
39237	// IAM accounts to database accounts is managed by the DB cluster.
39238	//
39239	// For more information about IAM database authentication, see IAM Database
39240	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
39241	// in the Amazon RDS User Guide.
39242	//
39243	// This setting doesn't apply to RDS Custom.
39244	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
39245
39246	// A value that indicates whether to enable Performance Insights for the DB
39247	// instance.
39248	//
39249	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
39250	// in the Amazon Relational Database Service User Guide.
39251	//
39252	// This setting doesn't apply to RDS Custom.
39253	EnablePerformanceInsights *bool `type:"boolean"`
39254
39255	// The version number of the database engine to upgrade to. Changing this parameter
39256	// results in an outage and the change is applied during the next maintenance
39257	// window unless the ApplyImmediately parameter is enabled for this request.
39258	//
39259	// For major version upgrades, if a nondefault DB parameter group is currently
39260	// in use, a new DB parameter group in the DB parameter group family for the
39261	// new engine version must be specified. The new DB parameter group can be the
39262	// default for that DB parameter group family.
39263	//
39264	// If you specify only a major version, Amazon RDS will update the DB instance
39265	// to the default minor version if the current minor version is lower. For information
39266	// about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.
39267	//
39268	// In RDS Custom, this parameter is supported for read replicas only if they
39269	// are in the PATCH_DB_FAILURE lifecycle.
39270	EngineVersion *string `type:"string"`
39271
39272	// The new Provisioned IOPS (I/O operations per second) value for the RDS instance.
39273	//
39274	// Changing this setting doesn't result in an outage and the change is applied
39275	// during the next maintenance window unless the ApplyImmediately parameter
39276	// is enabled for this request. If you are migrating from Provisioned IOPS to
39277	// standard storage, set this value to 0. The DB instance will require a reboot
39278	// for the change in storage type to take effect.
39279	//
39280	// If you choose to migrate your DB instance from using standard storage to
39281	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
39282	// storage, the process can take time. The duration of the migration depends
39283	// on several factors such as database load, storage size, storage type (standard
39284	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
39285	// of prior scale storage operations. Typical migration times are under 24 hours,
39286	// but the process can take up to several days in some cases. During the migration,
39287	// the DB instance is available for use, but might experience performance degradation.
39288	// While the migration takes place, nightly backups for the instance are suspended.
39289	// No other Amazon RDS operations can take place for the instance, including
39290	// modifying the instance, rebooting the instance, deleting the instance, creating
39291	// a read replica for the instance, and creating a DB snapshot of the instance.
39292	//
39293	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied
39294	// must be at least 10% greater than the current value. Values that are not
39295	// at least 10% greater than the existing value are rounded up so that they
39296	// are 10% greater than the current value.
39297	//
39298	// Default: Uses existing setting
39299	Iops *int64 `type:"integer"`
39300
39301	// The license model for the DB instance.
39302	//
39303	// This setting doesn't apply to RDS Custom.
39304	//
39305	// Valid values: license-included | bring-your-own-license | general-public-license
39306	LicenseModel *string `type:"string"`
39307
39308	// The new password for the master user. The password can include any printable
39309	// ASCII character except "/", """, or "@".
39310	//
39311	// Changing this parameter doesn't result in an outage and the change is asynchronously
39312	// applied as soon as possible. Between the time of the request and the completion
39313	// of the request, the MasterUserPassword element exists in the PendingModifiedValues
39314	// element of the operation response.
39315	//
39316	// This setting doesn't apply to RDS Custom.
39317	//
39318	// Amazon Aurora
39319	//
39320	// Not applicable. The password for the master user is managed by the DB cluster.
39321	// For more information, see ModifyDBCluster.
39322	//
39323	// Default: Uses existing setting
39324	//
39325	// MariaDB
39326	//
39327	// Constraints: Must contain from 8 to 41 characters.
39328	//
39329	// Microsoft SQL Server
39330	//
39331	// Constraints: Must contain from 8 to 128 characters.
39332	//
39333	// MySQL
39334	//
39335	// Constraints: Must contain from 8 to 41 characters.
39336	//
39337	// Oracle
39338	//
39339	// Constraints: Must contain from 8 to 30 characters.
39340	//
39341	// PostgreSQL
39342	//
39343	// Constraints: Must contain from 8 to 128 characters.
39344	//
39345	// Amazon RDS API actions never return the password, so this action provides
39346	// a way to regain access to a primary instance user if the password is lost.
39347	// This includes restoring privileges that might have been accidentally revoked.
39348	MasterUserPassword *string `type:"string"`
39349
39350	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
39351	// scale the storage of the DB instance.
39352	//
39353	// For more information about this setting, including limitations that apply
39354	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
39355	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
39356	// in the Amazon RDS User Guide.
39357	//
39358	// This setting doesn't apply to RDS Custom.
39359	MaxAllocatedStorage *int64 `type:"integer"`
39360
39361	// The interval, in seconds, between points when Enhanced Monitoring metrics
39362	// are collected for the DB instance. To disable collecting Enhanced Monitoring
39363	// metrics, specify 0, which is the default.
39364	//
39365	// If MonitoringRoleArn is specified, set MonitoringInterval to a value other
39366	// than 0.
39367	//
39368	// This setting doesn't apply to RDS Custom.
39369	//
39370	// Valid Values: 0, 1, 5, 10, 15, 30, 60
39371	MonitoringInterval *int64 `type:"integer"`
39372
39373	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
39374	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
39375	// For information on creating a monitoring role, see To create an IAM role
39376	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
39377	// in the Amazon RDS User Guide.
39378	//
39379	// If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn
39380	// value.
39381	//
39382	// This setting doesn't apply to RDS Custom.
39383	MonitoringRoleArn *string `type:"string"`
39384
39385	// A value that indicates whether the DB instance is a Multi-AZ deployment.
39386	// Changing this parameter doesn't result in an outage. The change is applied
39387	// during the next maintenance window unless the ApplyImmediately parameter
39388	// is enabled for this request.
39389	//
39390	// This setting doesn't apply to RDS Custom.
39391	MultiAZ *bool `type:"boolean"`
39392
39393	// The new DB instance identifier for the DB instance when renaming a DB instance.
39394	// When you change the DB instance identifier, an instance reboot occurs immediately
39395	// if you enable ApplyImmediately, or will occur during the next maintenance
39396	// window if you disable Apply Immediately. This value is stored as a lowercase
39397	// string.
39398	//
39399	// This setting doesn't apply to RDS Custom.
39400	//
39401	// Constraints:
39402	//
39403	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
39404	//
39405	//    * The first character must be a letter.
39406	//
39407	//    * Can't end with a hyphen or contain two consecutive hyphens.
39408	//
39409	// Example: mydbinstance
39410	NewDBInstanceIdentifier *string `type:"string"`
39411
39412	// A value that indicates the DB instance should be associated with the specified
39413	// option group.
39414	//
39415	// Changing this parameter doesn't result in an outage, with one exception.
39416	// If the parameter change results in an option group that enables OEM, it can
39417	// cause a brief period, lasting less than a second, during which new connections
39418	// are rejected but existing connections aren't interrupted.
39419	//
39420	// The change is applied during the next maintenance window unless the ApplyImmediately
39421	// parameter is enabled for this request.
39422	//
39423	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
39424	// can't be removed from an option group, and that option group can't be removed
39425	// from a DB instance after it is associated with a DB instance.
39426	//
39427	// This setting doesn't apply to RDS Custom.
39428	OptionGroupName *string `type:"string"`
39429
39430	// The Amazon Web Services KMS key identifier for encryption of Performance
39431	// Insights data.
39432	//
39433	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
39434	// ARN, or alias name for the KMS key.
39435	//
39436	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
39437	// RDS uses your default KMS key. There is a default KMS key for your Amazon
39438	// Web Services account. Your Amazon Web Services account has a different default
39439	// KMS key for each Amazon Web Services Region.
39440	//
39441	// This setting doesn't apply to RDS Custom.
39442	PerformanceInsightsKMSKeyId *string `type:"string"`
39443
39444	// The amount of time, in days, to retain Performance Insights data. Valid values
39445	// are 7 or 731 (2 years).
39446	//
39447	// This setting doesn't apply to RDS Custom.
39448	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
39449
39450	// The daily time range during which automated backups are created if automated
39451	// backups are enabled, as determined by the BackupRetentionPeriod parameter.
39452	// Changing this parameter doesn't result in an outage and the change is asynchronously
39453	// applied as soon as possible. The default is a 30-minute window selected at
39454	// random from an 8-hour block of time for each Amazon Web Services Region.
39455	// For more information, see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
39456	// in the Amazon RDS User Guide.
39457	//
39458	// Amazon Aurora
39459	//
39460	// Not applicable. The daily time range for creating automated backups is managed
39461	// by the DB cluster. For more information, see ModifyDBCluster.
39462	//
39463	// Constraints:
39464	//
39465	//    * Must be in the format hh24:mi-hh24:mi
39466	//
39467	//    * Must be in Universal Time Coordinated (UTC)
39468	//
39469	//    * Must not conflict with the preferred maintenance window
39470	//
39471	//    * Must be at least 30 minutes
39472	PreferredBackupWindow *string `type:"string"`
39473
39474	// The weekly time range (in UTC) during which system maintenance can occur,
39475	// which might result in an outage. Changing this parameter doesn't result in
39476	// an outage, except in the following situation, and the change is asynchronously
39477	// applied as soon as possible. If there are pending actions that cause a reboot,
39478	// and the maintenance window is changed to include the current time, then changing
39479	// this parameter will cause a reboot of the DB instance. If moving this window
39480	// to the current time, there must be at least 30 minutes between the current
39481	// time and end of the window to ensure pending changes are applied.
39482	//
39483	// For more information, see Amazon RDS Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
39484	// in the Amazon RDS User Guide.
39485	//
39486	// Default: Uses existing setting
39487	//
39488	// Format: ddd:hh24:mi-ddd:hh24:mi
39489	//
39490	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
39491	//
39492	// Constraints: Must be at least 30 minutes
39493	PreferredMaintenanceWindow *string `type:"string"`
39494
39495	// The number of CPU cores and the number of threads per core for the DB instance
39496	// class of the DB instance.
39497	//
39498	// This setting doesn't apply to RDS Custom.
39499	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
39500
39501	// A value that specifies the order in which an Aurora Replica is promoted to
39502	// the primary instance after a failure of the existing primary instance. For
39503	// 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)
39504	// in the Amazon Aurora User Guide.
39505	//
39506	// This setting doesn't apply to RDS Custom.
39507	//
39508	// Default: 1
39509	//
39510	// Valid Values: 0 - 15
39511	PromotionTier *int64 `type:"integer"`
39512
39513	// A value that indicates whether the DB instance is publicly accessible.
39514	//
39515	// When the DB instance is publicly accessible, its DNS endpoint resolves to
39516	// the private IP address from within the DB instance's VPC, and to the public
39517	// IP address from outside of the DB instance's VPC. Access to the DB instance
39518	// is ultimately controlled by the security group it uses, and that public access
39519	// is not permitted if the security group assigned to the DB instance doesn't
39520	// permit it.
39521	//
39522	// When the DB instance isn't publicly accessible, it is an internal DB instance
39523	// with a DNS name that resolves to a private IP address.
39524	//
39525	// PubliclyAccessible only applies to DB instances in a VPC. The DB instance
39526	// must be part of a public subnet and PubliclyAccessible must be enabled for
39527	// it to be publicly accessible.
39528	//
39529	// Changes to the PubliclyAccessible parameter are applied immediately regardless
39530	// of the value of the ApplyImmediately parameter.
39531	//
39532	// This setting doesn't apply to RDS Custom.
39533	PubliclyAccessible *bool `type:"boolean"`
39534
39535	// A value that sets the open mode of a replica database to either mounted or
39536	// read-only.
39537	//
39538	// Currently, this parameter is only supported for Oracle DB instances.
39539	//
39540	// Mounted DB replicas are included in Oracle Enterprise Edition. The main use
39541	// case for mounted replicas is cross-Region disaster recovery. The primary
39542	// database doesn't use Active Data Guard to transmit information to the mounted
39543	// replica. Because it doesn't accept user connections, a mounted replica can't
39544	// serve a read-only workload. For more information, see Working with Oracle
39545	// Read Replicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
39546	// in the Amazon RDS User Guide.
39547	//
39548	// This setting doesn't apply to RDS Custom.
39549	ReplicaMode *string `type:"string" enum:"ReplicaMode"`
39550
39551	// The number of minutes to pause the automation. When the time period ends,
39552	// RDS Custom resumes full automation. The minimum value is 60 (default). The
39553	// maximum value is 1,440.
39554	ResumeFullAutomationModeMinutes *int64 `type:"integer"`
39555
39556	// Specifies the storage type to be associated with the DB instance.
39557	//
39558	// If you specify Provisioned IOPS (io1), you must also include a value for
39559	// the Iops parameter.
39560	//
39561	// If you choose to migrate your DB instance from using standard storage to
39562	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
39563	// storage, the process can take time. The duration of the migration depends
39564	// on several factors such as database load, storage size, storage type (standard
39565	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
39566	// of prior scale storage operations. Typical migration times are under 24 hours,
39567	// but the process can take up to several days in some cases. During the migration,
39568	// the DB instance is available for use, but might experience performance degradation.
39569	// While the migration takes place, nightly backups for the instance are suspended.
39570	// No other Amazon RDS operations can take place for the instance, including
39571	// modifying the instance, rebooting the instance, deleting the instance, creating
39572	// a read replica for the instance, and creating a DB snapshot of the instance.
39573	//
39574	// Valid values: standard | gp2 | io1
39575	//
39576	// Default: io1 if the Iops parameter is specified, otherwise gp2
39577	StorageType *string `type:"string"`
39578
39579	// The ARN from the key store with which to associate the instance for TDE encryption.
39580	//
39581	// This setting doesn't apply to RDS Custom.
39582	TdeCredentialArn *string `type:"string"`
39583
39584	// The password for the given ARN from the key store in order to access the
39585	// device.
39586	//
39587	// This setting doesn't apply to RDS Custom.
39588	TdeCredentialPassword *string `type:"string"`
39589
39590	// A value that indicates whether the DB instance class of the DB instance uses
39591	// its default processor features.
39592	//
39593	// This setting doesn't apply to RDS Custom.
39594	UseDefaultProcessorFeatures *bool `type:"boolean"`
39595
39596	// A list of Amazon EC2 VPC security groups to authorize on this DB instance.
39597	// This change is asynchronously applied as soon as possible.
39598	//
39599	// This setting doesn't apply to RDS Custom.
39600	//
39601	// Amazon Aurora
39602	//
39603	// Not applicable. The associated list of EC2 VPC security groups is managed
39604	// by the DB cluster. For more information, see ModifyDBCluster.
39605	//
39606	// Constraints:
39607	//
39608	//    * If supplied, must match existing VpcSecurityGroupIds.
39609	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
39610}
39611
39612// String returns the string representation.
39613//
39614// API parameter values that are decorated as "sensitive" in the API will not
39615// be included in the string output. The member name will be present, but the
39616// value will be replaced with "sensitive".
39617func (s ModifyDBInstanceInput) String() string {
39618	return awsutil.Prettify(s)
39619}
39620
39621// GoString returns the string representation.
39622//
39623// API parameter values that are decorated as "sensitive" in the API will not
39624// be included in the string output. The member name will be present, but the
39625// value will be replaced with "sensitive".
39626func (s ModifyDBInstanceInput) GoString() string {
39627	return s.String()
39628}
39629
39630// Validate inspects the fields of the type to determine if they are valid.
39631func (s *ModifyDBInstanceInput) Validate() error {
39632	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
39633	if s.AwsBackupRecoveryPointArn != nil && len(*s.AwsBackupRecoveryPointArn) < 43 {
39634		invalidParams.Add(request.NewErrParamMinLen("AwsBackupRecoveryPointArn", 43))
39635	}
39636	if s.DBInstanceIdentifier == nil {
39637		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
39638	}
39639
39640	if invalidParams.Len() > 0 {
39641		return invalidParams
39642	}
39643	return nil
39644}
39645
39646// SetAllocatedStorage sets the AllocatedStorage field's value.
39647func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
39648	s.AllocatedStorage = &v
39649	return s
39650}
39651
39652// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
39653func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
39654	s.AllowMajorVersionUpgrade = &v
39655	return s
39656}
39657
39658// SetApplyImmediately sets the ApplyImmediately field's value.
39659func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
39660	s.ApplyImmediately = &v
39661	return s
39662}
39663
39664// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
39665func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
39666	s.AutoMinorVersionUpgrade = &v
39667	return s
39668}
39669
39670// SetAutomationMode sets the AutomationMode field's value.
39671func (s *ModifyDBInstanceInput) SetAutomationMode(v string) *ModifyDBInstanceInput {
39672	s.AutomationMode = &v
39673	return s
39674}
39675
39676// SetAwsBackupRecoveryPointArn sets the AwsBackupRecoveryPointArn field's value.
39677func (s *ModifyDBInstanceInput) SetAwsBackupRecoveryPointArn(v string) *ModifyDBInstanceInput {
39678	s.AwsBackupRecoveryPointArn = &v
39679	return s
39680}
39681
39682// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
39683func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
39684	s.BackupRetentionPeriod = &v
39685	return s
39686}
39687
39688// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
39689func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
39690	s.CACertificateIdentifier = &v
39691	return s
39692}
39693
39694// SetCertificateRotationRestart sets the CertificateRotationRestart field's value.
39695func (s *ModifyDBInstanceInput) SetCertificateRotationRestart(v bool) *ModifyDBInstanceInput {
39696	s.CertificateRotationRestart = &v
39697	return s
39698}
39699
39700// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
39701func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
39702	s.CloudwatchLogsExportConfiguration = v
39703	return s
39704}
39705
39706// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
39707func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
39708	s.CopyTagsToSnapshot = &v
39709	return s
39710}
39711
39712// SetDBInstanceClass sets the DBInstanceClass field's value.
39713func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
39714	s.DBInstanceClass = &v
39715	return s
39716}
39717
39718// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
39719func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
39720	s.DBInstanceIdentifier = &v
39721	return s
39722}
39723
39724// SetDBParameterGroupName sets the DBParameterGroupName field's value.
39725func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
39726	s.DBParameterGroupName = &v
39727	return s
39728}
39729
39730// SetDBPortNumber sets the DBPortNumber field's value.
39731func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
39732	s.DBPortNumber = &v
39733	return s
39734}
39735
39736// SetDBSecurityGroups sets the DBSecurityGroups field's value.
39737func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
39738	s.DBSecurityGroups = v
39739	return s
39740}
39741
39742// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
39743func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
39744	s.DBSubnetGroupName = &v
39745	return s
39746}
39747
39748// SetDeletionProtection sets the DeletionProtection field's value.
39749func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
39750	s.DeletionProtection = &v
39751	return s
39752}
39753
39754// SetDomain sets the Domain field's value.
39755func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
39756	s.Domain = &v
39757	return s
39758}
39759
39760// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
39761func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
39762	s.DomainIAMRoleName = &v
39763	return s
39764}
39765
39766// SetEnableCustomerOwnedIp sets the EnableCustomerOwnedIp field's value.
39767func (s *ModifyDBInstanceInput) SetEnableCustomerOwnedIp(v bool) *ModifyDBInstanceInput {
39768	s.EnableCustomerOwnedIp = &v
39769	return s
39770}
39771
39772// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
39773func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
39774	s.EnableIAMDatabaseAuthentication = &v
39775	return s
39776}
39777
39778// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
39779func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
39780	s.EnablePerformanceInsights = &v
39781	return s
39782}
39783
39784// SetEngineVersion sets the EngineVersion field's value.
39785func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
39786	s.EngineVersion = &v
39787	return s
39788}
39789
39790// SetIops sets the Iops field's value.
39791func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
39792	s.Iops = &v
39793	return s
39794}
39795
39796// SetLicenseModel sets the LicenseModel field's value.
39797func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
39798	s.LicenseModel = &v
39799	return s
39800}
39801
39802// SetMasterUserPassword sets the MasterUserPassword field's value.
39803func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
39804	s.MasterUserPassword = &v
39805	return s
39806}
39807
39808// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
39809func (s *ModifyDBInstanceInput) SetMaxAllocatedStorage(v int64) *ModifyDBInstanceInput {
39810	s.MaxAllocatedStorage = &v
39811	return s
39812}
39813
39814// SetMonitoringInterval sets the MonitoringInterval field's value.
39815func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
39816	s.MonitoringInterval = &v
39817	return s
39818}
39819
39820// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
39821func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
39822	s.MonitoringRoleArn = &v
39823	return s
39824}
39825
39826// SetMultiAZ sets the MultiAZ field's value.
39827func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
39828	s.MultiAZ = &v
39829	return s
39830}
39831
39832// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
39833func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
39834	s.NewDBInstanceIdentifier = &v
39835	return s
39836}
39837
39838// SetOptionGroupName sets the OptionGroupName field's value.
39839func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
39840	s.OptionGroupName = &v
39841	return s
39842}
39843
39844// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
39845func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
39846	s.PerformanceInsightsKMSKeyId = &v
39847	return s
39848}
39849
39850// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
39851func (s *ModifyDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *ModifyDBInstanceInput {
39852	s.PerformanceInsightsRetentionPeriod = &v
39853	return s
39854}
39855
39856// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
39857func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
39858	s.PreferredBackupWindow = &v
39859	return s
39860}
39861
39862// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
39863func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
39864	s.PreferredMaintenanceWindow = &v
39865	return s
39866}
39867
39868// SetProcessorFeatures sets the ProcessorFeatures field's value.
39869func (s *ModifyDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *ModifyDBInstanceInput {
39870	s.ProcessorFeatures = v
39871	return s
39872}
39873
39874// SetPromotionTier sets the PromotionTier field's value.
39875func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
39876	s.PromotionTier = &v
39877	return s
39878}
39879
39880// SetPubliclyAccessible sets the PubliclyAccessible field's value.
39881func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
39882	s.PubliclyAccessible = &v
39883	return s
39884}
39885
39886// SetReplicaMode sets the ReplicaMode field's value.
39887func (s *ModifyDBInstanceInput) SetReplicaMode(v string) *ModifyDBInstanceInput {
39888	s.ReplicaMode = &v
39889	return s
39890}
39891
39892// SetResumeFullAutomationModeMinutes sets the ResumeFullAutomationModeMinutes field's value.
39893func (s *ModifyDBInstanceInput) SetResumeFullAutomationModeMinutes(v int64) *ModifyDBInstanceInput {
39894	s.ResumeFullAutomationModeMinutes = &v
39895	return s
39896}
39897
39898// SetStorageType sets the StorageType field's value.
39899func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
39900	s.StorageType = &v
39901	return s
39902}
39903
39904// SetTdeCredentialArn sets the TdeCredentialArn field's value.
39905func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
39906	s.TdeCredentialArn = &v
39907	return s
39908}
39909
39910// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
39911func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
39912	s.TdeCredentialPassword = &v
39913	return s
39914}
39915
39916// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
39917func (s *ModifyDBInstanceInput) SetUseDefaultProcessorFeatures(v bool) *ModifyDBInstanceInput {
39918	s.UseDefaultProcessorFeatures = &v
39919	return s
39920}
39921
39922// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
39923func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
39924	s.VpcSecurityGroupIds = v
39925	return s
39926}
39927
39928type ModifyDBInstanceOutput struct {
39929	_ struct{} `type:"structure"`
39930
39931	// Contains the details of an Amazon RDS DB instance.
39932	//
39933	// This data type is used as a response element in the DescribeDBInstances action.
39934	DBInstance *DBInstance `type:"structure"`
39935}
39936
39937// String returns the string representation.
39938//
39939// API parameter values that are decorated as "sensitive" in the API will not
39940// be included in the string output. The member name will be present, but the
39941// value will be replaced with "sensitive".
39942func (s ModifyDBInstanceOutput) String() string {
39943	return awsutil.Prettify(s)
39944}
39945
39946// GoString returns the string representation.
39947//
39948// API parameter values that are decorated as "sensitive" in the API will not
39949// be included in the string output. The member name will be present, but the
39950// value will be replaced with "sensitive".
39951func (s ModifyDBInstanceOutput) GoString() string {
39952	return s.String()
39953}
39954
39955// SetDBInstance sets the DBInstance field's value.
39956func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
39957	s.DBInstance = v
39958	return s
39959}
39960
39961type ModifyDBParameterGroupInput struct {
39962	_ struct{} `type:"structure"`
39963
39964	// The name of the DB parameter group.
39965	//
39966	// Constraints:
39967	//
39968	//    * If supplied, must match the name of an existing DBParameterGroup.
39969	//
39970	// DBParameterGroupName is a required field
39971	DBParameterGroupName *string `type:"string" required:"true"`
39972
39973	// An array of parameter names, values, and the application methods for the
39974	// parameter update. At least one parameter name, value, and application method
39975	// method must be supplied; later arguments are optional. A maximum of 20 parameters
39976	// can be modified in a single request.
39977	//
39978	// Valid Values (for the application method): immediate | pending-reboot
39979	//
39980	// You can use the immediate value with dynamic parameters only. You can use
39981	// the pending-reboot value for both dynamic and static parameters.
39982	//
39983	// When the application method is immediate, changes to dynamic parameters are
39984	// applied immediately to the DB instances associated with the parameter group.
39985	// When the application method is pending-reboot, changes to dynamic and static
39986	// parameters are applied after a reboot without failover to the DB instances
39987	// associated with the parameter group.
39988	//
39989	// Parameters is a required field
39990	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
39991}
39992
39993// String returns the string representation.
39994//
39995// API parameter values that are decorated as "sensitive" in the API will not
39996// be included in the string output. The member name will be present, but the
39997// value will be replaced with "sensitive".
39998func (s ModifyDBParameterGroupInput) String() string {
39999	return awsutil.Prettify(s)
40000}
40001
40002// GoString returns the string representation.
40003//
40004// API parameter values that are decorated as "sensitive" in the API will not
40005// be included in the string output. The member name will be present, but the
40006// value will be replaced with "sensitive".
40007func (s ModifyDBParameterGroupInput) GoString() string {
40008	return s.String()
40009}
40010
40011// Validate inspects the fields of the type to determine if they are valid.
40012func (s *ModifyDBParameterGroupInput) Validate() error {
40013	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
40014	if s.DBParameterGroupName == nil {
40015		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
40016	}
40017	if s.Parameters == nil {
40018		invalidParams.Add(request.NewErrParamRequired("Parameters"))
40019	}
40020
40021	if invalidParams.Len() > 0 {
40022		return invalidParams
40023	}
40024	return nil
40025}
40026
40027// SetDBParameterGroupName sets the DBParameterGroupName field's value.
40028func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
40029	s.DBParameterGroupName = &v
40030	return s
40031}
40032
40033// SetParameters sets the Parameters field's value.
40034func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
40035	s.Parameters = v
40036	return s
40037}
40038
40039type ModifyDBProxyEndpointInput struct {
40040	_ struct{} `type:"structure"`
40041
40042	// The name of the DB proxy sociated with the DB proxy endpoint that you want
40043	// to modify.
40044	//
40045	// DBProxyEndpointName is a required field
40046	DBProxyEndpointName *string `min:"1" type:"string" required:"true"`
40047
40048	// The new identifier for the DBProxyEndpoint. An identifier must begin with
40049	// a letter and must contain only ASCII letters, digits, and hyphens; it can't
40050	// end with a hyphen or contain two consecutive hyphens.
40051	NewDBProxyEndpointName *string `min:"1" type:"string"`
40052
40053	// The VPC security group IDs for the DB proxy endpoint. When the DB proxy endpoint
40054	// uses a different VPC than the original proxy, you also specify a different
40055	// set of security group IDs than for the original proxy.
40056	VpcSecurityGroupIds []*string `type:"list"`
40057}
40058
40059// String returns the string representation.
40060//
40061// API parameter values that are decorated as "sensitive" in the API will not
40062// be included in the string output. The member name will be present, but the
40063// value will be replaced with "sensitive".
40064func (s ModifyDBProxyEndpointInput) String() string {
40065	return awsutil.Prettify(s)
40066}
40067
40068// GoString returns the string representation.
40069//
40070// API parameter values that are decorated as "sensitive" in the API will not
40071// be included in the string output. The member name will be present, but the
40072// value will be replaced with "sensitive".
40073func (s ModifyDBProxyEndpointInput) GoString() string {
40074	return s.String()
40075}
40076
40077// Validate inspects the fields of the type to determine if they are valid.
40078func (s *ModifyDBProxyEndpointInput) Validate() error {
40079	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyEndpointInput"}
40080	if s.DBProxyEndpointName == nil {
40081		invalidParams.Add(request.NewErrParamRequired("DBProxyEndpointName"))
40082	}
40083	if s.DBProxyEndpointName != nil && len(*s.DBProxyEndpointName) < 1 {
40084		invalidParams.Add(request.NewErrParamMinLen("DBProxyEndpointName", 1))
40085	}
40086	if s.NewDBProxyEndpointName != nil && len(*s.NewDBProxyEndpointName) < 1 {
40087		invalidParams.Add(request.NewErrParamMinLen("NewDBProxyEndpointName", 1))
40088	}
40089
40090	if invalidParams.Len() > 0 {
40091		return invalidParams
40092	}
40093	return nil
40094}
40095
40096// SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
40097func (s *ModifyDBProxyEndpointInput) SetDBProxyEndpointName(v string) *ModifyDBProxyEndpointInput {
40098	s.DBProxyEndpointName = &v
40099	return s
40100}
40101
40102// SetNewDBProxyEndpointName sets the NewDBProxyEndpointName field's value.
40103func (s *ModifyDBProxyEndpointInput) SetNewDBProxyEndpointName(v string) *ModifyDBProxyEndpointInput {
40104	s.NewDBProxyEndpointName = &v
40105	return s
40106}
40107
40108// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
40109func (s *ModifyDBProxyEndpointInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBProxyEndpointInput {
40110	s.VpcSecurityGroupIds = v
40111	return s
40112}
40113
40114type ModifyDBProxyEndpointOutput struct {
40115	_ struct{} `type:"structure"`
40116
40117	// The DBProxyEndpoint object representing the new settings for the DB proxy
40118	// endpoint.
40119	DBProxyEndpoint *DBProxyEndpoint `type:"structure"`
40120}
40121
40122// String returns the string representation.
40123//
40124// API parameter values that are decorated as "sensitive" in the API will not
40125// be included in the string output. The member name will be present, but the
40126// value will be replaced with "sensitive".
40127func (s ModifyDBProxyEndpointOutput) String() string {
40128	return awsutil.Prettify(s)
40129}
40130
40131// GoString returns the string representation.
40132//
40133// API parameter values that are decorated as "sensitive" in the API will not
40134// be included in the string output. The member name will be present, but the
40135// value will be replaced with "sensitive".
40136func (s ModifyDBProxyEndpointOutput) GoString() string {
40137	return s.String()
40138}
40139
40140// SetDBProxyEndpoint sets the DBProxyEndpoint field's value.
40141func (s *ModifyDBProxyEndpointOutput) SetDBProxyEndpoint(v *DBProxyEndpoint) *ModifyDBProxyEndpointOutput {
40142	s.DBProxyEndpoint = v
40143	return s
40144}
40145
40146type ModifyDBProxyInput struct {
40147	_ struct{} `type:"structure"`
40148
40149	// The new authentication settings for the DBProxy.
40150	Auth []*UserAuthConfig `type:"list"`
40151
40152	// The identifier for the DBProxy to modify.
40153	//
40154	// DBProxyName is a required field
40155	DBProxyName *string `type:"string" required:"true"`
40156
40157	// Whether the proxy includes detailed information about SQL statements in its
40158	// logs. This information helps you to debug issues involving SQL behavior or
40159	// the performance and scalability of the proxy connections. The debug information
40160	// includes the text of SQL statements that you submit through the proxy. Thus,
40161	// only enable this setting when needed for debugging, and only when you have
40162	// security measures in place to safeguard any sensitive information that appears
40163	// in the logs.
40164	DebugLogging *bool `type:"boolean"`
40165
40166	// The number of seconds that a connection to the proxy can be inactive before
40167	// the proxy disconnects it. You can set this value higher or lower than the
40168	// connection timeout limit for the associated database.
40169	IdleClientTimeout *int64 `type:"integer"`
40170
40171	// The new identifier for the DBProxy. An identifier must begin with a letter
40172	// and must contain only ASCII letters, digits, and hyphens; it can't end with
40173	// a hyphen or contain two consecutive hyphens.
40174	NewDBProxyName *string `type:"string"`
40175
40176	// Whether Transport Layer Security (TLS) encryption is required for connections
40177	// to the proxy. By enabling this setting, you can enforce encrypted TLS connections
40178	// to the proxy, even if the associated database doesn't use TLS.
40179	RequireTLS *bool `type:"boolean"`
40180
40181	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
40182	// secrets in Amazon Web Services Secrets Manager.
40183	RoleArn *string `type:"string"`
40184
40185	// The new list of security groups for the DBProxy.
40186	SecurityGroups []*string `type:"list"`
40187}
40188
40189// String returns the string representation.
40190//
40191// API parameter values that are decorated as "sensitive" in the API will not
40192// be included in the string output. The member name will be present, but the
40193// value will be replaced with "sensitive".
40194func (s ModifyDBProxyInput) String() string {
40195	return awsutil.Prettify(s)
40196}
40197
40198// GoString returns the string representation.
40199//
40200// API parameter values that are decorated as "sensitive" in the API will not
40201// be included in the string output. The member name will be present, but the
40202// value will be replaced with "sensitive".
40203func (s ModifyDBProxyInput) GoString() string {
40204	return s.String()
40205}
40206
40207// Validate inspects the fields of the type to determine if they are valid.
40208func (s *ModifyDBProxyInput) Validate() error {
40209	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyInput"}
40210	if s.DBProxyName == nil {
40211		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
40212	}
40213
40214	if invalidParams.Len() > 0 {
40215		return invalidParams
40216	}
40217	return nil
40218}
40219
40220// SetAuth sets the Auth field's value.
40221func (s *ModifyDBProxyInput) SetAuth(v []*UserAuthConfig) *ModifyDBProxyInput {
40222	s.Auth = v
40223	return s
40224}
40225
40226// SetDBProxyName sets the DBProxyName field's value.
40227func (s *ModifyDBProxyInput) SetDBProxyName(v string) *ModifyDBProxyInput {
40228	s.DBProxyName = &v
40229	return s
40230}
40231
40232// SetDebugLogging sets the DebugLogging field's value.
40233func (s *ModifyDBProxyInput) SetDebugLogging(v bool) *ModifyDBProxyInput {
40234	s.DebugLogging = &v
40235	return s
40236}
40237
40238// SetIdleClientTimeout sets the IdleClientTimeout field's value.
40239func (s *ModifyDBProxyInput) SetIdleClientTimeout(v int64) *ModifyDBProxyInput {
40240	s.IdleClientTimeout = &v
40241	return s
40242}
40243
40244// SetNewDBProxyName sets the NewDBProxyName field's value.
40245func (s *ModifyDBProxyInput) SetNewDBProxyName(v string) *ModifyDBProxyInput {
40246	s.NewDBProxyName = &v
40247	return s
40248}
40249
40250// SetRequireTLS sets the RequireTLS field's value.
40251func (s *ModifyDBProxyInput) SetRequireTLS(v bool) *ModifyDBProxyInput {
40252	s.RequireTLS = &v
40253	return s
40254}
40255
40256// SetRoleArn sets the RoleArn field's value.
40257func (s *ModifyDBProxyInput) SetRoleArn(v string) *ModifyDBProxyInput {
40258	s.RoleArn = &v
40259	return s
40260}
40261
40262// SetSecurityGroups sets the SecurityGroups field's value.
40263func (s *ModifyDBProxyInput) SetSecurityGroups(v []*string) *ModifyDBProxyInput {
40264	s.SecurityGroups = v
40265	return s
40266}
40267
40268type ModifyDBProxyOutput struct {
40269	_ struct{} `type:"structure"`
40270
40271	// The DBProxy object representing the new settings for the proxy.
40272	DBProxy *DBProxy `type:"structure"`
40273}
40274
40275// String returns the string representation.
40276//
40277// API parameter values that are decorated as "sensitive" in the API will not
40278// be included in the string output. The member name will be present, but the
40279// value will be replaced with "sensitive".
40280func (s ModifyDBProxyOutput) String() string {
40281	return awsutil.Prettify(s)
40282}
40283
40284// GoString returns the string representation.
40285//
40286// API parameter values that are decorated as "sensitive" in the API will not
40287// be included in the string output. The member name will be present, but the
40288// value will be replaced with "sensitive".
40289func (s ModifyDBProxyOutput) GoString() string {
40290	return s.String()
40291}
40292
40293// SetDBProxy sets the DBProxy field's value.
40294func (s *ModifyDBProxyOutput) SetDBProxy(v *DBProxy) *ModifyDBProxyOutput {
40295	s.DBProxy = v
40296	return s
40297}
40298
40299type ModifyDBProxyTargetGroupInput struct {
40300	_ struct{} `type:"structure"`
40301
40302	// The settings that determine the size and behavior of the connection pool
40303	// for the target group.
40304	ConnectionPoolConfig *ConnectionPoolConfiguration `type:"structure"`
40305
40306	// The name of the new proxy to which to assign the target group.
40307	//
40308	// DBProxyName is a required field
40309	DBProxyName *string `type:"string" required:"true"`
40310
40311	// The new name for the modified DBProxyTarget. An identifier must begin with
40312	// a letter and must contain only ASCII letters, digits, and hyphens; it can't
40313	// end with a hyphen or contain two consecutive hyphens.
40314	NewName *string `type:"string"`
40315
40316	// The name of the new target group to assign to the proxy.
40317	//
40318	// TargetGroupName is a required field
40319	TargetGroupName *string `type:"string" required:"true"`
40320}
40321
40322// String returns the string representation.
40323//
40324// API parameter values that are decorated as "sensitive" in the API will not
40325// be included in the string output. The member name will be present, but the
40326// value will be replaced with "sensitive".
40327func (s ModifyDBProxyTargetGroupInput) String() string {
40328	return awsutil.Prettify(s)
40329}
40330
40331// GoString returns the string representation.
40332//
40333// API parameter values that are decorated as "sensitive" in the API will not
40334// be included in the string output. The member name will be present, but the
40335// value will be replaced with "sensitive".
40336func (s ModifyDBProxyTargetGroupInput) GoString() string {
40337	return s.String()
40338}
40339
40340// Validate inspects the fields of the type to determine if they are valid.
40341func (s *ModifyDBProxyTargetGroupInput) Validate() error {
40342	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyTargetGroupInput"}
40343	if s.DBProxyName == nil {
40344		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
40345	}
40346	if s.TargetGroupName == nil {
40347		invalidParams.Add(request.NewErrParamRequired("TargetGroupName"))
40348	}
40349
40350	if invalidParams.Len() > 0 {
40351		return invalidParams
40352	}
40353	return nil
40354}
40355
40356// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
40357func (s *ModifyDBProxyTargetGroupInput) SetConnectionPoolConfig(v *ConnectionPoolConfiguration) *ModifyDBProxyTargetGroupInput {
40358	s.ConnectionPoolConfig = v
40359	return s
40360}
40361
40362// SetDBProxyName sets the DBProxyName field's value.
40363func (s *ModifyDBProxyTargetGroupInput) SetDBProxyName(v string) *ModifyDBProxyTargetGroupInput {
40364	s.DBProxyName = &v
40365	return s
40366}
40367
40368// SetNewName sets the NewName field's value.
40369func (s *ModifyDBProxyTargetGroupInput) SetNewName(v string) *ModifyDBProxyTargetGroupInput {
40370	s.NewName = &v
40371	return s
40372}
40373
40374// SetTargetGroupName sets the TargetGroupName field's value.
40375func (s *ModifyDBProxyTargetGroupInput) SetTargetGroupName(v string) *ModifyDBProxyTargetGroupInput {
40376	s.TargetGroupName = &v
40377	return s
40378}
40379
40380type ModifyDBProxyTargetGroupOutput struct {
40381	_ struct{} `type:"structure"`
40382
40383	// The settings of the modified DBProxyTarget.
40384	DBProxyTargetGroup *DBProxyTargetGroup `type:"structure"`
40385}
40386
40387// String returns the string representation.
40388//
40389// API parameter values that are decorated as "sensitive" in the API will not
40390// be included in the string output. The member name will be present, but the
40391// value will be replaced with "sensitive".
40392func (s ModifyDBProxyTargetGroupOutput) String() string {
40393	return awsutil.Prettify(s)
40394}
40395
40396// GoString returns the string representation.
40397//
40398// API parameter values that are decorated as "sensitive" in the API will not
40399// be included in the string output. The member name will be present, but the
40400// value will be replaced with "sensitive".
40401func (s ModifyDBProxyTargetGroupOutput) GoString() string {
40402	return s.String()
40403}
40404
40405// SetDBProxyTargetGroup sets the DBProxyTargetGroup field's value.
40406func (s *ModifyDBProxyTargetGroupOutput) SetDBProxyTargetGroup(v *DBProxyTargetGroup) *ModifyDBProxyTargetGroupOutput {
40407	s.DBProxyTargetGroup = v
40408	return s
40409}
40410
40411type ModifyDBSnapshotAttributeInput struct {
40412	_ struct{} `type:"structure"`
40413
40414	// The name of the DB snapshot attribute to modify.
40415	//
40416	// To manage authorization for other Amazon Web Services accounts to copy or
40417	// restore a manual DB snapshot, set this value to restore.
40418	//
40419	// To view the list of attributes available to modify, use the DescribeDBSnapshotAttributes
40420	// API action.
40421	//
40422	// AttributeName is a required field
40423	AttributeName *string `type:"string" required:"true"`
40424
40425	// The identifier for the DB snapshot to modify the attributes for.
40426	//
40427	// DBSnapshotIdentifier is a required field
40428	DBSnapshotIdentifier *string `type:"string" required:"true"`
40429
40430	// A list of DB snapshot attributes to add to the attribute specified by AttributeName.
40431	//
40432	// To authorize other Amazon Web Services accounts to copy or restore a manual
40433	// snapshot, set this list to include one or more Amazon Web Services account
40434	// IDs, or all to make the manual DB snapshot restorable by any Amazon Web Services
40435	// account. Do not add the all value for any manual DB snapshots that contain
40436	// private information that you don't want available to all Amazon Web Services
40437	// accounts.
40438	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
40439
40440	// A list of DB snapshot attributes to remove from the attribute specified by
40441	// AttributeName.
40442	//
40443	// To remove authorization for other Amazon Web Services accounts to copy or
40444	// restore a manual snapshot, set this list to include one or more Amazon Web
40445	// Services account identifiers, or all to remove authorization for any Amazon
40446	// Web Services account to copy or restore the DB snapshot. If you specify all,
40447	// an Amazon Web Services account whose account ID is explicitly added to the
40448	// restore attribute can still copy or restore the manual DB snapshot.
40449	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
40450}
40451
40452// String returns the string representation.
40453//
40454// API parameter values that are decorated as "sensitive" in the API will not
40455// be included in the string output. The member name will be present, but the
40456// value will be replaced with "sensitive".
40457func (s ModifyDBSnapshotAttributeInput) String() string {
40458	return awsutil.Prettify(s)
40459}
40460
40461// GoString returns the string representation.
40462//
40463// API parameter values that are decorated as "sensitive" in the API will not
40464// be included in the string output. The member name will be present, but the
40465// value will be replaced with "sensitive".
40466func (s ModifyDBSnapshotAttributeInput) GoString() string {
40467	return s.String()
40468}
40469
40470// Validate inspects the fields of the type to determine if they are valid.
40471func (s *ModifyDBSnapshotAttributeInput) Validate() error {
40472	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"}
40473	if s.AttributeName == nil {
40474		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
40475	}
40476	if s.DBSnapshotIdentifier == nil {
40477		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
40478	}
40479
40480	if invalidParams.Len() > 0 {
40481		return invalidParams
40482	}
40483	return nil
40484}
40485
40486// SetAttributeName sets the AttributeName field's value.
40487func (s *ModifyDBSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBSnapshotAttributeInput {
40488	s.AttributeName = &v
40489	return s
40490}
40491
40492// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
40493func (s *ModifyDBSnapshotAttributeInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotAttributeInput {
40494	s.DBSnapshotIdentifier = &v
40495	return s
40496}
40497
40498// SetValuesToAdd sets the ValuesToAdd field's value.
40499func (s *ModifyDBSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBSnapshotAttributeInput {
40500	s.ValuesToAdd = v
40501	return s
40502}
40503
40504// SetValuesToRemove sets the ValuesToRemove field's value.
40505func (s *ModifyDBSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBSnapshotAttributeInput {
40506	s.ValuesToRemove = v
40507	return s
40508}
40509
40510type ModifyDBSnapshotAttributeOutput struct {
40511	_ struct{} `type:"structure"`
40512
40513	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
40514	// API action.
40515	//
40516	// Manual DB snapshot attributes are used to authorize other Amazon Web Services
40517	// accounts to copy or restore a manual DB snapshot. For more information, see
40518	// the ModifyDBSnapshotAttribute API action.
40519	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
40520}
40521
40522// String returns the string representation.
40523//
40524// API parameter values that are decorated as "sensitive" in the API will not
40525// be included in the string output. The member name will be present, but the
40526// value will be replaced with "sensitive".
40527func (s ModifyDBSnapshotAttributeOutput) String() string {
40528	return awsutil.Prettify(s)
40529}
40530
40531// GoString returns the string representation.
40532//
40533// API parameter values that are decorated as "sensitive" in the API will not
40534// be included in the string output. The member name will be present, but the
40535// value will be replaced with "sensitive".
40536func (s ModifyDBSnapshotAttributeOutput) GoString() string {
40537	return s.String()
40538}
40539
40540// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
40541func (s *ModifyDBSnapshotAttributeOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *ModifyDBSnapshotAttributeOutput {
40542	s.DBSnapshotAttributesResult = v
40543	return s
40544}
40545
40546type ModifyDBSnapshotInput struct {
40547	_ struct{} `type:"structure"`
40548
40549	// The identifier of the DB snapshot to modify.
40550	//
40551	// DBSnapshotIdentifier is a required field
40552	DBSnapshotIdentifier *string `type:"string" required:"true"`
40553
40554	// The engine version to upgrade the DB snapshot to.
40555	//
40556	// The following are the database engines and engine versions that are available
40557	// when you upgrade a DB snapshot.
40558	//
40559	// MySQL
40560	//
40561	//    * 5.5.46 (supported for 5.1 DB snapshots)
40562	//
40563	// Oracle
40564	//
40565	//    * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
40566	//
40567	//    * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
40568	//
40569	//    * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
40570	//
40571	// PostgreSQL
40572	//
40573	// For the list of engine versions that are available for upgrading a DB snapshot,
40574	// 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).
40575	EngineVersion *string `type:"string"`
40576
40577	// The option group to identify with the upgraded DB snapshot.
40578	//
40579	// You can specify this parameter when you upgrade an Oracle DB snapshot. The
40580	// same option group considerations apply when upgrading a DB snapshot as when
40581	// upgrading a DB instance. For more information, see Option group considerations
40582	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG)
40583	// in the Amazon RDS User Guide.
40584	OptionGroupName *string `type:"string"`
40585}
40586
40587// String returns the string representation.
40588//
40589// API parameter values that are decorated as "sensitive" in the API will not
40590// be included in the string output. The member name will be present, but the
40591// value will be replaced with "sensitive".
40592func (s ModifyDBSnapshotInput) String() string {
40593	return awsutil.Prettify(s)
40594}
40595
40596// GoString returns the string representation.
40597//
40598// API parameter values that are decorated as "sensitive" in the API will not
40599// be included in the string output. The member name will be present, but the
40600// value will be replaced with "sensitive".
40601func (s ModifyDBSnapshotInput) GoString() string {
40602	return s.String()
40603}
40604
40605// Validate inspects the fields of the type to determine if they are valid.
40606func (s *ModifyDBSnapshotInput) Validate() error {
40607	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotInput"}
40608	if s.DBSnapshotIdentifier == nil {
40609		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
40610	}
40611
40612	if invalidParams.Len() > 0 {
40613		return invalidParams
40614	}
40615	return nil
40616}
40617
40618// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
40619func (s *ModifyDBSnapshotInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotInput {
40620	s.DBSnapshotIdentifier = &v
40621	return s
40622}
40623
40624// SetEngineVersion sets the EngineVersion field's value.
40625func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInput {
40626	s.EngineVersion = &v
40627	return s
40628}
40629
40630// SetOptionGroupName sets the OptionGroupName field's value.
40631func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput {
40632	s.OptionGroupName = &v
40633	return s
40634}
40635
40636type ModifyDBSnapshotOutput struct {
40637	_ struct{} `type:"structure"`
40638
40639	// Contains the details of an Amazon RDS DB snapshot.
40640	//
40641	// This data type is used as a response element in the DescribeDBSnapshots action.
40642	DBSnapshot *DBSnapshot `type:"structure"`
40643}
40644
40645// String returns the string representation.
40646//
40647// API parameter values that are decorated as "sensitive" in the API will not
40648// be included in the string output. The member name will be present, but the
40649// value will be replaced with "sensitive".
40650func (s ModifyDBSnapshotOutput) String() string {
40651	return awsutil.Prettify(s)
40652}
40653
40654// GoString returns the string representation.
40655//
40656// API parameter values that are decorated as "sensitive" in the API will not
40657// be included in the string output. The member name will be present, but the
40658// value will be replaced with "sensitive".
40659func (s ModifyDBSnapshotOutput) GoString() string {
40660	return s.String()
40661}
40662
40663// SetDBSnapshot sets the DBSnapshot field's value.
40664func (s *ModifyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *ModifyDBSnapshotOutput {
40665	s.DBSnapshot = v
40666	return s
40667}
40668
40669type ModifyDBSubnetGroupInput struct {
40670	_ struct{} `type:"structure"`
40671
40672	// The description for the DB subnet group.
40673	DBSubnetGroupDescription *string `type:"string"`
40674
40675	// The name for the DB subnet group. This value is stored as a lowercase string.
40676	// You can't modify the default subnet group.
40677	//
40678	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
40679	// default.
40680	//
40681	// Example: mySubnetgroup
40682	//
40683	// DBSubnetGroupName is a required field
40684	DBSubnetGroupName *string `type:"string" required:"true"`
40685
40686	// The EC2 subnet IDs for the DB subnet group.
40687	//
40688	// SubnetIds is a required field
40689	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
40690}
40691
40692// String returns the string representation.
40693//
40694// API parameter values that are decorated as "sensitive" in the API will not
40695// be included in the string output. The member name will be present, but the
40696// value will be replaced with "sensitive".
40697func (s ModifyDBSubnetGroupInput) String() string {
40698	return awsutil.Prettify(s)
40699}
40700
40701// GoString returns the string representation.
40702//
40703// API parameter values that are decorated as "sensitive" in the API will not
40704// be included in the string output. The member name will be present, but the
40705// value will be replaced with "sensitive".
40706func (s ModifyDBSubnetGroupInput) GoString() string {
40707	return s.String()
40708}
40709
40710// Validate inspects the fields of the type to determine if they are valid.
40711func (s *ModifyDBSubnetGroupInput) Validate() error {
40712	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
40713	if s.DBSubnetGroupName == nil {
40714		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
40715	}
40716	if s.SubnetIds == nil {
40717		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
40718	}
40719
40720	if invalidParams.Len() > 0 {
40721		return invalidParams
40722	}
40723	return nil
40724}
40725
40726// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
40727func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
40728	s.DBSubnetGroupDescription = &v
40729	return s
40730}
40731
40732// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
40733func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
40734	s.DBSubnetGroupName = &v
40735	return s
40736}
40737
40738// SetSubnetIds sets the SubnetIds field's value.
40739func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
40740	s.SubnetIds = v
40741	return s
40742}
40743
40744type ModifyDBSubnetGroupOutput struct {
40745	_ struct{} `type:"structure"`
40746
40747	// Contains the details of an Amazon RDS DB subnet group.
40748	//
40749	// This data type is used as a response element in the DescribeDBSubnetGroups
40750	// action.
40751	DBSubnetGroup *DBSubnetGroup `type:"structure"`
40752}
40753
40754// String returns the string representation.
40755//
40756// API parameter values that are decorated as "sensitive" in the API will not
40757// be included in the string output. The member name will be present, but the
40758// value will be replaced with "sensitive".
40759func (s ModifyDBSubnetGroupOutput) String() string {
40760	return awsutil.Prettify(s)
40761}
40762
40763// GoString returns the string representation.
40764//
40765// API parameter values that are decorated as "sensitive" in the API will not
40766// be included in the string output. The member name will be present, but the
40767// value will be replaced with "sensitive".
40768func (s ModifyDBSubnetGroupOutput) GoString() string {
40769	return s.String()
40770}
40771
40772// SetDBSubnetGroup sets the DBSubnetGroup field's value.
40773func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
40774	s.DBSubnetGroup = v
40775	return s
40776}
40777
40778type ModifyEventSubscriptionInput struct {
40779	_ struct{} `type:"structure"`
40780
40781	// A value that indicates whether to activate the subscription.
40782	Enabled *bool `type:"boolean"`
40783
40784	// A list of event categories for a source type (SourceType) that you want to
40785	// subscribe to. You can see a list of the categories for a given source type
40786	// in Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
40787	// in the Amazon RDS User Guide or by using the DescribeEventCategories operation.
40788	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
40789
40790	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
40791	// The ARN is created by Amazon SNS when you create a topic and subscribe to
40792	// it.
40793	SnsTopicArn *string `type:"string"`
40794
40795	// The type of source that is generating the events. For example, if you want
40796	// to be notified of events generated by a DB instance, you would set this parameter
40797	// to db-instance. If this value isn't specified, all events are returned.
40798	//
40799	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
40800	// | db-snapshot | db-cluster-snapshot
40801	SourceType *string `type:"string"`
40802
40803	// The name of the RDS event notification subscription.
40804	//
40805	// SubscriptionName is a required field
40806	SubscriptionName *string `type:"string" required:"true"`
40807}
40808
40809// String returns the string representation.
40810//
40811// API parameter values that are decorated as "sensitive" in the API will not
40812// be included in the string output. The member name will be present, but the
40813// value will be replaced with "sensitive".
40814func (s ModifyEventSubscriptionInput) String() string {
40815	return awsutil.Prettify(s)
40816}
40817
40818// GoString returns the string representation.
40819//
40820// API parameter values that are decorated as "sensitive" in the API will not
40821// be included in the string output. The member name will be present, but the
40822// value will be replaced with "sensitive".
40823func (s ModifyEventSubscriptionInput) GoString() string {
40824	return s.String()
40825}
40826
40827// Validate inspects the fields of the type to determine if they are valid.
40828func (s *ModifyEventSubscriptionInput) Validate() error {
40829	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
40830	if s.SubscriptionName == nil {
40831		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
40832	}
40833
40834	if invalidParams.Len() > 0 {
40835		return invalidParams
40836	}
40837	return nil
40838}
40839
40840// SetEnabled sets the Enabled field's value.
40841func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
40842	s.Enabled = &v
40843	return s
40844}
40845
40846// SetEventCategories sets the EventCategories field's value.
40847func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
40848	s.EventCategories = v
40849	return s
40850}
40851
40852// SetSnsTopicArn sets the SnsTopicArn field's value.
40853func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
40854	s.SnsTopicArn = &v
40855	return s
40856}
40857
40858// SetSourceType sets the SourceType field's value.
40859func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
40860	s.SourceType = &v
40861	return s
40862}
40863
40864// SetSubscriptionName sets the SubscriptionName field's value.
40865func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
40866	s.SubscriptionName = &v
40867	return s
40868}
40869
40870type ModifyEventSubscriptionOutput struct {
40871	_ struct{} `type:"structure"`
40872
40873	// Contains the results of a successful invocation of the DescribeEventSubscriptions
40874	// action.
40875	EventSubscription *EventSubscription `type:"structure"`
40876}
40877
40878// String returns the string representation.
40879//
40880// API parameter values that are decorated as "sensitive" in the API will not
40881// be included in the string output. The member name will be present, but the
40882// value will be replaced with "sensitive".
40883func (s ModifyEventSubscriptionOutput) String() string {
40884	return awsutil.Prettify(s)
40885}
40886
40887// GoString returns the string representation.
40888//
40889// API parameter values that are decorated as "sensitive" in the API will not
40890// be included in the string output. The member name will be present, but the
40891// value will be replaced with "sensitive".
40892func (s ModifyEventSubscriptionOutput) GoString() string {
40893	return s.String()
40894}
40895
40896// SetEventSubscription sets the EventSubscription field's value.
40897func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
40898	s.EventSubscription = v
40899	return s
40900}
40901
40902type ModifyGlobalClusterInput struct {
40903	_ struct{} `type:"structure"`
40904
40905	// A value that indicates whether major version upgrades are allowed.
40906	//
40907	// Constraints: You must allow major version upgrades when specifying a value
40908	// for the EngineVersion parameter that is a different major version than the
40909	// DB cluster's current version.
40910	//
40911	// If you upgrade the major version of a global database, the cluster and DB
40912	// instance parameter groups are set to the default parameter groups for the
40913	// new version. Apply any custom parameter groups after completing the upgrade.
40914	AllowMajorVersionUpgrade *bool `type:"boolean"`
40915
40916	// Indicates if the global database cluster has deletion protection enabled.
40917	// The global database cluster can't be deleted when deletion protection is
40918	// enabled.
40919	DeletionProtection *bool `type:"boolean"`
40920
40921	// The version number of the database engine to which you want to upgrade. Changing
40922	// this parameter results in an outage. The change is applied during the next
40923	// maintenance window unless ApplyImmediately is enabled.
40924	//
40925	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
40926	// Aurora), use the following command:
40927	//
40928	// aws rds describe-db-engine-versions --engine aurora --query '*[]|[?SupportsGlobalDatabases
40929	// == `true`].[EngineVersion]'
40930	//
40931	// To list all of the available engine versions for aurora-mysql (for MySQL
40932	// 5.7-compatible Aurora), use the following command:
40933	//
40934	// aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases
40935	// == `true`].[EngineVersion]'
40936	//
40937	// To list all of the available engine versions for aurora-postgresql, use the
40938	// following command:
40939	//
40940	// aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases
40941	// == `true`].[EngineVersion]'
40942	EngineVersion *string `type:"string"`
40943
40944	// The DB cluster identifier for the global cluster being modified. This parameter
40945	// isn't case-sensitive.
40946	//
40947	// Constraints:
40948	//
40949	//    * Must match the identifier of an existing global database cluster.
40950	GlobalClusterIdentifier *string `type:"string"`
40951
40952	// The new cluster identifier for the global database cluster when modifying
40953	// a global database cluster. This value is stored as a lowercase string.
40954	//
40955	// Constraints:
40956	//
40957	//    * Must contain from 1 to 63 letters, numbers, or hyphens
40958	//
40959	//    * The first character must be a letter
40960	//
40961	//    * Can't end with a hyphen or contain two consecutive hyphens
40962	//
40963	// Example: my-cluster2
40964	NewGlobalClusterIdentifier *string `type:"string"`
40965}
40966
40967// String returns the string representation.
40968//
40969// API parameter values that are decorated as "sensitive" in the API will not
40970// be included in the string output. The member name will be present, but the
40971// value will be replaced with "sensitive".
40972func (s ModifyGlobalClusterInput) String() string {
40973	return awsutil.Prettify(s)
40974}
40975
40976// GoString returns the string representation.
40977//
40978// API parameter values that are decorated as "sensitive" in the API will not
40979// be included in the string output. The member name will be present, but the
40980// value will be replaced with "sensitive".
40981func (s ModifyGlobalClusterInput) GoString() string {
40982	return s.String()
40983}
40984
40985// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
40986func (s *ModifyGlobalClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyGlobalClusterInput {
40987	s.AllowMajorVersionUpgrade = &v
40988	return s
40989}
40990
40991// SetDeletionProtection sets the DeletionProtection field's value.
40992func (s *ModifyGlobalClusterInput) SetDeletionProtection(v bool) *ModifyGlobalClusterInput {
40993	s.DeletionProtection = &v
40994	return s
40995}
40996
40997// SetEngineVersion sets the EngineVersion field's value.
40998func (s *ModifyGlobalClusterInput) SetEngineVersion(v string) *ModifyGlobalClusterInput {
40999	s.EngineVersion = &v
41000	return s
41001}
41002
41003// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
41004func (s *ModifyGlobalClusterInput) SetGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
41005	s.GlobalClusterIdentifier = &v
41006	return s
41007}
41008
41009// SetNewGlobalClusterIdentifier sets the NewGlobalClusterIdentifier field's value.
41010func (s *ModifyGlobalClusterInput) SetNewGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
41011	s.NewGlobalClusterIdentifier = &v
41012	return s
41013}
41014
41015type ModifyGlobalClusterOutput struct {
41016	_ struct{} `type:"structure"`
41017
41018	// A data type representing an Aurora global database.
41019	GlobalCluster *GlobalCluster `type:"structure"`
41020}
41021
41022// String returns the string representation.
41023//
41024// API parameter values that are decorated as "sensitive" in the API will not
41025// be included in the string output. The member name will be present, but the
41026// value will be replaced with "sensitive".
41027func (s ModifyGlobalClusterOutput) String() string {
41028	return awsutil.Prettify(s)
41029}
41030
41031// GoString returns the string representation.
41032//
41033// API parameter values that are decorated as "sensitive" in the API will not
41034// be included in the string output. The member name will be present, but the
41035// value will be replaced with "sensitive".
41036func (s ModifyGlobalClusterOutput) GoString() string {
41037	return s.String()
41038}
41039
41040// SetGlobalCluster sets the GlobalCluster field's value.
41041func (s *ModifyGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *ModifyGlobalClusterOutput {
41042	s.GlobalCluster = v
41043	return s
41044}
41045
41046type ModifyOptionGroupInput struct {
41047	_ struct{} `type:"structure"`
41048
41049	// A value that indicates whether to apply the change immediately or during
41050	// the next maintenance window for each instance associated with the option
41051	// group.
41052	ApplyImmediately *bool `type:"boolean"`
41053
41054	// The name of the option group to be modified.
41055	//
41056	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
41057	// can't be removed from an option group, and that option group can't be removed
41058	// from a DB instance once it is associated with a DB instance
41059	//
41060	// OptionGroupName is a required field
41061	OptionGroupName *string `type:"string" required:"true"`
41062
41063	// Options in this list are added to the option group or, if already present,
41064	// the specified configuration is used to update the existing configuration.
41065	OptionsToInclude []*OptionConfiguration `locationNameList:"OptionConfiguration" type:"list"`
41066
41067	// Options in this list are removed from the option group.
41068	OptionsToRemove []*string `type:"list"`
41069}
41070
41071// String returns the string representation.
41072//
41073// API parameter values that are decorated as "sensitive" in the API will not
41074// be included in the string output. The member name will be present, but the
41075// value will be replaced with "sensitive".
41076func (s ModifyOptionGroupInput) String() string {
41077	return awsutil.Prettify(s)
41078}
41079
41080// GoString returns the string representation.
41081//
41082// API parameter values that are decorated as "sensitive" in the API will not
41083// be included in the string output. The member name will be present, but the
41084// value will be replaced with "sensitive".
41085func (s ModifyOptionGroupInput) GoString() string {
41086	return s.String()
41087}
41088
41089// Validate inspects the fields of the type to determine if they are valid.
41090func (s *ModifyOptionGroupInput) Validate() error {
41091	invalidParams := request.ErrInvalidParams{Context: "ModifyOptionGroupInput"}
41092	if s.OptionGroupName == nil {
41093		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
41094	}
41095	if s.OptionsToInclude != nil {
41096		for i, v := range s.OptionsToInclude {
41097			if v == nil {
41098				continue
41099			}
41100			if err := v.Validate(); err != nil {
41101				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToInclude", i), err.(request.ErrInvalidParams))
41102			}
41103		}
41104	}
41105
41106	if invalidParams.Len() > 0 {
41107		return invalidParams
41108	}
41109	return nil
41110}
41111
41112// SetApplyImmediately sets the ApplyImmediately field's value.
41113func (s *ModifyOptionGroupInput) SetApplyImmediately(v bool) *ModifyOptionGroupInput {
41114	s.ApplyImmediately = &v
41115	return s
41116}
41117
41118// SetOptionGroupName sets the OptionGroupName field's value.
41119func (s *ModifyOptionGroupInput) SetOptionGroupName(v string) *ModifyOptionGroupInput {
41120	s.OptionGroupName = &v
41121	return s
41122}
41123
41124// SetOptionsToInclude sets the OptionsToInclude field's value.
41125func (s *ModifyOptionGroupInput) SetOptionsToInclude(v []*OptionConfiguration) *ModifyOptionGroupInput {
41126	s.OptionsToInclude = v
41127	return s
41128}
41129
41130// SetOptionsToRemove sets the OptionsToRemove field's value.
41131func (s *ModifyOptionGroupInput) SetOptionsToRemove(v []*string) *ModifyOptionGroupInput {
41132	s.OptionsToRemove = v
41133	return s
41134}
41135
41136type ModifyOptionGroupOutput struct {
41137	_ struct{} `type:"structure"`
41138
41139	OptionGroup *OptionGroup `type:"structure"`
41140}
41141
41142// String returns the string representation.
41143//
41144// API parameter values that are decorated as "sensitive" in the API will not
41145// be included in the string output. The member name will be present, but the
41146// value will be replaced with "sensitive".
41147func (s ModifyOptionGroupOutput) String() string {
41148	return awsutil.Prettify(s)
41149}
41150
41151// GoString returns the string representation.
41152//
41153// API parameter values that are decorated as "sensitive" in the API will not
41154// be included in the string output. The member name will be present, but the
41155// value will be replaced with "sensitive".
41156func (s ModifyOptionGroupOutput) GoString() string {
41157	return s.String()
41158}
41159
41160// SetOptionGroup sets the OptionGroup field's value.
41161func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGroupOutput {
41162	s.OptionGroup = v
41163	return s
41164}
41165
41166// Option details.
41167type Option struct {
41168	_ struct{} `type:"structure"`
41169
41170	// If the option requires access to a port, then this DB security group allows
41171	// access to the port.
41172	DBSecurityGroupMemberships []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
41173
41174	// The description of the option.
41175	OptionDescription *string `type:"string"`
41176
41177	// The name of the option.
41178	OptionName *string `type:"string"`
41179
41180	// The option settings for this option.
41181	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
41182
41183	// The version of the option.
41184	OptionVersion *string `type:"string"`
41185
41186	// Indicate if this option is permanent.
41187	Permanent *bool `type:"boolean"`
41188
41189	// Indicate if this option is persistent.
41190	Persistent *bool `type:"boolean"`
41191
41192	// If required, the port configured for this option to use.
41193	Port *int64 `type:"integer"`
41194
41195	// If the option requires access to a port, then this VPC security group allows
41196	// access to the port.
41197	VpcSecurityGroupMemberships []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
41198}
41199
41200// String returns the string representation.
41201//
41202// API parameter values that are decorated as "sensitive" in the API will not
41203// be included in the string output. The member name will be present, but the
41204// value will be replaced with "sensitive".
41205func (s Option) String() string {
41206	return awsutil.Prettify(s)
41207}
41208
41209// GoString returns the string representation.
41210//
41211// API parameter values that are decorated as "sensitive" in the API will not
41212// be included in the string output. The member name will be present, but the
41213// value will be replaced with "sensitive".
41214func (s Option) GoString() string {
41215	return s.String()
41216}
41217
41218// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
41219func (s *Option) SetDBSecurityGroupMemberships(v []*DBSecurityGroupMembership) *Option {
41220	s.DBSecurityGroupMemberships = v
41221	return s
41222}
41223
41224// SetOptionDescription sets the OptionDescription field's value.
41225func (s *Option) SetOptionDescription(v string) *Option {
41226	s.OptionDescription = &v
41227	return s
41228}
41229
41230// SetOptionName sets the OptionName field's value.
41231func (s *Option) SetOptionName(v string) *Option {
41232	s.OptionName = &v
41233	return s
41234}
41235
41236// SetOptionSettings sets the OptionSettings field's value.
41237func (s *Option) SetOptionSettings(v []*OptionSetting) *Option {
41238	s.OptionSettings = v
41239	return s
41240}
41241
41242// SetOptionVersion sets the OptionVersion field's value.
41243func (s *Option) SetOptionVersion(v string) *Option {
41244	s.OptionVersion = &v
41245	return s
41246}
41247
41248// SetPermanent sets the Permanent field's value.
41249func (s *Option) SetPermanent(v bool) *Option {
41250	s.Permanent = &v
41251	return s
41252}
41253
41254// SetPersistent sets the Persistent field's value.
41255func (s *Option) SetPersistent(v bool) *Option {
41256	s.Persistent = &v
41257	return s
41258}
41259
41260// SetPort sets the Port field's value.
41261func (s *Option) SetPort(v int64) *Option {
41262	s.Port = &v
41263	return s
41264}
41265
41266// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
41267func (s *Option) SetVpcSecurityGroupMemberships(v []*VpcSecurityGroupMembership) *Option {
41268	s.VpcSecurityGroupMemberships = v
41269	return s
41270}
41271
41272// A list of all available options
41273type OptionConfiguration struct {
41274	_ struct{} `type:"structure"`
41275
41276	// A list of DBSecurityGroupMembership name strings used for this option.
41277	DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"`
41278
41279	// The configuration of options to include in a group.
41280	//
41281	// OptionName is a required field
41282	OptionName *string `type:"string" required:"true"`
41283
41284	// The option settings to include in an option group.
41285	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
41286
41287	// The version for the option.
41288	OptionVersion *string `type:"string"`
41289
41290	// The optional port for the option.
41291	Port *int64 `type:"integer"`
41292
41293	// A list of VpcSecurityGroupMembership name strings used for this option.
41294	VpcSecurityGroupMemberships []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
41295}
41296
41297// String returns the string representation.
41298//
41299// API parameter values that are decorated as "sensitive" in the API will not
41300// be included in the string output. The member name will be present, but the
41301// value will be replaced with "sensitive".
41302func (s OptionConfiguration) String() string {
41303	return awsutil.Prettify(s)
41304}
41305
41306// GoString returns the string representation.
41307//
41308// API parameter values that are decorated as "sensitive" in the API will not
41309// be included in the string output. The member name will be present, but the
41310// value will be replaced with "sensitive".
41311func (s OptionConfiguration) GoString() string {
41312	return s.String()
41313}
41314
41315// Validate inspects the fields of the type to determine if they are valid.
41316func (s *OptionConfiguration) Validate() error {
41317	invalidParams := request.ErrInvalidParams{Context: "OptionConfiguration"}
41318	if s.OptionName == nil {
41319		invalidParams.Add(request.NewErrParamRequired("OptionName"))
41320	}
41321
41322	if invalidParams.Len() > 0 {
41323		return invalidParams
41324	}
41325	return nil
41326}
41327
41328// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
41329func (s *OptionConfiguration) SetDBSecurityGroupMemberships(v []*string) *OptionConfiguration {
41330	s.DBSecurityGroupMemberships = v
41331	return s
41332}
41333
41334// SetOptionName sets the OptionName field's value.
41335func (s *OptionConfiguration) SetOptionName(v string) *OptionConfiguration {
41336	s.OptionName = &v
41337	return s
41338}
41339
41340// SetOptionSettings sets the OptionSettings field's value.
41341func (s *OptionConfiguration) SetOptionSettings(v []*OptionSetting) *OptionConfiguration {
41342	s.OptionSettings = v
41343	return s
41344}
41345
41346// SetOptionVersion sets the OptionVersion field's value.
41347func (s *OptionConfiguration) SetOptionVersion(v string) *OptionConfiguration {
41348	s.OptionVersion = &v
41349	return s
41350}
41351
41352// SetPort sets the Port field's value.
41353func (s *OptionConfiguration) SetPort(v int64) *OptionConfiguration {
41354	s.Port = &v
41355	return s
41356}
41357
41358// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
41359func (s *OptionConfiguration) SetVpcSecurityGroupMemberships(v []*string) *OptionConfiguration {
41360	s.VpcSecurityGroupMemberships = v
41361	return s
41362}
41363
41364type OptionGroup struct {
41365	_ struct{} `type:"structure"`
41366
41367	// Indicates whether this option group can be applied to both VPC and non-VPC
41368	// instances. The value true indicates the option group can be applied to both
41369	// VPC and non-VPC instances.
41370	AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"`
41371
41372	// Indicates the name of the engine that this option group can be applied to.
41373	EngineName *string `type:"string"`
41374
41375	// Indicates the major engine version associated with this option group.
41376	MajorEngineVersion *string `type:"string"`
41377
41378	// The Amazon Resource Name (ARN) for the option group.
41379	OptionGroupArn *string `type:"string"`
41380
41381	// Provides a description of the option group.
41382	OptionGroupDescription *string `type:"string"`
41383
41384	// Specifies the name of the option group.
41385	OptionGroupName *string `type:"string"`
41386
41387	// Indicates what options are available in the option group.
41388	Options []*Option `locationNameList:"Option" type:"list"`
41389
41390	// If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If
41391	// AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then
41392	// this option group can be applied to both VPC and non-VPC instances. If this
41393	// field contains a value, then this option group can only be applied to instances
41394	// that are in the VPC indicated by this field.
41395	VpcId *string `type:"string"`
41396}
41397
41398// String returns the string representation.
41399//
41400// API parameter values that are decorated as "sensitive" in the API will not
41401// be included in the string output. The member name will be present, but the
41402// value will be replaced with "sensitive".
41403func (s OptionGroup) String() string {
41404	return awsutil.Prettify(s)
41405}
41406
41407// GoString returns the string representation.
41408//
41409// API parameter values that are decorated as "sensitive" in the API will not
41410// be included in the string output. The member name will be present, but the
41411// value will be replaced with "sensitive".
41412func (s OptionGroup) GoString() string {
41413	return s.String()
41414}
41415
41416// SetAllowsVpcAndNonVpcInstanceMemberships sets the AllowsVpcAndNonVpcInstanceMemberships field's value.
41417func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGroup {
41418	s.AllowsVpcAndNonVpcInstanceMemberships = &v
41419	return s
41420}
41421
41422// SetEngineName sets the EngineName field's value.
41423func (s *OptionGroup) SetEngineName(v string) *OptionGroup {
41424	s.EngineName = &v
41425	return s
41426}
41427
41428// SetMajorEngineVersion sets the MajorEngineVersion field's value.
41429func (s *OptionGroup) SetMajorEngineVersion(v string) *OptionGroup {
41430	s.MajorEngineVersion = &v
41431	return s
41432}
41433
41434// SetOptionGroupArn sets the OptionGroupArn field's value.
41435func (s *OptionGroup) SetOptionGroupArn(v string) *OptionGroup {
41436	s.OptionGroupArn = &v
41437	return s
41438}
41439
41440// SetOptionGroupDescription sets the OptionGroupDescription field's value.
41441func (s *OptionGroup) SetOptionGroupDescription(v string) *OptionGroup {
41442	s.OptionGroupDescription = &v
41443	return s
41444}
41445
41446// SetOptionGroupName sets the OptionGroupName field's value.
41447func (s *OptionGroup) SetOptionGroupName(v string) *OptionGroup {
41448	s.OptionGroupName = &v
41449	return s
41450}
41451
41452// SetOptions sets the Options field's value.
41453func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup {
41454	s.Options = v
41455	return s
41456}
41457
41458// SetVpcId sets the VpcId field's value.
41459func (s *OptionGroup) SetVpcId(v string) *OptionGroup {
41460	s.VpcId = &v
41461	return s
41462}
41463
41464// Provides information on the option groups the DB instance is a member of.
41465type OptionGroupMembership struct {
41466	_ struct{} `type:"structure"`
41467
41468	// The name of the option group that the instance belongs to.
41469	OptionGroupName *string `type:"string"`
41470
41471	// The status of the DB instance's option group membership. Valid values are:
41472	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
41473	// applying, removing, and failed.
41474	Status *string `type:"string"`
41475}
41476
41477// String returns the string representation.
41478//
41479// API parameter values that are decorated as "sensitive" in the API will not
41480// be included in the string output. The member name will be present, but the
41481// value will be replaced with "sensitive".
41482func (s OptionGroupMembership) String() string {
41483	return awsutil.Prettify(s)
41484}
41485
41486// GoString returns the string representation.
41487//
41488// API parameter values that are decorated as "sensitive" in the API will not
41489// be included in the string output. The member name will be present, but the
41490// value will be replaced with "sensitive".
41491func (s OptionGroupMembership) GoString() string {
41492	return s.String()
41493}
41494
41495// SetOptionGroupName sets the OptionGroupName field's value.
41496func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
41497	s.OptionGroupName = &v
41498	return s
41499}
41500
41501// SetStatus sets the Status field's value.
41502func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
41503	s.Status = &v
41504	return s
41505}
41506
41507// Available option.
41508type OptionGroupOption struct {
41509	_ struct{} `type:"structure"`
41510
41511	// If the option requires a port, specifies the default port for the option.
41512	DefaultPort *int64 `type:"integer"`
41513
41514	// The description of the option.
41515	Description *string `type:"string"`
41516
41517	// The name of the engine that this option can be applied to.
41518	EngineName *string `type:"string"`
41519
41520	// Indicates the major engine version that the option is available for.
41521	MajorEngineVersion *string `type:"string"`
41522
41523	// The minimum required engine version for the option to be applied.
41524	MinimumRequiredMinorEngineVersion *string `type:"string"`
41525
41526	// The name of the option.
41527	Name *string `type:"string"`
41528
41529	// The option settings that are available (and the default value) for each option
41530	// in an option group.
41531	OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"`
41532
41533	// The versions that are available for the option.
41534	OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"`
41535
41536	// The options that conflict with this option.
41537	OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"`
41538
41539	// The options that are prerequisites for this option.
41540	OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"`
41541
41542	// Permanent options can never be removed from an option group. An option group
41543	// containing a permanent option can't be removed from a DB instance.
41544	Permanent *bool `type:"boolean"`
41545
41546	// Persistent options can't be removed from an option group while DB instances
41547	// are associated with the option group. If you disassociate all DB instances
41548	// from the option group, your can remove the persistent option from the option
41549	// group.
41550	Persistent *bool `type:"boolean"`
41551
41552	// Specifies whether the option requires a port.
41553	PortRequired *bool `type:"boolean"`
41554
41555	// If true, you must enable the Auto Minor Version Upgrade setting for your
41556	// DB instance before you can use this option. You can enable Auto Minor Version
41557	// Upgrade when you first create your DB instance, or by modifying your DB instance
41558	// later.
41559	RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"`
41560
41561	// If true, you can change the option to an earlier version of the option. This
41562	// only applies to options that have different versions available.
41563	SupportsOptionVersionDowngrade *bool `type:"boolean"`
41564
41565	// If true, you can only use this option with a DB instance that is in a VPC.
41566	VpcOnly *bool `type:"boolean"`
41567}
41568
41569// String returns the string representation.
41570//
41571// API parameter values that are decorated as "sensitive" in the API will not
41572// be included in the string output. The member name will be present, but the
41573// value will be replaced with "sensitive".
41574func (s OptionGroupOption) String() string {
41575	return awsutil.Prettify(s)
41576}
41577
41578// GoString returns the string representation.
41579//
41580// API parameter values that are decorated as "sensitive" in the API will not
41581// be included in the string output. The member name will be present, but the
41582// value will be replaced with "sensitive".
41583func (s OptionGroupOption) GoString() string {
41584	return s.String()
41585}
41586
41587// SetDefaultPort sets the DefaultPort field's value.
41588func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption {
41589	s.DefaultPort = &v
41590	return s
41591}
41592
41593// SetDescription sets the Description field's value.
41594func (s *OptionGroupOption) SetDescription(v string) *OptionGroupOption {
41595	s.Description = &v
41596	return s
41597}
41598
41599// SetEngineName sets the EngineName field's value.
41600func (s *OptionGroupOption) SetEngineName(v string) *OptionGroupOption {
41601	s.EngineName = &v
41602	return s
41603}
41604
41605// SetMajorEngineVersion sets the MajorEngineVersion field's value.
41606func (s *OptionGroupOption) SetMajorEngineVersion(v string) *OptionGroupOption {
41607	s.MajorEngineVersion = &v
41608	return s
41609}
41610
41611// SetMinimumRequiredMinorEngineVersion sets the MinimumRequiredMinorEngineVersion field's value.
41612func (s *OptionGroupOption) SetMinimumRequiredMinorEngineVersion(v string) *OptionGroupOption {
41613	s.MinimumRequiredMinorEngineVersion = &v
41614	return s
41615}
41616
41617// SetName sets the Name field's value.
41618func (s *OptionGroupOption) SetName(v string) *OptionGroupOption {
41619	s.Name = &v
41620	return s
41621}
41622
41623// SetOptionGroupOptionSettings sets the OptionGroupOptionSettings field's value.
41624func (s *OptionGroupOption) SetOptionGroupOptionSettings(v []*OptionGroupOptionSetting) *OptionGroupOption {
41625	s.OptionGroupOptionSettings = v
41626	return s
41627}
41628
41629// SetOptionGroupOptionVersions sets the OptionGroupOptionVersions field's value.
41630func (s *OptionGroupOption) SetOptionGroupOptionVersions(v []*OptionVersion) *OptionGroupOption {
41631	s.OptionGroupOptionVersions = v
41632	return s
41633}
41634
41635// SetOptionsConflictsWith sets the OptionsConflictsWith field's value.
41636func (s *OptionGroupOption) SetOptionsConflictsWith(v []*string) *OptionGroupOption {
41637	s.OptionsConflictsWith = v
41638	return s
41639}
41640
41641// SetOptionsDependedOn sets the OptionsDependedOn field's value.
41642func (s *OptionGroupOption) SetOptionsDependedOn(v []*string) *OptionGroupOption {
41643	s.OptionsDependedOn = v
41644	return s
41645}
41646
41647// SetPermanent sets the Permanent field's value.
41648func (s *OptionGroupOption) SetPermanent(v bool) *OptionGroupOption {
41649	s.Permanent = &v
41650	return s
41651}
41652
41653// SetPersistent sets the Persistent field's value.
41654func (s *OptionGroupOption) SetPersistent(v bool) *OptionGroupOption {
41655	s.Persistent = &v
41656	return s
41657}
41658
41659// SetPortRequired sets the PortRequired field's value.
41660func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption {
41661	s.PortRequired = &v
41662	return s
41663}
41664
41665// SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value.
41666func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption {
41667	s.RequiresAutoMinorEngineVersionUpgrade = &v
41668	return s
41669}
41670
41671// SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value.
41672func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption {
41673	s.SupportsOptionVersionDowngrade = &v
41674	return s
41675}
41676
41677// SetVpcOnly sets the VpcOnly field's value.
41678func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption {
41679	s.VpcOnly = &v
41680	return s
41681}
41682
41683// Option group option settings are used to display settings available for each
41684// option with their default values and other information. These values are
41685// used with the DescribeOptionGroupOptions action.
41686type OptionGroupOptionSetting struct {
41687	_ struct{} `type:"structure"`
41688
41689	// Indicates the acceptable values for the option group option.
41690	AllowedValues *string `type:"string"`
41691
41692	// The DB engine specific parameter type for the option group option.
41693	ApplyType *string `type:"string"`
41694
41695	// The default value for the option group option.
41696	DefaultValue *string `type:"string"`
41697
41698	// Boolean value where true indicates that this option group option can be changed
41699	// from the default value.
41700	IsModifiable *bool `type:"boolean"`
41701
41702	// Boolean value where true indicates that a value must be specified for this
41703	// option setting of the option group option.
41704	IsRequired *bool `type:"boolean"`
41705
41706	// The minimum DB engine version required for the corresponding allowed value
41707	// for this option setting.
41708	MinimumEngineVersionPerAllowedValue []*MinimumEngineVersionPerAllowedValue `locationNameList:"MinimumEngineVersionPerAllowedValue" type:"list"`
41709
41710	// The description of the option group option.
41711	SettingDescription *string `type:"string"`
41712
41713	// The name of the option group option.
41714	SettingName *string `type:"string"`
41715}
41716
41717// String returns the string representation.
41718//
41719// API parameter values that are decorated as "sensitive" in the API will not
41720// be included in the string output. The member name will be present, but the
41721// value will be replaced with "sensitive".
41722func (s OptionGroupOptionSetting) String() string {
41723	return awsutil.Prettify(s)
41724}
41725
41726// GoString returns the string representation.
41727//
41728// API parameter values that are decorated as "sensitive" in the API will not
41729// be included in the string output. The member name will be present, but the
41730// value will be replaced with "sensitive".
41731func (s OptionGroupOptionSetting) GoString() string {
41732	return s.String()
41733}
41734
41735// SetAllowedValues sets the AllowedValues field's value.
41736func (s *OptionGroupOptionSetting) SetAllowedValues(v string) *OptionGroupOptionSetting {
41737	s.AllowedValues = &v
41738	return s
41739}
41740
41741// SetApplyType sets the ApplyType field's value.
41742func (s *OptionGroupOptionSetting) SetApplyType(v string) *OptionGroupOptionSetting {
41743	s.ApplyType = &v
41744	return s
41745}
41746
41747// SetDefaultValue sets the DefaultValue field's value.
41748func (s *OptionGroupOptionSetting) SetDefaultValue(v string) *OptionGroupOptionSetting {
41749	s.DefaultValue = &v
41750	return s
41751}
41752
41753// SetIsModifiable sets the IsModifiable field's value.
41754func (s *OptionGroupOptionSetting) SetIsModifiable(v bool) *OptionGroupOptionSetting {
41755	s.IsModifiable = &v
41756	return s
41757}
41758
41759// SetIsRequired sets the IsRequired field's value.
41760func (s *OptionGroupOptionSetting) SetIsRequired(v bool) *OptionGroupOptionSetting {
41761	s.IsRequired = &v
41762	return s
41763}
41764
41765// SetMinimumEngineVersionPerAllowedValue sets the MinimumEngineVersionPerAllowedValue field's value.
41766func (s *OptionGroupOptionSetting) SetMinimumEngineVersionPerAllowedValue(v []*MinimumEngineVersionPerAllowedValue) *OptionGroupOptionSetting {
41767	s.MinimumEngineVersionPerAllowedValue = v
41768	return s
41769}
41770
41771// SetSettingDescription sets the SettingDescription field's value.
41772func (s *OptionGroupOptionSetting) SetSettingDescription(v string) *OptionGroupOptionSetting {
41773	s.SettingDescription = &v
41774	return s
41775}
41776
41777// SetSettingName sets the SettingName field's value.
41778func (s *OptionGroupOptionSetting) SetSettingName(v string) *OptionGroupOptionSetting {
41779	s.SettingName = &v
41780	return s
41781}
41782
41783// Option settings are the actual settings being applied or configured for that
41784// option. It is used when you modify an option group or describe option groups.
41785// For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER
41786// that can have several different values.
41787type OptionSetting struct {
41788	_ struct{} `type:"structure"`
41789
41790	// The allowed values of the option setting.
41791	AllowedValues *string `type:"string"`
41792
41793	// The DB engine specific parameter type.
41794	ApplyType *string `type:"string"`
41795
41796	// The data type of the option setting.
41797	DataType *string `type:"string"`
41798
41799	// The default value of the option setting.
41800	DefaultValue *string `type:"string"`
41801
41802	// The description of the option setting.
41803	Description *string `type:"string"`
41804
41805	// Indicates if the option setting is part of a collection.
41806	IsCollection *bool `type:"boolean"`
41807
41808	// A Boolean value that, when true, indicates the option setting can be modified
41809	// from the default.
41810	IsModifiable *bool `type:"boolean"`
41811
41812	// The name of the option that has settings that you can set.
41813	Name *string `type:"string"`
41814
41815	// The current value of the option setting.
41816	Value *string `type:"string"`
41817}
41818
41819// String returns the string representation.
41820//
41821// API parameter values that are decorated as "sensitive" in the API will not
41822// be included in the string output. The member name will be present, but the
41823// value will be replaced with "sensitive".
41824func (s OptionSetting) String() string {
41825	return awsutil.Prettify(s)
41826}
41827
41828// GoString returns the string representation.
41829//
41830// API parameter values that are decorated as "sensitive" in the API will not
41831// be included in the string output. The member name will be present, but the
41832// value will be replaced with "sensitive".
41833func (s OptionSetting) GoString() string {
41834	return s.String()
41835}
41836
41837// SetAllowedValues sets the AllowedValues field's value.
41838func (s *OptionSetting) SetAllowedValues(v string) *OptionSetting {
41839	s.AllowedValues = &v
41840	return s
41841}
41842
41843// SetApplyType sets the ApplyType field's value.
41844func (s *OptionSetting) SetApplyType(v string) *OptionSetting {
41845	s.ApplyType = &v
41846	return s
41847}
41848
41849// SetDataType sets the DataType field's value.
41850func (s *OptionSetting) SetDataType(v string) *OptionSetting {
41851	s.DataType = &v
41852	return s
41853}
41854
41855// SetDefaultValue sets the DefaultValue field's value.
41856func (s *OptionSetting) SetDefaultValue(v string) *OptionSetting {
41857	s.DefaultValue = &v
41858	return s
41859}
41860
41861// SetDescription sets the Description field's value.
41862func (s *OptionSetting) SetDescription(v string) *OptionSetting {
41863	s.Description = &v
41864	return s
41865}
41866
41867// SetIsCollection sets the IsCollection field's value.
41868func (s *OptionSetting) SetIsCollection(v bool) *OptionSetting {
41869	s.IsCollection = &v
41870	return s
41871}
41872
41873// SetIsModifiable sets the IsModifiable field's value.
41874func (s *OptionSetting) SetIsModifiable(v bool) *OptionSetting {
41875	s.IsModifiable = &v
41876	return s
41877}
41878
41879// SetName sets the Name field's value.
41880func (s *OptionSetting) SetName(v string) *OptionSetting {
41881	s.Name = &v
41882	return s
41883}
41884
41885// SetValue sets the Value field's value.
41886func (s *OptionSetting) SetValue(v string) *OptionSetting {
41887	s.Value = &v
41888	return s
41889}
41890
41891// The version for an option. Option group option versions are returned by the
41892// DescribeOptionGroupOptions action.
41893type OptionVersion struct {
41894	_ struct{} `type:"structure"`
41895
41896	// True if the version is the default version of the option, and otherwise false.
41897	IsDefault *bool `type:"boolean"`
41898
41899	// The version of the option.
41900	Version *string `type:"string"`
41901}
41902
41903// String returns the string representation.
41904//
41905// API parameter values that are decorated as "sensitive" in the API will not
41906// be included in the string output. The member name will be present, but the
41907// value will be replaced with "sensitive".
41908func (s OptionVersion) String() string {
41909	return awsutil.Prettify(s)
41910}
41911
41912// GoString returns the string representation.
41913//
41914// API parameter values that are decorated as "sensitive" in the API will not
41915// be included in the string output. The member name will be present, but the
41916// value will be replaced with "sensitive".
41917func (s OptionVersion) GoString() string {
41918	return s.String()
41919}
41920
41921// SetIsDefault sets the IsDefault field's value.
41922func (s *OptionVersion) SetIsDefault(v bool) *OptionVersion {
41923	s.IsDefault = &v
41924	return s
41925}
41926
41927// SetVersion sets the Version field's value.
41928func (s *OptionVersion) SetVersion(v string) *OptionVersion {
41929	s.Version = &v
41930	return s
41931}
41932
41933// Contains a list of available options for a DB instance.
41934//
41935// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
41936// action.
41937type OrderableDBInstanceOption struct {
41938	_ struct{} `type:"structure"`
41939
41940	// The Availability Zone group for a DB instance.
41941	AvailabilityZoneGroup *string `type:"string"`
41942
41943	// A list of Availability Zones for a DB instance.
41944	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
41945
41946	// A list of the available processor features for the DB instance class of a
41947	// DB instance.
41948	AvailableProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
41949
41950	// The DB instance class for a DB instance.
41951	DBInstanceClass *string `type:"string"`
41952
41953	// The engine type of a DB instance.
41954	Engine *string `type:"string"`
41955
41956	// The engine version of a DB instance.
41957	EngineVersion *string `type:"string"`
41958
41959	// The license model for a DB instance.
41960	LicenseModel *string `type:"string"`
41961
41962	// Maximum total provisioned IOPS for a DB instance.
41963	MaxIopsPerDbInstance *int64 `type:"integer"`
41964
41965	// Maximum provisioned IOPS per GiB for a DB instance.
41966	MaxIopsPerGib *float64 `type:"double"`
41967
41968	// Maximum storage size for a DB instance.
41969	MaxStorageSize *int64 `type:"integer"`
41970
41971	// Minimum total provisioned IOPS for a DB instance.
41972	MinIopsPerDbInstance *int64 `type:"integer"`
41973
41974	// Minimum provisioned IOPS per GiB for a DB instance.
41975	MinIopsPerGib *float64 `type:"double"`
41976
41977	// Minimum storage size for a DB instance.
41978	MinStorageSize *int64 `type:"integer"`
41979
41980	// Indicates whether a DB instance is Multi-AZ capable.
41981	MultiAZCapable *bool `type:"boolean"`
41982
41983	// Whether a DB instance supports RDS on Outposts.
41984	//
41985	// For more information about RDS on Outposts, see Amazon RDS on Amazon Web
41986	// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
41987	// in the Amazon RDS User Guide.
41988	OutpostCapable *bool `type:"boolean"`
41989
41990	// Indicates whether a DB instance can have a read replica.
41991	ReadReplicaCapable *bool `type:"boolean"`
41992
41993	// Indicates the storage type for a DB instance.
41994	StorageType *string `type:"string"`
41995
41996	// The list of supported modes for Database Activity Streams. Aurora PostgreSQL
41997	// returns the value [sync, async]. Aurora MySQL and RDS for Oracle return [async]
41998	// only. If Database Activity Streams isn't supported, the return value is an
41999	// empty list.
42000	SupportedActivityStreamModes []*string `type:"list"`
42001
42002	// A list of the supported DB engine modes.
42003	SupportedEngineModes []*string `type:"list"`
42004
42005	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
42006	// from 1 to 60 seconds.
42007	SupportsEnhancedMonitoring *bool `type:"boolean"`
42008
42009	// A value that indicates whether you can use Aurora global databases with a
42010	// specific combination of other DB engine attributes.
42011	SupportsGlobalDatabases *bool `type:"boolean"`
42012
42013	// Indicates whether a DB instance supports IAM database authentication.
42014	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
42015
42016	// Indicates whether a DB instance supports provisioned IOPS.
42017	SupportsIops *bool `type:"boolean"`
42018
42019	// Whether a DB instance supports Kerberos Authentication.
42020	SupportsKerberosAuthentication *bool `type:"boolean"`
42021
42022	// True if a DB instance supports Performance Insights, otherwise false.
42023	SupportsPerformanceInsights *bool `type:"boolean"`
42024
42025	// Whether Amazon RDS can automatically scale storage for DB instances that
42026	// use the specified DB instance class.
42027	SupportsStorageAutoscaling *bool `type:"boolean"`
42028
42029	// Indicates whether a DB instance supports encrypted storage.
42030	SupportsStorageEncryption *bool `type:"boolean"`
42031
42032	// Indicates whether a DB instance is in a VPC.
42033	Vpc *bool `type:"boolean"`
42034}
42035
42036// String returns the string representation.
42037//
42038// API parameter values that are decorated as "sensitive" in the API will not
42039// be included in the string output. The member name will be present, but the
42040// value will be replaced with "sensitive".
42041func (s OrderableDBInstanceOption) String() string {
42042	return awsutil.Prettify(s)
42043}
42044
42045// GoString returns the string representation.
42046//
42047// API parameter values that are decorated as "sensitive" in the API will not
42048// be included in the string output. The member name will be present, but the
42049// value will be replaced with "sensitive".
42050func (s OrderableDBInstanceOption) GoString() string {
42051	return s.String()
42052}
42053
42054// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
42055func (s *OrderableDBInstanceOption) SetAvailabilityZoneGroup(v string) *OrderableDBInstanceOption {
42056	s.AvailabilityZoneGroup = &v
42057	return s
42058}
42059
42060// SetAvailabilityZones sets the AvailabilityZones field's value.
42061func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
42062	s.AvailabilityZones = v
42063	return s
42064}
42065
42066// SetAvailableProcessorFeatures sets the AvailableProcessorFeatures field's value.
42067func (s *OrderableDBInstanceOption) SetAvailableProcessorFeatures(v []*AvailableProcessorFeature) *OrderableDBInstanceOption {
42068	s.AvailableProcessorFeatures = v
42069	return s
42070}
42071
42072// SetDBInstanceClass sets the DBInstanceClass field's value.
42073func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
42074	s.DBInstanceClass = &v
42075	return s
42076}
42077
42078// SetEngine sets the Engine field's value.
42079func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
42080	s.Engine = &v
42081	return s
42082}
42083
42084// SetEngineVersion sets the EngineVersion field's value.
42085func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
42086	s.EngineVersion = &v
42087	return s
42088}
42089
42090// SetLicenseModel sets the LicenseModel field's value.
42091func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
42092	s.LicenseModel = &v
42093	return s
42094}
42095
42096// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
42097func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
42098	s.MaxIopsPerDbInstance = &v
42099	return s
42100}
42101
42102// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
42103func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
42104	s.MaxIopsPerGib = &v
42105	return s
42106}
42107
42108// SetMaxStorageSize sets the MaxStorageSize field's value.
42109func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
42110	s.MaxStorageSize = &v
42111	return s
42112}
42113
42114// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
42115func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
42116	s.MinIopsPerDbInstance = &v
42117	return s
42118}
42119
42120// SetMinIopsPerGib sets the MinIopsPerGib field's value.
42121func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
42122	s.MinIopsPerGib = &v
42123	return s
42124}
42125
42126// SetMinStorageSize sets the MinStorageSize field's value.
42127func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
42128	s.MinStorageSize = &v
42129	return s
42130}
42131
42132// SetMultiAZCapable sets the MultiAZCapable field's value.
42133func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
42134	s.MultiAZCapable = &v
42135	return s
42136}
42137
42138// SetOutpostCapable sets the OutpostCapable field's value.
42139func (s *OrderableDBInstanceOption) SetOutpostCapable(v bool) *OrderableDBInstanceOption {
42140	s.OutpostCapable = &v
42141	return s
42142}
42143
42144// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
42145func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
42146	s.ReadReplicaCapable = &v
42147	return s
42148}
42149
42150// SetStorageType sets the StorageType field's value.
42151func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
42152	s.StorageType = &v
42153	return s
42154}
42155
42156// SetSupportedActivityStreamModes sets the SupportedActivityStreamModes field's value.
42157func (s *OrderableDBInstanceOption) SetSupportedActivityStreamModes(v []*string) *OrderableDBInstanceOption {
42158	s.SupportedActivityStreamModes = v
42159	return s
42160}
42161
42162// SetSupportedEngineModes sets the SupportedEngineModes field's value.
42163func (s *OrderableDBInstanceOption) SetSupportedEngineModes(v []*string) *OrderableDBInstanceOption {
42164	s.SupportedEngineModes = v
42165	return s
42166}
42167
42168// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
42169func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
42170	s.SupportsEnhancedMonitoring = &v
42171	return s
42172}
42173
42174// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
42175func (s *OrderableDBInstanceOption) SetSupportsGlobalDatabases(v bool) *OrderableDBInstanceOption {
42176	s.SupportsGlobalDatabases = &v
42177	return s
42178}
42179
42180// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
42181func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
42182	s.SupportsIAMDatabaseAuthentication = &v
42183	return s
42184}
42185
42186// SetSupportsIops sets the SupportsIops field's value.
42187func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
42188	s.SupportsIops = &v
42189	return s
42190}
42191
42192// SetSupportsKerberosAuthentication sets the SupportsKerberosAuthentication field's value.
42193func (s *OrderableDBInstanceOption) SetSupportsKerberosAuthentication(v bool) *OrderableDBInstanceOption {
42194	s.SupportsKerberosAuthentication = &v
42195	return s
42196}
42197
42198// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
42199func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
42200	s.SupportsPerformanceInsights = &v
42201	return s
42202}
42203
42204// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
42205func (s *OrderableDBInstanceOption) SetSupportsStorageAutoscaling(v bool) *OrderableDBInstanceOption {
42206	s.SupportsStorageAutoscaling = &v
42207	return s
42208}
42209
42210// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
42211func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
42212	s.SupportsStorageEncryption = &v
42213	return s
42214}
42215
42216// SetVpc sets the Vpc field's value.
42217func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
42218	s.Vpc = &v
42219	return s
42220}
42221
42222// A data type that represents an Outpost.
42223//
42224// For more information about RDS on Outposts, see Amazon RDS on Amazon Web
42225// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
42226// in the Amazon RDS User Guide.
42227type Outpost struct {
42228	_ struct{} `type:"structure"`
42229
42230	// The Amazon Resource Name (ARN) of the Outpost.
42231	Arn *string `type:"string"`
42232}
42233
42234// String returns the string representation.
42235//
42236// API parameter values that are decorated as "sensitive" in the API will not
42237// be included in the string output. The member name will be present, but the
42238// value will be replaced with "sensitive".
42239func (s Outpost) String() string {
42240	return awsutil.Prettify(s)
42241}
42242
42243// GoString returns the string representation.
42244//
42245// API parameter values that are decorated as "sensitive" in the API will not
42246// be included in the string output. The member name will be present, but the
42247// value will be replaced with "sensitive".
42248func (s Outpost) GoString() string {
42249	return s.String()
42250}
42251
42252// SetArn sets the Arn field's value.
42253func (s *Outpost) SetArn(v string) *Outpost {
42254	s.Arn = &v
42255	return s
42256}
42257
42258// This data type is used as a request parameter in the ModifyDBParameterGroup
42259// and ResetDBParameterGroup actions.
42260//
42261// This data type is used as a response element in the DescribeEngineDefaultParameters
42262// and DescribeDBParameters actions.
42263type Parameter struct {
42264	_ struct{} `type:"structure"`
42265
42266	// Specifies the valid range of values for the parameter.
42267	AllowedValues *string `type:"string"`
42268
42269	// Indicates when to apply parameter updates.
42270	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
42271
42272	// Specifies the engine specific parameters type.
42273	ApplyType *string `type:"string"`
42274
42275	// Specifies the valid data type for the parameter.
42276	DataType *string `type:"string"`
42277
42278	// Provides a description of the parameter.
42279	Description *string `type:"string"`
42280
42281	// Indicates whether (true) or not (false) the parameter can be modified. Some
42282	// parameters have security or operational implications that prevent them from
42283	// being changed.
42284	IsModifiable *bool `type:"boolean"`
42285
42286	// The earliest engine version to which the parameter can apply.
42287	MinimumEngineVersion *string `type:"string"`
42288
42289	// Specifies the name of the parameter.
42290	ParameterName *string `type:"string"`
42291
42292	// Specifies the value of the parameter.
42293	ParameterValue *string `type:"string"`
42294
42295	// Indicates the source of the parameter value.
42296	Source *string `type:"string"`
42297
42298	// The valid DB engine modes.
42299	SupportedEngineModes []*string `type:"list"`
42300}
42301
42302// String returns the string representation.
42303//
42304// API parameter values that are decorated as "sensitive" in the API will not
42305// be included in the string output. The member name will be present, but the
42306// value will be replaced with "sensitive".
42307func (s Parameter) String() string {
42308	return awsutil.Prettify(s)
42309}
42310
42311// GoString returns the string representation.
42312//
42313// API parameter values that are decorated as "sensitive" in the API will not
42314// be included in the string output. The member name will be present, but the
42315// value will be replaced with "sensitive".
42316func (s Parameter) GoString() string {
42317	return s.String()
42318}
42319
42320// SetAllowedValues sets the AllowedValues field's value.
42321func (s *Parameter) SetAllowedValues(v string) *Parameter {
42322	s.AllowedValues = &v
42323	return s
42324}
42325
42326// SetApplyMethod sets the ApplyMethod field's value.
42327func (s *Parameter) SetApplyMethod(v string) *Parameter {
42328	s.ApplyMethod = &v
42329	return s
42330}
42331
42332// SetApplyType sets the ApplyType field's value.
42333func (s *Parameter) SetApplyType(v string) *Parameter {
42334	s.ApplyType = &v
42335	return s
42336}
42337
42338// SetDataType sets the DataType field's value.
42339func (s *Parameter) SetDataType(v string) *Parameter {
42340	s.DataType = &v
42341	return s
42342}
42343
42344// SetDescription sets the Description field's value.
42345func (s *Parameter) SetDescription(v string) *Parameter {
42346	s.Description = &v
42347	return s
42348}
42349
42350// SetIsModifiable sets the IsModifiable field's value.
42351func (s *Parameter) SetIsModifiable(v bool) *Parameter {
42352	s.IsModifiable = &v
42353	return s
42354}
42355
42356// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
42357func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
42358	s.MinimumEngineVersion = &v
42359	return s
42360}
42361
42362// SetParameterName sets the ParameterName field's value.
42363func (s *Parameter) SetParameterName(v string) *Parameter {
42364	s.ParameterName = &v
42365	return s
42366}
42367
42368// SetParameterValue sets the ParameterValue field's value.
42369func (s *Parameter) SetParameterValue(v string) *Parameter {
42370	s.ParameterValue = &v
42371	return s
42372}
42373
42374// SetSource sets the Source field's value.
42375func (s *Parameter) SetSource(v string) *Parameter {
42376	s.Source = &v
42377	return s
42378}
42379
42380// SetSupportedEngineModes sets the SupportedEngineModes field's value.
42381func (s *Parameter) SetSupportedEngineModes(v []*string) *Parameter {
42382	s.SupportedEngineModes = v
42383	return s
42384}
42385
42386// A list of the log types whose configuration is still pending. In other words,
42387// these log types are in the process of being activated or deactivated.
42388type PendingCloudwatchLogsExports struct {
42389	_ struct{} `type:"structure"`
42390
42391	// Log types that are in the process of being enabled. After they are enabled,
42392	// these log types are exported to CloudWatch Logs.
42393	LogTypesToDisable []*string `type:"list"`
42394
42395	// Log types that are in the process of being deactivated. After they are deactivated,
42396	// these log types aren't exported to CloudWatch Logs.
42397	LogTypesToEnable []*string `type:"list"`
42398}
42399
42400// String returns the string representation.
42401//
42402// API parameter values that are decorated as "sensitive" in the API will not
42403// be included in the string output. The member name will be present, but the
42404// value will be replaced with "sensitive".
42405func (s PendingCloudwatchLogsExports) String() string {
42406	return awsutil.Prettify(s)
42407}
42408
42409// GoString returns the string representation.
42410//
42411// API parameter values that are decorated as "sensitive" in the API will not
42412// be included in the string output. The member name will be present, but the
42413// value will be replaced with "sensitive".
42414func (s PendingCloudwatchLogsExports) GoString() string {
42415	return s.String()
42416}
42417
42418// SetLogTypesToDisable sets the LogTypesToDisable field's value.
42419func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
42420	s.LogTypesToDisable = v
42421	return s
42422}
42423
42424// SetLogTypesToEnable sets the LogTypesToEnable field's value.
42425func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
42426	s.LogTypesToEnable = v
42427	return s
42428}
42429
42430// Provides information about a pending maintenance action for a resource.
42431type PendingMaintenanceAction struct {
42432	_ struct{} `type:"structure"`
42433
42434	// The type of pending maintenance action that is available for the resource.
42435	// Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation.
42436	Action *string `type:"string"`
42437
42438	// The date of the maintenance window when the action is applied. The maintenance
42439	// action is applied to the resource during its first maintenance window after
42440	// this date.
42441	AutoAppliedAfterDate *time.Time `type:"timestamp"`
42442
42443	// The effective date when the pending maintenance action is applied to the
42444	// resource. This date takes into account opt-in requests received from the
42445	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
42446	// This value is blank if an opt-in request has not been received and nothing
42447	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
42448	CurrentApplyDate *time.Time `type:"timestamp"`
42449
42450	// A description providing more detail about the maintenance action.
42451	Description *string `type:"string"`
42452
42453	// The date when the maintenance action is automatically applied.
42454	//
42455	// On this date, the maintenance action is applied to the resource as soon as
42456	// possible, regardless of the maintenance window for the resource. There might
42457	// be a delay of one or more days from this date before the maintenance action
42458	// is applied.
42459	ForcedApplyDate *time.Time `type:"timestamp"`
42460
42461	// Indicates the type of opt-in request that has been received for the resource.
42462	OptInStatus *string `type:"string"`
42463}
42464
42465// String returns the string representation.
42466//
42467// API parameter values that are decorated as "sensitive" in the API will not
42468// be included in the string output. The member name will be present, but the
42469// value will be replaced with "sensitive".
42470func (s PendingMaintenanceAction) String() string {
42471	return awsutil.Prettify(s)
42472}
42473
42474// GoString returns the string representation.
42475//
42476// API parameter values that are decorated as "sensitive" in the API will not
42477// be included in the string output. The member name will be present, but the
42478// value will be replaced with "sensitive".
42479func (s PendingMaintenanceAction) GoString() string {
42480	return s.String()
42481}
42482
42483// SetAction sets the Action field's value.
42484func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
42485	s.Action = &v
42486	return s
42487}
42488
42489// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
42490func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
42491	s.AutoAppliedAfterDate = &v
42492	return s
42493}
42494
42495// SetCurrentApplyDate sets the CurrentApplyDate field's value.
42496func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
42497	s.CurrentApplyDate = &v
42498	return s
42499}
42500
42501// SetDescription sets the Description field's value.
42502func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
42503	s.Description = &v
42504	return s
42505}
42506
42507// SetForcedApplyDate sets the ForcedApplyDate field's value.
42508func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
42509	s.ForcedApplyDate = &v
42510	return s
42511}
42512
42513// SetOptInStatus sets the OptInStatus field's value.
42514func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
42515	s.OptInStatus = &v
42516	return s
42517}
42518
42519// This data type is used as a response element in the ModifyDBInstance operation
42520// and contains changes that will be applied during the next maintenance window.
42521type PendingModifiedValues struct {
42522	_ struct{} `type:"structure"`
42523
42524	// The allocated storage size for the DB instance specified in gibibytes (GiB).
42525	AllocatedStorage *int64 `type:"integer"`
42526
42527	// The automation mode of the RDS Custom DB instance: full or all-paused. If
42528	// full, the DB instance automates monitoring and instance recovery. If all-paused,
42529	// the instance pauses automation for the duration set by --resume-full-automation-mode-minutes.
42530	AutomationMode *string `type:"string" enum:"AutomationMode"`
42531
42532	// The number of days for which automated backups are retained.
42533	BackupRetentionPeriod *int64 `type:"integer"`
42534
42535	// The identifier of the CA certificate for the DB instance.
42536	CACertificateIdentifier *string `type:"string"`
42537
42538	// The name of the compute and memory capacity class for the DB instance.
42539	DBInstanceClass *string `type:"string"`
42540
42541	// The database identifier for the DB instance.
42542	DBInstanceIdentifier *string `type:"string"`
42543
42544	// The DB subnet group for the DB instance.
42545	DBSubnetGroupName *string `type:"string"`
42546
42547	// The database engine version.
42548	EngineVersion *string `type:"string"`
42549
42550	// Whether mapping of Amazon Web Services Identity and Access Management (IAM)
42551	// accounts to database accounts is enabled.
42552	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
42553
42554	// The Provisioned IOPS value for the DB instance.
42555	Iops *int64 `type:"integer"`
42556
42557	// The license model for the DB instance.
42558	//
42559	// Valid values: license-included | bring-your-own-license | general-public-license
42560	LicenseModel *string `type:"string"`
42561
42562	// The master credentials for the DB instance.
42563	MasterUserPassword *string `type:"string"`
42564
42565	// A value that indicates that the Single-AZ DB instance will change to a Multi-AZ
42566	// deployment.
42567	MultiAZ *bool `type:"boolean"`
42568
42569	// A list of the log types whose configuration is still pending. In other words,
42570	// these log types are in the process of being activated or deactivated.
42571	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
42572
42573	// The port for the DB instance.
42574	Port *int64 `type:"integer"`
42575
42576	// The number of CPU cores and the number of threads per core for the DB instance
42577	// class of the DB instance.
42578	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
42579
42580	// The number of minutes to pause the automation. When the time period ends,
42581	// RDS Custom resumes full automation. The minimum value is 60 (default). The
42582	// maximum value is 1,440.
42583	ResumeFullAutomationModeTime *time.Time `type:"timestamp"`
42584
42585	// The storage type of the DB instance.
42586	StorageType *string `type:"string"`
42587}
42588
42589// String returns the string representation.
42590//
42591// API parameter values that are decorated as "sensitive" in the API will not
42592// be included in the string output. The member name will be present, but the
42593// value will be replaced with "sensitive".
42594func (s PendingModifiedValues) String() string {
42595	return awsutil.Prettify(s)
42596}
42597
42598// GoString returns the string representation.
42599//
42600// API parameter values that are decorated as "sensitive" in the API will not
42601// be included in the string output. The member name will be present, but the
42602// value will be replaced with "sensitive".
42603func (s PendingModifiedValues) GoString() string {
42604	return s.String()
42605}
42606
42607// SetAllocatedStorage sets the AllocatedStorage field's value.
42608func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
42609	s.AllocatedStorage = &v
42610	return s
42611}
42612
42613// SetAutomationMode sets the AutomationMode field's value.
42614func (s *PendingModifiedValues) SetAutomationMode(v string) *PendingModifiedValues {
42615	s.AutomationMode = &v
42616	return s
42617}
42618
42619// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
42620func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
42621	s.BackupRetentionPeriod = &v
42622	return s
42623}
42624
42625// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
42626func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
42627	s.CACertificateIdentifier = &v
42628	return s
42629}
42630
42631// SetDBInstanceClass sets the DBInstanceClass field's value.
42632func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
42633	s.DBInstanceClass = &v
42634	return s
42635}
42636
42637// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
42638func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
42639	s.DBInstanceIdentifier = &v
42640	return s
42641}
42642
42643// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
42644func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
42645	s.DBSubnetGroupName = &v
42646	return s
42647}
42648
42649// SetEngineVersion sets the EngineVersion field's value.
42650func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
42651	s.EngineVersion = &v
42652	return s
42653}
42654
42655// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
42656func (s *PendingModifiedValues) SetIAMDatabaseAuthenticationEnabled(v bool) *PendingModifiedValues {
42657	s.IAMDatabaseAuthenticationEnabled = &v
42658	return s
42659}
42660
42661// SetIops sets the Iops field's value.
42662func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
42663	s.Iops = &v
42664	return s
42665}
42666
42667// SetLicenseModel sets the LicenseModel field's value.
42668func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
42669	s.LicenseModel = &v
42670	return s
42671}
42672
42673// SetMasterUserPassword sets the MasterUserPassword field's value.
42674func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
42675	s.MasterUserPassword = &v
42676	return s
42677}
42678
42679// SetMultiAZ sets the MultiAZ field's value.
42680func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
42681	s.MultiAZ = &v
42682	return s
42683}
42684
42685// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
42686func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
42687	s.PendingCloudwatchLogsExports = v
42688	return s
42689}
42690
42691// SetPort sets the Port field's value.
42692func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
42693	s.Port = &v
42694	return s
42695}
42696
42697// SetProcessorFeatures sets the ProcessorFeatures field's value.
42698func (s *PendingModifiedValues) SetProcessorFeatures(v []*ProcessorFeature) *PendingModifiedValues {
42699	s.ProcessorFeatures = v
42700	return s
42701}
42702
42703// SetResumeFullAutomationModeTime sets the ResumeFullAutomationModeTime field's value.
42704func (s *PendingModifiedValues) SetResumeFullAutomationModeTime(v time.Time) *PendingModifiedValues {
42705	s.ResumeFullAutomationModeTime = &v
42706	return s
42707}
42708
42709// SetStorageType sets the StorageType field's value.
42710func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
42711	s.StorageType = &v
42712	return s
42713}
42714
42715// Contains the processor features of a DB instance class.
42716//
42717// To specify the number of CPU cores, use the coreCount feature name for the
42718// Name parameter. To specify the number of threads per core, use the threadsPerCore
42719// feature name for the Name parameter.
42720//
42721// You can set the processor features of the DB instance class for a DB instance
42722// when you call one of the following actions:
42723//
42724//    * CreateDBInstance
42725//
42726//    * ModifyDBInstance
42727//
42728//    * RestoreDBInstanceFromDBSnapshot
42729//
42730//    * RestoreDBInstanceFromS3
42731//
42732//    * RestoreDBInstanceToPointInTime
42733//
42734// You can view the valid processor values for a particular instance class by
42735// calling the DescribeOrderableDBInstanceOptions action and specifying the
42736// instance class for the DBInstanceClass parameter.
42737//
42738// In addition, you can use the following actions for DB instance class processor
42739// information:
42740//
42741//    * DescribeDBInstances
42742//
42743//    * DescribeDBSnapshots
42744//
42745//    * DescribeValidDBInstanceModifications
42746//
42747// If you call DescribeDBInstances, ProcessorFeature returns non-null values
42748// only if the following conditions are met:
42749//
42750//    * You are accessing an Oracle DB instance.
42751//
42752//    * Your Oracle DB instance class supports configuring the number of CPU
42753//    cores and threads per core.
42754//
42755//    * The current number CPU cores and threads is set to a non-default value.
42756//
42757// For more information, see Configuring the Processor of the DB Instance Class
42758// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
42759// in the Amazon RDS User Guide.
42760type ProcessorFeature struct {
42761	_ struct{} `type:"structure"`
42762
42763	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
42764	Name *string `type:"string"`
42765
42766	// The value of a processor feature name.
42767	Value *string `type:"string"`
42768}
42769
42770// String returns the string representation.
42771//
42772// API parameter values that are decorated as "sensitive" in the API will not
42773// be included in the string output. The member name will be present, but the
42774// value will be replaced with "sensitive".
42775func (s ProcessorFeature) String() string {
42776	return awsutil.Prettify(s)
42777}
42778
42779// GoString returns the string representation.
42780//
42781// API parameter values that are decorated as "sensitive" in the API will not
42782// be included in the string output. The member name will be present, but the
42783// value will be replaced with "sensitive".
42784func (s ProcessorFeature) GoString() string {
42785	return s.String()
42786}
42787
42788// SetName sets the Name field's value.
42789func (s *ProcessorFeature) SetName(v string) *ProcessorFeature {
42790	s.Name = &v
42791	return s
42792}
42793
42794// SetValue sets the Value field's value.
42795func (s *ProcessorFeature) SetValue(v string) *ProcessorFeature {
42796	s.Value = &v
42797	return s
42798}
42799
42800type PromoteReadReplicaDBClusterInput struct {
42801	_ struct{} `type:"structure"`
42802
42803	// The identifier of the DB cluster read replica to promote. This parameter
42804	// isn't case-sensitive.
42805	//
42806	// Constraints:
42807	//
42808	//    * Must match the identifier of an existing DB cluster read replica.
42809	//
42810	// Example: my-cluster-replica1
42811	//
42812	// DBClusterIdentifier is a required field
42813	DBClusterIdentifier *string `type:"string" required:"true"`
42814}
42815
42816// String returns the string representation.
42817//
42818// API parameter values that are decorated as "sensitive" in the API will not
42819// be included in the string output. The member name will be present, but the
42820// value will be replaced with "sensitive".
42821func (s PromoteReadReplicaDBClusterInput) String() string {
42822	return awsutil.Prettify(s)
42823}
42824
42825// GoString returns the string representation.
42826//
42827// API parameter values that are decorated as "sensitive" in the API will not
42828// be included in the string output. The member name will be present, but the
42829// value will be replaced with "sensitive".
42830func (s PromoteReadReplicaDBClusterInput) GoString() string {
42831	return s.String()
42832}
42833
42834// Validate inspects the fields of the type to determine if they are valid.
42835func (s *PromoteReadReplicaDBClusterInput) Validate() error {
42836	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
42837	if s.DBClusterIdentifier == nil {
42838		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
42839	}
42840
42841	if invalidParams.Len() > 0 {
42842		return invalidParams
42843	}
42844	return nil
42845}
42846
42847// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
42848func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
42849	s.DBClusterIdentifier = &v
42850	return s
42851}
42852
42853type PromoteReadReplicaDBClusterOutput struct {
42854	_ struct{} `type:"structure"`
42855
42856	// Contains the details of an Amazon Aurora DB cluster.
42857	//
42858	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
42859	// and StartDBCluster actions.
42860	DBCluster *DBCluster `type:"structure"`
42861}
42862
42863// String returns the string representation.
42864//
42865// API parameter values that are decorated as "sensitive" in the API will not
42866// be included in the string output. The member name will be present, but the
42867// value will be replaced with "sensitive".
42868func (s PromoteReadReplicaDBClusterOutput) String() string {
42869	return awsutil.Prettify(s)
42870}
42871
42872// GoString returns the string representation.
42873//
42874// API parameter values that are decorated as "sensitive" in the API will not
42875// be included in the string output. The member name will be present, but the
42876// value will be replaced with "sensitive".
42877func (s PromoteReadReplicaDBClusterOutput) GoString() string {
42878	return s.String()
42879}
42880
42881// SetDBCluster sets the DBCluster field's value.
42882func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
42883	s.DBCluster = v
42884	return s
42885}
42886
42887type PromoteReadReplicaInput struct {
42888	_ struct{} `type:"structure"`
42889
42890	// The number of days for which automated backups are retained. Setting this
42891	// parameter to a positive number enables backups. Setting this parameter to
42892	// 0 disables automated backups.
42893	//
42894	// Default: 1
42895	//
42896	// Constraints:
42897	//
42898	//    * Must be a value from 0 to 35.
42899	//
42900	//    * Can't be set to 0 if the DB instance is a source to read replicas.
42901	BackupRetentionPeriod *int64 `type:"integer"`
42902
42903	// The DB instance identifier. This value is stored as a lowercase string.
42904	//
42905	// Constraints:
42906	//
42907	//    * Must match the identifier of an existing read replica DB instance.
42908	//
42909	// Example: mydbinstance
42910	//
42911	// DBInstanceIdentifier is a required field
42912	DBInstanceIdentifier *string `type:"string" required:"true"`
42913
42914	// The daily time range during which automated backups are created if automated
42915	// backups are enabled, using the BackupRetentionPeriod parameter.
42916	//
42917	// The default is a 30-minute window selected at random from an 8-hour block
42918	// of time for each Amazon Web Services Region. To see the time blocks available,
42919	// see Adjusting the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
42920	// in the Amazon RDS User Guide.
42921	//
42922	// Constraints:
42923	//
42924	//    * Must be in the format hh24:mi-hh24:mi.
42925	//
42926	//    * Must be in Universal Coordinated Time (UTC).
42927	//
42928	//    * Must not conflict with the preferred maintenance window.
42929	//
42930	//    * Must be at least 30 minutes.
42931	PreferredBackupWindow *string `type:"string"`
42932}
42933
42934// String returns the string representation.
42935//
42936// API parameter values that are decorated as "sensitive" in the API will not
42937// be included in the string output. The member name will be present, but the
42938// value will be replaced with "sensitive".
42939func (s PromoteReadReplicaInput) String() string {
42940	return awsutil.Prettify(s)
42941}
42942
42943// GoString returns the string representation.
42944//
42945// API parameter values that are decorated as "sensitive" in the API will not
42946// be included in the string output. The member name will be present, but the
42947// value will be replaced with "sensitive".
42948func (s PromoteReadReplicaInput) GoString() string {
42949	return s.String()
42950}
42951
42952// Validate inspects the fields of the type to determine if they are valid.
42953func (s *PromoteReadReplicaInput) Validate() error {
42954	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaInput"}
42955	if s.DBInstanceIdentifier == nil {
42956		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
42957	}
42958
42959	if invalidParams.Len() > 0 {
42960		return invalidParams
42961	}
42962	return nil
42963}
42964
42965// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
42966func (s *PromoteReadReplicaInput) SetBackupRetentionPeriod(v int64) *PromoteReadReplicaInput {
42967	s.BackupRetentionPeriod = &v
42968	return s
42969}
42970
42971// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
42972func (s *PromoteReadReplicaInput) SetDBInstanceIdentifier(v string) *PromoteReadReplicaInput {
42973	s.DBInstanceIdentifier = &v
42974	return s
42975}
42976
42977// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
42978func (s *PromoteReadReplicaInput) SetPreferredBackupWindow(v string) *PromoteReadReplicaInput {
42979	s.PreferredBackupWindow = &v
42980	return s
42981}
42982
42983type PromoteReadReplicaOutput struct {
42984	_ struct{} `type:"structure"`
42985
42986	// Contains the details of an Amazon RDS DB instance.
42987	//
42988	// This data type is used as a response element in the DescribeDBInstances action.
42989	DBInstance *DBInstance `type:"structure"`
42990}
42991
42992// String returns the string representation.
42993//
42994// API parameter values that are decorated as "sensitive" in the API will not
42995// be included in the string output. The member name will be present, but the
42996// value will be replaced with "sensitive".
42997func (s PromoteReadReplicaOutput) String() string {
42998	return awsutil.Prettify(s)
42999}
43000
43001// GoString returns the string representation.
43002//
43003// API parameter values that are decorated as "sensitive" in the API will not
43004// be included in the string output. The member name will be present, but the
43005// value will be replaced with "sensitive".
43006func (s PromoteReadReplicaOutput) GoString() string {
43007	return s.String()
43008}
43009
43010// SetDBInstance sets the DBInstance field's value.
43011func (s *PromoteReadReplicaOutput) SetDBInstance(v *DBInstance) *PromoteReadReplicaOutput {
43012	s.DBInstance = v
43013	return s
43014}
43015
43016type PurchaseReservedDBInstancesOfferingInput struct {
43017	_ struct{} `type:"structure"`
43018
43019	// The number of instances to reserve.
43020	//
43021	// Default: 1
43022	DBInstanceCount *int64 `type:"integer"`
43023
43024	// Customer-specified identifier to track this reservation.
43025	//
43026	// Example: myreservationID
43027	ReservedDBInstanceId *string `type:"string"`
43028
43029	// The ID of the Reserved DB instance offering to purchase.
43030	//
43031	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
43032	//
43033	// ReservedDBInstancesOfferingId is a required field
43034	ReservedDBInstancesOfferingId *string `type:"string" required:"true"`
43035
43036	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
43037	// in the Amazon RDS User Guide.
43038	Tags []*Tag `locationNameList:"Tag" type:"list"`
43039}
43040
43041// String returns the string representation.
43042//
43043// API parameter values that are decorated as "sensitive" in the API will not
43044// be included in the string output. The member name will be present, but the
43045// value will be replaced with "sensitive".
43046func (s PurchaseReservedDBInstancesOfferingInput) String() string {
43047	return awsutil.Prettify(s)
43048}
43049
43050// GoString returns the string representation.
43051//
43052// API parameter values that are decorated as "sensitive" in the API will not
43053// be included in the string output. The member name will be present, but the
43054// value will be replaced with "sensitive".
43055func (s PurchaseReservedDBInstancesOfferingInput) GoString() string {
43056	return s.String()
43057}
43058
43059// Validate inspects the fields of the type to determine if they are valid.
43060func (s *PurchaseReservedDBInstancesOfferingInput) Validate() error {
43061	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedDBInstancesOfferingInput"}
43062	if s.ReservedDBInstancesOfferingId == nil {
43063		invalidParams.Add(request.NewErrParamRequired("ReservedDBInstancesOfferingId"))
43064	}
43065
43066	if invalidParams.Len() > 0 {
43067		return invalidParams
43068	}
43069	return nil
43070}
43071
43072// SetDBInstanceCount sets the DBInstanceCount field's value.
43073func (s *PurchaseReservedDBInstancesOfferingInput) SetDBInstanceCount(v int64) *PurchaseReservedDBInstancesOfferingInput {
43074	s.DBInstanceCount = &v
43075	return s
43076}
43077
43078// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
43079func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstanceId(v string) *PurchaseReservedDBInstancesOfferingInput {
43080	s.ReservedDBInstanceId = &v
43081	return s
43082}
43083
43084// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
43085func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstancesOfferingId(v string) *PurchaseReservedDBInstancesOfferingInput {
43086	s.ReservedDBInstancesOfferingId = &v
43087	return s
43088}
43089
43090// SetTags sets the Tags field's value.
43091func (s *PurchaseReservedDBInstancesOfferingInput) SetTags(v []*Tag) *PurchaseReservedDBInstancesOfferingInput {
43092	s.Tags = v
43093	return s
43094}
43095
43096type PurchaseReservedDBInstancesOfferingOutput struct {
43097	_ struct{} `type:"structure"`
43098
43099	// This data type is used as a response element in the DescribeReservedDBInstances
43100	// and PurchaseReservedDBInstancesOffering actions.
43101	ReservedDBInstance *ReservedDBInstance `type:"structure"`
43102}
43103
43104// String returns the string representation.
43105//
43106// API parameter values that are decorated as "sensitive" in the API will not
43107// be included in the string output. The member name will be present, but the
43108// value will be replaced with "sensitive".
43109func (s PurchaseReservedDBInstancesOfferingOutput) String() string {
43110	return awsutil.Prettify(s)
43111}
43112
43113// GoString returns the string representation.
43114//
43115// API parameter values that are decorated as "sensitive" in the API will not
43116// be included in the string output. The member name will be present, but the
43117// value will be replaced with "sensitive".
43118func (s PurchaseReservedDBInstancesOfferingOutput) GoString() string {
43119	return s.String()
43120}
43121
43122// SetReservedDBInstance sets the ReservedDBInstance field's value.
43123func (s *PurchaseReservedDBInstancesOfferingOutput) SetReservedDBInstance(v *ReservedDBInstance) *PurchaseReservedDBInstancesOfferingOutput {
43124	s.ReservedDBInstance = v
43125	return s
43126}
43127
43128// A range of integer values.
43129type Range struct {
43130	_ struct{} `type:"structure"`
43131
43132	// The minimum value in the range.
43133	From *int64 `type:"integer"`
43134
43135	// The step value for the range. For example, if you have a range of 5,000 to
43136	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
43137	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
43138	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
43139	Step *int64 `type:"integer"`
43140
43141	// The maximum value in the range.
43142	To *int64 `type:"integer"`
43143}
43144
43145// String returns the string representation.
43146//
43147// API parameter values that are decorated as "sensitive" in the API will not
43148// be included in the string output. The member name will be present, but the
43149// value will be replaced with "sensitive".
43150func (s Range) String() string {
43151	return awsutil.Prettify(s)
43152}
43153
43154// GoString returns the string representation.
43155//
43156// API parameter values that are decorated as "sensitive" in the API will not
43157// be included in the string output. The member name will be present, but the
43158// value will be replaced with "sensitive".
43159func (s Range) GoString() string {
43160	return s.String()
43161}
43162
43163// SetFrom sets the From field's value.
43164func (s *Range) SetFrom(v int64) *Range {
43165	s.From = &v
43166	return s
43167}
43168
43169// SetStep sets the Step field's value.
43170func (s *Range) SetStep(v int64) *Range {
43171	s.Step = &v
43172	return s
43173}
43174
43175// SetTo sets the To field's value.
43176func (s *Range) SetTo(v int64) *Range {
43177	s.To = &v
43178	return s
43179}
43180
43181type RebootDBInstanceInput struct {
43182	_ struct{} `type:"structure"`
43183
43184	// The DB instance identifier. This parameter is stored as a lowercase string.
43185	//
43186	// Constraints:
43187	//
43188	//    * Must match the identifier of an existing DBInstance.
43189	//
43190	// DBInstanceIdentifier is a required field
43191	DBInstanceIdentifier *string `type:"string" required:"true"`
43192
43193	// A value that indicates whether the reboot is conducted through a Multi-AZ
43194	// failover.
43195	//
43196	// Constraint: You can't enable force failover if the instance isn't configured
43197	// for Multi-AZ.
43198	ForceFailover *bool `type:"boolean"`
43199}
43200
43201// String returns the string representation.
43202//
43203// API parameter values that are decorated as "sensitive" in the API will not
43204// be included in the string output. The member name will be present, but the
43205// value will be replaced with "sensitive".
43206func (s RebootDBInstanceInput) String() string {
43207	return awsutil.Prettify(s)
43208}
43209
43210// GoString returns the string representation.
43211//
43212// API parameter values that are decorated as "sensitive" in the API will not
43213// be included in the string output. The member name will be present, but the
43214// value will be replaced with "sensitive".
43215func (s RebootDBInstanceInput) GoString() string {
43216	return s.String()
43217}
43218
43219// Validate inspects the fields of the type to determine if they are valid.
43220func (s *RebootDBInstanceInput) Validate() error {
43221	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
43222	if s.DBInstanceIdentifier == nil {
43223		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
43224	}
43225
43226	if invalidParams.Len() > 0 {
43227		return invalidParams
43228	}
43229	return nil
43230}
43231
43232// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
43233func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
43234	s.DBInstanceIdentifier = &v
43235	return s
43236}
43237
43238// SetForceFailover sets the ForceFailover field's value.
43239func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
43240	s.ForceFailover = &v
43241	return s
43242}
43243
43244type RebootDBInstanceOutput struct {
43245	_ struct{} `type:"structure"`
43246
43247	// Contains the details of an Amazon RDS DB instance.
43248	//
43249	// This data type is used as a response element in the DescribeDBInstances action.
43250	DBInstance *DBInstance `type:"structure"`
43251}
43252
43253// String returns the string representation.
43254//
43255// API parameter values that are decorated as "sensitive" in the API will not
43256// be included in the string output. The member name will be present, but the
43257// value will be replaced with "sensitive".
43258func (s RebootDBInstanceOutput) String() string {
43259	return awsutil.Prettify(s)
43260}
43261
43262// GoString returns the string representation.
43263//
43264// API parameter values that are decorated as "sensitive" in the API will not
43265// be included in the string output. The member name will be present, but the
43266// value will be replaced with "sensitive".
43267func (s RebootDBInstanceOutput) GoString() string {
43268	return s.String()
43269}
43270
43271// SetDBInstance sets the DBInstance field's value.
43272func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
43273	s.DBInstance = v
43274	return s
43275}
43276
43277// This data type is used as a response element in the DescribeReservedDBInstances
43278// and DescribeReservedDBInstancesOfferings actions.
43279type RecurringCharge struct {
43280	_ struct{} `type:"structure"`
43281
43282	// The amount of the recurring charge.
43283	RecurringChargeAmount *float64 `type:"double"`
43284
43285	// The frequency of the recurring charge.
43286	RecurringChargeFrequency *string `type:"string"`
43287}
43288
43289// String returns the string representation.
43290//
43291// API parameter values that are decorated as "sensitive" in the API will not
43292// be included in the string output. The member name will be present, but the
43293// value will be replaced with "sensitive".
43294func (s RecurringCharge) String() string {
43295	return awsutil.Prettify(s)
43296}
43297
43298// GoString returns the string representation.
43299//
43300// API parameter values that are decorated as "sensitive" in the API will not
43301// be included in the string output. The member name will be present, but the
43302// value will be replaced with "sensitive".
43303func (s RecurringCharge) GoString() string {
43304	return s.String()
43305}
43306
43307// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
43308func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
43309	s.RecurringChargeAmount = &v
43310	return s
43311}
43312
43313// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
43314func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
43315	s.RecurringChargeFrequency = &v
43316	return s
43317}
43318
43319type RegisterDBProxyTargetsInput struct {
43320	_ struct{} `type:"structure"`
43321
43322	// One or more DB cluster identifiers.
43323	DBClusterIdentifiers []*string `type:"list"`
43324
43325	// One or more DB instance identifiers.
43326	DBInstanceIdentifiers []*string `type:"list"`
43327
43328	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
43329	//
43330	// DBProxyName is a required field
43331	DBProxyName *string `type:"string" required:"true"`
43332
43333	// The identifier of the DBProxyTargetGroup.
43334	TargetGroupName *string `type:"string"`
43335}
43336
43337// String returns the string representation.
43338//
43339// API parameter values that are decorated as "sensitive" in the API will not
43340// be included in the string output. The member name will be present, but the
43341// value will be replaced with "sensitive".
43342func (s RegisterDBProxyTargetsInput) String() string {
43343	return awsutil.Prettify(s)
43344}
43345
43346// GoString returns the string representation.
43347//
43348// API parameter values that are decorated as "sensitive" in the API will not
43349// be included in the string output. The member name will be present, but the
43350// value will be replaced with "sensitive".
43351func (s RegisterDBProxyTargetsInput) GoString() string {
43352	return s.String()
43353}
43354
43355// Validate inspects the fields of the type to determine if they are valid.
43356func (s *RegisterDBProxyTargetsInput) Validate() error {
43357	invalidParams := request.ErrInvalidParams{Context: "RegisterDBProxyTargetsInput"}
43358	if s.DBProxyName == nil {
43359		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
43360	}
43361
43362	if invalidParams.Len() > 0 {
43363		return invalidParams
43364	}
43365	return nil
43366}
43367
43368// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
43369func (s *RegisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
43370	s.DBClusterIdentifiers = v
43371	return s
43372}
43373
43374// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
43375func (s *RegisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
43376	s.DBInstanceIdentifiers = v
43377	return s
43378}
43379
43380// SetDBProxyName sets the DBProxyName field's value.
43381func (s *RegisterDBProxyTargetsInput) SetDBProxyName(v string) *RegisterDBProxyTargetsInput {
43382	s.DBProxyName = &v
43383	return s
43384}
43385
43386// SetTargetGroupName sets the TargetGroupName field's value.
43387func (s *RegisterDBProxyTargetsInput) SetTargetGroupName(v string) *RegisterDBProxyTargetsInput {
43388	s.TargetGroupName = &v
43389	return s
43390}
43391
43392type RegisterDBProxyTargetsOutput struct {
43393	_ struct{} `type:"structure"`
43394
43395	// One or more DBProxyTarget objects that are created when you register targets
43396	// with a target group.
43397	DBProxyTargets []*DBProxyTarget `type:"list"`
43398}
43399
43400// String returns the string representation.
43401//
43402// API parameter values that are decorated as "sensitive" in the API will not
43403// be included in the string output. The member name will be present, but the
43404// value will be replaced with "sensitive".
43405func (s RegisterDBProxyTargetsOutput) String() string {
43406	return awsutil.Prettify(s)
43407}
43408
43409// GoString returns the string representation.
43410//
43411// API parameter values that are decorated as "sensitive" in the API will not
43412// be included in the string output. The member name will be present, but the
43413// value will be replaced with "sensitive".
43414func (s RegisterDBProxyTargetsOutput) GoString() string {
43415	return s.String()
43416}
43417
43418// SetDBProxyTargets sets the DBProxyTargets field's value.
43419func (s *RegisterDBProxyTargetsOutput) SetDBProxyTargets(v []*DBProxyTarget) *RegisterDBProxyTargetsOutput {
43420	s.DBProxyTargets = v
43421	return s
43422}
43423
43424type RemoveFromGlobalClusterInput struct {
43425	_ struct{} `type:"structure"`
43426
43427	// The Amazon Resource Name (ARN) identifying the cluster that was detached
43428	// from the Aurora global database cluster.
43429	DbClusterIdentifier *string `type:"string"`
43430
43431	// The cluster identifier to detach from the Aurora global database cluster.
43432	GlobalClusterIdentifier *string `type:"string"`
43433}
43434
43435// String returns the string representation.
43436//
43437// API parameter values that are decorated as "sensitive" in the API will not
43438// be included in the string output. The member name will be present, but the
43439// value will be replaced with "sensitive".
43440func (s RemoveFromGlobalClusterInput) String() string {
43441	return awsutil.Prettify(s)
43442}
43443
43444// GoString returns the string representation.
43445//
43446// API parameter values that are decorated as "sensitive" in the API will not
43447// be included in the string output. The member name will be present, but the
43448// value will be replaced with "sensitive".
43449func (s RemoveFromGlobalClusterInput) GoString() string {
43450	return s.String()
43451}
43452
43453// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
43454func (s *RemoveFromGlobalClusterInput) SetDbClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
43455	s.DbClusterIdentifier = &v
43456	return s
43457}
43458
43459// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
43460func (s *RemoveFromGlobalClusterInput) SetGlobalClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
43461	s.GlobalClusterIdentifier = &v
43462	return s
43463}
43464
43465type RemoveFromGlobalClusterOutput struct {
43466	_ struct{} `type:"structure"`
43467
43468	// A data type representing an Aurora global database.
43469	GlobalCluster *GlobalCluster `type:"structure"`
43470}
43471
43472// String returns the string representation.
43473//
43474// API parameter values that are decorated as "sensitive" in the API will not
43475// be included in the string output. The member name will be present, but the
43476// value will be replaced with "sensitive".
43477func (s RemoveFromGlobalClusterOutput) String() string {
43478	return awsutil.Prettify(s)
43479}
43480
43481// GoString returns the string representation.
43482//
43483// API parameter values that are decorated as "sensitive" in the API will not
43484// be included in the string output. The member name will be present, but the
43485// value will be replaced with "sensitive".
43486func (s RemoveFromGlobalClusterOutput) GoString() string {
43487	return s.String()
43488}
43489
43490// SetGlobalCluster sets the GlobalCluster field's value.
43491func (s *RemoveFromGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *RemoveFromGlobalClusterOutput {
43492	s.GlobalCluster = v
43493	return s
43494}
43495
43496type RemoveRoleFromDBClusterInput struct {
43497	_ struct{} `type:"structure"`
43498
43499	// The name of the DB cluster to disassociate the IAM role from.
43500	//
43501	// DBClusterIdentifier is a required field
43502	DBClusterIdentifier *string `type:"string" required:"true"`
43503
43504	// The name of the feature for the DB cluster that the IAM role is to be disassociated
43505	// from. For information about supported feature names, see DBEngineVersion.
43506	FeatureName *string `type:"string"`
43507
43508	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora
43509	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
43510	//
43511	// RoleArn is a required field
43512	RoleArn *string `type:"string" required:"true"`
43513}
43514
43515// String returns the string representation.
43516//
43517// API parameter values that are decorated as "sensitive" in the API will not
43518// be included in the string output. The member name will be present, but the
43519// value will be replaced with "sensitive".
43520func (s RemoveRoleFromDBClusterInput) String() string {
43521	return awsutil.Prettify(s)
43522}
43523
43524// GoString returns the string representation.
43525//
43526// API parameter values that are decorated as "sensitive" in the API will not
43527// be included in the string output. The member name will be present, but the
43528// value will be replaced with "sensitive".
43529func (s RemoveRoleFromDBClusterInput) GoString() string {
43530	return s.String()
43531}
43532
43533// Validate inspects the fields of the type to determine if they are valid.
43534func (s *RemoveRoleFromDBClusterInput) Validate() error {
43535	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
43536	if s.DBClusterIdentifier == nil {
43537		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
43538	}
43539	if s.RoleArn == nil {
43540		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
43541	}
43542
43543	if invalidParams.Len() > 0 {
43544		return invalidParams
43545	}
43546	return nil
43547}
43548
43549// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
43550func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
43551	s.DBClusterIdentifier = &v
43552	return s
43553}
43554
43555// SetFeatureName sets the FeatureName field's value.
43556func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
43557	s.FeatureName = &v
43558	return s
43559}
43560
43561// SetRoleArn sets the RoleArn field's value.
43562func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
43563	s.RoleArn = &v
43564	return s
43565}
43566
43567type RemoveRoleFromDBClusterOutput struct {
43568	_ struct{} `type:"structure"`
43569}
43570
43571// String returns the string representation.
43572//
43573// API parameter values that are decorated as "sensitive" in the API will not
43574// be included in the string output. The member name will be present, but the
43575// value will be replaced with "sensitive".
43576func (s RemoveRoleFromDBClusterOutput) String() string {
43577	return awsutil.Prettify(s)
43578}
43579
43580// GoString returns the string representation.
43581//
43582// API parameter values that are decorated as "sensitive" in the API will not
43583// be included in the string output. The member name will be present, but the
43584// value will be replaced with "sensitive".
43585func (s RemoveRoleFromDBClusterOutput) GoString() string {
43586	return s.String()
43587}
43588
43589type RemoveRoleFromDBInstanceInput struct {
43590	_ struct{} `type:"structure"`
43591
43592	// The name of the DB instance to disassociate the IAM role from.
43593	//
43594	// DBInstanceIdentifier is a required field
43595	DBInstanceIdentifier *string `type:"string" required:"true"`
43596
43597	// The name of the feature for the DB instance that the IAM role is to be disassociated
43598	// from. For information about supported feature names, see DBEngineVersion.
43599	//
43600	// FeatureName is a required field
43601	FeatureName *string `type:"string" required:"true"`
43602
43603	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
43604	// instance, for example, arn:aws:iam::123456789012:role/AccessRole.
43605	//
43606	// RoleArn is a required field
43607	RoleArn *string `type:"string" required:"true"`
43608}
43609
43610// String returns the string representation.
43611//
43612// API parameter values that are decorated as "sensitive" in the API will not
43613// be included in the string output. The member name will be present, but the
43614// value will be replaced with "sensitive".
43615func (s RemoveRoleFromDBInstanceInput) String() string {
43616	return awsutil.Prettify(s)
43617}
43618
43619// GoString returns the string representation.
43620//
43621// API parameter values that are decorated as "sensitive" in the API will not
43622// be included in the string output. The member name will be present, but the
43623// value will be replaced with "sensitive".
43624func (s RemoveRoleFromDBInstanceInput) GoString() string {
43625	return s.String()
43626}
43627
43628// Validate inspects the fields of the type to determine if they are valid.
43629func (s *RemoveRoleFromDBInstanceInput) Validate() error {
43630	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBInstanceInput"}
43631	if s.DBInstanceIdentifier == nil {
43632		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
43633	}
43634	if s.FeatureName == nil {
43635		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
43636	}
43637	if s.RoleArn == nil {
43638		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
43639	}
43640
43641	if invalidParams.Len() > 0 {
43642		return invalidParams
43643	}
43644	return nil
43645}
43646
43647// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
43648func (s *RemoveRoleFromDBInstanceInput) SetDBInstanceIdentifier(v string) *RemoveRoleFromDBInstanceInput {
43649	s.DBInstanceIdentifier = &v
43650	return s
43651}
43652
43653// SetFeatureName sets the FeatureName field's value.
43654func (s *RemoveRoleFromDBInstanceInput) SetFeatureName(v string) *RemoveRoleFromDBInstanceInput {
43655	s.FeatureName = &v
43656	return s
43657}
43658
43659// SetRoleArn sets the RoleArn field's value.
43660func (s *RemoveRoleFromDBInstanceInput) SetRoleArn(v string) *RemoveRoleFromDBInstanceInput {
43661	s.RoleArn = &v
43662	return s
43663}
43664
43665type RemoveRoleFromDBInstanceOutput struct {
43666	_ struct{} `type:"structure"`
43667}
43668
43669// String returns the string representation.
43670//
43671// API parameter values that are decorated as "sensitive" in the API will not
43672// be included in the string output. The member name will be present, but the
43673// value will be replaced with "sensitive".
43674func (s RemoveRoleFromDBInstanceOutput) String() string {
43675	return awsutil.Prettify(s)
43676}
43677
43678// GoString returns the string representation.
43679//
43680// API parameter values that are decorated as "sensitive" in the API will not
43681// be included in the string output. The member name will be present, but the
43682// value will be replaced with "sensitive".
43683func (s RemoveRoleFromDBInstanceOutput) GoString() string {
43684	return s.String()
43685}
43686
43687type RemoveSourceIdentifierFromSubscriptionInput struct {
43688	_ struct{} `type:"structure"`
43689
43690	// The source identifier to be removed from the subscription, such as the DB
43691	// instance identifier for a DB instance or the name of a security group.
43692	//
43693	// SourceIdentifier is a required field
43694	SourceIdentifier *string `type:"string" required:"true"`
43695
43696	// The name of the RDS event notification subscription you want to remove a
43697	// source identifier from.
43698	//
43699	// SubscriptionName is a required field
43700	SubscriptionName *string `type:"string" required:"true"`
43701}
43702
43703// String returns the string representation.
43704//
43705// API parameter values that are decorated as "sensitive" in the API will not
43706// be included in the string output. The member name will be present, but the
43707// value will be replaced with "sensitive".
43708func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
43709	return awsutil.Prettify(s)
43710}
43711
43712// GoString returns the string representation.
43713//
43714// API parameter values that are decorated as "sensitive" in the API will not
43715// be included in the string output. The member name will be present, but the
43716// value will be replaced with "sensitive".
43717func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
43718	return s.String()
43719}
43720
43721// Validate inspects the fields of the type to determine if they are valid.
43722func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
43723	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
43724	if s.SourceIdentifier == nil {
43725		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
43726	}
43727	if s.SubscriptionName == nil {
43728		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
43729	}
43730
43731	if invalidParams.Len() > 0 {
43732		return invalidParams
43733	}
43734	return nil
43735}
43736
43737// SetSourceIdentifier sets the SourceIdentifier field's value.
43738func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
43739	s.SourceIdentifier = &v
43740	return s
43741}
43742
43743// SetSubscriptionName sets the SubscriptionName field's value.
43744func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
43745	s.SubscriptionName = &v
43746	return s
43747}
43748
43749type RemoveSourceIdentifierFromSubscriptionOutput struct {
43750	_ struct{} `type:"structure"`
43751
43752	// Contains the results of a successful invocation of the DescribeEventSubscriptions
43753	// action.
43754	EventSubscription *EventSubscription `type:"structure"`
43755}
43756
43757// String returns the string representation.
43758//
43759// API parameter values that are decorated as "sensitive" in the API will not
43760// be included in the string output. The member name will be present, but the
43761// value will be replaced with "sensitive".
43762func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
43763	return awsutil.Prettify(s)
43764}
43765
43766// GoString returns the string representation.
43767//
43768// API parameter values that are decorated as "sensitive" in the API will not
43769// be included in the string output. The member name will be present, but the
43770// value will be replaced with "sensitive".
43771func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
43772	return s.String()
43773}
43774
43775// SetEventSubscription sets the EventSubscription field's value.
43776func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
43777	s.EventSubscription = v
43778	return s
43779}
43780
43781type RemoveTagsFromResourceInput struct {
43782	_ struct{} `type:"structure"`
43783
43784	// The Amazon RDS resource that the tags are removed from. This value is an
43785	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
43786	// an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
43787	// in the Amazon RDS User Guide.
43788	//
43789	// ResourceName is a required field
43790	ResourceName *string `type:"string" required:"true"`
43791
43792	// The tag key (name) of the tag to be removed.
43793	//
43794	// TagKeys is a required field
43795	TagKeys []*string `type:"list" required:"true"`
43796}
43797
43798// String returns the string representation.
43799//
43800// API parameter values that are decorated as "sensitive" in the API will not
43801// be included in the string output. The member name will be present, but the
43802// value will be replaced with "sensitive".
43803func (s RemoveTagsFromResourceInput) String() string {
43804	return awsutil.Prettify(s)
43805}
43806
43807// GoString returns the string representation.
43808//
43809// API parameter values that are decorated as "sensitive" in the API will not
43810// be included in the string output. The member name will be present, but the
43811// value will be replaced with "sensitive".
43812func (s RemoveTagsFromResourceInput) GoString() string {
43813	return s.String()
43814}
43815
43816// Validate inspects the fields of the type to determine if they are valid.
43817func (s *RemoveTagsFromResourceInput) Validate() error {
43818	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
43819	if s.ResourceName == nil {
43820		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
43821	}
43822	if s.TagKeys == nil {
43823		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
43824	}
43825
43826	if invalidParams.Len() > 0 {
43827		return invalidParams
43828	}
43829	return nil
43830}
43831
43832// SetResourceName sets the ResourceName field's value.
43833func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
43834	s.ResourceName = &v
43835	return s
43836}
43837
43838// SetTagKeys sets the TagKeys field's value.
43839func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
43840	s.TagKeys = v
43841	return s
43842}
43843
43844type RemoveTagsFromResourceOutput struct {
43845	_ struct{} `type:"structure"`
43846}
43847
43848// String returns the string representation.
43849//
43850// API parameter values that are decorated as "sensitive" in the API will not
43851// be included in the string output. The member name will be present, but the
43852// value will be replaced with "sensitive".
43853func (s RemoveTagsFromResourceOutput) String() string {
43854	return awsutil.Prettify(s)
43855}
43856
43857// GoString returns the string representation.
43858//
43859// API parameter values that are decorated as "sensitive" in the API will not
43860// be included in the string output. The member name will be present, but the
43861// value will be replaced with "sensitive".
43862func (s RemoveTagsFromResourceOutput) GoString() string {
43863	return s.String()
43864}
43865
43866// This data type is used as a response element in the DescribeReservedDBInstances
43867// and PurchaseReservedDBInstancesOffering actions.
43868type ReservedDBInstance struct {
43869	_ struct{} `type:"structure"`
43870
43871	// The currency code for the reserved DB instance.
43872	CurrencyCode *string `type:"string"`
43873
43874	// The DB instance class for the reserved DB instance.
43875	DBInstanceClass *string `type:"string"`
43876
43877	// The number of reserved DB instances.
43878	DBInstanceCount *int64 `type:"integer"`
43879
43880	// The duration of the reservation in seconds.
43881	Duration *int64 `type:"integer"`
43882
43883	// The fixed price charged for this reserved DB instance.
43884	FixedPrice *float64 `type:"double"`
43885
43886	// The unique identifier for the lease associated with the reserved DB instance.
43887	//
43888	// Amazon Web Services Support might request the lease ID for an issue related
43889	// to a reserved DB instance.
43890	LeaseId *string `type:"string"`
43891
43892	// Indicates if the reservation applies to Multi-AZ deployments.
43893	MultiAZ *bool `type:"boolean"`
43894
43895	// The offering type of this reserved DB instance.
43896	OfferingType *string `type:"string"`
43897
43898	// The description of the reserved DB instance.
43899	ProductDescription *string `type:"string"`
43900
43901	// The recurring price charged to run this reserved DB instance.
43902	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
43903
43904	// The Amazon Resource Name (ARN) for the reserved DB instance.
43905	ReservedDBInstanceArn *string `type:"string"`
43906
43907	// The unique identifier for the reservation.
43908	ReservedDBInstanceId *string `type:"string"`
43909
43910	// The offering identifier.
43911	ReservedDBInstancesOfferingId *string `type:"string"`
43912
43913	// The time the reservation started.
43914	StartTime *time.Time `type:"timestamp"`
43915
43916	// The state of the reserved DB instance.
43917	State *string `type:"string"`
43918
43919	// The hourly price charged for this reserved DB instance.
43920	UsagePrice *float64 `type:"double"`
43921}
43922
43923// String returns the string representation.
43924//
43925// API parameter values that are decorated as "sensitive" in the API will not
43926// be included in the string output. The member name will be present, but the
43927// value will be replaced with "sensitive".
43928func (s ReservedDBInstance) String() string {
43929	return awsutil.Prettify(s)
43930}
43931
43932// GoString returns the string representation.
43933//
43934// API parameter values that are decorated as "sensitive" in the API will not
43935// be included in the string output. The member name will be present, but the
43936// value will be replaced with "sensitive".
43937func (s ReservedDBInstance) GoString() string {
43938	return s.String()
43939}
43940
43941// SetCurrencyCode sets the CurrencyCode field's value.
43942func (s *ReservedDBInstance) SetCurrencyCode(v string) *ReservedDBInstance {
43943	s.CurrencyCode = &v
43944	return s
43945}
43946
43947// SetDBInstanceClass sets the DBInstanceClass field's value.
43948func (s *ReservedDBInstance) SetDBInstanceClass(v string) *ReservedDBInstance {
43949	s.DBInstanceClass = &v
43950	return s
43951}
43952
43953// SetDBInstanceCount sets the DBInstanceCount field's value.
43954func (s *ReservedDBInstance) SetDBInstanceCount(v int64) *ReservedDBInstance {
43955	s.DBInstanceCount = &v
43956	return s
43957}
43958
43959// SetDuration sets the Duration field's value.
43960func (s *ReservedDBInstance) SetDuration(v int64) *ReservedDBInstance {
43961	s.Duration = &v
43962	return s
43963}
43964
43965// SetFixedPrice sets the FixedPrice field's value.
43966func (s *ReservedDBInstance) SetFixedPrice(v float64) *ReservedDBInstance {
43967	s.FixedPrice = &v
43968	return s
43969}
43970
43971// SetLeaseId sets the LeaseId field's value.
43972func (s *ReservedDBInstance) SetLeaseId(v string) *ReservedDBInstance {
43973	s.LeaseId = &v
43974	return s
43975}
43976
43977// SetMultiAZ sets the MultiAZ field's value.
43978func (s *ReservedDBInstance) SetMultiAZ(v bool) *ReservedDBInstance {
43979	s.MultiAZ = &v
43980	return s
43981}
43982
43983// SetOfferingType sets the OfferingType field's value.
43984func (s *ReservedDBInstance) SetOfferingType(v string) *ReservedDBInstance {
43985	s.OfferingType = &v
43986	return s
43987}
43988
43989// SetProductDescription sets the ProductDescription field's value.
43990func (s *ReservedDBInstance) SetProductDescription(v string) *ReservedDBInstance {
43991	s.ProductDescription = &v
43992	return s
43993}
43994
43995// SetRecurringCharges sets the RecurringCharges field's value.
43996func (s *ReservedDBInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstance {
43997	s.RecurringCharges = v
43998	return s
43999}
44000
44001// SetReservedDBInstanceArn sets the ReservedDBInstanceArn field's value.
44002func (s *ReservedDBInstance) SetReservedDBInstanceArn(v string) *ReservedDBInstance {
44003	s.ReservedDBInstanceArn = &v
44004	return s
44005}
44006
44007// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
44008func (s *ReservedDBInstance) SetReservedDBInstanceId(v string) *ReservedDBInstance {
44009	s.ReservedDBInstanceId = &v
44010	return s
44011}
44012
44013// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
44014func (s *ReservedDBInstance) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstance {
44015	s.ReservedDBInstancesOfferingId = &v
44016	return s
44017}
44018
44019// SetStartTime sets the StartTime field's value.
44020func (s *ReservedDBInstance) SetStartTime(v time.Time) *ReservedDBInstance {
44021	s.StartTime = &v
44022	return s
44023}
44024
44025// SetState sets the State field's value.
44026func (s *ReservedDBInstance) SetState(v string) *ReservedDBInstance {
44027	s.State = &v
44028	return s
44029}
44030
44031// SetUsagePrice sets the UsagePrice field's value.
44032func (s *ReservedDBInstance) SetUsagePrice(v float64) *ReservedDBInstance {
44033	s.UsagePrice = &v
44034	return s
44035}
44036
44037// This data type is used as a response element in the DescribeReservedDBInstancesOfferings
44038// action.
44039type ReservedDBInstancesOffering struct {
44040	_ struct{} `type:"structure"`
44041
44042	// The currency code for the reserved DB instance offering.
44043	CurrencyCode *string `type:"string"`
44044
44045	// The DB instance class for the reserved DB instance.
44046	DBInstanceClass *string `type:"string"`
44047
44048	// The duration of the offering in seconds.
44049	Duration *int64 `type:"integer"`
44050
44051	// The fixed price charged for this offering.
44052	FixedPrice *float64 `type:"double"`
44053
44054	// Indicates if the offering applies to Multi-AZ deployments.
44055	MultiAZ *bool `type:"boolean"`
44056
44057	// The offering type.
44058	OfferingType *string `type:"string"`
44059
44060	// The database engine used by the offering.
44061	ProductDescription *string `type:"string"`
44062
44063	// The recurring price charged to run this reserved DB instance.
44064	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
44065
44066	// The offering identifier.
44067	ReservedDBInstancesOfferingId *string `type:"string"`
44068
44069	// The hourly price charged for this offering.
44070	UsagePrice *float64 `type:"double"`
44071}
44072
44073// String returns the string representation.
44074//
44075// API parameter values that are decorated as "sensitive" in the API will not
44076// be included in the string output. The member name will be present, but the
44077// value will be replaced with "sensitive".
44078func (s ReservedDBInstancesOffering) String() string {
44079	return awsutil.Prettify(s)
44080}
44081
44082// GoString returns the string representation.
44083//
44084// API parameter values that are decorated as "sensitive" in the API will not
44085// be included in the string output. The member name will be present, but the
44086// value will be replaced with "sensitive".
44087func (s ReservedDBInstancesOffering) GoString() string {
44088	return s.String()
44089}
44090
44091// SetCurrencyCode sets the CurrencyCode field's value.
44092func (s *ReservedDBInstancesOffering) SetCurrencyCode(v string) *ReservedDBInstancesOffering {
44093	s.CurrencyCode = &v
44094	return s
44095}
44096
44097// SetDBInstanceClass sets the DBInstanceClass field's value.
44098func (s *ReservedDBInstancesOffering) SetDBInstanceClass(v string) *ReservedDBInstancesOffering {
44099	s.DBInstanceClass = &v
44100	return s
44101}
44102
44103// SetDuration sets the Duration field's value.
44104func (s *ReservedDBInstancesOffering) SetDuration(v int64) *ReservedDBInstancesOffering {
44105	s.Duration = &v
44106	return s
44107}
44108
44109// SetFixedPrice sets the FixedPrice field's value.
44110func (s *ReservedDBInstancesOffering) SetFixedPrice(v float64) *ReservedDBInstancesOffering {
44111	s.FixedPrice = &v
44112	return s
44113}
44114
44115// SetMultiAZ sets the MultiAZ field's value.
44116func (s *ReservedDBInstancesOffering) SetMultiAZ(v bool) *ReservedDBInstancesOffering {
44117	s.MultiAZ = &v
44118	return s
44119}
44120
44121// SetOfferingType sets the OfferingType field's value.
44122func (s *ReservedDBInstancesOffering) SetOfferingType(v string) *ReservedDBInstancesOffering {
44123	s.OfferingType = &v
44124	return s
44125}
44126
44127// SetProductDescription sets the ProductDescription field's value.
44128func (s *ReservedDBInstancesOffering) SetProductDescription(v string) *ReservedDBInstancesOffering {
44129	s.ProductDescription = &v
44130	return s
44131}
44132
44133// SetRecurringCharges sets the RecurringCharges field's value.
44134func (s *ReservedDBInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstancesOffering {
44135	s.RecurringCharges = v
44136	return s
44137}
44138
44139// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
44140func (s *ReservedDBInstancesOffering) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstancesOffering {
44141	s.ReservedDBInstancesOfferingId = &v
44142	return s
44143}
44144
44145// SetUsagePrice sets the UsagePrice field's value.
44146func (s *ReservedDBInstancesOffering) SetUsagePrice(v float64) *ReservedDBInstancesOffering {
44147	s.UsagePrice = &v
44148	return s
44149}
44150
44151type ResetDBClusterParameterGroupInput struct {
44152	_ struct{} `type:"structure"`
44153
44154	// The name of the DB cluster parameter group to reset.
44155	//
44156	// DBClusterParameterGroupName is a required field
44157	DBClusterParameterGroupName *string `type:"string" required:"true"`
44158
44159	// A list of parameter names in the DB cluster parameter group to reset to the
44160	// default values. You can't use this parameter if the ResetAllParameters parameter
44161	// is enabled.
44162	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
44163
44164	// A value that indicates whether to reset all parameters in the DB cluster
44165	// parameter group to their default values. You can't use this parameter if
44166	// there is a list of parameter names specified for the Parameters parameter.
44167	ResetAllParameters *bool `type:"boolean"`
44168}
44169
44170// String returns the string representation.
44171//
44172// API parameter values that are decorated as "sensitive" in the API will not
44173// be included in the string output. The member name will be present, but the
44174// value will be replaced with "sensitive".
44175func (s ResetDBClusterParameterGroupInput) String() string {
44176	return awsutil.Prettify(s)
44177}
44178
44179// GoString returns the string representation.
44180//
44181// API parameter values that are decorated as "sensitive" in the API will not
44182// be included in the string output. The member name will be present, but the
44183// value will be replaced with "sensitive".
44184func (s ResetDBClusterParameterGroupInput) GoString() string {
44185	return s.String()
44186}
44187
44188// Validate inspects the fields of the type to determine if they are valid.
44189func (s *ResetDBClusterParameterGroupInput) Validate() error {
44190	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
44191	if s.DBClusterParameterGroupName == nil {
44192		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
44193	}
44194
44195	if invalidParams.Len() > 0 {
44196		return invalidParams
44197	}
44198	return nil
44199}
44200
44201// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
44202func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
44203	s.DBClusterParameterGroupName = &v
44204	return s
44205}
44206
44207// SetParameters sets the Parameters field's value.
44208func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
44209	s.Parameters = v
44210	return s
44211}
44212
44213// SetResetAllParameters sets the ResetAllParameters field's value.
44214func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
44215	s.ResetAllParameters = &v
44216	return s
44217}
44218
44219type ResetDBParameterGroupInput struct {
44220	_ struct{} `type:"structure"`
44221
44222	// The name of the DB parameter group.
44223	//
44224	// Constraints:
44225	//
44226	//    * Must match the name of an existing DBParameterGroup.
44227	//
44228	// DBParameterGroupName is a required field
44229	DBParameterGroupName *string `type:"string" required:"true"`
44230
44231	// To reset the entire DB parameter group, specify the DBParameterGroup name
44232	// and ResetAllParameters parameters. To reset specific parameters, provide
44233	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
44234	// can be modified in a single request.
44235	//
44236	// MySQL
44237	//
44238	// Valid Values (for Apply method): immediate | pending-reboot
44239	//
44240	// You can use the immediate value with dynamic parameters only. You can use
44241	// the pending-reboot value for both dynamic and static parameters, and changes
44242	// are applied when DB instance reboots.
44243	//
44244	// MariaDB
44245	//
44246	// Valid Values (for Apply method): immediate | pending-reboot
44247	//
44248	// You can use the immediate value with dynamic parameters only. You can use
44249	// the pending-reboot value for both dynamic and static parameters, and changes
44250	// are applied when DB instance reboots.
44251	//
44252	// Oracle
44253	//
44254	// Valid Values (for Apply method): pending-reboot
44255	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
44256
44257	// A value that indicates whether to reset all parameters in the DB parameter
44258	// group to default values. By default, all parameters in the DB parameter group
44259	// are reset to default values.
44260	ResetAllParameters *bool `type:"boolean"`
44261}
44262
44263// String returns the string representation.
44264//
44265// API parameter values that are decorated as "sensitive" in the API will not
44266// be included in the string output. The member name will be present, but the
44267// value will be replaced with "sensitive".
44268func (s ResetDBParameterGroupInput) String() string {
44269	return awsutil.Prettify(s)
44270}
44271
44272// GoString returns the string representation.
44273//
44274// API parameter values that are decorated as "sensitive" in the API will not
44275// be included in the string output. The member name will be present, but the
44276// value will be replaced with "sensitive".
44277func (s ResetDBParameterGroupInput) GoString() string {
44278	return s.String()
44279}
44280
44281// Validate inspects the fields of the type to determine if they are valid.
44282func (s *ResetDBParameterGroupInput) Validate() error {
44283	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
44284	if s.DBParameterGroupName == nil {
44285		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
44286	}
44287
44288	if invalidParams.Len() > 0 {
44289		return invalidParams
44290	}
44291	return nil
44292}
44293
44294// SetDBParameterGroupName sets the DBParameterGroupName field's value.
44295func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
44296	s.DBParameterGroupName = &v
44297	return s
44298}
44299
44300// SetParameters sets the Parameters field's value.
44301func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
44302	s.Parameters = v
44303	return s
44304}
44305
44306// SetResetAllParameters sets the ResetAllParameters field's value.
44307func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
44308	s.ResetAllParameters = &v
44309	return s
44310}
44311
44312// Describes the pending maintenance actions for a resource.
44313type ResourcePendingMaintenanceActions struct {
44314	_ struct{} `type:"structure"`
44315
44316	// A list that provides details about the pending maintenance actions for the
44317	// resource.
44318	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
44319
44320	// The ARN of the resource that has pending maintenance actions.
44321	ResourceIdentifier *string `type:"string"`
44322}
44323
44324// String returns the string representation.
44325//
44326// API parameter values that are decorated as "sensitive" in the API will not
44327// be included in the string output. The member name will be present, but the
44328// value will be replaced with "sensitive".
44329func (s ResourcePendingMaintenanceActions) String() string {
44330	return awsutil.Prettify(s)
44331}
44332
44333// GoString returns the string representation.
44334//
44335// API parameter values that are decorated as "sensitive" in the API will not
44336// be included in the string output. The member name will be present, but the
44337// value will be replaced with "sensitive".
44338func (s ResourcePendingMaintenanceActions) GoString() string {
44339	return s.String()
44340}
44341
44342// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
44343func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
44344	s.PendingMaintenanceActionDetails = v
44345	return s
44346}
44347
44348// SetResourceIdentifier sets the ResourceIdentifier field's value.
44349func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
44350	s.ResourceIdentifier = &v
44351	return s
44352}
44353
44354type RestoreDBClusterFromS3Input struct {
44355	_ struct{} `type:"structure"`
44356
44357	// A list of Availability Zones (AZs) where instances in the restored DB cluster
44358	// can be created.
44359	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
44360
44361	// The target backtrack window, in seconds. To disable backtracking, set this
44362	// value to 0.
44363	//
44364	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
44365	//
44366	// Default: 0
44367	//
44368	// Constraints:
44369	//
44370	//    * If specified, this value must be set to a number from 0 to 259,200 (72
44371	//    hours).
44372	BacktrackWindow *int64 `type:"long"`
44373
44374	// The number of days for which automated backups of the restored DB cluster
44375	// are retained. You must specify a minimum value of 1.
44376	//
44377	// Default: 1
44378	//
44379	// Constraints:
44380	//
44381	//    * Must be a value from 1 to 35
44382	BackupRetentionPeriod *int64 `type:"integer"`
44383
44384	// A value that indicates that the restored DB cluster should be associated
44385	// with the specified CharacterSet.
44386	CharacterSetName *string `type:"string"`
44387
44388	// A value that indicates whether to copy all tags from the restored DB cluster
44389	// to snapshots of the restored DB cluster. The default is not to copy them.
44390	CopyTagsToSnapshot *bool `type:"boolean"`
44391
44392	// The name of the DB cluster to create from the source data in the Amazon S3
44393	// bucket. This parameter isn't case-sensitive.
44394	//
44395	// Constraints:
44396	//
44397	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
44398	//
44399	//    * First character must be a letter.
44400	//
44401	//    * Can't end with a hyphen or contain two consecutive hyphens.
44402	//
44403	// Example: my-cluster1
44404	//
44405	// DBClusterIdentifier is a required field
44406	DBClusterIdentifier *string `type:"string" required:"true"`
44407
44408	// The name of the DB cluster parameter group to associate with the restored
44409	// DB cluster. If this argument is omitted, default.aurora5.6 is used.
44410	//
44411	// Constraints:
44412	//
44413	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
44414	DBClusterParameterGroupName *string `type:"string"`
44415
44416	// A DB subnet group to associate with the restored DB cluster.
44417	//
44418	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
44419	//
44420	// Example: mySubnetgroup
44421	DBSubnetGroupName *string `type:"string"`
44422
44423	// The database name for the restored DB cluster.
44424	DatabaseName *string `type:"string"`
44425
44426	// A value that indicates whether the DB cluster has deletion protection enabled.
44427	// The database can't be deleted when deletion protection is enabled. By default,
44428	// deletion protection is disabled.
44429	DeletionProtection *bool `type:"boolean"`
44430
44431	// Specify the Active Directory directory ID to restore the DB cluster in. The
44432	// domain must be created prior to this operation.
44433	//
44434	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
44435	// to authenticate users that connect to the DB cluster. For more information,
44436	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
44437	// in the Amazon Aurora User Guide.
44438	Domain *string `type:"string"`
44439
44440	// Specify the name of the IAM role to be used when making API calls to the
44441	// Directory Service.
44442	DomainIAMRoleName *string `type:"string"`
44443
44444	// The list of logs that the restored DB cluster is to export to CloudWatch
44445	// Logs. The values in the list depend on the DB engine being used. For more
44446	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
44447	// in the Amazon Aurora User Guide.
44448	EnableCloudwatchLogsExports []*string `type:"list"`
44449
44450	// A value that indicates whether to enable mapping of Amazon Web Services Identity
44451	// and Access Management (IAM) accounts to database accounts. By default, mapping
44452	// is disabled.
44453	//
44454	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
44455	// in the Amazon Aurora User Guide.
44456	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
44457
44458	// The name of the database engine to be used for this DB cluster.
44459	//
44460	// Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for
44461	// MySQL 5.7-compatible Aurora), and aurora-postgresql
44462	//
44463	// Engine is a required field
44464	Engine *string `type:"string" required:"true"`
44465
44466	// The version number of the database engine to use.
44467	//
44468	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
44469	// Aurora), use the following command:
44470	//
44471	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
44472	//
44473	// To list all of the available engine versions for aurora-mysql (for MySQL
44474	// 5.7-compatible Aurora), use the following command:
44475	//
44476	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
44477	//
44478	// To list all of the available engine versions for aurora-postgresql, use the
44479	// following command:
44480	//
44481	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
44482	//
44483	// Aurora MySQL
44484	//
44485	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
44486	//
44487	// Aurora PostgreSQL
44488	//
44489	// Example: 9.6.3, 10.7
44490	EngineVersion *string `type:"string"`
44491
44492	// The Amazon Web Services KMS key identifier for an encrypted DB cluster.
44493	//
44494	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
44495	// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
44496	// Web Services account, specify the key ARN or alias ARN.
44497	//
44498	// If the StorageEncrypted parameter is enabled, and you do not specify a value
44499	// for the KmsKeyId parameter, then Amazon RDS will use your default KMS key.
44500	// There is a default KMS key for your Amazon Web Services account. Your Amazon
44501	// Web Services account has a different default KMS key for each Amazon Web
44502	// Services Region.
44503	KmsKeyId *string `type:"string"`
44504
44505	// The password for the master database user. This password can contain any
44506	// printable ASCII character except "/", """, or "@".
44507	//
44508	// Constraints: Must contain from 8 to 41 characters.
44509	//
44510	// MasterUserPassword is a required field
44511	MasterUserPassword *string `type:"string" required:"true"`
44512
44513	// The name of the master user for the restored DB cluster.
44514	//
44515	// Constraints:
44516	//
44517	//    * Must be 1 to 16 letters or numbers.
44518	//
44519	//    * First character must be a letter.
44520	//
44521	//    * Can't be a reserved word for the chosen database engine.
44522	//
44523	// MasterUsername is a required field
44524	MasterUsername *string `type:"string" required:"true"`
44525
44526	// A value that indicates that the restored DB cluster should be associated
44527	// with the specified option group.
44528	//
44529	// Permanent options can't be removed from an option group. An option group
44530	// can't be removed from a DB cluster once it is associated with a DB cluster.
44531	OptionGroupName *string `type:"string"`
44532
44533	// The port number on which the instances in the restored DB cluster accept
44534	// connections.
44535	//
44536	// Default: 3306
44537	Port *int64 `type:"integer"`
44538
44539	// The daily time range during which automated backups are created if automated
44540	// backups are enabled using the BackupRetentionPeriod parameter.
44541	//
44542	// The default is a 30-minute window selected at random from an 8-hour block
44543	// of time for each Amazon Web Services Region. To view the time blocks available,
44544	// see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)
44545	// in the Amazon Aurora User Guide.
44546	//
44547	// Constraints:
44548	//
44549	//    * Must be in the format hh24:mi-hh24:mi.
44550	//
44551	//    * Must be in Universal Coordinated Time (UTC).
44552	//
44553	//    * Must not conflict with the preferred maintenance window.
44554	//
44555	//    * Must be at least 30 minutes.
44556	PreferredBackupWindow *string `type:"string"`
44557
44558	// The weekly time range during which system maintenance can occur, in Universal
44559	// Coordinated Time (UTC).
44560	//
44561	// Format: ddd:hh24:mi-ddd:hh24:mi
44562	//
44563	// The default is a 30-minute window selected at random from an 8-hour block
44564	// of time for each Amazon Web Services Region, occurring on a random day of
44565	// the week. To see the time blocks available, see Adjusting the Preferred Maintenance
44566	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
44567	// in the Amazon Aurora User Guide.
44568	//
44569	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
44570	//
44571	// Constraints: Minimum 30-minute window.
44572	PreferredMaintenanceWindow *string `type:"string"`
44573
44574	// The name of the Amazon S3 bucket that contains the data used to create the
44575	// Amazon Aurora DB cluster.
44576	//
44577	// S3BucketName is a required field
44578	S3BucketName *string `type:"string" required:"true"`
44579
44580	// The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
44581	// Management (IAM) role that authorizes Amazon RDS to access the Amazon S3
44582	// bucket on your behalf.
44583	//
44584	// S3IngestionRoleArn is a required field
44585	S3IngestionRoleArn *string `type:"string" required:"true"`
44586
44587	// The prefix for all of the file names that contain the data used to create
44588	// the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value,
44589	// then the Amazon Aurora DB cluster is created by using all of the files in
44590	// the Amazon S3 bucket.
44591	S3Prefix *string `type:"string"`
44592
44593	// The identifier for the database engine that was backed up to create the files
44594	// stored in the Amazon S3 bucket.
44595	//
44596	// Valid values: mysql
44597	//
44598	// SourceEngine is a required field
44599	SourceEngine *string `type:"string" required:"true"`
44600
44601	// The version of the database that the backup files were created from.
44602	//
44603	// MySQL versions 5.5, 5.6, and 5.7 are supported.
44604	//
44605	// Example: 5.6.40, 5.7.28
44606	//
44607	// SourceEngineVersion is a required field
44608	SourceEngineVersion *string `type:"string" required:"true"`
44609
44610	// A value that indicates whether the restored DB cluster is encrypted.
44611	StorageEncrypted *bool `type:"boolean"`
44612
44613	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
44614	// in the Amazon RDS User Guide.
44615	Tags []*Tag `locationNameList:"Tag" type:"list"`
44616
44617	// A list of EC2 VPC security groups to associate with the restored DB cluster.
44618	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
44619}
44620
44621// String returns the string representation.
44622//
44623// API parameter values that are decorated as "sensitive" in the API will not
44624// be included in the string output. The member name will be present, but the
44625// value will be replaced with "sensitive".
44626func (s RestoreDBClusterFromS3Input) String() string {
44627	return awsutil.Prettify(s)
44628}
44629
44630// GoString returns the string representation.
44631//
44632// API parameter values that are decorated as "sensitive" in the API will not
44633// be included in the string output. The member name will be present, but the
44634// value will be replaced with "sensitive".
44635func (s RestoreDBClusterFromS3Input) GoString() string {
44636	return s.String()
44637}
44638
44639// Validate inspects the fields of the type to determine if they are valid.
44640func (s *RestoreDBClusterFromS3Input) Validate() error {
44641	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"}
44642	if s.DBClusterIdentifier == nil {
44643		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
44644	}
44645	if s.Engine == nil {
44646		invalidParams.Add(request.NewErrParamRequired("Engine"))
44647	}
44648	if s.MasterUserPassword == nil {
44649		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
44650	}
44651	if s.MasterUsername == nil {
44652		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
44653	}
44654	if s.S3BucketName == nil {
44655		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
44656	}
44657	if s.S3IngestionRoleArn == nil {
44658		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
44659	}
44660	if s.SourceEngine == nil {
44661		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
44662	}
44663	if s.SourceEngineVersion == nil {
44664		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
44665	}
44666
44667	if invalidParams.Len() > 0 {
44668		return invalidParams
44669	}
44670	return nil
44671}
44672
44673// SetAvailabilityZones sets the AvailabilityZones field's value.
44674func (s *RestoreDBClusterFromS3Input) SetAvailabilityZones(v []*string) *RestoreDBClusterFromS3Input {
44675	s.AvailabilityZones = v
44676	return s
44677}
44678
44679// SetBacktrackWindow sets the BacktrackWindow field's value.
44680func (s *RestoreDBClusterFromS3Input) SetBacktrackWindow(v int64) *RestoreDBClusterFromS3Input {
44681	s.BacktrackWindow = &v
44682	return s
44683}
44684
44685// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
44686func (s *RestoreDBClusterFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBClusterFromS3Input {
44687	s.BackupRetentionPeriod = &v
44688	return s
44689}
44690
44691// SetCharacterSetName sets the CharacterSetName field's value.
44692func (s *RestoreDBClusterFromS3Input) SetCharacterSetName(v string) *RestoreDBClusterFromS3Input {
44693	s.CharacterSetName = &v
44694	return s
44695}
44696
44697// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
44698func (s *RestoreDBClusterFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromS3Input {
44699	s.CopyTagsToSnapshot = &v
44700	return s
44701}
44702
44703// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
44704func (s *RestoreDBClusterFromS3Input) SetDBClusterIdentifier(v string) *RestoreDBClusterFromS3Input {
44705	s.DBClusterIdentifier = &v
44706	return s
44707}
44708
44709// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
44710func (s *RestoreDBClusterFromS3Input) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromS3Input {
44711	s.DBClusterParameterGroupName = &v
44712	return s
44713}
44714
44715// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
44716func (s *RestoreDBClusterFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBClusterFromS3Input {
44717	s.DBSubnetGroupName = &v
44718	return s
44719}
44720
44721// SetDatabaseName sets the DatabaseName field's value.
44722func (s *RestoreDBClusterFromS3Input) SetDatabaseName(v string) *RestoreDBClusterFromS3Input {
44723	s.DatabaseName = &v
44724	return s
44725}
44726
44727// SetDeletionProtection sets the DeletionProtection field's value.
44728func (s *RestoreDBClusterFromS3Input) SetDeletionProtection(v bool) *RestoreDBClusterFromS3Input {
44729	s.DeletionProtection = &v
44730	return s
44731}
44732
44733// SetDomain sets the Domain field's value.
44734func (s *RestoreDBClusterFromS3Input) SetDomain(v string) *RestoreDBClusterFromS3Input {
44735	s.Domain = &v
44736	return s
44737}
44738
44739// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
44740func (s *RestoreDBClusterFromS3Input) SetDomainIAMRoleName(v string) *RestoreDBClusterFromS3Input {
44741	s.DomainIAMRoleName = &v
44742	return s
44743}
44744
44745// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
44746func (s *RestoreDBClusterFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromS3Input {
44747	s.EnableCloudwatchLogsExports = v
44748	return s
44749}
44750
44751// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
44752func (s *RestoreDBClusterFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromS3Input {
44753	s.EnableIAMDatabaseAuthentication = &v
44754	return s
44755}
44756
44757// SetEngine sets the Engine field's value.
44758func (s *RestoreDBClusterFromS3Input) SetEngine(v string) *RestoreDBClusterFromS3Input {
44759	s.Engine = &v
44760	return s
44761}
44762
44763// SetEngineVersion sets the EngineVersion field's value.
44764func (s *RestoreDBClusterFromS3Input) SetEngineVersion(v string) *RestoreDBClusterFromS3Input {
44765	s.EngineVersion = &v
44766	return s
44767}
44768
44769// SetKmsKeyId sets the KmsKeyId field's value.
44770func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFromS3Input {
44771	s.KmsKeyId = &v
44772	return s
44773}
44774
44775// SetMasterUserPassword sets the MasterUserPassword field's value.
44776func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
44777	s.MasterUserPassword = &v
44778	return s
44779}
44780
44781// SetMasterUsername sets the MasterUsername field's value.
44782func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
44783	s.MasterUsername = &v
44784	return s
44785}
44786
44787// SetOptionGroupName sets the OptionGroupName field's value.
44788func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input {
44789	s.OptionGroupName = &v
44790	return s
44791}
44792
44793// SetPort sets the Port field's value.
44794func (s *RestoreDBClusterFromS3Input) SetPort(v int64) *RestoreDBClusterFromS3Input {
44795	s.Port = &v
44796	return s
44797}
44798
44799// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
44800func (s *RestoreDBClusterFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBClusterFromS3Input {
44801	s.PreferredBackupWindow = &v
44802	return s
44803}
44804
44805// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
44806func (s *RestoreDBClusterFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBClusterFromS3Input {
44807	s.PreferredMaintenanceWindow = &v
44808	return s
44809}
44810
44811// SetS3BucketName sets the S3BucketName field's value.
44812func (s *RestoreDBClusterFromS3Input) SetS3BucketName(v string) *RestoreDBClusterFromS3Input {
44813	s.S3BucketName = &v
44814	return s
44815}
44816
44817// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
44818func (s *RestoreDBClusterFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBClusterFromS3Input {
44819	s.S3IngestionRoleArn = &v
44820	return s
44821}
44822
44823// SetS3Prefix sets the S3Prefix field's value.
44824func (s *RestoreDBClusterFromS3Input) SetS3Prefix(v string) *RestoreDBClusterFromS3Input {
44825	s.S3Prefix = &v
44826	return s
44827}
44828
44829// SetSourceEngine sets the SourceEngine field's value.
44830func (s *RestoreDBClusterFromS3Input) SetSourceEngine(v string) *RestoreDBClusterFromS3Input {
44831	s.SourceEngine = &v
44832	return s
44833}
44834
44835// SetSourceEngineVersion sets the SourceEngineVersion field's value.
44836func (s *RestoreDBClusterFromS3Input) SetSourceEngineVersion(v string) *RestoreDBClusterFromS3Input {
44837	s.SourceEngineVersion = &v
44838	return s
44839}
44840
44841// SetStorageEncrypted sets the StorageEncrypted field's value.
44842func (s *RestoreDBClusterFromS3Input) SetStorageEncrypted(v bool) *RestoreDBClusterFromS3Input {
44843	s.StorageEncrypted = &v
44844	return s
44845}
44846
44847// SetTags sets the Tags field's value.
44848func (s *RestoreDBClusterFromS3Input) SetTags(v []*Tag) *RestoreDBClusterFromS3Input {
44849	s.Tags = v
44850	return s
44851}
44852
44853// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
44854func (s *RestoreDBClusterFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromS3Input {
44855	s.VpcSecurityGroupIds = v
44856	return s
44857}
44858
44859type RestoreDBClusterFromS3Output struct {
44860	_ struct{} `type:"structure"`
44861
44862	// Contains the details of an Amazon Aurora DB cluster.
44863	//
44864	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
44865	// and StartDBCluster actions.
44866	DBCluster *DBCluster `type:"structure"`
44867}
44868
44869// String returns the string representation.
44870//
44871// API parameter values that are decorated as "sensitive" in the API will not
44872// be included in the string output. The member name will be present, but the
44873// value will be replaced with "sensitive".
44874func (s RestoreDBClusterFromS3Output) String() string {
44875	return awsutil.Prettify(s)
44876}
44877
44878// GoString returns the string representation.
44879//
44880// API parameter values that are decorated as "sensitive" in the API will not
44881// be included in the string output. The member name will be present, but the
44882// value will be replaced with "sensitive".
44883func (s RestoreDBClusterFromS3Output) GoString() string {
44884	return s.String()
44885}
44886
44887// SetDBCluster sets the DBCluster field's value.
44888func (s *RestoreDBClusterFromS3Output) SetDBCluster(v *DBCluster) *RestoreDBClusterFromS3Output {
44889	s.DBCluster = v
44890	return s
44891}
44892
44893type RestoreDBClusterFromSnapshotInput struct {
44894	_ struct{} `type:"structure"`
44895
44896	// Provides the list of Availability Zones (AZs) where instances in the restored
44897	// DB cluster can be created.
44898	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
44899
44900	// The target backtrack window, in seconds. To disable backtracking, set this
44901	// value to 0.
44902	//
44903	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
44904	//
44905	// Default: 0
44906	//
44907	// Constraints:
44908	//
44909	//    * If specified, this value must be set to a number from 0 to 259,200 (72
44910	//    hours).
44911	BacktrackWindow *int64 `type:"long"`
44912
44913	// A value that indicates whether to copy all tags from the restored DB cluster
44914	// to snapshots of the restored DB cluster. The default is not to copy them.
44915	CopyTagsToSnapshot *bool `type:"boolean"`
44916
44917	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
44918	// This parameter isn't case-sensitive.
44919	//
44920	// Constraints:
44921	//
44922	//    * Must contain from 1 to 63 letters, numbers, or hyphens
44923	//
44924	//    * First character must be a letter
44925	//
44926	//    * Can't end with a hyphen or contain two consecutive hyphens
44927	//
44928	// Example: my-snapshot-id
44929	//
44930	// DBClusterIdentifier is a required field
44931	DBClusterIdentifier *string `type:"string" required:"true"`
44932
44933	// The name of the DB cluster parameter group to associate with this DB cluster.
44934	// If this argument is omitted, the default DB cluster parameter group for the
44935	// specified engine is used.
44936	//
44937	// Constraints:
44938	//
44939	//    * If supplied, must match the name of an existing default DB cluster parameter
44940	//    group.
44941	//
44942	//    * Must be 1 to 255 letters, numbers, or hyphens.
44943	//
44944	//    * First character must be a letter.
44945	//
44946	//    * Can't end with a hyphen or contain two consecutive hyphens.
44947	DBClusterParameterGroupName *string `type:"string"`
44948
44949	// The name of the DB subnet group to use for the new DB cluster.
44950	//
44951	// Constraints: If supplied, must match the name of an existing DB subnet group.
44952	//
44953	// Example: mySubnetgroup
44954	DBSubnetGroupName *string `type:"string"`
44955
44956	// The database name for the restored DB cluster.
44957	DatabaseName *string `type:"string"`
44958
44959	// A value that indicates whether the DB cluster has deletion protection enabled.
44960	// The database can't be deleted when deletion protection is enabled. By default,
44961	// deletion protection is disabled.
44962	DeletionProtection *bool `type:"boolean"`
44963
44964	// Specify the Active Directory directory ID to restore the DB cluster in. The
44965	// domain must be created prior to this operation. Currently, only MySQL, Microsoft
44966	// SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active
44967	// Directory Domain.
44968	//
44969	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
44970	// in the Amazon RDS User Guide.
44971	Domain *string `type:"string"`
44972
44973	// Specify the name of the IAM role to be used when making API calls to the
44974	// Directory Service.
44975	DomainIAMRoleName *string `type:"string"`
44976
44977	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
44978	// Logs. The values in the list depend on the DB engine being used. For more
44979	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
44980	// in the Amazon Aurora User Guide.
44981	EnableCloudwatchLogsExports []*string `type:"list"`
44982
44983	// A value that indicates whether to enable mapping of Amazon Web Services Identity
44984	// and Access Management (IAM) accounts to database accounts. By default, mapping
44985	// is disabled.
44986	//
44987	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
44988	// in the Amazon Aurora User Guide.
44989	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
44990
44991	// The database engine to use for the new DB cluster.
44992	//
44993	// Default: The same as source
44994	//
44995	// Constraint: Must be compatible with the engine of the source
44996	//
44997	// Engine is a required field
44998	Engine *string `type:"string" required:"true"`
44999
45000	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
45001	// global, or multimaster.
45002	//
45003	// For more information, see CreateDBCluster (https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html).
45004	EngineMode *string `type:"string"`
45005
45006	// The version of the database engine to use for the new DB cluster.
45007	//
45008	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
45009	// Aurora), use the following command:
45010	//
45011	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
45012	//
45013	// To list all of the available engine versions for aurora-mysql (for MySQL
45014	// 5.7-compatible Aurora), use the following command:
45015	//
45016	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
45017	//
45018	// To list all of the available engine versions for aurora-postgresql, use the
45019	// following command:
45020	//
45021	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
45022	//
45023	// If you aren't using the default engine version, then you must specify the
45024	// engine version.
45025	//
45026	// Aurora MySQL
45027	//
45028	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
45029	//
45030	// Aurora PostgreSQL
45031	//
45032	// Example: 9.6.3, 10.7
45033	EngineVersion *string `type:"string"`
45034
45035	// The Amazon Web Services KMS key identifier to use when restoring an encrypted
45036	// DB cluster from a DB snapshot or DB cluster snapshot.
45037	//
45038	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
45039	// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
45040	// Web Services account, specify the key ARN or alias ARN.
45041	//
45042	// When you don't specify a value for the KmsKeyId parameter, then the following
45043	// occurs:
45044	//
45045	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
45046	//    then the restored DB cluster is encrypted using the KMS key that was used
45047	//    to encrypt the DB snapshot or DB cluster snapshot.
45048	//
45049	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't
45050	//    encrypted, then the restored DB cluster isn't encrypted.
45051	KmsKeyId *string `type:"string"`
45052
45053	// The name of the option group to use for the restored DB cluster.
45054	OptionGroupName *string `type:"string"`
45055
45056	// The port number on which the new DB cluster accepts connections.
45057	//
45058	// Constraints: This value must be 1150-65535
45059	//
45060	// Default: The same port as the original DB cluster.
45061	Port *int64 `type:"integer"`
45062
45063	// For DB clusters in serverless DB engine mode, the scaling properties of the
45064	// DB cluster.
45065	ScalingConfiguration *ScalingConfiguration `type:"structure"`
45066
45067	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
45068	//
45069	// You can use either the name or the Amazon Resource Name (ARN) to specify
45070	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
45071	// snapshot.
45072	//
45073	// Constraints:
45074	//
45075	//    * Must match the identifier of an existing Snapshot.
45076	//
45077	// SnapshotIdentifier is a required field
45078	SnapshotIdentifier *string `type:"string" required:"true"`
45079
45080	// The tags to be assigned to the restored DB cluster.
45081	Tags []*Tag `locationNameList:"Tag" type:"list"`
45082
45083	// A list of VPC security groups that the new DB cluster will belong to.
45084	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
45085}
45086
45087// String returns the string representation.
45088//
45089// API parameter values that are decorated as "sensitive" in the API will not
45090// be included in the string output. The member name will be present, but the
45091// value will be replaced with "sensitive".
45092func (s RestoreDBClusterFromSnapshotInput) String() string {
45093	return awsutil.Prettify(s)
45094}
45095
45096// GoString returns the string representation.
45097//
45098// API parameter values that are decorated as "sensitive" in the API will not
45099// be included in the string output. The member name will be present, but the
45100// value will be replaced with "sensitive".
45101func (s RestoreDBClusterFromSnapshotInput) GoString() string {
45102	return s.String()
45103}
45104
45105// Validate inspects the fields of the type to determine if they are valid.
45106func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
45107	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
45108	if s.DBClusterIdentifier == nil {
45109		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
45110	}
45111	if s.Engine == nil {
45112		invalidParams.Add(request.NewErrParamRequired("Engine"))
45113	}
45114	if s.SnapshotIdentifier == nil {
45115		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
45116	}
45117
45118	if invalidParams.Len() > 0 {
45119		return invalidParams
45120	}
45121	return nil
45122}
45123
45124// SetAvailabilityZones sets the AvailabilityZones field's value.
45125func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
45126	s.AvailabilityZones = v
45127	return s
45128}
45129
45130// SetBacktrackWindow sets the BacktrackWindow field's value.
45131func (s *RestoreDBClusterFromSnapshotInput) SetBacktrackWindow(v int64) *RestoreDBClusterFromSnapshotInput {
45132	s.BacktrackWindow = &v
45133	return s
45134}
45135
45136// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
45137func (s *RestoreDBClusterFromSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromSnapshotInput {
45138	s.CopyTagsToSnapshot = &v
45139	return s
45140}
45141
45142// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
45143func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
45144	s.DBClusterIdentifier = &v
45145	return s
45146}
45147
45148// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
45149func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
45150	s.DBClusterParameterGroupName = &v
45151	return s
45152}
45153
45154// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
45155func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
45156	s.DBSubnetGroupName = &v
45157	return s
45158}
45159
45160// SetDatabaseName sets the DatabaseName field's value.
45161func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
45162	s.DatabaseName = &v
45163	return s
45164}
45165
45166// SetDeletionProtection sets the DeletionProtection field's value.
45167func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
45168	s.DeletionProtection = &v
45169	return s
45170}
45171
45172// SetDomain sets the Domain field's value.
45173func (s *RestoreDBClusterFromSnapshotInput) SetDomain(v string) *RestoreDBClusterFromSnapshotInput {
45174	s.Domain = &v
45175	return s
45176}
45177
45178// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
45179func (s *RestoreDBClusterFromSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBClusterFromSnapshotInput {
45180	s.DomainIAMRoleName = &v
45181	return s
45182}
45183
45184// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
45185func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
45186	s.EnableCloudwatchLogsExports = v
45187	return s
45188}
45189
45190// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
45191func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
45192	s.EnableIAMDatabaseAuthentication = &v
45193	return s
45194}
45195
45196// SetEngine sets the Engine field's value.
45197func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
45198	s.Engine = &v
45199	return s
45200}
45201
45202// SetEngineMode sets the EngineMode field's value.
45203func (s *RestoreDBClusterFromSnapshotInput) SetEngineMode(v string) *RestoreDBClusterFromSnapshotInput {
45204	s.EngineMode = &v
45205	return s
45206}
45207
45208// SetEngineVersion sets the EngineVersion field's value.
45209func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
45210	s.EngineVersion = &v
45211	return s
45212}
45213
45214// SetKmsKeyId sets the KmsKeyId field's value.
45215func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
45216	s.KmsKeyId = &v
45217	return s
45218}
45219
45220// SetOptionGroupName sets the OptionGroupName field's value.
45221func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
45222	s.OptionGroupName = &v
45223	return s
45224}
45225
45226// SetPort sets the Port field's value.
45227func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
45228	s.Port = &v
45229	return s
45230}
45231
45232// SetScalingConfiguration sets the ScalingConfiguration field's value.
45233func (s *RestoreDBClusterFromSnapshotInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterFromSnapshotInput {
45234	s.ScalingConfiguration = v
45235	return s
45236}
45237
45238// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
45239func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
45240	s.SnapshotIdentifier = &v
45241	return s
45242}
45243
45244// SetTags sets the Tags field's value.
45245func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
45246	s.Tags = v
45247	return s
45248}
45249
45250// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
45251func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
45252	s.VpcSecurityGroupIds = v
45253	return s
45254}
45255
45256type RestoreDBClusterFromSnapshotOutput struct {
45257	_ struct{} `type:"structure"`
45258
45259	// Contains the details of an Amazon Aurora DB cluster.
45260	//
45261	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
45262	// and StartDBCluster actions.
45263	DBCluster *DBCluster `type:"structure"`
45264}
45265
45266// String returns the string representation.
45267//
45268// API parameter values that are decorated as "sensitive" in the API will not
45269// be included in the string output. The member name will be present, but the
45270// value will be replaced with "sensitive".
45271func (s RestoreDBClusterFromSnapshotOutput) String() string {
45272	return awsutil.Prettify(s)
45273}
45274
45275// GoString returns the string representation.
45276//
45277// API parameter values that are decorated as "sensitive" in the API will not
45278// be included in the string output. The member name will be present, but the
45279// value will be replaced with "sensitive".
45280func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
45281	return s.String()
45282}
45283
45284// SetDBCluster sets the DBCluster field's value.
45285func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
45286	s.DBCluster = v
45287	return s
45288}
45289
45290type RestoreDBClusterToPointInTimeInput struct {
45291	_ struct{} `type:"structure"`
45292
45293	// The target backtrack window, in seconds. To disable backtracking, set this
45294	// value to 0.
45295	//
45296	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
45297	//
45298	// Default: 0
45299	//
45300	// Constraints:
45301	//
45302	//    * If specified, this value must be set to a number from 0 to 259,200 (72
45303	//    hours).
45304	BacktrackWindow *int64 `type:"long"`
45305
45306	// A value that indicates whether to copy all tags from the restored DB cluster
45307	// to snapshots of the restored DB cluster. The default is not to copy them.
45308	CopyTagsToSnapshot *bool `type:"boolean"`
45309
45310	// The name of the new DB cluster to be created.
45311	//
45312	// Constraints:
45313	//
45314	//    * Must contain from 1 to 63 letters, numbers, or hyphens
45315	//
45316	//    * First character must be a letter
45317	//
45318	//    * Can't end with a hyphen or contain two consecutive hyphens
45319	//
45320	// DBClusterIdentifier is a required field
45321	DBClusterIdentifier *string `type:"string" required:"true"`
45322
45323	// The name of the DB cluster parameter group to associate with this DB cluster.
45324	// If this argument is omitted, the default DB cluster parameter group for the
45325	// specified engine is used.
45326	//
45327	// Constraints:
45328	//
45329	//    * If supplied, must match the name of an existing DB cluster parameter
45330	//    group.
45331	//
45332	//    * Must be 1 to 255 letters, numbers, or hyphens.
45333	//
45334	//    * First character must be a letter.
45335	//
45336	//    * Can't end with a hyphen or contain two consecutive hyphens.
45337	DBClusterParameterGroupName *string `type:"string"`
45338
45339	// The DB subnet group name to use for the new DB cluster.
45340	//
45341	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
45342	//
45343	// Example: mySubnetgroup
45344	DBSubnetGroupName *string `type:"string"`
45345
45346	// A value that indicates whether the DB cluster has deletion protection enabled.
45347	// The database can't be deleted when deletion protection is enabled. By default,
45348	// deletion protection is disabled.
45349	DeletionProtection *bool `type:"boolean"`
45350
45351	// Specify the Active Directory directory ID to restore the DB cluster in. The
45352	// domain must be created prior to this operation.
45353	//
45354	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
45355	// to authenticate users that connect to the DB cluster. For more information,
45356	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
45357	// in the Amazon Aurora User Guide.
45358	Domain *string `type:"string"`
45359
45360	// Specify the name of the IAM role to be used when making API calls to the
45361	// Directory Service.
45362	DomainIAMRoleName *string `type:"string"`
45363
45364	// The list of logs that the restored DB cluster is to export to CloudWatch
45365	// Logs. The values in the list depend on the DB engine being used. For more
45366	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
45367	// in the Amazon Aurora User Guide.
45368	EnableCloudwatchLogsExports []*string `type:"list"`
45369
45370	// A value that indicates whether to enable mapping of Amazon Web Services Identity
45371	// and Access Management (IAM) accounts to database accounts. By default, mapping
45372	// is disabled.
45373	//
45374	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
45375	// in the Amazon Aurora User Guide.
45376	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
45377
45378	// The engine mode of the new cluster. Specify provisioned or serverless, depending
45379	// on the type of the cluster you are creating. You can create an Aurora Serverless
45380	// clone from a provisioned cluster, or a provisioned clone from an Aurora Serverless
45381	// cluster. To create a clone that is an Aurora Serverless cluster, the original
45382	// cluster must be an Aurora Serverless cluster or an encrypted provisioned
45383	// cluster.
45384	EngineMode *string `type:"string"`
45385
45386	// The Amazon Web Services KMS key identifier to use when restoring an encrypted
45387	// DB cluster from an encrypted DB cluster.
45388	//
45389	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
45390	// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
45391	// Web Services account, specify the key ARN or alias ARN.
45392	//
45393	// You can restore to a new DB cluster and encrypt the new DB cluster with a
45394	// KMS key that is different from the KMS key used to encrypt the source DB
45395	// cluster. The new DB cluster is encrypted with the KMS key identified by the
45396	// KmsKeyId parameter.
45397	//
45398	// If you don't specify a value for the KmsKeyId parameter, then the following
45399	// occurs:
45400	//
45401	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
45402	//    using the KMS key that was used to encrypt the source DB cluster.
45403	//
45404	//    * If the DB cluster isn't encrypted, then the restored DB cluster isn't
45405	//    encrypted.
45406	//
45407	// If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then
45408	// the restore request is rejected.
45409	KmsKeyId *string `type:"string"`
45410
45411	// The name of the option group for the new DB cluster.
45412	OptionGroupName *string `type:"string"`
45413
45414	// The port number on which the new DB cluster accepts connections.
45415	//
45416	// Constraints: A value from 1150-65535.
45417	//
45418	// Default: The default port for the engine.
45419	Port *int64 `type:"integer"`
45420
45421	// The date and time to restore the DB cluster to.
45422	//
45423	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
45424	//
45425	// Constraints:
45426	//
45427	//    * Must be before the latest restorable time for the DB instance
45428	//
45429	//    * Must be specified if UseLatestRestorableTime parameter isn't provided
45430	//
45431	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
45432	//
45433	//    * Can't be specified if the RestoreType parameter is copy-on-write
45434	//
45435	// Example: 2015-03-07T23:45:00Z
45436	RestoreToTime *time.Time `type:"timestamp"`
45437
45438	// The type of restore to be performed. You can specify one of the following
45439	// values:
45440	//
45441	//    * full-copy - The new DB cluster is restored as a full copy of the source
45442	//    DB cluster.
45443	//
45444	//    * copy-on-write - The new DB cluster is restored as a clone of the source
45445	//    DB cluster.
45446	//
45447	// Constraints: You can't specify copy-on-write if the engine version of the
45448	// source DB cluster is earlier than 1.11.
45449	//
45450	// If you don't specify a RestoreType value, then the new DB cluster is restored
45451	// as a full copy of the source DB cluster.
45452	RestoreType *string `type:"string"`
45453
45454	// For DB clusters in serverless DB engine mode, the scaling properties of the
45455	// DB cluster.
45456	ScalingConfiguration *ScalingConfiguration `type:"structure"`
45457
45458	// The identifier of the source DB cluster from which to restore.
45459	//
45460	// Constraints:
45461	//
45462	//    * Must match the identifier of an existing DBCluster.
45463	//
45464	// SourceDBClusterIdentifier is a required field
45465	SourceDBClusterIdentifier *string `type:"string" required:"true"`
45466
45467	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
45468	// in the Amazon RDS User Guide.
45469	Tags []*Tag `locationNameList:"Tag" type:"list"`
45470
45471	// A value that indicates whether to restore the DB cluster to the latest restorable
45472	// backup time. By default, the DB cluster isn't restored to the latest restorable
45473	// backup time.
45474	//
45475	// Constraints: Can't be specified if RestoreToTime parameter is provided.
45476	UseLatestRestorableTime *bool `type:"boolean"`
45477
45478	// A list of VPC security groups that the new DB cluster belongs to.
45479	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
45480}
45481
45482// String returns the string representation.
45483//
45484// API parameter values that are decorated as "sensitive" in the API will not
45485// be included in the string output. The member name will be present, but the
45486// value will be replaced with "sensitive".
45487func (s RestoreDBClusterToPointInTimeInput) String() string {
45488	return awsutil.Prettify(s)
45489}
45490
45491// GoString returns the string representation.
45492//
45493// API parameter values that are decorated as "sensitive" in the API will not
45494// be included in the string output. The member name will be present, but the
45495// value will be replaced with "sensitive".
45496func (s RestoreDBClusterToPointInTimeInput) GoString() string {
45497	return s.String()
45498}
45499
45500// Validate inspects the fields of the type to determine if they are valid.
45501func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
45502	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
45503	if s.DBClusterIdentifier == nil {
45504		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
45505	}
45506	if s.SourceDBClusterIdentifier == nil {
45507		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
45508	}
45509
45510	if invalidParams.Len() > 0 {
45511		return invalidParams
45512	}
45513	return nil
45514}
45515
45516// SetBacktrackWindow sets the BacktrackWindow field's value.
45517func (s *RestoreDBClusterToPointInTimeInput) SetBacktrackWindow(v int64) *RestoreDBClusterToPointInTimeInput {
45518	s.BacktrackWindow = &v
45519	return s
45520}
45521
45522// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
45523func (s *RestoreDBClusterToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterToPointInTimeInput {
45524	s.CopyTagsToSnapshot = &v
45525	return s
45526}
45527
45528// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
45529func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
45530	s.DBClusterIdentifier = &v
45531	return s
45532}
45533
45534// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
45535func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
45536	s.DBClusterParameterGroupName = &v
45537	return s
45538}
45539
45540// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
45541func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
45542	s.DBSubnetGroupName = &v
45543	return s
45544}
45545
45546// SetDeletionProtection sets the DeletionProtection field's value.
45547func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
45548	s.DeletionProtection = &v
45549	return s
45550}
45551
45552// SetDomain sets the Domain field's value.
45553func (s *RestoreDBClusterToPointInTimeInput) SetDomain(v string) *RestoreDBClusterToPointInTimeInput {
45554	s.Domain = &v
45555	return s
45556}
45557
45558// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
45559func (s *RestoreDBClusterToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBClusterToPointInTimeInput {
45560	s.DomainIAMRoleName = &v
45561	return s
45562}
45563
45564// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
45565func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
45566	s.EnableCloudwatchLogsExports = v
45567	return s
45568}
45569
45570// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
45571func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
45572	s.EnableIAMDatabaseAuthentication = &v
45573	return s
45574}
45575
45576// SetEngineMode sets the EngineMode field's value.
45577func (s *RestoreDBClusterToPointInTimeInput) SetEngineMode(v string) *RestoreDBClusterToPointInTimeInput {
45578	s.EngineMode = &v
45579	return s
45580}
45581
45582// SetKmsKeyId sets the KmsKeyId field's value.
45583func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
45584	s.KmsKeyId = &v
45585	return s
45586}
45587
45588// SetOptionGroupName sets the OptionGroupName field's value.
45589func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
45590	s.OptionGroupName = &v
45591	return s
45592}
45593
45594// SetPort sets the Port field's value.
45595func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
45596	s.Port = &v
45597	return s
45598}
45599
45600// SetRestoreToTime sets the RestoreToTime field's value.
45601func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
45602	s.RestoreToTime = &v
45603	return s
45604}
45605
45606// SetRestoreType sets the RestoreType field's value.
45607func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
45608	s.RestoreType = &v
45609	return s
45610}
45611
45612// SetScalingConfiguration sets the ScalingConfiguration field's value.
45613func (s *RestoreDBClusterToPointInTimeInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterToPointInTimeInput {
45614	s.ScalingConfiguration = v
45615	return s
45616}
45617
45618// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
45619func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
45620	s.SourceDBClusterIdentifier = &v
45621	return s
45622}
45623
45624// SetTags sets the Tags field's value.
45625func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
45626	s.Tags = v
45627	return s
45628}
45629
45630// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
45631func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
45632	s.UseLatestRestorableTime = &v
45633	return s
45634}
45635
45636// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
45637func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
45638	s.VpcSecurityGroupIds = v
45639	return s
45640}
45641
45642type RestoreDBClusterToPointInTimeOutput struct {
45643	_ struct{} `type:"structure"`
45644
45645	// Contains the details of an Amazon Aurora DB cluster.
45646	//
45647	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
45648	// and StartDBCluster actions.
45649	DBCluster *DBCluster `type:"structure"`
45650}
45651
45652// String returns the string representation.
45653//
45654// API parameter values that are decorated as "sensitive" in the API will not
45655// be included in the string output. The member name will be present, but the
45656// value will be replaced with "sensitive".
45657func (s RestoreDBClusterToPointInTimeOutput) String() string {
45658	return awsutil.Prettify(s)
45659}
45660
45661// GoString returns the string representation.
45662//
45663// API parameter values that are decorated as "sensitive" in the API will not
45664// be included in the string output. The member name will be present, but the
45665// value will be replaced with "sensitive".
45666func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
45667	return s.String()
45668}
45669
45670// SetDBCluster sets the DBCluster field's value.
45671func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
45672	s.DBCluster = v
45673	return s
45674}
45675
45676type RestoreDBInstanceFromDBSnapshotInput struct {
45677	_ struct{} `type:"structure"`
45678
45679	// A value that indicates whether minor version upgrades are applied automatically
45680	// to the DB instance during the maintenance window.
45681	//
45682	// If you restore an RDS Custom DB instance, you must disable this parameter.
45683	AutoMinorVersionUpgrade *bool `type:"boolean"`
45684
45685	// The Availability Zone (AZ) where the DB instance will be created.
45686	//
45687	// Default: A random, system-chosen Availability Zone.
45688	//
45689	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
45690	// is a Multi-AZ deployment.
45691	//
45692	// Example: us-east-1a
45693	AvailabilityZone *string `type:"string"`
45694
45695	// A value that indicates whether to copy all tags from the restored DB instance
45696	// to snapshots of the DB instance. By default, tags are not copied.
45697	CopyTagsToSnapshot *bool `type:"boolean"`
45698
45699	// The instance profile associated with the underlying Amazon EC2 instance of
45700	// an RDS Custom DB instance. The instance profile must meet the following requirements:
45701	//
45702	//    * The profile must exist in your account.
45703	//
45704	//    * The profile must have an IAM role that Amazon EC2 has permissions to
45705	//    assume.
45706	//
45707	//    * The instance profile name and the associated IAM role name must start
45708	//    with the prefix AWSRDSCustom.
45709	//
45710	// For the list of permissions required for the IAM role, see Configure IAM
45711	// and your VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)
45712	// in the Amazon Relational Database Service User Guide.
45713	//
45714	// This setting is required for RDS Custom.
45715	CustomIamInstanceProfile *string `type:"string"`
45716
45717	// The compute and memory capacity of the Amazon RDS DB instance, for example,
45718	// db.m4.large. Not all DB instance classes are available in all Amazon Web
45719	// Services Regions, or for all database engines. For the full list of DB instance
45720	// classes, and availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
45721	// in the Amazon RDS User Guide.
45722	//
45723	// Default: The same DBInstanceClass as the original DB instance.
45724	DBInstanceClass *string `type:"string"`
45725
45726	// Name of the DB instance to create from the DB snapshot. This parameter isn't
45727	// case-sensitive.
45728	//
45729	// Constraints:
45730	//
45731	//    * Must contain from 1 to 63 numbers, letters, or hyphens
45732	//
45733	//    * First character must be a letter
45734	//
45735	//    * Can't end with a hyphen or contain two consecutive hyphens
45736	//
45737	// Example: my-snapshot-id
45738	//
45739	// DBInstanceIdentifier is a required field
45740	DBInstanceIdentifier *string `type:"string" required:"true"`
45741
45742	// The database name for the restored DB instance.
45743	//
45744	// This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.
45745	// It also doesn't apply to RDS Custom DB instances.
45746	DBName *string `type:"string"`
45747
45748	// The name of the DB parameter group to associate with this DB instance.
45749	//
45750	// If you don't specify a value for DBParameterGroupName, then RDS uses the
45751	// default DBParameterGroup for the specified DB engine.
45752	//
45753	// This setting doesn't apply to RDS Custom.
45754	//
45755	// Constraints:
45756	//
45757	//    * If supplied, must match the name of an existing DBParameterGroup.
45758	//
45759	//    * Must be 1 to 255 letters, numbers, or hyphens.
45760	//
45761	//    * First character must be a letter.
45762	//
45763	//    * Can't end with a hyphen or contain two consecutive hyphens.
45764	DBParameterGroupName *string `type:"string"`
45765
45766	// The identifier for the DB snapshot to restore from.
45767	//
45768	// Constraints:
45769	//
45770	//    * Must match the identifier of an existing DBSnapshot.
45771	//
45772	//    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
45773	//    must be the ARN of the shared DB snapshot.
45774	//
45775	// DBSnapshotIdentifier is a required field
45776	DBSnapshotIdentifier *string `type:"string" required:"true"`
45777
45778	// The DB subnet group name to use for the new instance.
45779	//
45780	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
45781	//
45782	// Example: mySubnetgroup
45783	DBSubnetGroupName *string `type:"string"`
45784
45785	// A value that indicates whether the DB instance has deletion protection enabled.
45786	// The database can't be deleted when deletion protection is enabled. By default,
45787	// deletion protection is disabled. For more information, see Deleting a DB
45788	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
45789	DeletionProtection *bool `type:"boolean"`
45790
45791	// Specify the Active Directory directory ID to restore the DB instance in.
45792	// The domain/ must be created prior to this operation. Currently, you can create
45793	// only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in
45794	// an Active Directory Domain.
45795	//
45796	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
45797	// in the Amazon RDS User Guide.
45798	//
45799	// This setting doesn't apply to RDS Custom.
45800	Domain *string `type:"string"`
45801
45802	// Specify the name of the IAM role to be used when making API calls to the
45803	// Directory Service.
45804	//
45805	// This setting doesn't apply to RDS Custom.
45806	DomainIAMRoleName *string `type:"string"`
45807
45808	// The list of logs that the restored DB instance is to export to CloudWatch
45809	// Logs. The values in the list depend on the DB engine being used. For more
45810	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
45811	// in the Amazon RDS User Guide.
45812	//
45813	// This setting doesn't apply to RDS Custom.
45814	EnableCloudwatchLogsExports []*string `type:"list"`
45815
45816	// A value that indicates whether to enable a customer-owned IP address (CoIP)
45817	// for an RDS on Outposts DB instance.
45818	//
45819	// A CoIP provides local or external connectivity to resources in your Outpost
45820	// subnets through your on-premises network. For some use cases, a CoIP can
45821	// provide lower latency for connections to the DB instance from outside of
45822	// its virtual private cloud (VPC) on your local network.
45823	//
45824	// This setting doesn't apply to RDS Custom.
45825	//
45826	// For more information about RDS on Outposts, see Working with Amazon RDS on
45827	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
45828	// in the Amazon RDS User Guide.
45829	//
45830	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
45831	// in the Amazon Web Services Outposts User Guide.
45832	EnableCustomerOwnedIp *bool `type:"boolean"`
45833
45834	// A value that indicates whether to enable mapping of Amazon Web Services Identity
45835	// and Access Management (IAM) accounts to database accounts. By default, mapping
45836	// is disabled.
45837	//
45838	// For more information about IAM database authentication, see IAM Database
45839	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
45840	// in the Amazon RDS User Guide.
45841	//
45842	// This setting doesn't apply to RDS Custom.
45843	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
45844
45845	// The database engine to use for the new instance.
45846	//
45847	// This setting doesn't apply to RDS Custom.
45848	//
45849	// Default: The same as source
45850	//
45851	// Constraint: Must be compatible with the engine of the source. For example,
45852	// you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.
45853	//
45854	// Valid Values:
45855	//
45856	//    * mariadb
45857	//
45858	//    * mysql
45859	//
45860	//    * oracle-ee
45861	//
45862	//    * oracle-ee-cdb
45863	//
45864	//    * oracle-se2
45865	//
45866	//    * oracle-se2-cdb
45867	//
45868	//    * postgres
45869	//
45870	//    * sqlserver-ee
45871	//
45872	//    * sqlserver-se
45873	//
45874	//    * sqlserver-ex
45875	//
45876	//    * sqlserver-web
45877	Engine *string `type:"string"`
45878
45879	// Specifies the amount of provisioned IOPS for the DB instance, expressed in
45880	// I/O operations per second. If this parameter isn't specified, the IOPS value
45881	// is taken from the backup. If this parameter is set to 0, the new instance
45882	// is converted to a non-PIOPS instance. The conversion takes additional time,
45883	// though your DB instance is available for connections before the conversion
45884	// starts.
45885	//
45886	// The provisioned IOPS value must follow the requirements for your database
45887	// engine. For more information, see Amazon RDS Provisioned IOPS Storage to
45888	// Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
45889	// in the Amazon RDS User Guide.
45890	//
45891	// Constraints: Must be an integer greater than 1000.
45892	Iops *int64 `type:"integer"`
45893
45894	// License model information for the restored DB instance.
45895	//
45896	// This setting doesn't apply to RDS Custom.
45897	//
45898	// Default: Same as source.
45899	//
45900	// Valid values: license-included | bring-your-own-license | general-public-license
45901	LicenseModel *string `type:"string"`
45902
45903	// A value that indicates whether the DB instance is a Multi-AZ deployment.
45904	//
45905	// This setting doesn't apply to RDS Custom.
45906	//
45907	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
45908	// is a Multi-AZ deployment.
45909	MultiAZ *bool `type:"boolean"`
45910
45911	// The name of the option group to be used for the restored DB instance.
45912	//
45913	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
45914	// can't be removed from an option group, and that option group can't be removed
45915	// from a DB instance after it is associated with a DB instance.
45916	//
45917	// This setting doesn't apply to RDS Custom.
45918	OptionGroupName *string `type:"string"`
45919
45920	// The port number on which the database accepts connections.
45921	//
45922	// Default: The same port as the original DB instance
45923	//
45924	// Constraints: Value must be 1150-65535
45925	Port *int64 `type:"integer"`
45926
45927	// The number of CPU cores and the number of threads per core for the DB instance
45928	// class of the DB instance.
45929	//
45930	// This setting doesn't apply to RDS Custom.
45931	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
45932
45933	// A value that indicates whether the DB instance is publicly accessible.
45934	//
45935	// When the DB instance is publicly accessible, its DNS endpoint resolves to
45936	// the private IP address from within the DB instance's VPC, and to the public
45937	// IP address from outside of the DB instance's VPC. Access to the DB instance
45938	// is ultimately controlled by the security group it uses, and that public access
45939	// is not permitted if the security group assigned to the DB instance doesn't
45940	// permit it.
45941	//
45942	// When the DB instance isn't publicly accessible, it is an internal DB instance
45943	// with a DNS name that resolves to a private IP address.
45944	//
45945	// For more information, see CreateDBInstance.
45946	PubliclyAccessible *bool `type:"boolean"`
45947
45948	// Specifies the storage type to be associated with the DB instance.
45949	//
45950	// Valid values: standard | gp2 | io1
45951	//
45952	// If you specify io1, you must also include a value for the Iops parameter.
45953	//
45954	// Default: io1 if the Iops parameter is specified, otherwise gp2
45955	StorageType *string `type:"string"`
45956
45957	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
45958	// in the Amazon RDS User Guide.
45959	Tags []*Tag `locationNameList:"Tag" type:"list"`
45960
45961	// The ARN from the key store with which to associate the instance for TDE encryption.
45962	//
45963	// This setting doesn't apply to RDS Custom.
45964	TdeCredentialArn *string `type:"string"`
45965
45966	// The password for the given ARN from the key store in order to access the
45967	// device.
45968	//
45969	// This setting doesn't apply to RDS Custom.
45970	TdeCredentialPassword *string `type:"string"`
45971
45972	// A value that indicates whether the DB instance class of the DB instance uses
45973	// its default processor features.
45974	//
45975	// This setting doesn't apply to RDS Custom.
45976	UseDefaultProcessorFeatures *bool `type:"boolean"`
45977
45978	// A list of EC2 VPC security groups to associate with this DB instance.
45979	//
45980	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
45981	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
45982}
45983
45984// String returns the string representation.
45985//
45986// API parameter values that are decorated as "sensitive" in the API will not
45987// be included in the string output. The member name will be present, but the
45988// value will be replaced with "sensitive".
45989func (s RestoreDBInstanceFromDBSnapshotInput) String() string {
45990	return awsutil.Prettify(s)
45991}
45992
45993// GoString returns the string representation.
45994//
45995// API parameter values that are decorated as "sensitive" in the API will not
45996// be included in the string output. The member name will be present, but the
45997// value will be replaced with "sensitive".
45998func (s RestoreDBInstanceFromDBSnapshotInput) GoString() string {
45999	return s.String()
46000}
46001
46002// Validate inspects the fields of the type to determine if they are valid.
46003func (s *RestoreDBInstanceFromDBSnapshotInput) Validate() error {
46004	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromDBSnapshotInput"}
46005	if s.DBInstanceIdentifier == nil {
46006		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
46007	}
46008	if s.DBSnapshotIdentifier == nil {
46009		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
46010	}
46011
46012	if invalidParams.Len() > 0 {
46013		return invalidParams
46014	}
46015	return nil
46016}
46017
46018// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
46019func (s *RestoreDBInstanceFromDBSnapshotInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromDBSnapshotInput {
46020	s.AutoMinorVersionUpgrade = &v
46021	return s
46022}
46023
46024// SetAvailabilityZone sets the AvailabilityZone field's value.
46025func (s *RestoreDBInstanceFromDBSnapshotInput) SetAvailabilityZone(v string) *RestoreDBInstanceFromDBSnapshotInput {
46026	s.AvailabilityZone = &v
46027	return s
46028}
46029
46030// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
46031func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
46032	s.CopyTagsToSnapshot = &v
46033	return s
46034}
46035
46036// SetCustomIamInstanceProfile sets the CustomIamInstanceProfile field's value.
46037func (s *RestoreDBInstanceFromDBSnapshotInput) SetCustomIamInstanceProfile(v string) *RestoreDBInstanceFromDBSnapshotInput {
46038	s.CustomIamInstanceProfile = &v
46039	return s
46040}
46041
46042// SetDBInstanceClass sets the DBInstanceClass field's value.
46043func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceClass(v string) *RestoreDBInstanceFromDBSnapshotInput {
46044	s.DBInstanceClass = &v
46045	return s
46046}
46047
46048// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
46049func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
46050	s.DBInstanceIdentifier = &v
46051	return s
46052}
46053
46054// SetDBName sets the DBName field's value.
46055func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBName(v string) *RestoreDBInstanceFromDBSnapshotInput {
46056	s.DBName = &v
46057	return s
46058}
46059
46060// SetDBParameterGroupName sets the DBParameterGroupName field's value.
46061func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBParameterGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
46062	s.DBParameterGroupName = &v
46063	return s
46064}
46065
46066// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
46067func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSnapshotIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
46068	s.DBSnapshotIdentifier = &v
46069	return s
46070}
46071
46072// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
46073func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
46074	s.DBSubnetGroupName = &v
46075	return s
46076}
46077
46078// SetDeletionProtection sets the DeletionProtection field's value.
46079func (s *RestoreDBInstanceFromDBSnapshotInput) SetDeletionProtection(v bool) *RestoreDBInstanceFromDBSnapshotInput {
46080	s.DeletionProtection = &v
46081	return s
46082}
46083
46084// SetDomain sets the Domain field's value.
46085func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomain(v string) *RestoreDBInstanceFromDBSnapshotInput {
46086	s.Domain = &v
46087	return s
46088}
46089
46090// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
46091func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceFromDBSnapshotInput {
46092	s.DomainIAMRoleName = &v
46093	return s
46094}
46095
46096// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
46097func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
46098	s.EnableCloudwatchLogsExports = v
46099	return s
46100}
46101
46102// SetEnableCustomerOwnedIp sets the EnableCustomerOwnedIp field's value.
46103func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCustomerOwnedIp(v bool) *RestoreDBInstanceFromDBSnapshotInput {
46104	s.EnableCustomerOwnedIp = &v
46105	return s
46106}
46107
46108// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
46109func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput {
46110	s.EnableIAMDatabaseAuthentication = &v
46111	return s
46112}
46113
46114// SetEngine sets the Engine field's value.
46115func (s *RestoreDBInstanceFromDBSnapshotInput) SetEngine(v string) *RestoreDBInstanceFromDBSnapshotInput {
46116	s.Engine = &v
46117	return s
46118}
46119
46120// SetIops sets the Iops field's value.
46121func (s *RestoreDBInstanceFromDBSnapshotInput) SetIops(v int64) *RestoreDBInstanceFromDBSnapshotInput {
46122	s.Iops = &v
46123	return s
46124}
46125
46126// SetLicenseModel sets the LicenseModel field's value.
46127func (s *RestoreDBInstanceFromDBSnapshotInput) SetLicenseModel(v string) *RestoreDBInstanceFromDBSnapshotInput {
46128	s.LicenseModel = &v
46129	return s
46130}
46131
46132// SetMultiAZ sets the MultiAZ field's value.
46133func (s *RestoreDBInstanceFromDBSnapshotInput) SetMultiAZ(v bool) *RestoreDBInstanceFromDBSnapshotInput {
46134	s.MultiAZ = &v
46135	return s
46136}
46137
46138// SetOptionGroupName sets the OptionGroupName field's value.
46139func (s *RestoreDBInstanceFromDBSnapshotInput) SetOptionGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
46140	s.OptionGroupName = &v
46141	return s
46142}
46143
46144// SetPort sets the Port field's value.
46145func (s *RestoreDBInstanceFromDBSnapshotInput) SetPort(v int64) *RestoreDBInstanceFromDBSnapshotInput {
46146	s.Port = &v
46147	return s
46148}
46149
46150// SetProcessorFeatures sets the ProcessorFeatures field's value.
46151func (s *RestoreDBInstanceFromDBSnapshotInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromDBSnapshotInput {
46152	s.ProcessorFeatures = v
46153	return s
46154}
46155
46156// SetPubliclyAccessible sets the PubliclyAccessible field's value.
46157func (s *RestoreDBInstanceFromDBSnapshotInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromDBSnapshotInput {
46158	s.PubliclyAccessible = &v
46159	return s
46160}
46161
46162// SetStorageType sets the StorageType field's value.
46163func (s *RestoreDBInstanceFromDBSnapshotInput) SetStorageType(v string) *RestoreDBInstanceFromDBSnapshotInput {
46164	s.StorageType = &v
46165	return s
46166}
46167
46168// SetTags sets the Tags field's value.
46169func (s *RestoreDBInstanceFromDBSnapshotInput) SetTags(v []*Tag) *RestoreDBInstanceFromDBSnapshotInput {
46170	s.Tags = v
46171	return s
46172}
46173
46174// SetTdeCredentialArn sets the TdeCredentialArn field's value.
46175func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialArn(v string) *RestoreDBInstanceFromDBSnapshotInput {
46176	s.TdeCredentialArn = &v
46177	return s
46178}
46179
46180// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
46181func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceFromDBSnapshotInput {
46182	s.TdeCredentialPassword = &v
46183	return s
46184}
46185
46186// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
46187func (s *RestoreDBInstanceFromDBSnapshotInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromDBSnapshotInput {
46188	s.UseDefaultProcessorFeatures = &v
46189	return s
46190}
46191
46192// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
46193func (s *RestoreDBInstanceFromDBSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
46194	s.VpcSecurityGroupIds = v
46195	return s
46196}
46197
46198type RestoreDBInstanceFromDBSnapshotOutput struct {
46199	_ struct{} `type:"structure"`
46200
46201	// Contains the details of an Amazon RDS DB instance.
46202	//
46203	// This data type is used as a response element in the DescribeDBInstances action.
46204	DBInstance *DBInstance `type:"structure"`
46205}
46206
46207// String returns the string representation.
46208//
46209// API parameter values that are decorated as "sensitive" in the API will not
46210// be included in the string output. The member name will be present, but the
46211// value will be replaced with "sensitive".
46212func (s RestoreDBInstanceFromDBSnapshotOutput) String() string {
46213	return awsutil.Prettify(s)
46214}
46215
46216// GoString returns the string representation.
46217//
46218// API parameter values that are decorated as "sensitive" in the API will not
46219// be included in the string output. The member name will be present, but the
46220// value will be replaced with "sensitive".
46221func (s RestoreDBInstanceFromDBSnapshotOutput) GoString() string {
46222	return s.String()
46223}
46224
46225// SetDBInstance sets the DBInstance field's value.
46226func (s *RestoreDBInstanceFromDBSnapshotOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromDBSnapshotOutput {
46227	s.DBInstance = v
46228	return s
46229}
46230
46231type RestoreDBInstanceFromS3Input struct {
46232	_ struct{} `type:"structure"`
46233
46234	// The amount of storage (in gigabytes) to allocate initially for the DB instance.
46235	// Follow the allocation rules specified in CreateDBInstance.
46236	//
46237	// Be sure to allocate enough memory for your new DB instance so that the restore
46238	// operation can succeed. You can also allocate additional memory for future
46239	// growth.
46240	AllocatedStorage *int64 `type:"integer"`
46241
46242	// A value that indicates whether minor engine upgrades are applied automatically
46243	// to the DB instance during the maintenance window. By default, minor engine
46244	// upgrades are not applied automatically.
46245	AutoMinorVersionUpgrade *bool `type:"boolean"`
46246
46247	// The Availability Zone that the DB instance is created in. For information
46248	// about Amazon Web Services Regions and Availability Zones, see Regions and
46249	// Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
46250	// in the Amazon RDS User Guide.
46251	//
46252	// Default: A random, system-chosen Availability Zone in the endpoint's Amazon
46253	// Web Services Region.
46254	//
46255	// Example: us-east-1d
46256	//
46257	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
46258	// is a Multi-AZ deployment. The specified Availability Zone must be in the
46259	// same Amazon Web Services Region as the current endpoint.
46260	AvailabilityZone *string `type:"string"`
46261
46262	// The number of days for which automated backups are retained. Setting this
46263	// parameter to a positive number enables backups. For more information, see
46264	// CreateDBInstance.
46265	BackupRetentionPeriod *int64 `type:"integer"`
46266
46267	// A value that indicates whether to copy all tags from the DB instance to snapshots
46268	// of the DB instance. By default, tags are not copied.
46269	CopyTagsToSnapshot *bool `type:"boolean"`
46270
46271	// The compute and memory capacity of the DB instance, for example, db.m4.large.
46272	// Not all DB instance classes are available in all Amazon Web Services Regions,
46273	// or for all database engines. For the full list of DB instance classes, and
46274	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
46275	// in the Amazon RDS User Guide.
46276	//
46277	// Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.
46278	//
46279	// DBInstanceClass is a required field
46280	DBInstanceClass *string `type:"string" required:"true"`
46281
46282	// The DB instance identifier. This parameter is stored as a lowercase string.
46283	//
46284	// Constraints:
46285	//
46286	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
46287	//
46288	//    * First character must be a letter.
46289	//
46290	//    * Can't end with a hyphen or contain two consecutive hyphens.
46291	//
46292	// Example: mydbinstance
46293	//
46294	// DBInstanceIdentifier is a required field
46295	DBInstanceIdentifier *string `type:"string" required:"true"`
46296
46297	// The name of the database to create when the DB instance is created. Follow
46298	// the naming rules specified in CreateDBInstance.
46299	DBName *string `type:"string"`
46300
46301	// The name of the DB parameter group to associate with this DB instance.
46302	//
46303	// If you do not specify a value for DBParameterGroupName, then the default
46304	// DBParameterGroup for the specified DB engine is used.
46305	DBParameterGroupName *string `type:"string"`
46306
46307	// A list of DB security groups to associate with this DB instance.
46308	//
46309	// Default: The default DB security group for the database engine.
46310	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
46311
46312	// A DB subnet group to associate with this DB instance.
46313	DBSubnetGroupName *string `type:"string"`
46314
46315	// A value that indicates whether the DB instance has deletion protection enabled.
46316	// The database can't be deleted when deletion protection is enabled. By default,
46317	// deletion protection is disabled. For more information, see Deleting a DB
46318	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
46319	DeletionProtection *bool `type:"boolean"`
46320
46321	// The list of logs that the restored DB instance is to export to CloudWatch
46322	// Logs. The values in the list depend on the DB engine being used. For more
46323	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
46324	// in the Amazon RDS User Guide.
46325	EnableCloudwatchLogsExports []*string `type:"list"`
46326
46327	// A value that indicates whether to enable mapping of Amazon Web Services Identity
46328	// and Access Management (IAM) accounts to database accounts. By default, mapping
46329	// is disabled.
46330	//
46331	// For more information about IAM database authentication, see IAM Database
46332	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
46333	// in the Amazon RDS User Guide.
46334	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
46335
46336	// A value that indicates whether to enable Performance Insights for the DB
46337	// instance.
46338	//
46339	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
46340	// in the Amazon Relational Database Service User Guide.
46341	EnablePerformanceInsights *bool `type:"boolean"`
46342
46343	// The name of the database engine to be used for this instance.
46344	//
46345	// Valid Values: mysql
46346	//
46347	// Engine is a required field
46348	Engine *string `type:"string" required:"true"`
46349
46350	// The version number of the database engine to use. Choose the latest minor
46351	// version of your database engine. For information about engine versions, see
46352	// CreateDBInstance, or call DescribeDBEngineVersions.
46353	EngineVersion *string `type:"string"`
46354
46355	// The amount of Provisioned IOPS (input/output operations per second) to allocate
46356	// initially for the DB instance. For information about valid Iops values, see
46357	// Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
46358	// in the Amazon RDS User Guide.
46359	Iops *int64 `type:"integer"`
46360
46361	// The Amazon Web Services KMS key identifier for an encrypted DB instance.
46362	//
46363	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
46364	// ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
46365	// Web Services account, specify the key ARN or alias ARN.
46366	//
46367	// If the StorageEncrypted parameter is enabled, and you do not specify a value
46368	// for the KmsKeyId parameter, then Amazon RDS will use your default KMS key.
46369	// There is a default KMS key for your Amazon Web Services account. Your Amazon
46370	// Web Services account has a different default KMS key for each Amazon Web
46371	// Services Region.
46372	KmsKeyId *string `type:"string"`
46373
46374	// The license model for this DB instance. Use general-public-license.
46375	LicenseModel *string `type:"string"`
46376
46377	// The password for the master user. The password can include any printable
46378	// ASCII character except "/", """, or "@".
46379	//
46380	// Constraints: Must contain from 8 to 41 characters.
46381	MasterUserPassword *string `type:"string"`
46382
46383	// The name for the master user.
46384	//
46385	// Constraints:
46386	//
46387	//    * Must be 1 to 16 letters or numbers.
46388	//
46389	//    * First character must be a letter.
46390	//
46391	//    * Can't be a reserved word for the chosen database engine.
46392	MasterUsername *string `type:"string"`
46393
46394	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
46395	// scale the storage of the DB instance.
46396	//
46397	// For more information about this setting, including limitations that apply
46398	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
46399	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
46400	// in the Amazon RDS User Guide.
46401	MaxAllocatedStorage *int64 `type:"integer"`
46402
46403	// The interval, in seconds, between points when Enhanced Monitoring metrics
46404	// are collected for the DB instance. To disable collecting Enhanced Monitoring
46405	// metrics, specify 0.
46406	//
46407	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
46408	// to a value other than 0.
46409	//
46410	// Valid Values: 0, 1, 5, 10, 15, 30, 60
46411	//
46412	// Default: 0
46413	MonitoringInterval *int64 `type:"integer"`
46414
46415	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
46416	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
46417	// For information on creating a monitoring role, see Setting Up and Enabling
46418	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
46419	// in the Amazon RDS User Guide.
46420	//
46421	// If MonitoringInterval is set to a value other than 0, then you must supply
46422	// a MonitoringRoleArn value.
46423	MonitoringRoleArn *string `type:"string"`
46424
46425	// A value that indicates whether the DB instance is a Multi-AZ deployment.
46426	// If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone
46427	// parameter.
46428	MultiAZ *bool `type:"boolean"`
46429
46430	// The name of the option group to associate with this DB instance. If this
46431	// argument is omitted, the default option group for the specified engine is
46432	// used.
46433	OptionGroupName *string `type:"string"`
46434
46435	// The Amazon Web Services KMS key identifier for encryption of Performance
46436	// Insights data.
46437	//
46438	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
46439	// ARN, or alias name for the KMS key.
46440	//
46441	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
46442	// RDS uses your default KMS key. There is a default KMS key for your Amazon
46443	// Web Services account. Your Amazon Web Services account has a different default
46444	// KMS key for each Amazon Web Services Region.
46445	PerformanceInsightsKMSKeyId *string `type:"string"`
46446
46447	// The amount of time, in days, to retain Performance Insights data. Valid values
46448	// are 7 or 731 (2 years).
46449	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
46450
46451	// The port number on which the database accepts connections.
46452	//
46453	// Type: Integer
46454	//
46455	// Valid Values: 1150-65535
46456	//
46457	// Default: 3306
46458	Port *int64 `type:"integer"`
46459
46460	// The time range each day during which automated backups are created if automated
46461	// backups are enabled. For more information, see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
46462	// in the Amazon RDS User Guide.
46463	//
46464	// Constraints:
46465	//
46466	//    * Must be in the format hh24:mi-hh24:mi.
46467	//
46468	//    * Must be in Universal Coordinated Time (UTC).
46469	//
46470	//    * Must not conflict with the preferred maintenance window.
46471	//
46472	//    * Must be at least 30 minutes.
46473	PreferredBackupWindow *string `type:"string"`
46474
46475	// The time range each week during which system maintenance can occur, in Universal
46476	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
46477	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
46478	// in the Amazon RDS User Guide.
46479	//
46480	// Constraints:
46481	//
46482	//    * Must be in the format ddd:hh24:mi-ddd:hh24:mi.
46483	//
46484	//    * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
46485	//
46486	//    * Must be in Universal Coordinated Time (UTC).
46487	//
46488	//    * Must not conflict with the preferred backup window.
46489	//
46490	//    * Must be at least 30 minutes.
46491	PreferredMaintenanceWindow *string `type:"string"`
46492
46493	// The number of CPU cores and the number of threads per core for the DB instance
46494	// class of the DB instance.
46495	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
46496
46497	// A value that indicates whether the DB instance is publicly accessible.
46498	//
46499	// When the DB instance is publicly accessible, its DNS endpoint resolves to
46500	// the private IP address from within the DB instance's VPC, and to the public
46501	// IP address from outside of the DB instance's VPC. Access to the DB instance
46502	// is ultimately controlled by the security group it uses, and that public access
46503	// is not permitted if the security group assigned to the DB instance doesn't
46504	// permit it.
46505	//
46506	// When the DB instance isn't publicly accessible, it is an internal DB instance
46507	// with a DNS name that resolves to a private IP address.
46508	//
46509	// For more information, see CreateDBInstance.
46510	PubliclyAccessible *bool `type:"boolean"`
46511
46512	// The name of your Amazon S3 bucket that contains your database backup file.
46513	//
46514	// S3BucketName is a required field
46515	S3BucketName *string `type:"string" required:"true"`
46516
46517	// An Amazon Web Services Identity and Access Management (IAM) role to allow
46518	// Amazon RDS to access your Amazon S3 bucket.
46519	//
46520	// S3IngestionRoleArn is a required field
46521	S3IngestionRoleArn *string `type:"string" required:"true"`
46522
46523	// The prefix of your Amazon S3 bucket.
46524	S3Prefix *string `type:"string"`
46525
46526	// The name of the engine of your source database.
46527	//
46528	// Valid Values: mysql
46529	//
46530	// SourceEngine is a required field
46531	SourceEngine *string `type:"string" required:"true"`
46532
46533	// The version of the database that the backup files were created from.
46534	//
46535	// MySQL versions 5.6 and 5.7 are supported.
46536	//
46537	// Example: 5.6.40
46538	//
46539	// SourceEngineVersion is a required field
46540	SourceEngineVersion *string `type:"string" required:"true"`
46541
46542	// A value that indicates whether the new DB instance is encrypted or not.
46543	StorageEncrypted *bool `type:"boolean"`
46544
46545	// Specifies the storage type to be associated with the DB instance.
46546	//
46547	// Valid values: standard | gp2 | io1
46548	//
46549	// If you specify io1, you must also include a value for the Iops parameter.
46550	//
46551	// Default: io1 if the Iops parameter is specified; otherwise gp2
46552	StorageType *string `type:"string"`
46553
46554	// A list of tags to associate with this DB instance. For more information,
46555	// see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
46556	// in the Amazon RDS User Guide.
46557	Tags []*Tag `locationNameList:"Tag" type:"list"`
46558
46559	// A value that indicates whether the DB instance class of the DB instance uses
46560	// its default processor features.
46561	UseDefaultProcessorFeatures *bool `type:"boolean"`
46562
46563	// A list of VPC security groups to associate with this DB instance.
46564	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
46565}
46566
46567// String returns the string representation.
46568//
46569// API parameter values that are decorated as "sensitive" in the API will not
46570// be included in the string output. The member name will be present, but the
46571// value will be replaced with "sensitive".
46572func (s RestoreDBInstanceFromS3Input) String() string {
46573	return awsutil.Prettify(s)
46574}
46575
46576// GoString returns the string representation.
46577//
46578// API parameter values that are decorated as "sensitive" in the API will not
46579// be included in the string output. The member name will be present, but the
46580// value will be replaced with "sensitive".
46581func (s RestoreDBInstanceFromS3Input) GoString() string {
46582	return s.String()
46583}
46584
46585// Validate inspects the fields of the type to determine if they are valid.
46586func (s *RestoreDBInstanceFromS3Input) Validate() error {
46587	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromS3Input"}
46588	if s.DBInstanceClass == nil {
46589		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
46590	}
46591	if s.DBInstanceIdentifier == nil {
46592		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
46593	}
46594	if s.Engine == nil {
46595		invalidParams.Add(request.NewErrParamRequired("Engine"))
46596	}
46597	if s.S3BucketName == nil {
46598		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
46599	}
46600	if s.S3IngestionRoleArn == nil {
46601		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
46602	}
46603	if s.SourceEngine == nil {
46604		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
46605	}
46606	if s.SourceEngineVersion == nil {
46607		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
46608	}
46609
46610	if invalidParams.Len() > 0 {
46611		return invalidParams
46612	}
46613	return nil
46614}
46615
46616// SetAllocatedStorage sets the AllocatedStorage field's value.
46617func (s *RestoreDBInstanceFromS3Input) SetAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
46618	s.AllocatedStorage = &v
46619	return s
46620}
46621
46622// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
46623func (s *RestoreDBInstanceFromS3Input) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromS3Input {
46624	s.AutoMinorVersionUpgrade = &v
46625	return s
46626}
46627
46628// SetAvailabilityZone sets the AvailabilityZone field's value.
46629func (s *RestoreDBInstanceFromS3Input) SetAvailabilityZone(v string) *RestoreDBInstanceFromS3Input {
46630	s.AvailabilityZone = &v
46631	return s
46632}
46633
46634// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
46635func (s *RestoreDBInstanceFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
46636	s.BackupRetentionPeriod = &v
46637	return s
46638}
46639
46640// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
46641func (s *RestoreDBInstanceFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromS3Input {
46642	s.CopyTagsToSnapshot = &v
46643	return s
46644}
46645
46646// SetDBInstanceClass sets the DBInstanceClass field's value.
46647func (s *RestoreDBInstanceFromS3Input) SetDBInstanceClass(v string) *RestoreDBInstanceFromS3Input {
46648	s.DBInstanceClass = &v
46649	return s
46650}
46651
46652// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
46653func (s *RestoreDBInstanceFromS3Input) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromS3Input {
46654	s.DBInstanceIdentifier = &v
46655	return s
46656}
46657
46658// SetDBName sets the DBName field's value.
46659func (s *RestoreDBInstanceFromS3Input) SetDBName(v string) *RestoreDBInstanceFromS3Input {
46660	s.DBName = &v
46661	return s
46662}
46663
46664// SetDBParameterGroupName sets the DBParameterGroupName field's value.
46665func (s *RestoreDBInstanceFromS3Input) SetDBParameterGroupName(v string) *RestoreDBInstanceFromS3Input {
46666	s.DBParameterGroupName = &v
46667	return s
46668}
46669
46670// SetDBSecurityGroups sets the DBSecurityGroups field's value.
46671func (s *RestoreDBInstanceFromS3Input) SetDBSecurityGroups(v []*string) *RestoreDBInstanceFromS3Input {
46672	s.DBSecurityGroups = v
46673	return s
46674}
46675
46676// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
46677func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromS3Input {
46678	s.DBSubnetGroupName = &v
46679	return s
46680}
46681
46682// SetDeletionProtection sets the DeletionProtection field's value.
46683func (s *RestoreDBInstanceFromS3Input) SetDeletionProtection(v bool) *RestoreDBInstanceFromS3Input {
46684	s.DeletionProtection = &v
46685	return s
46686}
46687
46688// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
46689func (s *RestoreDBInstanceFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromS3Input {
46690	s.EnableCloudwatchLogsExports = v
46691	return s
46692}
46693
46694// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
46695func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input {
46696	s.EnableIAMDatabaseAuthentication = &v
46697	return s
46698}
46699
46700// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
46701func (s *RestoreDBInstanceFromS3Input) SetEnablePerformanceInsights(v bool) *RestoreDBInstanceFromS3Input {
46702	s.EnablePerformanceInsights = &v
46703	return s
46704}
46705
46706// SetEngine sets the Engine field's value.
46707func (s *RestoreDBInstanceFromS3Input) SetEngine(v string) *RestoreDBInstanceFromS3Input {
46708	s.Engine = &v
46709	return s
46710}
46711
46712// SetEngineVersion sets the EngineVersion field's value.
46713func (s *RestoreDBInstanceFromS3Input) SetEngineVersion(v string) *RestoreDBInstanceFromS3Input {
46714	s.EngineVersion = &v
46715	return s
46716}
46717
46718// SetIops sets the Iops field's value.
46719func (s *RestoreDBInstanceFromS3Input) SetIops(v int64) *RestoreDBInstanceFromS3Input {
46720	s.Iops = &v
46721	return s
46722}
46723
46724// SetKmsKeyId sets the KmsKeyId field's value.
46725func (s *RestoreDBInstanceFromS3Input) SetKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
46726	s.KmsKeyId = &v
46727	return s
46728}
46729
46730// SetLicenseModel sets the LicenseModel field's value.
46731func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInstanceFromS3Input {
46732	s.LicenseModel = &v
46733	return s
46734}
46735
46736// SetMasterUserPassword sets the MasterUserPassword field's value.
46737func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
46738	s.MasterUserPassword = &v
46739	return s
46740}
46741
46742// SetMasterUsername sets the MasterUsername field's value.
46743func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
46744	s.MasterUsername = &v
46745	return s
46746}
46747
46748// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
46749func (s *RestoreDBInstanceFromS3Input) SetMaxAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
46750	s.MaxAllocatedStorage = &v
46751	return s
46752}
46753
46754// SetMonitoringInterval sets the MonitoringInterval field's value.
46755func (s *RestoreDBInstanceFromS3Input) SetMonitoringInterval(v int64) *RestoreDBInstanceFromS3Input {
46756	s.MonitoringInterval = &v
46757	return s
46758}
46759
46760// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
46761func (s *RestoreDBInstanceFromS3Input) SetMonitoringRoleArn(v string) *RestoreDBInstanceFromS3Input {
46762	s.MonitoringRoleArn = &v
46763	return s
46764}
46765
46766// SetMultiAZ sets the MultiAZ field's value.
46767func (s *RestoreDBInstanceFromS3Input) SetMultiAZ(v bool) *RestoreDBInstanceFromS3Input {
46768	s.MultiAZ = &v
46769	return s
46770}
46771
46772// SetOptionGroupName sets the OptionGroupName field's value.
46773func (s *RestoreDBInstanceFromS3Input) SetOptionGroupName(v string) *RestoreDBInstanceFromS3Input {
46774	s.OptionGroupName = &v
46775	return s
46776}
46777
46778// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
46779func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsKMSKeyId(v string) *RestoreDBInstanceFromS3Input {
46780	s.PerformanceInsightsKMSKeyId = &v
46781	return s
46782}
46783
46784// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
46785func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
46786	s.PerformanceInsightsRetentionPeriod = &v
46787	return s
46788}
46789
46790// SetPort sets the Port field's value.
46791func (s *RestoreDBInstanceFromS3Input) SetPort(v int64) *RestoreDBInstanceFromS3Input {
46792	s.Port = &v
46793	return s
46794}
46795
46796// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
46797func (s *RestoreDBInstanceFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBInstanceFromS3Input {
46798	s.PreferredBackupWindow = &v
46799	return s
46800}
46801
46802// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
46803func (s *RestoreDBInstanceFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBInstanceFromS3Input {
46804	s.PreferredMaintenanceWindow = &v
46805	return s
46806}
46807
46808// SetProcessorFeatures sets the ProcessorFeatures field's value.
46809func (s *RestoreDBInstanceFromS3Input) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromS3Input {
46810	s.ProcessorFeatures = v
46811	return s
46812}
46813
46814// SetPubliclyAccessible sets the PubliclyAccessible field's value.
46815func (s *RestoreDBInstanceFromS3Input) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromS3Input {
46816	s.PubliclyAccessible = &v
46817	return s
46818}
46819
46820// SetS3BucketName sets the S3BucketName field's value.
46821func (s *RestoreDBInstanceFromS3Input) SetS3BucketName(v string) *RestoreDBInstanceFromS3Input {
46822	s.S3BucketName = &v
46823	return s
46824}
46825
46826// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
46827func (s *RestoreDBInstanceFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBInstanceFromS3Input {
46828	s.S3IngestionRoleArn = &v
46829	return s
46830}
46831
46832// SetS3Prefix sets the S3Prefix field's value.
46833func (s *RestoreDBInstanceFromS3Input) SetS3Prefix(v string) *RestoreDBInstanceFromS3Input {
46834	s.S3Prefix = &v
46835	return s
46836}
46837
46838// SetSourceEngine sets the SourceEngine field's value.
46839func (s *RestoreDBInstanceFromS3Input) SetSourceEngine(v string) *RestoreDBInstanceFromS3Input {
46840	s.SourceEngine = &v
46841	return s
46842}
46843
46844// SetSourceEngineVersion sets the SourceEngineVersion field's value.
46845func (s *RestoreDBInstanceFromS3Input) SetSourceEngineVersion(v string) *RestoreDBInstanceFromS3Input {
46846	s.SourceEngineVersion = &v
46847	return s
46848}
46849
46850// SetStorageEncrypted sets the StorageEncrypted field's value.
46851func (s *RestoreDBInstanceFromS3Input) SetStorageEncrypted(v bool) *RestoreDBInstanceFromS3Input {
46852	s.StorageEncrypted = &v
46853	return s
46854}
46855
46856// SetStorageType sets the StorageType field's value.
46857func (s *RestoreDBInstanceFromS3Input) SetStorageType(v string) *RestoreDBInstanceFromS3Input {
46858	s.StorageType = &v
46859	return s
46860}
46861
46862// SetTags sets the Tags field's value.
46863func (s *RestoreDBInstanceFromS3Input) SetTags(v []*Tag) *RestoreDBInstanceFromS3Input {
46864	s.Tags = v
46865	return s
46866}
46867
46868// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
46869func (s *RestoreDBInstanceFromS3Input) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromS3Input {
46870	s.UseDefaultProcessorFeatures = &v
46871	return s
46872}
46873
46874// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
46875func (s *RestoreDBInstanceFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromS3Input {
46876	s.VpcSecurityGroupIds = v
46877	return s
46878}
46879
46880type RestoreDBInstanceFromS3Output struct {
46881	_ struct{} `type:"structure"`
46882
46883	// Contains the details of an Amazon RDS DB instance.
46884	//
46885	// This data type is used as a response element in the DescribeDBInstances action.
46886	DBInstance *DBInstance `type:"structure"`
46887}
46888
46889// String returns the string representation.
46890//
46891// API parameter values that are decorated as "sensitive" in the API will not
46892// be included in the string output. The member name will be present, but the
46893// value will be replaced with "sensitive".
46894func (s RestoreDBInstanceFromS3Output) String() string {
46895	return awsutil.Prettify(s)
46896}
46897
46898// GoString returns the string representation.
46899//
46900// API parameter values that are decorated as "sensitive" in the API will not
46901// be included in the string output. The member name will be present, but the
46902// value will be replaced with "sensitive".
46903func (s RestoreDBInstanceFromS3Output) GoString() string {
46904	return s.String()
46905}
46906
46907// SetDBInstance sets the DBInstance field's value.
46908func (s *RestoreDBInstanceFromS3Output) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromS3Output {
46909	s.DBInstance = v
46910	return s
46911}
46912
46913type RestoreDBInstanceToPointInTimeInput struct {
46914	_ struct{} `type:"structure"`
46915
46916	// A value that indicates whether minor version upgrades are applied automatically
46917	// to the DB instance during the maintenance window.
46918	//
46919	// This setting doesn't apply to RDS Custom.
46920	AutoMinorVersionUpgrade *bool `type:"boolean"`
46921
46922	// The Availability Zone (AZ) where the DB instance will be created.
46923	//
46924	// Default: A random, system-chosen Availability Zone.
46925	//
46926	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
46927	// is a Multi-AZ deployment.
46928	//
46929	// Example: us-east-1a
46930	AvailabilityZone *string `type:"string"`
46931
46932	// A value that indicates whether to copy all tags from the restored DB instance
46933	// to snapshots of the DB instance. By default, tags are not copied.
46934	CopyTagsToSnapshot *bool `type:"boolean"`
46935
46936	// The instance profile associated with the underlying Amazon EC2 instance of
46937	// an RDS Custom DB instance. The instance profile must meet the following requirements:
46938	//
46939	//    * The profile must exist in your account.
46940	//
46941	//    * The profile must have an IAM role that Amazon EC2 has permissions to
46942	//    assume.
46943	//
46944	//    * The instance profile name and the associated IAM role name must start
46945	//    with the prefix AWSRDSCustom.
46946	//
46947	// For the list of permissions required for the IAM role, see Configure IAM
46948	// and your VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)
46949	// in the Amazon Relational Database Service User Guide.
46950	//
46951	// This setting is required for RDS Custom.
46952	CustomIamInstanceProfile *string `type:"string"`
46953
46954	// The compute and memory capacity of the Amazon RDS DB instance, for example,
46955	// db.m4.large. Not all DB instance classes are available in all Amazon Web
46956	// Services Regions, or for all database engines. For the full list of DB instance
46957	// classes, and availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
46958	// in the Amazon RDS User Guide.
46959	//
46960	// Default: The same DBInstanceClass as the original DB instance.
46961	DBInstanceClass *string `type:"string"`
46962
46963	// The database name for the restored DB instance.
46964	//
46965	// This parameter isn't supported for the MySQL or MariaDB engines. It also
46966	// doesn't apply to RDS Custom.
46967	DBName *string `type:"string"`
46968
46969	// The name of the DB parameter group to associate with this DB instance.
46970	//
46971	// If you do not specify a value for DBParameterGroupName, then the default
46972	// DBParameterGroup for the specified DB engine is used.
46973	//
46974	// This setting doesn't apply to RDS Custom.
46975	//
46976	// Constraints:
46977	//
46978	//    * If supplied, must match the name of an existing DBParameterGroup.
46979	//
46980	//    * Must be 1 to 255 letters, numbers, or hyphens.
46981	//
46982	//    * First character must be a letter.
46983	//
46984	//    * Can't end with a hyphen or contain two consecutive hyphens.
46985	DBParameterGroupName *string `type:"string"`
46986
46987	// The DB subnet group name to use for the new instance.
46988	//
46989	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
46990	//
46991	// Example: mySubnetgroup
46992	DBSubnetGroupName *string `type:"string"`
46993
46994	// A value that indicates whether the DB instance has deletion protection enabled.
46995	// The database can't be deleted when deletion protection is enabled. By default,
46996	// deletion protection is disabled. For more information, see Deleting a DB
46997	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
46998	DeletionProtection *bool `type:"boolean"`
46999
47000	// Specify the Active Directory directory ID to restore the DB instance in.
47001	// Create the domain before running this command. Currently, you can create
47002	// only the MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances
47003	// in an Active Directory Domain.
47004	//
47005	// This setting doesn't apply to RDS Custom.
47006	//
47007	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
47008	// in the Amazon RDS User Guide.
47009	Domain *string `type:"string"`
47010
47011	// Specify the name of the IAM role to be used when making API calls to the
47012	// Directory Service.
47013	//
47014	// This setting doesn't apply to RDS Custom.
47015	DomainIAMRoleName *string `type:"string"`
47016
47017	// The list of logs that the restored DB instance is to export to CloudWatch
47018	// Logs. The values in the list depend on the DB engine being used. For more
47019	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
47020	// in the Amazon RDS User Guide.
47021	//
47022	// This setting doesn't apply to RDS Custom.
47023	EnableCloudwatchLogsExports []*string `type:"list"`
47024
47025	// A value that indicates whether to enable a customer-owned IP address (CoIP)
47026	// for an RDS on Outposts DB instance.
47027	//
47028	// A CoIP provides local or external connectivity to resources in your Outpost
47029	// subnets through your on-premises network. For some use cases, a CoIP can
47030	// provide lower latency for connections to the DB instance from outside of
47031	// its virtual private cloud (VPC) on your local network.
47032	//
47033	// This setting doesn't apply to RDS Custom.
47034	//
47035	// For more information about RDS on Outposts, see Working with Amazon RDS on
47036	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
47037	// in the Amazon RDS User Guide.
47038	//
47039	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
47040	// in the Amazon Web Services Outposts User Guide.
47041	EnableCustomerOwnedIp *bool `type:"boolean"`
47042
47043	// A value that indicates whether to enable mapping of Amazon Web Services Identity
47044	// and Access Management (IAM) accounts to database accounts. By default, mapping
47045	// is disabled.
47046	//
47047	// This setting doesn't apply to RDS Custom.
47048	//
47049	// For more information about IAM database authentication, see IAM Database
47050	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
47051	// in the Amazon RDS User Guide.
47052	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
47053
47054	// The database engine to use for the new instance.
47055	//
47056	// This setting doesn't apply to RDS Custom.
47057	//
47058	// Default: The same as source
47059	//
47060	// Constraint: Must be compatible with the engine of the source
47061	//
47062	// Valid Values:
47063	//
47064	//    * mariadb
47065	//
47066	//    * mysql
47067	//
47068	//    * oracle-ee
47069	//
47070	//    * oracle-ee-cdb
47071	//
47072	//    * oracle-se2
47073	//
47074	//    * oracle-se2-cdb
47075	//
47076	//    * postgres
47077	//
47078	//    * sqlserver-ee
47079	//
47080	//    * sqlserver-se
47081	//
47082	//    * sqlserver-ex
47083	//
47084	//    * sqlserver-web
47085	Engine *string `type:"string"`
47086
47087	// The amount of Provisioned IOPS (input/output operations per second) to be
47088	// initially allocated for the DB instance.
47089	//
47090	// Constraints: Must be an integer greater than 1000.
47091	//
47092	// SQL Server
47093	//
47094	// Setting the IOPS value for the SQL Server database engine isn't supported.
47095	Iops *int64 `type:"integer"`
47096
47097	// License model information for the restored DB instance.
47098	//
47099	// This setting doesn't apply to RDS Custom.
47100	//
47101	// Default: Same as source.
47102	//
47103	// Valid values: license-included | bring-your-own-license | general-public-license
47104	LicenseModel *string `type:"string"`
47105
47106	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
47107	// scale the storage of the DB instance.
47108	//
47109	// For more information about this setting, including limitations that apply
47110	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
47111	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
47112	// in the Amazon RDS User Guide.
47113	//
47114	// This setting doesn't apply to RDS Custom.
47115	MaxAllocatedStorage *int64 `type:"integer"`
47116
47117	// A value that indicates whether the DB instance is a Multi-AZ deployment.
47118	//
47119	// This setting doesn't apply to RDS Custom.
47120	//
47121	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
47122	// is a Multi-AZ deployment.
47123	MultiAZ *bool `type:"boolean"`
47124
47125	// The name of the option group to be used for the restored DB instance.
47126	//
47127	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
47128	// can't be removed from an option group, and that option group can't be removed
47129	// from a DB instance after it is associated with a DB instance
47130	//
47131	// This setting doesn't apply to RDS Custom.
47132	OptionGroupName *string `type:"string"`
47133
47134	// The port number on which the database accepts connections.
47135	//
47136	// Constraints: Value must be 1150-65535
47137	//
47138	// Default: The same port as the original DB instance.
47139	Port *int64 `type:"integer"`
47140
47141	// The number of CPU cores and the number of threads per core for the DB instance
47142	// class of the DB instance.
47143	//
47144	// This setting doesn't apply to RDS Custom.
47145	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
47146
47147	// A value that indicates whether the DB instance is publicly accessible.
47148	//
47149	// When the DB instance is publicly accessible, its DNS endpoint resolves to
47150	// the private IP address from within the DB instance's VPC, and to the public
47151	// IP address from outside of the DB instance's VPC. Access to the DB instance
47152	// is ultimately controlled by the security group it uses, and that public access
47153	// is not permitted if the security group assigned to the DB instance doesn't
47154	// permit it.
47155	//
47156	// When the DB instance isn't publicly accessible, it is an internal DB instance
47157	// with a DNS name that resolves to a private IP address.
47158	//
47159	// For more information, see CreateDBInstance.
47160	PubliclyAccessible *bool `type:"boolean"`
47161
47162	// The date and time to restore from.
47163	//
47164	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
47165	//
47166	// Constraints:
47167	//
47168	//    * Must be before the latest restorable time for the DB instance
47169	//
47170	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
47171	//
47172	// Example: 2009-09-07T23:45:00Z
47173	RestoreTime *time.Time `type:"timestamp"`
47174
47175	// The Amazon Resource Name (ARN) of the replicated automated backups from which
47176	// to restore, for example, arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.
47177	//
47178	// This setting doesn't apply to RDS Custom.
47179	SourceDBInstanceAutomatedBackupsArn *string `type:"string"`
47180
47181	// The identifier of the source DB instance from which to restore.
47182	//
47183	// Constraints:
47184	//
47185	//    * Must match the identifier of an existing DB instance.
47186	SourceDBInstanceIdentifier *string `type:"string"`
47187
47188	// The resource ID of the source DB instance from which to restore.
47189	SourceDbiResourceId *string `type:"string"`
47190
47191	// Specifies the storage type to be associated with the DB instance.
47192	//
47193	// Valid values: standard | gp2 | io1
47194	//
47195	// If you specify io1, you must also include a value for the Iops parameter.
47196	//
47197	// Default: io1 if the Iops parameter is specified, otherwise gp2
47198	StorageType *string `type:"string"`
47199
47200	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
47201	// in the Amazon RDS User Guide.
47202	Tags []*Tag `locationNameList:"Tag" type:"list"`
47203
47204	// The name of the new DB instance to be created.
47205	//
47206	// Constraints:
47207	//
47208	//    * Must contain from 1 to 63 letters, numbers, or hyphens
47209	//
47210	//    * First character must be a letter
47211	//
47212	//    * Can't end with a hyphen or contain two consecutive hyphens
47213	//
47214	// TargetDBInstanceIdentifier is a required field
47215	TargetDBInstanceIdentifier *string `type:"string" required:"true"`
47216
47217	// The ARN from the key store with which to associate the instance for TDE encryption.
47218	//
47219	// This setting doesn't apply to RDS Custom.
47220	TdeCredentialArn *string `type:"string"`
47221
47222	// The password for the given ARN from the key store in order to access the
47223	// device.
47224	//
47225	// This setting doesn't apply to RDS Custom.
47226	TdeCredentialPassword *string `type:"string"`
47227
47228	// A value that indicates whether the DB instance class of the DB instance uses
47229	// its default processor features.
47230	//
47231	// This setting doesn't apply to RDS Custom.
47232	UseDefaultProcessorFeatures *bool `type:"boolean"`
47233
47234	// A value that indicates whether the DB instance is restored from the latest
47235	// backup time. By default, the DB instance isn't restored from the latest backup
47236	// time.
47237	//
47238	// Constraints: Can't be specified if the RestoreTime parameter is provided.
47239	UseLatestRestorableTime *bool `type:"boolean"`
47240
47241	// A list of EC2 VPC security groups to associate with this DB instance.
47242	//
47243	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
47244	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
47245}
47246
47247// String returns the string representation.
47248//
47249// API parameter values that are decorated as "sensitive" in the API will not
47250// be included in the string output. The member name will be present, but the
47251// value will be replaced with "sensitive".
47252func (s RestoreDBInstanceToPointInTimeInput) String() string {
47253	return awsutil.Prettify(s)
47254}
47255
47256// GoString returns the string representation.
47257//
47258// API parameter values that are decorated as "sensitive" in the API will not
47259// be included in the string output. The member name will be present, but the
47260// value will be replaced with "sensitive".
47261func (s RestoreDBInstanceToPointInTimeInput) GoString() string {
47262	return s.String()
47263}
47264
47265// Validate inspects the fields of the type to determine if they are valid.
47266func (s *RestoreDBInstanceToPointInTimeInput) Validate() error {
47267	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceToPointInTimeInput"}
47268	if s.TargetDBInstanceIdentifier == nil {
47269		invalidParams.Add(request.NewErrParamRequired("TargetDBInstanceIdentifier"))
47270	}
47271
47272	if invalidParams.Len() > 0 {
47273		return invalidParams
47274	}
47275	return nil
47276}
47277
47278// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
47279func (s *RestoreDBInstanceToPointInTimeInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceToPointInTimeInput {
47280	s.AutoMinorVersionUpgrade = &v
47281	return s
47282}
47283
47284// SetAvailabilityZone sets the AvailabilityZone field's value.
47285func (s *RestoreDBInstanceToPointInTimeInput) SetAvailabilityZone(v string) *RestoreDBInstanceToPointInTimeInput {
47286	s.AvailabilityZone = &v
47287	return s
47288}
47289
47290// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
47291func (s *RestoreDBInstanceToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceToPointInTimeInput {
47292	s.CopyTagsToSnapshot = &v
47293	return s
47294}
47295
47296// SetCustomIamInstanceProfile sets the CustomIamInstanceProfile field's value.
47297func (s *RestoreDBInstanceToPointInTimeInput) SetCustomIamInstanceProfile(v string) *RestoreDBInstanceToPointInTimeInput {
47298	s.CustomIamInstanceProfile = &v
47299	return s
47300}
47301
47302// SetDBInstanceClass sets the DBInstanceClass field's value.
47303func (s *RestoreDBInstanceToPointInTimeInput) SetDBInstanceClass(v string) *RestoreDBInstanceToPointInTimeInput {
47304	s.DBInstanceClass = &v
47305	return s
47306}
47307
47308// SetDBName sets the DBName field's value.
47309func (s *RestoreDBInstanceToPointInTimeInput) SetDBName(v string) *RestoreDBInstanceToPointInTimeInput {
47310	s.DBName = &v
47311	return s
47312}
47313
47314// SetDBParameterGroupName sets the DBParameterGroupName field's value.
47315func (s *RestoreDBInstanceToPointInTimeInput) SetDBParameterGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
47316	s.DBParameterGroupName = &v
47317	return s
47318}
47319
47320// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
47321func (s *RestoreDBInstanceToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
47322	s.DBSubnetGroupName = &v
47323	return s
47324}
47325
47326// SetDeletionProtection sets the DeletionProtection field's value.
47327func (s *RestoreDBInstanceToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBInstanceToPointInTimeInput {
47328	s.DeletionProtection = &v
47329	return s
47330}
47331
47332// SetDomain sets the Domain field's value.
47333func (s *RestoreDBInstanceToPointInTimeInput) SetDomain(v string) *RestoreDBInstanceToPointInTimeInput {
47334	s.Domain = &v
47335	return s
47336}
47337
47338// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
47339func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceToPointInTimeInput {
47340	s.DomainIAMRoleName = &v
47341	return s
47342}
47343
47344// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
47345func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceToPointInTimeInput {
47346	s.EnableCloudwatchLogsExports = v
47347	return s
47348}
47349
47350// SetEnableCustomerOwnedIp sets the EnableCustomerOwnedIp field's value.
47351func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCustomerOwnedIp(v bool) *RestoreDBInstanceToPointInTimeInput {
47352	s.EnableCustomerOwnedIp = &v
47353	return s
47354}
47355
47356// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
47357func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput {
47358	s.EnableIAMDatabaseAuthentication = &v
47359	return s
47360}
47361
47362// SetEngine sets the Engine field's value.
47363func (s *RestoreDBInstanceToPointInTimeInput) SetEngine(v string) *RestoreDBInstanceToPointInTimeInput {
47364	s.Engine = &v
47365	return s
47366}
47367
47368// SetIops sets the Iops field's value.
47369func (s *RestoreDBInstanceToPointInTimeInput) SetIops(v int64) *RestoreDBInstanceToPointInTimeInput {
47370	s.Iops = &v
47371	return s
47372}
47373
47374// SetLicenseModel sets the LicenseModel field's value.
47375func (s *RestoreDBInstanceToPointInTimeInput) SetLicenseModel(v string) *RestoreDBInstanceToPointInTimeInput {
47376	s.LicenseModel = &v
47377	return s
47378}
47379
47380// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
47381func (s *RestoreDBInstanceToPointInTimeInput) SetMaxAllocatedStorage(v int64) *RestoreDBInstanceToPointInTimeInput {
47382	s.MaxAllocatedStorage = &v
47383	return s
47384}
47385
47386// SetMultiAZ sets the MultiAZ field's value.
47387func (s *RestoreDBInstanceToPointInTimeInput) SetMultiAZ(v bool) *RestoreDBInstanceToPointInTimeInput {
47388	s.MultiAZ = &v
47389	return s
47390}
47391
47392// SetOptionGroupName sets the OptionGroupName field's value.
47393func (s *RestoreDBInstanceToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
47394	s.OptionGroupName = &v
47395	return s
47396}
47397
47398// SetPort sets the Port field's value.
47399func (s *RestoreDBInstanceToPointInTimeInput) SetPort(v int64) *RestoreDBInstanceToPointInTimeInput {
47400	s.Port = &v
47401	return s
47402}
47403
47404// SetProcessorFeatures sets the ProcessorFeatures field's value.
47405func (s *RestoreDBInstanceToPointInTimeInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceToPointInTimeInput {
47406	s.ProcessorFeatures = v
47407	return s
47408}
47409
47410// SetPubliclyAccessible sets the PubliclyAccessible field's value.
47411func (s *RestoreDBInstanceToPointInTimeInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceToPointInTimeInput {
47412	s.PubliclyAccessible = &v
47413	return s
47414}
47415
47416// SetRestoreTime sets the RestoreTime field's value.
47417func (s *RestoreDBInstanceToPointInTimeInput) SetRestoreTime(v time.Time) *RestoreDBInstanceToPointInTimeInput {
47418	s.RestoreTime = &v
47419	return s
47420}
47421
47422// SetSourceDBInstanceAutomatedBackupsArn sets the SourceDBInstanceAutomatedBackupsArn field's value.
47423func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceAutomatedBackupsArn(v string) *RestoreDBInstanceToPointInTimeInput {
47424	s.SourceDBInstanceAutomatedBackupsArn = &v
47425	return s
47426}
47427
47428// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
47429func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
47430	s.SourceDBInstanceIdentifier = &v
47431	return s
47432}
47433
47434// SetSourceDbiResourceId sets the SourceDbiResourceId field's value.
47435func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDbiResourceId(v string) *RestoreDBInstanceToPointInTimeInput {
47436	s.SourceDbiResourceId = &v
47437	return s
47438}
47439
47440// SetStorageType sets the StorageType field's value.
47441func (s *RestoreDBInstanceToPointInTimeInput) SetStorageType(v string) *RestoreDBInstanceToPointInTimeInput {
47442	s.StorageType = &v
47443	return s
47444}
47445
47446// SetTags sets the Tags field's value.
47447func (s *RestoreDBInstanceToPointInTimeInput) SetTags(v []*Tag) *RestoreDBInstanceToPointInTimeInput {
47448	s.Tags = v
47449	return s
47450}
47451
47452// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
47453func (s *RestoreDBInstanceToPointInTimeInput) SetTargetDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
47454	s.TargetDBInstanceIdentifier = &v
47455	return s
47456}
47457
47458// SetTdeCredentialArn sets the TdeCredentialArn field's value.
47459func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialArn(v string) *RestoreDBInstanceToPointInTimeInput {
47460	s.TdeCredentialArn = &v
47461	return s
47462}
47463
47464// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
47465func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceToPointInTimeInput {
47466	s.TdeCredentialPassword = &v
47467	return s
47468}
47469
47470// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
47471func (s *RestoreDBInstanceToPointInTimeInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceToPointInTimeInput {
47472	s.UseDefaultProcessorFeatures = &v
47473	return s
47474}
47475
47476// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
47477func (s *RestoreDBInstanceToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBInstanceToPointInTimeInput {
47478	s.UseLatestRestorableTime = &v
47479	return s
47480}
47481
47482// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
47483func (s *RestoreDBInstanceToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceToPointInTimeInput {
47484	s.VpcSecurityGroupIds = v
47485	return s
47486}
47487
47488type RestoreDBInstanceToPointInTimeOutput struct {
47489	_ struct{} `type:"structure"`
47490
47491	// Contains the details of an Amazon RDS DB instance.
47492	//
47493	// This data type is used as a response element in the DescribeDBInstances action.
47494	DBInstance *DBInstance `type:"structure"`
47495}
47496
47497// String returns the string representation.
47498//
47499// API parameter values that are decorated as "sensitive" in the API will not
47500// be included in the string output. The member name will be present, but the
47501// value will be replaced with "sensitive".
47502func (s RestoreDBInstanceToPointInTimeOutput) String() string {
47503	return awsutil.Prettify(s)
47504}
47505
47506// GoString returns the string representation.
47507//
47508// API parameter values that are decorated as "sensitive" in the API will not
47509// be included in the string output. The member name will be present, but the
47510// value will be replaced with "sensitive".
47511func (s RestoreDBInstanceToPointInTimeOutput) GoString() string {
47512	return s.String()
47513}
47514
47515// SetDBInstance sets the DBInstance field's value.
47516func (s *RestoreDBInstanceToPointInTimeOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceToPointInTimeOutput {
47517	s.DBInstance = v
47518	return s
47519}
47520
47521// Earliest and latest time an instance can be restored to:
47522type RestoreWindow struct {
47523	_ struct{} `type:"structure"`
47524
47525	// The earliest time you can restore an instance to.
47526	EarliestTime *time.Time `type:"timestamp"`
47527
47528	// The latest time you can restore an instance to.
47529	LatestTime *time.Time `type:"timestamp"`
47530}
47531
47532// String returns the string representation.
47533//
47534// API parameter values that are decorated as "sensitive" in the API will not
47535// be included in the string output. The member name will be present, but the
47536// value will be replaced with "sensitive".
47537func (s RestoreWindow) String() string {
47538	return awsutil.Prettify(s)
47539}
47540
47541// GoString returns the string representation.
47542//
47543// API parameter values that are decorated as "sensitive" in the API will not
47544// be included in the string output. The member name will be present, but the
47545// value will be replaced with "sensitive".
47546func (s RestoreWindow) GoString() string {
47547	return s.String()
47548}
47549
47550// SetEarliestTime sets the EarliestTime field's value.
47551func (s *RestoreWindow) SetEarliestTime(v time.Time) *RestoreWindow {
47552	s.EarliestTime = &v
47553	return s
47554}
47555
47556// SetLatestTime sets the LatestTime field's value.
47557func (s *RestoreWindow) SetLatestTime(v time.Time) *RestoreWindow {
47558	s.LatestTime = &v
47559	return s
47560}
47561
47562type RevokeDBSecurityGroupIngressInput struct {
47563	_ struct{} `type:"structure"`
47564
47565	// The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP
47566	// is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId
47567	// can't be provided.
47568	CIDRIP *string `type:"string"`
47569
47570	// The name of the DB security group to revoke ingress from.
47571	//
47572	// DBSecurityGroupName is a required field
47573	DBSecurityGroupName *string `type:"string" required:"true"`
47574
47575	// The id of the EC2 security group to revoke access from. For VPC DB security
47576	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
47577	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
47578	EC2SecurityGroupId *string `type:"string"`
47579
47580	// The name of the EC2 security group to revoke access from. For VPC DB security
47581	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
47582	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
47583	EC2SecurityGroupName *string `type:"string"`
47584
47585	// The Amazon Web Services account number of the owner of the EC2 security group
47586	// specified in the EC2SecurityGroupName parameter. The Amazon Web Services
47587	// access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId
47588	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
47589	// or EC2SecurityGroupId must be provided.
47590	EC2SecurityGroupOwnerId *string `type:"string"`
47591}
47592
47593// String returns the string representation.
47594//
47595// API parameter values that are decorated as "sensitive" in the API will not
47596// be included in the string output. The member name will be present, but the
47597// value will be replaced with "sensitive".
47598func (s RevokeDBSecurityGroupIngressInput) String() string {
47599	return awsutil.Prettify(s)
47600}
47601
47602// GoString returns the string representation.
47603//
47604// API parameter values that are decorated as "sensitive" in the API will not
47605// be included in the string output. The member name will be present, but the
47606// value will be replaced with "sensitive".
47607func (s RevokeDBSecurityGroupIngressInput) GoString() string {
47608	return s.String()
47609}
47610
47611// Validate inspects the fields of the type to determine if they are valid.
47612func (s *RevokeDBSecurityGroupIngressInput) Validate() error {
47613	invalidParams := request.ErrInvalidParams{Context: "RevokeDBSecurityGroupIngressInput"}
47614	if s.DBSecurityGroupName == nil {
47615		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
47616	}
47617
47618	if invalidParams.Len() > 0 {
47619		return invalidParams
47620	}
47621	return nil
47622}
47623
47624// SetCIDRIP sets the CIDRIP field's value.
47625func (s *RevokeDBSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeDBSecurityGroupIngressInput {
47626	s.CIDRIP = &v
47627	return s
47628}
47629
47630// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
47631func (s *RevokeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
47632	s.DBSecurityGroupName = &v
47633	return s
47634}
47635
47636// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
47637func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *RevokeDBSecurityGroupIngressInput {
47638	s.EC2SecurityGroupId = &v
47639	return s
47640}
47641
47642// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
47643func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
47644	s.EC2SecurityGroupName = &v
47645	return s
47646}
47647
47648// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
47649func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeDBSecurityGroupIngressInput {
47650	s.EC2SecurityGroupOwnerId = &v
47651	return s
47652}
47653
47654type RevokeDBSecurityGroupIngressOutput struct {
47655	_ struct{} `type:"structure"`
47656
47657	// Contains the details for an Amazon RDS DB security group.
47658	//
47659	// This data type is used as a response element in the DescribeDBSecurityGroups
47660	// action.
47661	DBSecurityGroup *DBSecurityGroup `type:"structure"`
47662}
47663
47664// String returns the string representation.
47665//
47666// API parameter values that are decorated as "sensitive" in the API will not
47667// be included in the string output. The member name will be present, but the
47668// value will be replaced with "sensitive".
47669func (s RevokeDBSecurityGroupIngressOutput) String() string {
47670	return awsutil.Prettify(s)
47671}
47672
47673// GoString returns the string representation.
47674//
47675// API parameter values that are decorated as "sensitive" in the API will not
47676// be included in the string output. The member name will be present, but the
47677// value will be replaced with "sensitive".
47678func (s RevokeDBSecurityGroupIngressOutput) GoString() string {
47679	return s.String()
47680}
47681
47682// SetDBSecurityGroup sets the DBSecurityGroup field's value.
47683func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *RevokeDBSecurityGroupIngressOutput {
47684	s.DBSecurityGroup = v
47685	return s
47686}
47687
47688// Contains the scaling configuration of an Aurora Serverless DB cluster.
47689//
47690// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
47691// in the Amazon Aurora User Guide.
47692type ScalingConfiguration struct {
47693	_ struct{} `type:"structure"`
47694
47695	// A value that indicates whether to allow or disallow automatic pause for an
47696	// Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused
47697	// only when it's idle (it has no connections).
47698	//
47699	// If a DB cluster is paused for more than seven days, the DB cluster might
47700	// be backed up with a snapshot. In this case, the DB cluster is restored when
47701	// there is a request to connect to it.
47702	AutoPause *bool `type:"boolean"`
47703
47704	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
47705	//
47706	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
47707	// and 256.
47708	//
47709	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
47710	// and 384.
47711	//
47712	// The maximum capacity must be greater than or equal to the minimum capacity.
47713	MaxCapacity *int64 `type:"integer"`
47714
47715	// The minimum capacity for an Aurora DB cluster in serverless DB engine mode.
47716	//
47717	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
47718	// and 256.
47719	//
47720	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
47721	// and 384.
47722	//
47723	// The minimum capacity must be less than or equal to the maximum capacity.
47724	MinCapacity *int64 `type:"integer"`
47725
47726	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
47727	// point to perform seamless scaling before enforcing the timeout action. The
47728	// default is 300.
47729	//
47730	// Specify a value between 60 and 600 seconds.
47731	SecondsBeforeTimeout *int64 `type:"integer"`
47732
47733	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused.
47734	//
47735	// Specify a value between 300 and 86,400 seconds.
47736	SecondsUntilAutoPause *int64 `type:"integer"`
47737
47738	// The action to take when the timeout is reached, either ForceApplyCapacityChange
47739	// or RollbackCapacityChange.
47740	//
47741	// ForceApplyCapacityChange sets the capacity to the specified value as soon
47742	// as possible.
47743	//
47744	// RollbackCapacityChange, the default, ignores the capacity change if a scaling
47745	// point isn't found in the timeout period.
47746	//
47747	// If you specify ForceApplyCapacityChange, connections that prevent Aurora
47748	// Serverless from finding a scaling point might be dropped.
47749	//
47750	// 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)
47751	// in the Amazon Aurora User Guide.
47752	TimeoutAction *string `type:"string"`
47753}
47754
47755// String returns the string representation.
47756//
47757// API parameter values that are decorated as "sensitive" in the API will not
47758// be included in the string output. The member name will be present, but the
47759// value will be replaced with "sensitive".
47760func (s ScalingConfiguration) String() string {
47761	return awsutil.Prettify(s)
47762}
47763
47764// GoString returns the string representation.
47765//
47766// API parameter values that are decorated as "sensitive" in the API will not
47767// be included in the string output. The member name will be present, but the
47768// value will be replaced with "sensitive".
47769func (s ScalingConfiguration) GoString() string {
47770	return s.String()
47771}
47772
47773// SetAutoPause sets the AutoPause field's value.
47774func (s *ScalingConfiguration) SetAutoPause(v bool) *ScalingConfiguration {
47775	s.AutoPause = &v
47776	return s
47777}
47778
47779// SetMaxCapacity sets the MaxCapacity field's value.
47780func (s *ScalingConfiguration) SetMaxCapacity(v int64) *ScalingConfiguration {
47781	s.MaxCapacity = &v
47782	return s
47783}
47784
47785// SetMinCapacity sets the MinCapacity field's value.
47786func (s *ScalingConfiguration) SetMinCapacity(v int64) *ScalingConfiguration {
47787	s.MinCapacity = &v
47788	return s
47789}
47790
47791// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
47792func (s *ScalingConfiguration) SetSecondsBeforeTimeout(v int64) *ScalingConfiguration {
47793	s.SecondsBeforeTimeout = &v
47794	return s
47795}
47796
47797// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
47798func (s *ScalingConfiguration) SetSecondsUntilAutoPause(v int64) *ScalingConfiguration {
47799	s.SecondsUntilAutoPause = &v
47800	return s
47801}
47802
47803// SetTimeoutAction sets the TimeoutAction field's value.
47804func (s *ScalingConfiguration) SetTimeoutAction(v string) *ScalingConfiguration {
47805	s.TimeoutAction = &v
47806	return s
47807}
47808
47809// Shows the scaling configuration for an Aurora DB cluster in serverless DB
47810// engine mode.
47811//
47812// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
47813// in the Amazon Aurora User Guide.
47814type ScalingConfigurationInfo struct {
47815	_ struct{} `type:"structure"`
47816
47817	// A value that indicates whether automatic pause is allowed for the Aurora
47818	// DB cluster in serverless DB engine mode.
47819	//
47820	// When the value is set to false for an Aurora Serverless DB cluster, the DB
47821	// cluster automatically resumes.
47822	AutoPause *bool `type:"boolean"`
47823
47824	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
47825	MaxCapacity *int64 `type:"integer"`
47826
47827	// The maximum capacity for the Aurora DB cluster in serverless DB engine mode.
47828	MinCapacity *int64 `type:"integer"`
47829
47830	// The number of seconds before scaling times out. What happens when an attempted
47831	// scaling action times out is determined by the TimeoutAction setting.
47832	SecondsBeforeTimeout *int64 `type:"integer"`
47833
47834	// The remaining amount of time, in seconds, before the Aurora DB cluster in
47835	// serverless mode is paused. A DB cluster can be paused only when it's idle
47836	// (it has no connections).
47837	SecondsUntilAutoPause *int64 `type:"integer"`
47838
47839	// The action that occurs when Aurora times out while attempting to change the
47840	// capacity of an Aurora Serverless cluster. The value is either ForceApplyCapacityChange
47841	// or RollbackCapacityChange.
47842	//
47843	// ForceApplyCapacityChange, the default, sets the capacity to the specified
47844	// value as soon as possible.
47845	//
47846	// RollbackCapacityChange ignores the capacity change if a scaling point isn't
47847	// found in the timeout period.
47848	TimeoutAction *string `type:"string"`
47849}
47850
47851// String returns the string representation.
47852//
47853// API parameter values that are decorated as "sensitive" in the API will not
47854// be included in the string output. The member name will be present, but the
47855// value will be replaced with "sensitive".
47856func (s ScalingConfigurationInfo) String() string {
47857	return awsutil.Prettify(s)
47858}
47859
47860// GoString returns the string representation.
47861//
47862// API parameter values that are decorated as "sensitive" in the API will not
47863// be included in the string output. The member name will be present, but the
47864// value will be replaced with "sensitive".
47865func (s ScalingConfigurationInfo) GoString() string {
47866	return s.String()
47867}
47868
47869// SetAutoPause sets the AutoPause field's value.
47870func (s *ScalingConfigurationInfo) SetAutoPause(v bool) *ScalingConfigurationInfo {
47871	s.AutoPause = &v
47872	return s
47873}
47874
47875// SetMaxCapacity sets the MaxCapacity field's value.
47876func (s *ScalingConfigurationInfo) SetMaxCapacity(v int64) *ScalingConfigurationInfo {
47877	s.MaxCapacity = &v
47878	return s
47879}
47880
47881// SetMinCapacity sets the MinCapacity field's value.
47882func (s *ScalingConfigurationInfo) SetMinCapacity(v int64) *ScalingConfigurationInfo {
47883	s.MinCapacity = &v
47884	return s
47885}
47886
47887// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
47888func (s *ScalingConfigurationInfo) SetSecondsBeforeTimeout(v int64) *ScalingConfigurationInfo {
47889	s.SecondsBeforeTimeout = &v
47890	return s
47891}
47892
47893// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
47894func (s *ScalingConfigurationInfo) SetSecondsUntilAutoPause(v int64) *ScalingConfigurationInfo {
47895	s.SecondsUntilAutoPause = &v
47896	return s
47897}
47898
47899// SetTimeoutAction sets the TimeoutAction field's value.
47900func (s *ScalingConfigurationInfo) SetTimeoutAction(v string) *ScalingConfigurationInfo {
47901	s.TimeoutAction = &v
47902	return s
47903}
47904
47905// Contains an Amazon Web Services Region name as the result of a successful
47906// call to the DescribeSourceRegions action.
47907type SourceRegion struct {
47908	_ struct{} `type:"structure"`
47909
47910	// The endpoint for the source Amazon Web Services Region endpoint.
47911	Endpoint *string `type:"string"`
47912
47913	// The name of the source Amazon Web Services Region.
47914	RegionName *string `type:"string"`
47915
47916	// The status of the source Amazon Web Services Region.
47917	Status *string `type:"string"`
47918
47919	// Whether the source Amazon Web Services Region supports replicating automated
47920	// backups to the current Amazon Web Services Region.
47921	SupportsDBInstanceAutomatedBackupsReplication *bool `type:"boolean"`
47922}
47923
47924// String returns the string representation.
47925//
47926// API parameter values that are decorated as "sensitive" in the API will not
47927// be included in the string output. The member name will be present, but the
47928// value will be replaced with "sensitive".
47929func (s SourceRegion) String() string {
47930	return awsutil.Prettify(s)
47931}
47932
47933// GoString returns the string representation.
47934//
47935// API parameter values that are decorated as "sensitive" in the API will not
47936// be included in the string output. The member name will be present, but the
47937// value will be replaced with "sensitive".
47938func (s SourceRegion) GoString() string {
47939	return s.String()
47940}
47941
47942// SetEndpoint sets the Endpoint field's value.
47943func (s *SourceRegion) SetEndpoint(v string) *SourceRegion {
47944	s.Endpoint = &v
47945	return s
47946}
47947
47948// SetRegionName sets the RegionName field's value.
47949func (s *SourceRegion) SetRegionName(v string) *SourceRegion {
47950	s.RegionName = &v
47951	return s
47952}
47953
47954// SetStatus sets the Status field's value.
47955func (s *SourceRegion) SetStatus(v string) *SourceRegion {
47956	s.Status = &v
47957	return s
47958}
47959
47960// SetSupportsDBInstanceAutomatedBackupsReplication sets the SupportsDBInstanceAutomatedBackupsReplication field's value.
47961func (s *SourceRegion) SetSupportsDBInstanceAutomatedBackupsReplication(v bool) *SourceRegion {
47962	s.SupportsDBInstanceAutomatedBackupsReplication = &v
47963	return s
47964}
47965
47966type StartActivityStreamInput struct {
47967	_ struct{} `type:"structure"`
47968
47969	// Specifies whether or not the database activity stream is to start as soon
47970	// as possible, regardless of the maintenance window for the database.
47971	ApplyImmediately *bool `type:"boolean"`
47972
47973	// Specifies whether the database activity stream includes engine-native audit
47974	// fields. This option only applies to an Oracle DB instance. By default, no
47975	// engine-native audit fields are included.
47976	EngineNativeAuditFieldsIncluded *bool `type:"boolean"`
47977
47978	// The Amazon Web Services KMS key identifier for encrypting messages in the
47979	// database activity stream. The Amazon Web Services KMS key identifier is the
47980	// key ARN, key ID, alias ARN, or alias name for the KMS key.
47981	//
47982	// KmsKeyId is a required field
47983	KmsKeyId *string `type:"string" required:"true"`
47984
47985	// Specifies the mode of the database activity stream. Database events such
47986	// as a change or access generate an activity stream event. The database session
47987	// can handle these events either synchronously or asynchronously.
47988	//
47989	// Mode is a required field
47990	Mode *string `type:"string" required:"true" enum:"ActivityStreamMode"`
47991
47992	// The Amazon Resource Name (ARN) of the DB cluster, for example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
47993	//
47994	// ResourceArn is a required field
47995	ResourceArn *string `type:"string" required:"true"`
47996}
47997
47998// String returns the string representation.
47999//
48000// API parameter values that are decorated as "sensitive" in the API will not
48001// be included in the string output. The member name will be present, but the
48002// value will be replaced with "sensitive".
48003func (s StartActivityStreamInput) String() string {
48004	return awsutil.Prettify(s)
48005}
48006
48007// GoString returns the string representation.
48008//
48009// API parameter values that are decorated as "sensitive" in the API will not
48010// be included in the string output. The member name will be present, but the
48011// value will be replaced with "sensitive".
48012func (s StartActivityStreamInput) GoString() string {
48013	return s.String()
48014}
48015
48016// Validate inspects the fields of the type to determine if they are valid.
48017func (s *StartActivityStreamInput) Validate() error {
48018	invalidParams := request.ErrInvalidParams{Context: "StartActivityStreamInput"}
48019	if s.KmsKeyId == nil {
48020		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
48021	}
48022	if s.Mode == nil {
48023		invalidParams.Add(request.NewErrParamRequired("Mode"))
48024	}
48025	if s.ResourceArn == nil {
48026		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
48027	}
48028
48029	if invalidParams.Len() > 0 {
48030		return invalidParams
48031	}
48032	return nil
48033}
48034
48035// SetApplyImmediately sets the ApplyImmediately field's value.
48036func (s *StartActivityStreamInput) SetApplyImmediately(v bool) *StartActivityStreamInput {
48037	s.ApplyImmediately = &v
48038	return s
48039}
48040
48041// SetEngineNativeAuditFieldsIncluded sets the EngineNativeAuditFieldsIncluded field's value.
48042func (s *StartActivityStreamInput) SetEngineNativeAuditFieldsIncluded(v bool) *StartActivityStreamInput {
48043	s.EngineNativeAuditFieldsIncluded = &v
48044	return s
48045}
48046
48047// SetKmsKeyId sets the KmsKeyId field's value.
48048func (s *StartActivityStreamInput) SetKmsKeyId(v string) *StartActivityStreamInput {
48049	s.KmsKeyId = &v
48050	return s
48051}
48052
48053// SetMode sets the Mode field's value.
48054func (s *StartActivityStreamInput) SetMode(v string) *StartActivityStreamInput {
48055	s.Mode = &v
48056	return s
48057}
48058
48059// SetResourceArn sets the ResourceArn field's value.
48060func (s *StartActivityStreamInput) SetResourceArn(v string) *StartActivityStreamInput {
48061	s.ResourceArn = &v
48062	return s
48063}
48064
48065type StartActivityStreamOutput struct {
48066	_ struct{} `type:"structure"`
48067
48068	// Indicates whether or not the database activity stream will start as soon
48069	// as possible, regardless of the maintenance window for the database.
48070	ApplyImmediately *bool `type:"boolean"`
48071
48072	// Indicates whether engine-native audit fields are included in the database
48073	// activity stream.
48074	EngineNativeAuditFieldsIncluded *bool `type:"boolean"`
48075
48076	// The name of the Amazon Kinesis data stream to be used for the database activity
48077	// stream.
48078	KinesisStreamName *string `type:"string"`
48079
48080	// The Amazon Web Services KMS key identifier for encryption of messages in
48081	// the database activity stream.
48082	KmsKeyId *string `type:"string"`
48083
48084	// The mode of the database activity stream.
48085	Mode *string `type:"string" enum:"ActivityStreamMode"`
48086
48087	// The status of the database activity stream.
48088	Status *string `type:"string" enum:"ActivityStreamStatus"`
48089}
48090
48091// String returns the string representation.
48092//
48093// API parameter values that are decorated as "sensitive" in the API will not
48094// be included in the string output. The member name will be present, but the
48095// value will be replaced with "sensitive".
48096func (s StartActivityStreamOutput) String() string {
48097	return awsutil.Prettify(s)
48098}
48099
48100// GoString returns the string representation.
48101//
48102// API parameter values that are decorated as "sensitive" in the API will not
48103// be included in the string output. The member name will be present, but the
48104// value will be replaced with "sensitive".
48105func (s StartActivityStreamOutput) GoString() string {
48106	return s.String()
48107}
48108
48109// SetApplyImmediately sets the ApplyImmediately field's value.
48110func (s *StartActivityStreamOutput) SetApplyImmediately(v bool) *StartActivityStreamOutput {
48111	s.ApplyImmediately = &v
48112	return s
48113}
48114
48115// SetEngineNativeAuditFieldsIncluded sets the EngineNativeAuditFieldsIncluded field's value.
48116func (s *StartActivityStreamOutput) SetEngineNativeAuditFieldsIncluded(v bool) *StartActivityStreamOutput {
48117	s.EngineNativeAuditFieldsIncluded = &v
48118	return s
48119}
48120
48121// SetKinesisStreamName sets the KinesisStreamName field's value.
48122func (s *StartActivityStreamOutput) SetKinesisStreamName(v string) *StartActivityStreamOutput {
48123	s.KinesisStreamName = &v
48124	return s
48125}
48126
48127// SetKmsKeyId sets the KmsKeyId field's value.
48128func (s *StartActivityStreamOutput) SetKmsKeyId(v string) *StartActivityStreamOutput {
48129	s.KmsKeyId = &v
48130	return s
48131}
48132
48133// SetMode sets the Mode field's value.
48134func (s *StartActivityStreamOutput) SetMode(v string) *StartActivityStreamOutput {
48135	s.Mode = &v
48136	return s
48137}
48138
48139// SetStatus sets the Status field's value.
48140func (s *StartActivityStreamOutput) SetStatus(v string) *StartActivityStreamOutput {
48141	s.Status = &v
48142	return s
48143}
48144
48145type StartDBClusterInput struct {
48146	_ struct{} `type:"structure"`
48147
48148	// The DB cluster identifier of the Amazon Aurora DB cluster to be started.
48149	// This parameter is stored as a lowercase string.
48150	//
48151	// DBClusterIdentifier is a required field
48152	DBClusterIdentifier *string `type:"string" required:"true"`
48153}
48154
48155// String returns the string representation.
48156//
48157// API parameter values that are decorated as "sensitive" in the API will not
48158// be included in the string output. The member name will be present, but the
48159// value will be replaced with "sensitive".
48160func (s StartDBClusterInput) String() string {
48161	return awsutil.Prettify(s)
48162}
48163
48164// GoString returns the string representation.
48165//
48166// API parameter values that are decorated as "sensitive" in the API will not
48167// be included in the string output. The member name will be present, but the
48168// value will be replaced with "sensitive".
48169func (s StartDBClusterInput) GoString() string {
48170	return s.String()
48171}
48172
48173// Validate inspects the fields of the type to determine if they are valid.
48174func (s *StartDBClusterInput) Validate() error {
48175	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
48176	if s.DBClusterIdentifier == nil {
48177		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
48178	}
48179
48180	if invalidParams.Len() > 0 {
48181		return invalidParams
48182	}
48183	return nil
48184}
48185
48186// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
48187func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
48188	s.DBClusterIdentifier = &v
48189	return s
48190}
48191
48192type StartDBClusterOutput struct {
48193	_ struct{} `type:"structure"`
48194
48195	// Contains the details of an Amazon Aurora DB cluster.
48196	//
48197	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
48198	// and StartDBCluster actions.
48199	DBCluster *DBCluster `type:"structure"`
48200}
48201
48202// String returns the string representation.
48203//
48204// API parameter values that are decorated as "sensitive" in the API will not
48205// be included in the string output. The member name will be present, but the
48206// value will be replaced with "sensitive".
48207func (s StartDBClusterOutput) String() string {
48208	return awsutil.Prettify(s)
48209}
48210
48211// GoString returns the string representation.
48212//
48213// API parameter values that are decorated as "sensitive" in the API will not
48214// be included in the string output. The member name will be present, but the
48215// value will be replaced with "sensitive".
48216func (s StartDBClusterOutput) GoString() string {
48217	return s.String()
48218}
48219
48220// SetDBCluster sets the DBCluster field's value.
48221func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
48222	s.DBCluster = v
48223	return s
48224}
48225
48226type StartDBInstanceAutomatedBackupsReplicationInput struct {
48227	_ struct{} `type:"structure"`
48228
48229	// The retention period for the replicated automated backups.
48230	BackupRetentionPeriod *int64 `type:"integer"`
48231
48232	// DestinationRegion is used for presigning the request to a given region.
48233	DestinationRegion *string `type:"string"`
48234
48235	// The Amazon Web Services KMS key identifier for encryption of the replicated
48236	// automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the
48237	// KMS encryption key in the destination Amazon Web Services Region, for example,
48238	// arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.
48239	KmsKeyId *string `type:"string"`
48240
48241	// A URL that contains a Signature Version 4 signed request for the StartDBInstanceAutomatedBackupsReplication
48242	// action to be called in the Amazon Web Services Region of the source DB instance.
48243	// The presigned URL must be a valid request for the StartDBInstanceAutomatedBackupsReplication
48244	// API action that can be executed in the Amazon Web Services Region that contains
48245	// the source DB instance.
48246	PreSignedUrl *string `type:"string"`
48247
48248	// The Amazon Resource Name (ARN) of the source DB instance for the replicated
48249	// automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.
48250	//
48251	// SourceDBInstanceArn is a required field
48252	SourceDBInstanceArn *string `type:"string" required:"true"`
48253
48254	// SourceRegion is the source region where the resource exists. This is not
48255	// sent over the wire and is only used for presigning. This value should always
48256	// have the same region as the source ARN.
48257	SourceRegion *string `type:"string" ignore:"true"`
48258}
48259
48260// String returns the string representation.
48261//
48262// API parameter values that are decorated as "sensitive" in the API will not
48263// be included in the string output. The member name will be present, but the
48264// value will be replaced with "sensitive".
48265func (s StartDBInstanceAutomatedBackupsReplicationInput) String() string {
48266	return awsutil.Prettify(s)
48267}
48268
48269// GoString returns the string representation.
48270//
48271// API parameter values that are decorated as "sensitive" in the API will not
48272// be included in the string output. The member name will be present, but the
48273// value will be replaced with "sensitive".
48274func (s StartDBInstanceAutomatedBackupsReplicationInput) GoString() string {
48275	return s.String()
48276}
48277
48278// Validate inspects the fields of the type to determine if they are valid.
48279func (s *StartDBInstanceAutomatedBackupsReplicationInput) Validate() error {
48280	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceAutomatedBackupsReplicationInput"}
48281	if s.SourceDBInstanceArn == nil {
48282		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceArn"))
48283	}
48284
48285	if invalidParams.Len() > 0 {
48286		return invalidParams
48287	}
48288	return nil
48289}
48290
48291// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
48292func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetBackupRetentionPeriod(v int64) *StartDBInstanceAutomatedBackupsReplicationInput {
48293	s.BackupRetentionPeriod = &v
48294	return s
48295}
48296
48297// SetDestinationRegion sets the DestinationRegion field's value.
48298func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetDestinationRegion(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
48299	s.DestinationRegion = &v
48300	return s
48301}
48302
48303// SetKmsKeyId sets the KmsKeyId field's value.
48304func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetKmsKeyId(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
48305	s.KmsKeyId = &v
48306	return s
48307}
48308
48309// SetPreSignedUrl sets the PreSignedUrl field's value.
48310func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetPreSignedUrl(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
48311	s.PreSignedUrl = &v
48312	return s
48313}
48314
48315// SetSourceDBInstanceArn sets the SourceDBInstanceArn field's value.
48316func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetSourceDBInstanceArn(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
48317	s.SourceDBInstanceArn = &v
48318	return s
48319}
48320
48321// SetSourceRegion sets the SourceRegion field's value.
48322func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetSourceRegion(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
48323	s.SourceRegion = &v
48324	return s
48325}
48326
48327type StartDBInstanceAutomatedBackupsReplicationOutput struct {
48328	_ struct{} `type:"structure"`
48329
48330	// An automated backup of a DB instance. It consists of system backups, transaction
48331	// logs, and the database instance properties that existed at the time you deleted
48332	// the source instance.
48333	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
48334}
48335
48336// String returns the string representation.
48337//
48338// API parameter values that are decorated as "sensitive" in the API will not
48339// be included in the string output. The member name will be present, but the
48340// value will be replaced with "sensitive".
48341func (s StartDBInstanceAutomatedBackupsReplicationOutput) String() string {
48342	return awsutil.Prettify(s)
48343}
48344
48345// GoString returns the string representation.
48346//
48347// API parameter values that are decorated as "sensitive" in the API will not
48348// be included in the string output. The member name will be present, but the
48349// value will be replaced with "sensitive".
48350func (s StartDBInstanceAutomatedBackupsReplicationOutput) GoString() string {
48351	return s.String()
48352}
48353
48354// SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
48355func (s *StartDBInstanceAutomatedBackupsReplicationOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *StartDBInstanceAutomatedBackupsReplicationOutput {
48356	s.DBInstanceAutomatedBackup = v
48357	return s
48358}
48359
48360type StartDBInstanceInput struct {
48361	_ struct{} `type:"structure"`
48362
48363	// The user-supplied instance identifier.
48364	//
48365	// DBInstanceIdentifier is a required field
48366	DBInstanceIdentifier *string `type:"string" required:"true"`
48367}
48368
48369// String returns the string representation.
48370//
48371// API parameter values that are decorated as "sensitive" in the API will not
48372// be included in the string output. The member name will be present, but the
48373// value will be replaced with "sensitive".
48374func (s StartDBInstanceInput) String() string {
48375	return awsutil.Prettify(s)
48376}
48377
48378// GoString returns the string representation.
48379//
48380// API parameter values that are decorated as "sensitive" in the API will not
48381// be included in the string output. The member name will be present, but the
48382// value will be replaced with "sensitive".
48383func (s StartDBInstanceInput) GoString() string {
48384	return s.String()
48385}
48386
48387// Validate inspects the fields of the type to determine if they are valid.
48388func (s *StartDBInstanceInput) Validate() error {
48389	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceInput"}
48390	if s.DBInstanceIdentifier == nil {
48391		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
48392	}
48393
48394	if invalidParams.Len() > 0 {
48395		return invalidParams
48396	}
48397	return nil
48398}
48399
48400// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
48401func (s *StartDBInstanceInput) SetDBInstanceIdentifier(v string) *StartDBInstanceInput {
48402	s.DBInstanceIdentifier = &v
48403	return s
48404}
48405
48406type StartDBInstanceOutput struct {
48407	_ struct{} `type:"structure"`
48408
48409	// Contains the details of an Amazon RDS DB instance.
48410	//
48411	// This data type is used as a response element in the DescribeDBInstances action.
48412	DBInstance *DBInstance `type:"structure"`
48413}
48414
48415// String returns the string representation.
48416//
48417// API parameter values that are decorated as "sensitive" in the API will not
48418// be included in the string output. The member name will be present, but the
48419// value will be replaced with "sensitive".
48420func (s StartDBInstanceOutput) String() string {
48421	return awsutil.Prettify(s)
48422}
48423
48424// GoString returns the string representation.
48425//
48426// API parameter values that are decorated as "sensitive" in the API will not
48427// be included in the string output. The member name will be present, but the
48428// value will be replaced with "sensitive".
48429func (s StartDBInstanceOutput) GoString() string {
48430	return s.String()
48431}
48432
48433// SetDBInstance sets the DBInstance field's value.
48434func (s *StartDBInstanceOutput) SetDBInstance(v *DBInstance) *StartDBInstanceOutput {
48435	s.DBInstance = v
48436	return s
48437}
48438
48439type StartExportTaskInput struct {
48440	_ struct{} `type:"structure"`
48441
48442	// The data to be exported from the snapshot. If this parameter is not provided,
48443	// all the snapshot data is exported. Valid values are the following:
48444	//
48445	//    * database - Export all the data from a specified database.
48446	//
48447	//    * database.table table-name - Export a table of the snapshot. This format
48448	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
48449	//
48450	//    * database.schema schema-name - Export a database schema of the snapshot.
48451	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
48452	//
48453	//    * database.schema.table table-name - Export a table of the database schema.
48454	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
48455	ExportOnly []*string `type:"list"`
48456
48457	// A unique identifier for the snapshot export task. This ID isn't an identifier
48458	// for the Amazon S3 bucket where the snapshot is to be exported to.
48459	//
48460	// ExportTaskIdentifier is a required field
48461	ExportTaskIdentifier *string `type:"string" required:"true"`
48462
48463	// The name of the IAM role to use for writing to the Amazon S3 bucket when
48464	// exporting a snapshot.
48465	//
48466	// IamRoleArn is a required field
48467	IamRoleArn *string `type:"string" required:"true"`
48468
48469	// The ID of the Amazon Web Services KMS key to use to encrypt the snapshot
48470	// exported to Amazon S3. The Amazon Web Services KMS key identifier is the
48471	// key ARN, key ID, alias ARN, or alias name for the KMS key. The caller of
48472	// this operation must be authorized to execute the following operations. These
48473	// can be set in the Amazon Web Services KMS key policy:
48474	//
48475	//    * GrantOperation.Encrypt
48476	//
48477	//    * GrantOperation.Decrypt
48478	//
48479	//    * GrantOperation.GenerateDataKey
48480	//
48481	//    * GrantOperation.GenerateDataKeyWithoutPlaintext
48482	//
48483	//    * GrantOperation.ReEncryptFrom
48484	//
48485	//    * GrantOperation.ReEncryptTo
48486	//
48487	//    * GrantOperation.CreateGrant
48488	//
48489	//    * GrantOperation.DescribeKey
48490	//
48491	//    * GrantOperation.RetireGrant
48492	//
48493	// KmsKeyId is a required field
48494	KmsKeyId *string `type:"string" required:"true"`
48495
48496	// The name of the Amazon S3 bucket to export the snapshot to.
48497	//
48498	// S3BucketName is a required field
48499	S3BucketName *string `type:"string" required:"true"`
48500
48501	// The Amazon S3 bucket prefix to use as the file name and path of the exported
48502	// snapshot.
48503	S3Prefix *string `type:"string"`
48504
48505	// The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.
48506	//
48507	// SourceArn is a required field
48508	SourceArn *string `type:"string" required:"true"`
48509}
48510
48511// String returns the string representation.
48512//
48513// API parameter values that are decorated as "sensitive" in the API will not
48514// be included in the string output. The member name will be present, but the
48515// value will be replaced with "sensitive".
48516func (s StartExportTaskInput) String() string {
48517	return awsutil.Prettify(s)
48518}
48519
48520// GoString returns the string representation.
48521//
48522// API parameter values that are decorated as "sensitive" in the API will not
48523// be included in the string output. The member name will be present, but the
48524// value will be replaced with "sensitive".
48525func (s StartExportTaskInput) GoString() string {
48526	return s.String()
48527}
48528
48529// Validate inspects the fields of the type to determine if they are valid.
48530func (s *StartExportTaskInput) Validate() error {
48531	invalidParams := request.ErrInvalidParams{Context: "StartExportTaskInput"}
48532	if s.ExportTaskIdentifier == nil {
48533		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
48534	}
48535	if s.IamRoleArn == nil {
48536		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
48537	}
48538	if s.KmsKeyId == nil {
48539		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
48540	}
48541	if s.S3BucketName == nil {
48542		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
48543	}
48544	if s.SourceArn == nil {
48545		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
48546	}
48547
48548	if invalidParams.Len() > 0 {
48549		return invalidParams
48550	}
48551	return nil
48552}
48553
48554// SetExportOnly sets the ExportOnly field's value.
48555func (s *StartExportTaskInput) SetExportOnly(v []*string) *StartExportTaskInput {
48556	s.ExportOnly = v
48557	return s
48558}
48559
48560// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
48561func (s *StartExportTaskInput) SetExportTaskIdentifier(v string) *StartExportTaskInput {
48562	s.ExportTaskIdentifier = &v
48563	return s
48564}
48565
48566// SetIamRoleArn sets the IamRoleArn field's value.
48567func (s *StartExportTaskInput) SetIamRoleArn(v string) *StartExportTaskInput {
48568	s.IamRoleArn = &v
48569	return s
48570}
48571
48572// SetKmsKeyId sets the KmsKeyId field's value.
48573func (s *StartExportTaskInput) SetKmsKeyId(v string) *StartExportTaskInput {
48574	s.KmsKeyId = &v
48575	return s
48576}
48577
48578// SetS3BucketName sets the S3BucketName field's value.
48579func (s *StartExportTaskInput) SetS3BucketName(v string) *StartExportTaskInput {
48580	s.S3BucketName = &v
48581	return s
48582}
48583
48584// SetS3Prefix sets the S3Prefix field's value.
48585func (s *StartExportTaskInput) SetS3Prefix(v string) *StartExportTaskInput {
48586	s.S3Prefix = &v
48587	return s
48588}
48589
48590// SetSourceArn sets the SourceArn field's value.
48591func (s *StartExportTaskInput) SetSourceArn(v string) *StartExportTaskInput {
48592	s.SourceArn = &v
48593	return s
48594}
48595
48596// Contains the details of a snapshot export to Amazon S3.
48597//
48598// This data type is used as a response element in the DescribeExportTasks action.
48599type StartExportTaskOutput struct {
48600	_ struct{} `type:"structure"`
48601
48602	// The data exported from the snapshot. Valid values are the following:
48603	//
48604	//    * database - Export all the data from a specified database.
48605	//
48606	//    * database.table table-name - Export a table of the snapshot. This format
48607	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
48608	//
48609	//    * database.schema schema-name - Export a database schema of the snapshot.
48610	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
48611	//
48612	//    * database.schema.table table-name - Export a table of the database schema.
48613	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
48614	ExportOnly []*string `type:"list"`
48615
48616	// A unique identifier for the snapshot export task. This ID isn't an identifier
48617	// for the Amazon S3 bucket where the snapshot is exported to.
48618	ExportTaskIdentifier *string `type:"string"`
48619
48620	// The reason the export failed, if it failed.
48621	FailureCause *string `type:"string"`
48622
48623	// The name of the IAM role that is used to write to Amazon S3 when exporting
48624	// a snapshot.
48625	IamRoleArn *string `type:"string"`
48626
48627	// The key identifier of the Amazon Web Services KMS key that is used to encrypt
48628	// the snapshot when it's exported to Amazon S3. The KMS key identifier is its
48629	// key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot
48630	// export must have encryption and decryption permissions to use this KMS key.
48631	KmsKeyId *string `type:"string"`
48632
48633	// The progress of the snapshot export task as a percentage.
48634	PercentProgress *int64 `type:"integer"`
48635
48636	// The Amazon S3 bucket that the snapshot is exported to.
48637	S3Bucket *string `type:"string"`
48638
48639	// The Amazon S3 bucket prefix that is the file name and path of the exported
48640	// snapshot.
48641	S3Prefix *string `type:"string"`
48642
48643	// The time that the snapshot was created.
48644	SnapshotTime *time.Time `type:"timestamp"`
48645
48646	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
48647	SourceArn *string `type:"string"`
48648
48649	// The progress status of the export task.
48650	Status *string `type:"string"`
48651
48652	// The time that the snapshot export task completed.
48653	TaskEndTime *time.Time `type:"timestamp"`
48654
48655	// The time that the snapshot export task started.
48656	TaskStartTime *time.Time `type:"timestamp"`
48657
48658	// The total amount of data exported, in gigabytes.
48659	TotalExtractedDataInGB *int64 `type:"integer"`
48660
48661	// A warning about the snapshot export task.
48662	WarningMessage *string `type:"string"`
48663}
48664
48665// String returns the string representation.
48666//
48667// API parameter values that are decorated as "sensitive" in the API will not
48668// be included in the string output. The member name will be present, but the
48669// value will be replaced with "sensitive".
48670func (s StartExportTaskOutput) String() string {
48671	return awsutil.Prettify(s)
48672}
48673
48674// GoString returns the string representation.
48675//
48676// API parameter values that are decorated as "sensitive" in the API will not
48677// be included in the string output. The member name will be present, but the
48678// value will be replaced with "sensitive".
48679func (s StartExportTaskOutput) GoString() string {
48680	return s.String()
48681}
48682
48683// SetExportOnly sets the ExportOnly field's value.
48684func (s *StartExportTaskOutput) SetExportOnly(v []*string) *StartExportTaskOutput {
48685	s.ExportOnly = v
48686	return s
48687}
48688
48689// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
48690func (s *StartExportTaskOutput) SetExportTaskIdentifier(v string) *StartExportTaskOutput {
48691	s.ExportTaskIdentifier = &v
48692	return s
48693}
48694
48695// SetFailureCause sets the FailureCause field's value.
48696func (s *StartExportTaskOutput) SetFailureCause(v string) *StartExportTaskOutput {
48697	s.FailureCause = &v
48698	return s
48699}
48700
48701// SetIamRoleArn sets the IamRoleArn field's value.
48702func (s *StartExportTaskOutput) SetIamRoleArn(v string) *StartExportTaskOutput {
48703	s.IamRoleArn = &v
48704	return s
48705}
48706
48707// SetKmsKeyId sets the KmsKeyId field's value.
48708func (s *StartExportTaskOutput) SetKmsKeyId(v string) *StartExportTaskOutput {
48709	s.KmsKeyId = &v
48710	return s
48711}
48712
48713// SetPercentProgress sets the PercentProgress field's value.
48714func (s *StartExportTaskOutput) SetPercentProgress(v int64) *StartExportTaskOutput {
48715	s.PercentProgress = &v
48716	return s
48717}
48718
48719// SetS3Bucket sets the S3Bucket field's value.
48720func (s *StartExportTaskOutput) SetS3Bucket(v string) *StartExportTaskOutput {
48721	s.S3Bucket = &v
48722	return s
48723}
48724
48725// SetS3Prefix sets the S3Prefix field's value.
48726func (s *StartExportTaskOutput) SetS3Prefix(v string) *StartExportTaskOutput {
48727	s.S3Prefix = &v
48728	return s
48729}
48730
48731// SetSnapshotTime sets the SnapshotTime field's value.
48732func (s *StartExportTaskOutput) SetSnapshotTime(v time.Time) *StartExportTaskOutput {
48733	s.SnapshotTime = &v
48734	return s
48735}
48736
48737// SetSourceArn sets the SourceArn field's value.
48738func (s *StartExportTaskOutput) SetSourceArn(v string) *StartExportTaskOutput {
48739	s.SourceArn = &v
48740	return s
48741}
48742
48743// SetStatus sets the Status field's value.
48744func (s *StartExportTaskOutput) SetStatus(v string) *StartExportTaskOutput {
48745	s.Status = &v
48746	return s
48747}
48748
48749// SetTaskEndTime sets the TaskEndTime field's value.
48750func (s *StartExportTaskOutput) SetTaskEndTime(v time.Time) *StartExportTaskOutput {
48751	s.TaskEndTime = &v
48752	return s
48753}
48754
48755// SetTaskStartTime sets the TaskStartTime field's value.
48756func (s *StartExportTaskOutput) SetTaskStartTime(v time.Time) *StartExportTaskOutput {
48757	s.TaskStartTime = &v
48758	return s
48759}
48760
48761// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
48762func (s *StartExportTaskOutput) SetTotalExtractedDataInGB(v int64) *StartExportTaskOutput {
48763	s.TotalExtractedDataInGB = &v
48764	return s
48765}
48766
48767// SetWarningMessage sets the WarningMessage field's value.
48768func (s *StartExportTaskOutput) SetWarningMessage(v string) *StartExportTaskOutput {
48769	s.WarningMessage = &v
48770	return s
48771}
48772
48773type StopActivityStreamInput struct {
48774	_ struct{} `type:"structure"`
48775
48776	// Specifies whether or not the database activity stream is to stop as soon
48777	// as possible, regardless of the maintenance window for the database.
48778	ApplyImmediately *bool `type:"boolean"`
48779
48780	// The Amazon Resource Name (ARN) of the DB cluster for the database activity
48781	// stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
48782	//
48783	// ResourceArn is a required field
48784	ResourceArn *string `type:"string" required:"true"`
48785}
48786
48787// String returns the string representation.
48788//
48789// API parameter values that are decorated as "sensitive" in the API will not
48790// be included in the string output. The member name will be present, but the
48791// value will be replaced with "sensitive".
48792func (s StopActivityStreamInput) String() string {
48793	return awsutil.Prettify(s)
48794}
48795
48796// GoString returns the string representation.
48797//
48798// API parameter values that are decorated as "sensitive" in the API will not
48799// be included in the string output. The member name will be present, but the
48800// value will be replaced with "sensitive".
48801func (s StopActivityStreamInput) GoString() string {
48802	return s.String()
48803}
48804
48805// Validate inspects the fields of the type to determine if they are valid.
48806func (s *StopActivityStreamInput) Validate() error {
48807	invalidParams := request.ErrInvalidParams{Context: "StopActivityStreamInput"}
48808	if s.ResourceArn == nil {
48809		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
48810	}
48811
48812	if invalidParams.Len() > 0 {
48813		return invalidParams
48814	}
48815	return nil
48816}
48817
48818// SetApplyImmediately sets the ApplyImmediately field's value.
48819func (s *StopActivityStreamInput) SetApplyImmediately(v bool) *StopActivityStreamInput {
48820	s.ApplyImmediately = &v
48821	return s
48822}
48823
48824// SetResourceArn sets the ResourceArn field's value.
48825func (s *StopActivityStreamInput) SetResourceArn(v string) *StopActivityStreamInput {
48826	s.ResourceArn = &v
48827	return s
48828}
48829
48830type StopActivityStreamOutput struct {
48831	_ struct{} `type:"structure"`
48832
48833	// The name of the Amazon Kinesis data stream used for the database activity
48834	// stream.
48835	KinesisStreamName *string `type:"string"`
48836
48837	// The Amazon Web Services KMS key identifier used for encrypting messages in
48838	// the database activity stream.
48839	//
48840	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
48841	// ARN, or alias name for the KMS key.
48842	KmsKeyId *string `type:"string"`
48843
48844	// The status of the database activity stream.
48845	Status *string `type:"string" enum:"ActivityStreamStatus"`
48846}
48847
48848// String returns the string representation.
48849//
48850// API parameter values that are decorated as "sensitive" in the API will not
48851// be included in the string output. The member name will be present, but the
48852// value will be replaced with "sensitive".
48853func (s StopActivityStreamOutput) String() string {
48854	return awsutil.Prettify(s)
48855}
48856
48857// GoString returns the string representation.
48858//
48859// API parameter values that are decorated as "sensitive" in the API will not
48860// be included in the string output. The member name will be present, but the
48861// value will be replaced with "sensitive".
48862func (s StopActivityStreamOutput) GoString() string {
48863	return s.String()
48864}
48865
48866// SetKinesisStreamName sets the KinesisStreamName field's value.
48867func (s *StopActivityStreamOutput) SetKinesisStreamName(v string) *StopActivityStreamOutput {
48868	s.KinesisStreamName = &v
48869	return s
48870}
48871
48872// SetKmsKeyId sets the KmsKeyId field's value.
48873func (s *StopActivityStreamOutput) SetKmsKeyId(v string) *StopActivityStreamOutput {
48874	s.KmsKeyId = &v
48875	return s
48876}
48877
48878// SetStatus sets the Status field's value.
48879func (s *StopActivityStreamOutput) SetStatus(v string) *StopActivityStreamOutput {
48880	s.Status = &v
48881	return s
48882}
48883
48884type StopDBClusterInput struct {
48885	_ struct{} `type:"structure"`
48886
48887	// The DB cluster identifier of the Amazon Aurora DB cluster to be stopped.
48888	// This parameter is stored as a lowercase string.
48889	//
48890	// DBClusterIdentifier is a required field
48891	DBClusterIdentifier *string `type:"string" required:"true"`
48892}
48893
48894// String returns the string representation.
48895//
48896// API parameter values that are decorated as "sensitive" in the API will not
48897// be included in the string output. The member name will be present, but the
48898// value will be replaced with "sensitive".
48899func (s StopDBClusterInput) String() string {
48900	return awsutil.Prettify(s)
48901}
48902
48903// GoString returns the string representation.
48904//
48905// API parameter values that are decorated as "sensitive" in the API will not
48906// be included in the string output. The member name will be present, but the
48907// value will be replaced with "sensitive".
48908func (s StopDBClusterInput) GoString() string {
48909	return s.String()
48910}
48911
48912// Validate inspects the fields of the type to determine if they are valid.
48913func (s *StopDBClusterInput) Validate() error {
48914	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
48915	if s.DBClusterIdentifier == nil {
48916		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
48917	}
48918
48919	if invalidParams.Len() > 0 {
48920		return invalidParams
48921	}
48922	return nil
48923}
48924
48925// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
48926func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
48927	s.DBClusterIdentifier = &v
48928	return s
48929}
48930
48931type StopDBClusterOutput struct {
48932	_ struct{} `type:"structure"`
48933
48934	// Contains the details of an Amazon Aurora DB cluster.
48935	//
48936	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
48937	// and StartDBCluster actions.
48938	DBCluster *DBCluster `type:"structure"`
48939}
48940
48941// String returns the string representation.
48942//
48943// API parameter values that are decorated as "sensitive" in the API will not
48944// be included in the string output. The member name will be present, but the
48945// value will be replaced with "sensitive".
48946func (s StopDBClusterOutput) String() string {
48947	return awsutil.Prettify(s)
48948}
48949
48950// GoString returns the string representation.
48951//
48952// API parameter values that are decorated as "sensitive" in the API will not
48953// be included in the string output. The member name will be present, but the
48954// value will be replaced with "sensitive".
48955func (s StopDBClusterOutput) GoString() string {
48956	return s.String()
48957}
48958
48959// SetDBCluster sets the DBCluster field's value.
48960func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
48961	s.DBCluster = v
48962	return s
48963}
48964
48965type StopDBInstanceAutomatedBackupsReplicationInput struct {
48966	_ struct{} `type:"structure"`
48967
48968	// The Amazon Resource Name (ARN) of the source DB instance for which to stop
48969	// replicating automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.
48970	//
48971	// SourceDBInstanceArn is a required field
48972	SourceDBInstanceArn *string `type:"string" required:"true"`
48973}
48974
48975// String returns the string representation.
48976//
48977// API parameter values that are decorated as "sensitive" in the API will not
48978// be included in the string output. The member name will be present, but the
48979// value will be replaced with "sensitive".
48980func (s StopDBInstanceAutomatedBackupsReplicationInput) String() string {
48981	return awsutil.Prettify(s)
48982}
48983
48984// GoString returns the string representation.
48985//
48986// API parameter values that are decorated as "sensitive" in the API will not
48987// be included in the string output. The member name will be present, but the
48988// value will be replaced with "sensitive".
48989func (s StopDBInstanceAutomatedBackupsReplicationInput) GoString() string {
48990	return s.String()
48991}
48992
48993// Validate inspects the fields of the type to determine if they are valid.
48994func (s *StopDBInstanceAutomatedBackupsReplicationInput) Validate() error {
48995	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceAutomatedBackupsReplicationInput"}
48996	if s.SourceDBInstanceArn == nil {
48997		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceArn"))
48998	}
48999
49000	if invalidParams.Len() > 0 {
49001		return invalidParams
49002	}
49003	return nil
49004}
49005
49006// SetSourceDBInstanceArn sets the SourceDBInstanceArn field's value.
49007func (s *StopDBInstanceAutomatedBackupsReplicationInput) SetSourceDBInstanceArn(v string) *StopDBInstanceAutomatedBackupsReplicationInput {
49008	s.SourceDBInstanceArn = &v
49009	return s
49010}
49011
49012type StopDBInstanceAutomatedBackupsReplicationOutput struct {
49013	_ struct{} `type:"structure"`
49014
49015	// An automated backup of a DB instance. It consists of system backups, transaction
49016	// logs, and the database instance properties that existed at the time you deleted
49017	// the source instance.
49018	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
49019}
49020
49021// String returns the string representation.
49022//
49023// API parameter values that are decorated as "sensitive" in the API will not
49024// be included in the string output. The member name will be present, but the
49025// value will be replaced with "sensitive".
49026func (s StopDBInstanceAutomatedBackupsReplicationOutput) String() string {
49027	return awsutil.Prettify(s)
49028}
49029
49030// GoString returns the string representation.
49031//
49032// API parameter values that are decorated as "sensitive" in the API will not
49033// be included in the string output. The member name will be present, but the
49034// value will be replaced with "sensitive".
49035func (s StopDBInstanceAutomatedBackupsReplicationOutput) GoString() string {
49036	return s.String()
49037}
49038
49039// SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
49040func (s *StopDBInstanceAutomatedBackupsReplicationOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *StopDBInstanceAutomatedBackupsReplicationOutput {
49041	s.DBInstanceAutomatedBackup = v
49042	return s
49043}
49044
49045type StopDBInstanceInput struct {
49046	_ struct{} `type:"structure"`
49047
49048	// The user-supplied instance identifier.
49049	//
49050	// DBInstanceIdentifier is a required field
49051	DBInstanceIdentifier *string `type:"string" required:"true"`
49052
49053	// The user-supplied instance identifier of the DB Snapshot created immediately
49054	// before the DB instance is stopped.
49055	DBSnapshotIdentifier *string `type:"string"`
49056}
49057
49058// String returns the string representation.
49059//
49060// API parameter values that are decorated as "sensitive" in the API will not
49061// be included in the string output. The member name will be present, but the
49062// value will be replaced with "sensitive".
49063func (s StopDBInstanceInput) String() string {
49064	return awsutil.Prettify(s)
49065}
49066
49067// GoString returns the string representation.
49068//
49069// API parameter values that are decorated as "sensitive" in the API will not
49070// be included in the string output. The member name will be present, but the
49071// value will be replaced with "sensitive".
49072func (s StopDBInstanceInput) GoString() string {
49073	return s.String()
49074}
49075
49076// Validate inspects the fields of the type to determine if they are valid.
49077func (s *StopDBInstanceInput) Validate() error {
49078	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceInput"}
49079	if s.DBInstanceIdentifier == nil {
49080		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
49081	}
49082
49083	if invalidParams.Len() > 0 {
49084		return invalidParams
49085	}
49086	return nil
49087}
49088
49089// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
49090func (s *StopDBInstanceInput) SetDBInstanceIdentifier(v string) *StopDBInstanceInput {
49091	s.DBInstanceIdentifier = &v
49092	return s
49093}
49094
49095// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
49096func (s *StopDBInstanceInput) SetDBSnapshotIdentifier(v string) *StopDBInstanceInput {
49097	s.DBSnapshotIdentifier = &v
49098	return s
49099}
49100
49101type StopDBInstanceOutput struct {
49102	_ struct{} `type:"structure"`
49103
49104	// Contains the details of an Amazon RDS DB instance.
49105	//
49106	// This data type is used as a response element in the DescribeDBInstances action.
49107	DBInstance *DBInstance `type:"structure"`
49108}
49109
49110// String returns the string representation.
49111//
49112// API parameter values that are decorated as "sensitive" in the API will not
49113// be included in the string output. The member name will be present, but the
49114// value will be replaced with "sensitive".
49115func (s StopDBInstanceOutput) String() string {
49116	return awsutil.Prettify(s)
49117}
49118
49119// GoString returns the string representation.
49120//
49121// API parameter values that are decorated as "sensitive" in the API will not
49122// be included in the string output. The member name will be present, but the
49123// value will be replaced with "sensitive".
49124func (s StopDBInstanceOutput) GoString() string {
49125	return s.String()
49126}
49127
49128// SetDBInstance sets the DBInstance field's value.
49129func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutput {
49130	s.DBInstance = v
49131	return s
49132}
49133
49134// This data type is used as a response element for the DescribeDBSubnetGroups
49135// operation.
49136type Subnet struct {
49137	_ struct{} `type:"structure"`
49138
49139	// Contains Availability Zone information.
49140	//
49141	// This data type is used as an element in the OrderableDBInstanceOption data
49142	// type.
49143	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
49144
49145	// The identifier of the subnet.
49146	SubnetIdentifier *string `type:"string"`
49147
49148	// If the subnet is associated with an Outpost, this value specifies the Outpost.
49149	//
49150	// For more information about RDS on Outposts, see Amazon RDS on Amazon Web
49151	// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
49152	// in the Amazon RDS User Guide.
49153	SubnetOutpost *Outpost `type:"structure"`
49154
49155	// The status of the subnet.
49156	SubnetStatus *string `type:"string"`
49157}
49158
49159// String returns the string representation.
49160//
49161// API parameter values that are decorated as "sensitive" in the API will not
49162// be included in the string output. The member name will be present, but the
49163// value will be replaced with "sensitive".
49164func (s Subnet) String() string {
49165	return awsutil.Prettify(s)
49166}
49167
49168// GoString returns the string representation.
49169//
49170// API parameter values that are decorated as "sensitive" in the API will not
49171// be included in the string output. The member name will be present, but the
49172// value will be replaced with "sensitive".
49173func (s Subnet) GoString() string {
49174	return s.String()
49175}
49176
49177// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
49178func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
49179	s.SubnetAvailabilityZone = v
49180	return s
49181}
49182
49183// SetSubnetIdentifier sets the SubnetIdentifier field's value.
49184func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
49185	s.SubnetIdentifier = &v
49186	return s
49187}
49188
49189// SetSubnetOutpost sets the SubnetOutpost field's value.
49190func (s *Subnet) SetSubnetOutpost(v *Outpost) *Subnet {
49191	s.SubnetOutpost = v
49192	return s
49193}
49194
49195// SetSubnetStatus sets the SubnetStatus field's value.
49196func (s *Subnet) SetSubnetStatus(v string) *Subnet {
49197	s.SubnetStatus = &v
49198	return s
49199}
49200
49201// Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
49202type Tag struct {
49203	_ struct{} `type:"structure"`
49204
49205	// A key is the required name of the tag. The string value can be from 1 to
49206	// 128 Unicode characters in length and can't be prefixed with aws: or rds:.
49207	// The string can only contain only the set of Unicode letters, digits, white-space,
49208	// '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$").
49209	Key *string `type:"string"`
49210
49211	// A value is the optional value of the tag. The string value can be from 1
49212	// to 256 Unicode characters in length and can't be prefixed with aws: or rds:.
49213	// The string can only contain only the set of Unicode letters, digits, white-space,
49214	// '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$").
49215	Value *string `type:"string"`
49216}
49217
49218// String returns the string representation.
49219//
49220// API parameter values that are decorated as "sensitive" in the API will not
49221// be included in the string output. The member name will be present, but the
49222// value will be replaced with "sensitive".
49223func (s Tag) String() string {
49224	return awsutil.Prettify(s)
49225}
49226
49227// GoString returns the string representation.
49228//
49229// API parameter values that are decorated as "sensitive" in the API will not
49230// be included in the string output. The member name will be present, but the
49231// value will be replaced with "sensitive".
49232func (s Tag) GoString() string {
49233	return s.String()
49234}
49235
49236// SetKey sets the Key field's value.
49237func (s *Tag) SetKey(v string) *Tag {
49238	s.Key = &v
49239	return s
49240}
49241
49242// SetValue sets the Value field's value.
49243func (s *Tag) SetValue(v string) *Tag {
49244	s.Value = &v
49245	return s
49246}
49247
49248// Information about the connection health of an RDS Proxy target.
49249type TargetHealth struct {
49250	_ struct{} `type:"structure"`
49251
49252	// A description of the health of the RDS Proxy target. If the State is AVAILABLE,
49253	// a description is not included.
49254	Description *string `type:"string"`
49255
49256	// The reason for the current health State of the RDS Proxy target.
49257	Reason *string `type:"string" enum:"TargetHealthReason"`
49258
49259	// The current state of the connection health lifecycle for the RDS Proxy target.
49260	// The following is a typical lifecycle example for the states of an RDS Proxy
49261	// target:
49262	//
49263	// registering > unavailable > available > unavailable > available
49264	State *string `type:"string" enum:"TargetState"`
49265}
49266
49267// String returns the string representation.
49268//
49269// API parameter values that are decorated as "sensitive" in the API will not
49270// be included in the string output. The member name will be present, but the
49271// value will be replaced with "sensitive".
49272func (s TargetHealth) String() string {
49273	return awsutil.Prettify(s)
49274}
49275
49276// GoString returns the string representation.
49277//
49278// API parameter values that are decorated as "sensitive" in the API will not
49279// be included in the string output. The member name will be present, but the
49280// value will be replaced with "sensitive".
49281func (s TargetHealth) GoString() string {
49282	return s.String()
49283}
49284
49285// SetDescription sets the Description field's value.
49286func (s *TargetHealth) SetDescription(v string) *TargetHealth {
49287	s.Description = &v
49288	return s
49289}
49290
49291// SetReason sets the Reason field's value.
49292func (s *TargetHealth) SetReason(v string) *TargetHealth {
49293	s.Reason = &v
49294	return s
49295}
49296
49297// SetState sets the State field's value.
49298func (s *TargetHealth) SetState(v string) *TargetHealth {
49299	s.State = &v
49300	return s
49301}
49302
49303// A time zone associated with a DBInstance or a DBSnapshot. This data type
49304// is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots,
49305// and the DescribeDBEngineVersions actions.
49306type Timezone struct {
49307	_ struct{} `type:"structure"`
49308
49309	// The name of the time zone.
49310	TimezoneName *string `type:"string"`
49311}
49312
49313// String returns the string representation.
49314//
49315// API parameter values that are decorated as "sensitive" in the API will not
49316// be included in the string output. The member name will be present, but the
49317// value will be replaced with "sensitive".
49318func (s Timezone) String() string {
49319	return awsutil.Prettify(s)
49320}
49321
49322// GoString returns the string representation.
49323//
49324// API parameter values that are decorated as "sensitive" in the API will not
49325// be included in the string output. The member name will be present, but the
49326// value will be replaced with "sensitive".
49327func (s Timezone) GoString() string {
49328	return s.String()
49329}
49330
49331// SetTimezoneName sets the TimezoneName field's value.
49332func (s *Timezone) SetTimezoneName(v string) *Timezone {
49333	s.TimezoneName = &v
49334	return s
49335}
49336
49337// The version of the database engine that a DB instance can be upgraded to.
49338type UpgradeTarget struct {
49339	_ struct{} `type:"structure"`
49340
49341	// A value that indicates whether the target version is applied to any source
49342	// DB instances that have AutoMinorVersionUpgrade set to true.
49343	AutoUpgrade *bool `type:"boolean"`
49344
49345	// The version of the database engine that a DB instance can be upgraded to.
49346	Description *string `type:"string"`
49347
49348	// The name of the upgrade target database engine.
49349	Engine *string `type:"string"`
49350
49351	// The version number of the upgrade target database engine.
49352	EngineVersion *string `type:"string"`
49353
49354	// A value that indicates whether upgrading to the target version requires upgrading
49355	// the major version of the database engine.
49356	IsMajorVersionUpgrade *bool `type:"boolean"`
49357
49358	// A list of the supported DB engine modes for the target engine version.
49359	SupportedEngineModes []*string `type:"list"`
49360
49361	// A value that indicates whether you can use Aurora global databases with the
49362	// target engine version.
49363	SupportsGlobalDatabases *bool `type:"boolean"`
49364
49365	// A value that indicates whether you can use Aurora parallel query with the
49366	// target engine version.
49367	SupportsParallelQuery *bool `type:"boolean"`
49368}
49369
49370// String returns the string representation.
49371//
49372// API parameter values that are decorated as "sensitive" in the API will not
49373// be included in the string output. The member name will be present, but the
49374// value will be replaced with "sensitive".
49375func (s UpgradeTarget) String() string {
49376	return awsutil.Prettify(s)
49377}
49378
49379// GoString returns the string representation.
49380//
49381// API parameter values that are decorated as "sensitive" in the API will not
49382// be included in the string output. The member name will be present, but the
49383// value will be replaced with "sensitive".
49384func (s UpgradeTarget) GoString() string {
49385	return s.String()
49386}
49387
49388// SetAutoUpgrade sets the AutoUpgrade field's value.
49389func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
49390	s.AutoUpgrade = &v
49391	return s
49392}
49393
49394// SetDescription sets the Description field's value.
49395func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
49396	s.Description = &v
49397	return s
49398}
49399
49400// SetEngine sets the Engine field's value.
49401func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
49402	s.Engine = &v
49403	return s
49404}
49405
49406// SetEngineVersion sets the EngineVersion field's value.
49407func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
49408	s.EngineVersion = &v
49409	return s
49410}
49411
49412// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
49413func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
49414	s.IsMajorVersionUpgrade = &v
49415	return s
49416}
49417
49418// SetSupportedEngineModes sets the SupportedEngineModes field's value.
49419func (s *UpgradeTarget) SetSupportedEngineModes(v []*string) *UpgradeTarget {
49420	s.SupportedEngineModes = v
49421	return s
49422}
49423
49424// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
49425func (s *UpgradeTarget) SetSupportsGlobalDatabases(v bool) *UpgradeTarget {
49426	s.SupportsGlobalDatabases = &v
49427	return s
49428}
49429
49430// SetSupportsParallelQuery sets the SupportsParallelQuery field's value.
49431func (s *UpgradeTarget) SetSupportsParallelQuery(v bool) *UpgradeTarget {
49432	s.SupportsParallelQuery = &v
49433	return s
49434}
49435
49436// Specifies the details of authentication used by a proxy to log in as a specific
49437// database user.
49438type UserAuthConfig struct {
49439	_ struct{} `type:"structure"`
49440
49441	// The type of authentication that the proxy uses for connections from the proxy
49442	// to the underlying database.
49443	AuthScheme *string `type:"string" enum:"AuthScheme"`
49444
49445	// A user-specified description about the authentication used by a proxy to
49446	// log in as a specific database user.
49447	Description *string `type:"string"`
49448
49449	// Whether to require or disallow Amazon Web Services Identity and Access Management
49450	// (IAM) authentication for connections to the proxy.
49451	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
49452
49453	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
49454	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
49455	// are stored within Amazon Secrets Manager.
49456	SecretArn *string `type:"string"`
49457
49458	// The name of the database user to which the proxy connects.
49459	UserName *string `type:"string"`
49460}
49461
49462// String returns the string representation.
49463//
49464// API parameter values that are decorated as "sensitive" in the API will not
49465// be included in the string output. The member name will be present, but the
49466// value will be replaced with "sensitive".
49467func (s UserAuthConfig) String() string {
49468	return awsutil.Prettify(s)
49469}
49470
49471// GoString returns the string representation.
49472//
49473// API parameter values that are decorated as "sensitive" in the API will not
49474// be included in the string output. The member name will be present, but the
49475// value will be replaced with "sensitive".
49476func (s UserAuthConfig) GoString() string {
49477	return s.String()
49478}
49479
49480// SetAuthScheme sets the AuthScheme field's value.
49481func (s *UserAuthConfig) SetAuthScheme(v string) *UserAuthConfig {
49482	s.AuthScheme = &v
49483	return s
49484}
49485
49486// SetDescription sets the Description field's value.
49487func (s *UserAuthConfig) SetDescription(v string) *UserAuthConfig {
49488	s.Description = &v
49489	return s
49490}
49491
49492// SetIAMAuth sets the IAMAuth field's value.
49493func (s *UserAuthConfig) SetIAMAuth(v string) *UserAuthConfig {
49494	s.IAMAuth = &v
49495	return s
49496}
49497
49498// SetSecretArn sets the SecretArn field's value.
49499func (s *UserAuthConfig) SetSecretArn(v string) *UserAuthConfig {
49500	s.SecretArn = &v
49501	return s
49502}
49503
49504// SetUserName sets the UserName field's value.
49505func (s *UserAuthConfig) SetUserName(v string) *UserAuthConfig {
49506	s.UserName = &v
49507	return s
49508}
49509
49510// Returns the details of authentication used by a proxy to log in as a specific
49511// database user.
49512type UserAuthConfigInfo struct {
49513	_ struct{} `type:"structure"`
49514
49515	// The type of authentication that the proxy uses for connections from the proxy
49516	// to the underlying database.
49517	AuthScheme *string `type:"string" enum:"AuthScheme"`
49518
49519	// A user-specified description about the authentication used by a proxy to
49520	// log in as a specific database user.
49521	Description *string `type:"string"`
49522
49523	// Whether to require or disallow Amazon Web Services Identity and Access Management
49524	// (IAM) authentication for connections to the proxy.
49525	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
49526
49527	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
49528	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
49529	// are stored within Amazon Secrets Manager.
49530	SecretArn *string `type:"string"`
49531
49532	// The name of the database user to which the proxy connects.
49533	UserName *string `type:"string"`
49534}
49535
49536// String returns the string representation.
49537//
49538// API parameter values that are decorated as "sensitive" in the API will not
49539// be included in the string output. The member name will be present, but the
49540// value will be replaced with "sensitive".
49541func (s UserAuthConfigInfo) String() string {
49542	return awsutil.Prettify(s)
49543}
49544
49545// GoString returns the string representation.
49546//
49547// API parameter values that are decorated as "sensitive" in the API will not
49548// be included in the string output. The member name will be present, but the
49549// value will be replaced with "sensitive".
49550func (s UserAuthConfigInfo) GoString() string {
49551	return s.String()
49552}
49553
49554// SetAuthScheme sets the AuthScheme field's value.
49555func (s *UserAuthConfigInfo) SetAuthScheme(v string) *UserAuthConfigInfo {
49556	s.AuthScheme = &v
49557	return s
49558}
49559
49560// SetDescription sets the Description field's value.
49561func (s *UserAuthConfigInfo) SetDescription(v string) *UserAuthConfigInfo {
49562	s.Description = &v
49563	return s
49564}
49565
49566// SetIAMAuth sets the IAMAuth field's value.
49567func (s *UserAuthConfigInfo) SetIAMAuth(v string) *UserAuthConfigInfo {
49568	s.IAMAuth = &v
49569	return s
49570}
49571
49572// SetSecretArn sets the SecretArn field's value.
49573func (s *UserAuthConfigInfo) SetSecretArn(v string) *UserAuthConfigInfo {
49574	s.SecretArn = &v
49575	return s
49576}
49577
49578// SetUserName sets the UserName field's value.
49579func (s *UserAuthConfigInfo) SetUserName(v string) *UserAuthConfigInfo {
49580	s.UserName = &v
49581	return s
49582}
49583
49584// Information about valid modifications that you can make to your DB instance.
49585// Contains the result of a successful call to the DescribeValidDBInstanceModifications
49586// action. You can use this information when you call ModifyDBInstance.
49587type ValidDBInstanceModificationsMessage struct {
49588	_ struct{} `type:"structure"`
49589
49590	// Valid storage options for your DB instance.
49591	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
49592
49593	// Valid processor features for your DB instance.
49594	ValidProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
49595}
49596
49597// String returns the string representation.
49598//
49599// API parameter values that are decorated as "sensitive" in the API will not
49600// be included in the string output. The member name will be present, but the
49601// value will be replaced with "sensitive".
49602func (s ValidDBInstanceModificationsMessage) String() string {
49603	return awsutil.Prettify(s)
49604}
49605
49606// GoString returns the string representation.
49607//
49608// API parameter values that are decorated as "sensitive" in the API will not
49609// be included in the string output. The member name will be present, but the
49610// value will be replaced with "sensitive".
49611func (s ValidDBInstanceModificationsMessage) GoString() string {
49612	return s.String()
49613}
49614
49615// SetStorage sets the Storage field's value.
49616func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
49617	s.Storage = v
49618	return s
49619}
49620
49621// SetValidProcessorFeatures sets the ValidProcessorFeatures field's value.
49622func (s *ValidDBInstanceModificationsMessage) SetValidProcessorFeatures(v []*AvailableProcessorFeature) *ValidDBInstanceModificationsMessage {
49623	s.ValidProcessorFeatures = v
49624	return s
49625}
49626
49627// Information about valid modifications that you can make to your DB instance.
49628// Contains the result of a successful call to the DescribeValidDBInstanceModifications
49629// action.
49630type ValidStorageOptions struct {
49631	_ struct{} `type:"structure"`
49632
49633	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
49634	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
49635	// times storage.
49636	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
49637
49638	// The valid range of provisioned IOPS. For example, 1000-20000.
49639	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
49640
49641	// The valid range of storage in gibibytes (GiB). For example, 100 to 16384.
49642	StorageSize []*Range `locationNameList:"Range" type:"list"`
49643
49644	// The valid storage types for your DB instance. For example, gp2, io1.
49645	StorageType *string `type:"string"`
49646
49647	// Whether or not Amazon RDS can automatically scale storage for DB instances
49648	// that use the new instance class.
49649	SupportsStorageAutoscaling *bool `type:"boolean"`
49650}
49651
49652// String returns the string representation.
49653//
49654// API parameter values that are decorated as "sensitive" in the API will not
49655// be included in the string output. The member name will be present, but the
49656// value will be replaced with "sensitive".
49657func (s ValidStorageOptions) String() string {
49658	return awsutil.Prettify(s)
49659}
49660
49661// GoString returns the string representation.
49662//
49663// API parameter values that are decorated as "sensitive" in the API will not
49664// be included in the string output. The member name will be present, but the
49665// value will be replaced with "sensitive".
49666func (s ValidStorageOptions) GoString() string {
49667	return s.String()
49668}
49669
49670// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
49671func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
49672	s.IopsToStorageRatio = v
49673	return s
49674}
49675
49676// SetProvisionedIops sets the ProvisionedIops field's value.
49677func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
49678	s.ProvisionedIops = v
49679	return s
49680}
49681
49682// SetStorageSize sets the StorageSize field's value.
49683func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
49684	s.StorageSize = v
49685	return s
49686}
49687
49688// SetStorageType sets the StorageType field's value.
49689func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
49690	s.StorageType = &v
49691	return s
49692}
49693
49694// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
49695func (s *ValidStorageOptions) SetSupportsStorageAutoscaling(v bool) *ValidStorageOptions {
49696	s.SupportsStorageAutoscaling = &v
49697	return s
49698}
49699
49700// This data type is used as a response element for queries on VPC security
49701// group membership.
49702type VpcSecurityGroupMembership struct {
49703	_ struct{} `type:"structure"`
49704
49705	// The status of the VPC security group.
49706	Status *string `type:"string"`
49707
49708	// The name of the VPC security group.
49709	VpcSecurityGroupId *string `type:"string"`
49710}
49711
49712// String returns the string representation.
49713//
49714// API parameter values that are decorated as "sensitive" in the API will not
49715// be included in the string output. The member name will be present, but the
49716// value will be replaced with "sensitive".
49717func (s VpcSecurityGroupMembership) String() string {
49718	return awsutil.Prettify(s)
49719}
49720
49721// GoString returns the string representation.
49722//
49723// API parameter values that are decorated as "sensitive" in the API will not
49724// be included in the string output. The member name will be present, but the
49725// value will be replaced with "sensitive".
49726func (s VpcSecurityGroupMembership) GoString() string {
49727	return s.String()
49728}
49729
49730// SetStatus sets the Status field's value.
49731func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
49732	s.Status = &v
49733	return s
49734}
49735
49736// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
49737func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
49738	s.VpcSecurityGroupId = &v
49739	return s
49740}
49741
49742// Information about the virtual private network (VPN) between the VMware vSphere
49743// cluster and the Amazon Web Services website.
49744//
49745// For more information about RDS on VMware, see the RDS on VMware User Guide.
49746// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
49747type VpnDetails struct {
49748	_ struct{} `type:"structure"`
49749
49750	// The IP address of network traffic from Amazon Web Services to your on-premises
49751	// data center.
49752	VpnGatewayIp *string `type:"string"`
49753
49754	// The ID of the VPN.
49755	VpnId *string `type:"string"`
49756
49757	// The name of the VPN.
49758	VpnName *string `type:"string"`
49759
49760	// The preshared key (PSK) for the VPN.
49761	//
49762	// VpnPSK is a sensitive parameter and its value will be
49763	// replaced with "sensitive" in string returned by VpnDetails's
49764	// String and GoString methods.
49765	VpnPSK *string `type:"string" sensitive:"true"`
49766
49767	// The state of the VPN.
49768	VpnState *string `type:"string"`
49769
49770	// The IP address of network traffic from your on-premises data center. A custom
49771	// AZ receives the network traffic.
49772	VpnTunnelOriginatorIP *string `type:"string"`
49773}
49774
49775// String returns the string representation.
49776//
49777// API parameter values that are decorated as "sensitive" in the API will not
49778// be included in the string output. The member name will be present, but the
49779// value will be replaced with "sensitive".
49780func (s VpnDetails) String() string {
49781	return awsutil.Prettify(s)
49782}
49783
49784// GoString returns the string representation.
49785//
49786// API parameter values that are decorated as "sensitive" in the API will not
49787// be included in the string output. The member name will be present, but the
49788// value will be replaced with "sensitive".
49789func (s VpnDetails) GoString() string {
49790	return s.String()
49791}
49792
49793// SetVpnGatewayIp sets the VpnGatewayIp field's value.
49794func (s *VpnDetails) SetVpnGatewayIp(v string) *VpnDetails {
49795	s.VpnGatewayIp = &v
49796	return s
49797}
49798
49799// SetVpnId sets the VpnId field's value.
49800func (s *VpnDetails) SetVpnId(v string) *VpnDetails {
49801	s.VpnId = &v
49802	return s
49803}
49804
49805// SetVpnName sets the VpnName field's value.
49806func (s *VpnDetails) SetVpnName(v string) *VpnDetails {
49807	s.VpnName = &v
49808	return s
49809}
49810
49811// SetVpnPSK sets the VpnPSK field's value.
49812func (s *VpnDetails) SetVpnPSK(v string) *VpnDetails {
49813	s.VpnPSK = &v
49814	return s
49815}
49816
49817// SetVpnState sets the VpnState field's value.
49818func (s *VpnDetails) SetVpnState(v string) *VpnDetails {
49819	s.VpnState = &v
49820	return s
49821}
49822
49823// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
49824func (s *VpnDetails) SetVpnTunnelOriginatorIP(v string) *VpnDetails {
49825	s.VpnTunnelOriginatorIP = &v
49826	return s
49827}
49828
49829const (
49830	// ActivityStreamModeSync is a ActivityStreamMode enum value
49831	ActivityStreamModeSync = "sync"
49832
49833	// ActivityStreamModeAsync is a ActivityStreamMode enum value
49834	ActivityStreamModeAsync = "async"
49835)
49836
49837// ActivityStreamMode_Values returns all elements of the ActivityStreamMode enum
49838func ActivityStreamMode_Values() []string {
49839	return []string{
49840		ActivityStreamModeSync,
49841		ActivityStreamModeAsync,
49842	}
49843}
49844
49845const (
49846	// ActivityStreamStatusStopped is a ActivityStreamStatus enum value
49847	ActivityStreamStatusStopped = "stopped"
49848
49849	// ActivityStreamStatusStarting is a ActivityStreamStatus enum value
49850	ActivityStreamStatusStarting = "starting"
49851
49852	// ActivityStreamStatusStarted is a ActivityStreamStatus enum value
49853	ActivityStreamStatusStarted = "started"
49854
49855	// ActivityStreamStatusStopping is a ActivityStreamStatus enum value
49856	ActivityStreamStatusStopping = "stopping"
49857)
49858
49859// ActivityStreamStatus_Values returns all elements of the ActivityStreamStatus enum
49860func ActivityStreamStatus_Values() []string {
49861	return []string{
49862		ActivityStreamStatusStopped,
49863		ActivityStreamStatusStarting,
49864		ActivityStreamStatusStarted,
49865		ActivityStreamStatusStopping,
49866	}
49867}
49868
49869const (
49870	// ApplyMethodImmediate is a ApplyMethod enum value
49871	ApplyMethodImmediate = "immediate"
49872
49873	// ApplyMethodPendingReboot is a ApplyMethod enum value
49874	ApplyMethodPendingReboot = "pending-reboot"
49875)
49876
49877// ApplyMethod_Values returns all elements of the ApplyMethod enum
49878func ApplyMethod_Values() []string {
49879	return []string{
49880		ApplyMethodImmediate,
49881		ApplyMethodPendingReboot,
49882	}
49883}
49884
49885const (
49886	// AuthSchemeSecrets is a AuthScheme enum value
49887	AuthSchemeSecrets = "SECRETS"
49888)
49889
49890// AuthScheme_Values returns all elements of the AuthScheme enum
49891func AuthScheme_Values() []string {
49892	return []string{
49893		AuthSchemeSecrets,
49894	}
49895}
49896
49897const (
49898	// AutomationModeFull is a AutomationMode enum value
49899	AutomationModeFull = "full"
49900
49901	// AutomationModeAllPaused is a AutomationMode enum value
49902	AutomationModeAllPaused = "all-paused"
49903)
49904
49905// AutomationMode_Values returns all elements of the AutomationMode enum
49906func AutomationMode_Values() []string {
49907	return []string{
49908		AutomationModeFull,
49909		AutomationModeAllPaused,
49910	}
49911}
49912
49913const (
49914	// CustomEngineVersionStatusAvailable is a CustomEngineVersionStatus enum value
49915	CustomEngineVersionStatusAvailable = "available"
49916
49917	// CustomEngineVersionStatusInactive is a CustomEngineVersionStatus enum value
49918	CustomEngineVersionStatusInactive = "inactive"
49919
49920	// CustomEngineVersionStatusInactiveExceptRestore is a CustomEngineVersionStatus enum value
49921	CustomEngineVersionStatusInactiveExceptRestore = "inactive-except-restore"
49922)
49923
49924// CustomEngineVersionStatus_Values returns all elements of the CustomEngineVersionStatus enum
49925func CustomEngineVersionStatus_Values() []string {
49926	return []string{
49927		CustomEngineVersionStatusAvailable,
49928		CustomEngineVersionStatusInactive,
49929		CustomEngineVersionStatusInactiveExceptRestore,
49930	}
49931}
49932
49933const (
49934	// DBProxyEndpointStatusAvailable is a DBProxyEndpointStatus enum value
49935	DBProxyEndpointStatusAvailable = "available"
49936
49937	// DBProxyEndpointStatusModifying is a DBProxyEndpointStatus enum value
49938	DBProxyEndpointStatusModifying = "modifying"
49939
49940	// DBProxyEndpointStatusIncompatibleNetwork is a DBProxyEndpointStatus enum value
49941	DBProxyEndpointStatusIncompatibleNetwork = "incompatible-network"
49942
49943	// DBProxyEndpointStatusInsufficientResourceLimits is a DBProxyEndpointStatus enum value
49944	DBProxyEndpointStatusInsufficientResourceLimits = "insufficient-resource-limits"
49945
49946	// DBProxyEndpointStatusCreating is a DBProxyEndpointStatus enum value
49947	DBProxyEndpointStatusCreating = "creating"
49948
49949	// DBProxyEndpointStatusDeleting is a DBProxyEndpointStatus enum value
49950	DBProxyEndpointStatusDeleting = "deleting"
49951)
49952
49953// DBProxyEndpointStatus_Values returns all elements of the DBProxyEndpointStatus enum
49954func DBProxyEndpointStatus_Values() []string {
49955	return []string{
49956		DBProxyEndpointStatusAvailable,
49957		DBProxyEndpointStatusModifying,
49958		DBProxyEndpointStatusIncompatibleNetwork,
49959		DBProxyEndpointStatusInsufficientResourceLimits,
49960		DBProxyEndpointStatusCreating,
49961		DBProxyEndpointStatusDeleting,
49962	}
49963}
49964
49965const (
49966	// DBProxyEndpointTargetRoleReadWrite is a DBProxyEndpointTargetRole enum value
49967	DBProxyEndpointTargetRoleReadWrite = "READ_WRITE"
49968
49969	// DBProxyEndpointTargetRoleReadOnly is a DBProxyEndpointTargetRole enum value
49970	DBProxyEndpointTargetRoleReadOnly = "READ_ONLY"
49971)
49972
49973// DBProxyEndpointTargetRole_Values returns all elements of the DBProxyEndpointTargetRole enum
49974func DBProxyEndpointTargetRole_Values() []string {
49975	return []string{
49976		DBProxyEndpointTargetRoleReadWrite,
49977		DBProxyEndpointTargetRoleReadOnly,
49978	}
49979}
49980
49981const (
49982	// DBProxyStatusAvailable is a DBProxyStatus enum value
49983	DBProxyStatusAvailable = "available"
49984
49985	// DBProxyStatusModifying is a DBProxyStatus enum value
49986	DBProxyStatusModifying = "modifying"
49987
49988	// DBProxyStatusIncompatibleNetwork is a DBProxyStatus enum value
49989	DBProxyStatusIncompatibleNetwork = "incompatible-network"
49990
49991	// DBProxyStatusInsufficientResourceLimits is a DBProxyStatus enum value
49992	DBProxyStatusInsufficientResourceLimits = "insufficient-resource-limits"
49993
49994	// DBProxyStatusCreating is a DBProxyStatus enum value
49995	DBProxyStatusCreating = "creating"
49996
49997	// DBProxyStatusDeleting is a DBProxyStatus enum value
49998	DBProxyStatusDeleting = "deleting"
49999
50000	// DBProxyStatusSuspended is a DBProxyStatus enum value
50001	DBProxyStatusSuspended = "suspended"
50002
50003	// DBProxyStatusSuspending is a DBProxyStatus enum value
50004	DBProxyStatusSuspending = "suspending"
50005
50006	// DBProxyStatusReactivating is a DBProxyStatus enum value
50007	DBProxyStatusReactivating = "reactivating"
50008)
50009
50010// DBProxyStatus_Values returns all elements of the DBProxyStatus enum
50011func DBProxyStatus_Values() []string {
50012	return []string{
50013		DBProxyStatusAvailable,
50014		DBProxyStatusModifying,
50015		DBProxyStatusIncompatibleNetwork,
50016		DBProxyStatusInsufficientResourceLimits,
50017		DBProxyStatusCreating,
50018		DBProxyStatusDeleting,
50019		DBProxyStatusSuspended,
50020		DBProxyStatusSuspending,
50021		DBProxyStatusReactivating,
50022	}
50023}
50024
50025const (
50026	// EngineFamilyMysql is a EngineFamily enum value
50027	EngineFamilyMysql = "MYSQL"
50028
50029	// EngineFamilyPostgresql is a EngineFamily enum value
50030	EngineFamilyPostgresql = "POSTGRESQL"
50031)
50032
50033// EngineFamily_Values returns all elements of the EngineFamily enum
50034func EngineFamily_Values() []string {
50035	return []string{
50036		EngineFamilyMysql,
50037		EngineFamilyPostgresql,
50038	}
50039}
50040
50041const (
50042	// FailoverStatusPending is a FailoverStatus enum value
50043	FailoverStatusPending = "pending"
50044
50045	// FailoverStatusFailingOver is a FailoverStatus enum value
50046	FailoverStatusFailingOver = "failing-over"
50047
50048	// FailoverStatusCancelling is a FailoverStatus enum value
50049	FailoverStatusCancelling = "cancelling"
50050)
50051
50052// FailoverStatus_Values returns all elements of the FailoverStatus enum
50053func FailoverStatus_Values() []string {
50054	return []string{
50055		FailoverStatusPending,
50056		FailoverStatusFailingOver,
50057		FailoverStatusCancelling,
50058	}
50059}
50060
50061const (
50062	// IAMAuthModeDisabled is a IAMAuthMode enum value
50063	IAMAuthModeDisabled = "DISABLED"
50064
50065	// IAMAuthModeRequired is a IAMAuthMode enum value
50066	IAMAuthModeRequired = "REQUIRED"
50067)
50068
50069// IAMAuthMode_Values returns all elements of the IAMAuthMode enum
50070func IAMAuthMode_Values() []string {
50071	return []string{
50072		IAMAuthModeDisabled,
50073		IAMAuthModeRequired,
50074	}
50075}
50076
50077const (
50078	// ReplicaModeOpenReadOnly is a ReplicaMode enum value
50079	ReplicaModeOpenReadOnly = "open-read-only"
50080
50081	// ReplicaModeMounted is a ReplicaMode enum value
50082	ReplicaModeMounted = "mounted"
50083)
50084
50085// ReplicaMode_Values returns all elements of the ReplicaMode enum
50086func ReplicaMode_Values() []string {
50087	return []string{
50088		ReplicaModeOpenReadOnly,
50089		ReplicaModeMounted,
50090	}
50091}
50092
50093const (
50094	// SourceTypeDbInstance is a SourceType enum value
50095	SourceTypeDbInstance = "db-instance"
50096
50097	// SourceTypeDbParameterGroup is a SourceType enum value
50098	SourceTypeDbParameterGroup = "db-parameter-group"
50099
50100	// SourceTypeDbSecurityGroup is a SourceType enum value
50101	SourceTypeDbSecurityGroup = "db-security-group"
50102
50103	// SourceTypeDbSnapshot is a SourceType enum value
50104	SourceTypeDbSnapshot = "db-snapshot"
50105
50106	// SourceTypeDbCluster is a SourceType enum value
50107	SourceTypeDbCluster = "db-cluster"
50108
50109	// SourceTypeDbClusterSnapshot is a SourceType enum value
50110	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
50111
50112	// SourceTypeCustomEngineVersion is a SourceType enum value
50113	SourceTypeCustomEngineVersion = "custom-engine-version"
50114)
50115
50116// SourceType_Values returns all elements of the SourceType enum
50117func SourceType_Values() []string {
50118	return []string{
50119		SourceTypeDbInstance,
50120		SourceTypeDbParameterGroup,
50121		SourceTypeDbSecurityGroup,
50122		SourceTypeDbSnapshot,
50123		SourceTypeDbCluster,
50124		SourceTypeDbClusterSnapshot,
50125		SourceTypeCustomEngineVersion,
50126	}
50127}
50128
50129const (
50130	// TargetHealthReasonUnreachable is a TargetHealthReason enum value
50131	TargetHealthReasonUnreachable = "UNREACHABLE"
50132
50133	// TargetHealthReasonConnectionFailed is a TargetHealthReason enum value
50134	TargetHealthReasonConnectionFailed = "CONNECTION_FAILED"
50135
50136	// TargetHealthReasonAuthFailure is a TargetHealthReason enum value
50137	TargetHealthReasonAuthFailure = "AUTH_FAILURE"
50138
50139	// TargetHealthReasonPendingProxyCapacity is a TargetHealthReason enum value
50140	TargetHealthReasonPendingProxyCapacity = "PENDING_PROXY_CAPACITY"
50141
50142	// TargetHealthReasonInvalidReplicationState is a TargetHealthReason enum value
50143	TargetHealthReasonInvalidReplicationState = "INVALID_REPLICATION_STATE"
50144)
50145
50146// TargetHealthReason_Values returns all elements of the TargetHealthReason enum
50147func TargetHealthReason_Values() []string {
50148	return []string{
50149		TargetHealthReasonUnreachable,
50150		TargetHealthReasonConnectionFailed,
50151		TargetHealthReasonAuthFailure,
50152		TargetHealthReasonPendingProxyCapacity,
50153		TargetHealthReasonInvalidReplicationState,
50154	}
50155}
50156
50157const (
50158	// TargetRoleReadWrite is a TargetRole enum value
50159	TargetRoleReadWrite = "READ_WRITE"
50160
50161	// TargetRoleReadOnly is a TargetRole enum value
50162	TargetRoleReadOnly = "READ_ONLY"
50163
50164	// TargetRoleUnknown is a TargetRole enum value
50165	TargetRoleUnknown = "UNKNOWN"
50166)
50167
50168// TargetRole_Values returns all elements of the TargetRole enum
50169func TargetRole_Values() []string {
50170	return []string{
50171		TargetRoleReadWrite,
50172		TargetRoleReadOnly,
50173		TargetRoleUnknown,
50174	}
50175}
50176
50177const (
50178	// TargetStateRegistering is a TargetState enum value
50179	TargetStateRegistering = "REGISTERING"
50180
50181	// TargetStateAvailable is a TargetState enum value
50182	TargetStateAvailable = "AVAILABLE"
50183
50184	// TargetStateUnavailable is a TargetState enum value
50185	TargetStateUnavailable = "UNAVAILABLE"
50186)
50187
50188// TargetState_Values returns all elements of the TargetState enum
50189func TargetState_Values() []string {
50190	return []string{
50191		TargetStateRegistering,
50192		TargetStateAvailable,
50193		TargetStateUnavailable,
50194	}
50195}
50196
50197const (
50198	// TargetTypeRdsInstance is a TargetType enum value
50199	TargetTypeRdsInstance = "RDS_INSTANCE"
50200
50201	// TargetTypeRdsServerlessEndpoint is a TargetType enum value
50202	TargetTypeRdsServerlessEndpoint = "RDS_SERVERLESS_ENDPOINT"
50203
50204	// TargetTypeTrackedCluster is a TargetType enum value
50205	TargetTypeTrackedCluster = "TRACKED_CLUSTER"
50206)
50207
50208// TargetType_Values returns all elements of the TargetType enum
50209func TargetType_Values() []string {
50210	return []string{
50211		TargetTypeRdsInstance,
50212		TargetTypeRdsServerlessEndpoint,
50213		TargetTypeTrackedCluster,
50214	}
50215}
50216
50217const (
50218	// WriteForwardingStatusEnabled is a WriteForwardingStatus enum value
50219	WriteForwardingStatusEnabled = "enabled"
50220
50221	// WriteForwardingStatusDisabled is a WriteForwardingStatus enum value
50222	WriteForwardingStatusDisabled = "disabled"
50223
50224	// WriteForwardingStatusEnabling is a WriteForwardingStatus enum value
50225	WriteForwardingStatusEnabling = "enabling"
50226
50227	// WriteForwardingStatusDisabling is a WriteForwardingStatus enum value
50228	WriteForwardingStatusDisabling = "disabling"
50229
50230	// WriteForwardingStatusUnknown is a WriteForwardingStatus enum value
50231	WriteForwardingStatusUnknown = "unknown"
50232)
50233
50234// WriteForwardingStatus_Values returns all elements of the WriteForwardingStatus enum
50235func WriteForwardingStatus_Values() []string {
50236	return []string{
50237		WriteForwardingStatusEnabled,
50238		WriteForwardingStatusDisabled,
50239		WriteForwardingStatusEnabling,
50240		WriteForwardingStatusDisabling,
50241		WriteForwardingStatusUnknown,
50242	}
50243}
50244